org.pentaho.platform.engine.services.connection.datasource.dbcp.tenantaware
Class TenantAwareLoginParsingDatasourceService

java.lang.Object
  extended by org.pentaho.platform.engine.services.connection.datasource.dbcp.BaseDatasourceService
      extended by org.pentaho.platform.engine.services.connection.datasource.dbcp.PooledOrJndiDatasourceService
          extended by org.pentaho.platform.engine.services.connection.datasource.dbcp.tenantaware.AbstractTenantAwareDatasourceService
              extended by org.pentaho.platform.engine.services.connection.datasource.dbcp.tenantaware.TenantAwareLoginParsingDatasourceService
All Implemented Interfaces:
IDatasourceService, org.springframework.beans.factory.InitializingBean

public class TenantAwareLoginParsingDatasourceService
extends AbstractTenantAwareDatasourceService
implements org.springframework.beans.factory.InitializingBean

This reference implementation parses the users' login name to derive the Tenant ID. This can come in two forms: 1- Tenant First - for example, tenantid\mbatchelor (an LDAP-like ID) 2- Tenant Last - for example: mbatchelor@pentaho.com (an e-mail like ID)

Author:
mbatchelor

Field Summary
 
Fields inherited from interface org.pentaho.platform.api.data.IDatasourceService
IDATASOURCE_SERVICE, JDBC_DATASOURCE, JDBC_POOL
 
Constructor Summary
TenantAwareLoginParsingDatasourceService()
           
 
Method Summary
 String getTenantId()
          This abstract method must be implemented by subclasses - this should return a string containing the tenant's ID.
 String getTenantSeparator()
           
 boolean isTenantOnLeft()
           
 void setTenantOnLeft(boolean value)
          Getters and Setters
 void setTenantSeparator(String value)
           
 
Methods inherited from class org.pentaho.platform.engine.services.connection.datasource.dbcp.tenantaware.AbstractTenantAwareDatasourceService
afterPropertiesSet, getDataSource, getDatasourceNameFormat, isRequireTenantId, setDatasourceNameFormat, setRequireTenantId
 
Methods inherited from class org.pentaho.platform.engine.services.connection.datasource.dbcp.PooledOrJndiDatasourceService
clearCache, clearDataSource
 
Methods inherited from class org.pentaho.platform.engine.services.connection.datasource.dbcp.BaseDatasourceService
getDSBoundName, getDSUnboundName
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.springframework.beans.factory.InitializingBean
afterPropertiesSet
 

Constructor Detail

TenantAwareLoginParsingDatasourceService

public TenantAwareLoginParsingDatasourceService()
Method Detail

getTenantId

public String getTenantId()
Description copied from class: AbstractTenantAwareDatasourceService
This abstract method must be implemented by subclasses - this should return a string containing the tenant's ID.

Specified by:
getTenantId in class AbstractTenantAwareDatasourceService
Returns:
String ID of the Tenant

setTenantOnLeft

public void setTenantOnLeft(boolean value)
Getters and Setters


isTenantOnLeft

public boolean isTenantOnLeft()

setTenantSeparator

public void setTenantSeparator(String value)

getTenantSeparator

public String getTenantSeparator()