X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=security%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fusermgt%2Fhibernate%2FDatasourceComponent.java;fp=security%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fusermgt%2Fhibernate%2FExternalDatasourceComponent.java;h=0871d27b2ab88a645942704db0b0947dd7851e16;hb=fe91899192f71a431ff850d646dd8701a83ae37f;hp=55a2537c613d69c91305ad29dbe535f8187a5dd9;hpb=296ef6728606ccf316ba9b60af8b8a6585fb8835;p=utils diff --git a/security/src/test/java/org/wamblee/usermgt/hibernate/ExternalDatasourceComponent.java b/security/src/test/java/org/wamblee/usermgt/hibernate/DatasourceComponent.java similarity index 66% rename from security/src/test/java/org/wamblee/usermgt/hibernate/ExternalDatasourceComponent.java rename to security/src/test/java/org/wamblee/usermgt/hibernate/DatasourceComponent.java index 55a2537c..0871d27b 100644 --- a/security/src/test/java/org/wamblee/usermgt/hibernate/ExternalDatasourceComponent.java +++ b/security/src/test/java/org/wamblee/usermgt/hibernate/DatasourceComponent.java @@ -26,6 +26,7 @@ import org.springframework.core.io.ClassPathResource; import org.springframework.jdbc.datasource.DriverManagerDataSource; import org.wamblee.system.core.AbstractComponent; import org.wamblee.system.core.DefaultProvidedInterface; +import org.wamblee.system.core.DefaultRequiredInterface; import org.wamblee.system.core.ProvidedInterface; import org.wamblee.system.core.RequiredInterface; import org.wamblee.system.core.Scope; @@ -33,32 +34,18 @@ import org.wamblee.system.spring.SpringComponent; import org.wamblee.system.spring.component.ORMappingConfig; import org.wamblee.system.spring.component.ORMappingConfig.DatabaseType; -public class ExternalDatasourceComponent extends AbstractComponent { +public class DatasourceComponent extends AbstractComponent { - private static final String DATABASE_PROPERTIES = "properties/test.org.wamblee.security.database.properties"; - + private static RequiredInterface PROPS = new DefaultRequiredInterface("dbprops", Properties.class); private static ProvidedInterface DATASOURCE = new DefaultProvidedInterface("datasource", DataSource.class); private static ProvidedInterface ORM_CONFIG = new DefaultProvidedInterface("ormconfig", ORMappingConfig.class); - - private Properties _dbProps; - public ExternalDatasourceComponent(String aName) throws IOException { - this(aName, loadProperties()); - } - - private static Properties loadProperties() throws IOException { - Properties dbProps = new Properties(); - dbProps.load(new ClassPathResource(DATABASE_PROPERTIES) - .getInputStream()); - return dbProps; - } - - public ExternalDatasourceComponent(String aName, Properties aProps) throws IOException { - super(aName); - _dbProps = aProps; + public DatasourceComponent(String aName) throws IOException { + super(aName); + addRequiredInterface(PROPS); addProvidedInterface(DATASOURCE); addProvidedInterface(ORM_CONFIG); } @@ -66,13 +53,15 @@ public class ExternalDatasourceComponent extends AbstractComponent { @Override protected DataSource doStart(Scope aScope) { + Properties dbProps = aScope.getInterfaceImplementation( + PROPS.getProvider(), Properties.class); DriverManagerDataSource ds = new DriverManagerDataSource( - _dbProps.getProperty("database.driver"), - _dbProps.getProperty("database.url"), - _dbProps.getProperty("database.username"), - _dbProps.getProperty("database.password")); + dbProps.getProperty("database.driver"), + dbProps.getProperty("database.url"), + dbProps.getProperty("database.username"), + dbProps.getProperty("database.password")); addInterface(DATASOURCE, ds, aScope); - DatabaseType type = DatabaseType.valueOf(_dbProps.getProperty("database.type")); + DatabaseType type = DatabaseType.valueOf(dbProps.getProperty("database.type")); ORMappingConfig config = new ORMappingConfig(true, type);