Modified: cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/resource/ClassLoaderResourceLocatorTest.java URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/resource/ClassLoaderResourceLocatorTest.java?rev=1545007&r1=1545006&r2=1545007&view=diff ============================================================================== --- cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/resource/ClassLoaderResourceLocatorTest.java (original) +++ cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/resource/ClassLoaderResourceLocatorTest.java Sun Nov 24 16:05:53 2013 @@ -22,12 +22,12 @@ import java.util.Collection; import junit.framework.TestCase; -import org.apache.cayenne.di.spi.DefaultAdhocObjectFactory; +import org.apache.cayenne.di.spi.DefaultClassLoaderManager; public class ClassLoaderResourceLocatorTest extends TestCase { public void testFindResources() { - ClassLoaderResourceLocator locator = new ClassLoaderResourceLocator(new DefaultAdhocObjectFactory()); + ClassLoaderResourceLocator locator = new ClassLoaderResourceLocator(new DefaultClassLoaderManager()); Collection<Resource> resources = locator .findResources("org/apache/cayenne/resource/ClassLoaderResourceLocatorTest.class");
Modified: cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseModule.java URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseModule.java?rev=1545007&r1=1545006&r2=1545007&view=diff ============================================================================== --- cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseModule.java (original) +++ cayenne/main/trunk/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseModule.java Sun Nov 24 16:05:53 2013 @@ -72,8 +72,10 @@ import org.apache.cayenne.dba.sqlserver. import org.apache.cayenne.dba.sybase.SybaseAdapter; import org.apache.cayenne.di.AdhocObjectFactory; import org.apache.cayenne.di.Binder; +import org.apache.cayenne.di.ClassLoaderManager; import org.apache.cayenne.di.Module; import org.apache.cayenne.di.spi.DefaultAdhocObjectFactory; +import org.apache.cayenne.di.spi.DefaultClassLoaderManager; import org.apache.cayenne.di.spi.DefaultScope; import org.apache.cayenne.log.CommonsJdbcEventLogger; import org.apache.cayenne.log.JdbcEventLogger; @@ -202,6 +204,7 @@ public class ServerCaseModule implements SQLTemplateCustomizerProvider.class); binder.bind(ServerCaseDataSourceFactory.class).to( ServerCaseDataSourceFactory.class); + binder.bind(ClassLoaderManager.class).to(DefaultClassLoaderManager.class); binder.bind(AdhocObjectFactory.class).to(DefaultAdhocObjectFactory.class); binder.bind(ResourceLocator.class).to(ClassLoaderResourceLocator.class); binder.bind(ObjectStoreFactory.class).to(DefaultObjectStoreFactory.class); Modified: cayenne/main/trunk/cayenne-tools/src/main/java/org/apache/cayenne/tools/configuration/ToolsModule.java URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-tools/src/main/java/org/apache/cayenne/tools/configuration/ToolsModule.java?rev=1545007&r1=1545006&r2=1545007&view=diff ============================================================================== --- cayenne/main/trunk/cayenne-tools/src/main/java/org/apache/cayenne/tools/configuration/ToolsModule.java (original) +++ cayenne/main/trunk/cayenne-tools/src/main/java/org/apache/cayenne/tools/configuration/ToolsModule.java Sun Nov 24 16:05:53 2013 @@ -28,6 +28,7 @@ import org.apache.cayenne.configuration. import org.apache.cayenne.configuration.server.DefaultDbAdapterFactory; import org.apache.cayenne.dba.db2.DB2Sniffer; import org.apache.cayenne.dba.derby.DerbySniffer; +import org.apache.cayenne.dba.firebird.FirebirdSniffer; import org.apache.cayenne.dba.frontbase.FrontBaseSniffer; import org.apache.cayenne.dba.h2.H2Sniffer; import org.apache.cayenne.dba.hsqldb.HSQLDBSniffer; @@ -41,8 +42,10 @@ import org.apache.cayenne.dba.sqlserver. import org.apache.cayenne.dba.sybase.SybaseSniffer; import org.apache.cayenne.di.AdhocObjectFactory; import org.apache.cayenne.di.Binder; +import org.apache.cayenne.di.ClassLoaderManager; import org.apache.cayenne.di.Module; import org.apache.cayenne.di.spi.DefaultAdhocObjectFactory; +import org.apache.cayenne.di.spi.DefaultClassLoaderManager; import org.apache.cayenne.log.CommonsJdbcEventLogger; import org.apache.cayenne.log.JdbcEventLogger; import org.apache.cayenne.resource.ClassLoaderResourceLocator; @@ -79,8 +82,8 @@ public class ToolsModule implements Modu binder.bindList(Constants.SERVER_USER_TYPES_LIST); binder.bindList(Constants.SERVER_TYPE_FACTORIES_LIST); - AdhocObjectFactory objectFactory = new DefaultAdhocObjectFactory(); - binder.bind(AdhocObjectFactory.class).toInstance(objectFactory); + binder.bind(ClassLoaderManager.class).to(DefaultClassLoaderManager.class); + binder.bind(AdhocObjectFactory.class).to(DefaultAdhocObjectFactory.class); binder.bind(ResourceLocator.class).to(ClassLoaderResourceLocator.class); binder.bind(RuntimeProperties.class).to(DefaultRuntimeProperties.class); @@ -89,18 +92,31 @@ public class ToolsModule implements Modu // TODO: this is cloned from ServerModule... figure out how to reuse // this list - binder.bindList(Constants.SERVER_ADAPTER_DETECTORS_LIST).add(new OpenBaseSniffer(objectFactory)) - .add(new FrontBaseSniffer(objectFactory)).add(new IngresSniffer(objectFactory)) - .add(new SQLiteSniffer(objectFactory)).add(new DB2Sniffer(objectFactory)) - .add(new H2Sniffer(objectFactory)).add(new HSQLDBSniffer(objectFactory)) - .add(new SybaseSniffer(objectFactory)).add(new DerbySniffer(objectFactory)) - .add(new SQLServerSniffer(objectFactory)).add(new OracleSniffer(objectFactory)) - .add(new PostgresSniffer(objectFactory)).add(new MySQLSniffer(objectFactory)); + // a bit ugly - need to bind all sniffers explicitly first before + // placing then in a list + binder.bind(FirebirdSniffer.class).to(FirebirdSniffer.class); + binder.bind(OpenBaseSniffer.class).to(OpenBaseSniffer.class); + binder.bind(FrontBaseSniffer.class).to(FrontBaseSniffer.class); + binder.bind(IngresSniffer.class).to(IngresSniffer.class); + binder.bind(SQLiteSniffer.class).to(SQLiteSniffer.class); + binder.bind(DB2Sniffer.class).to(DB2Sniffer.class); + binder.bind(H2Sniffer.class).to(H2Sniffer.class); + binder.bind(HSQLDBSniffer.class).to(HSQLDBSniffer.class); + binder.bind(SybaseSniffer.class).to(SybaseSniffer.class); + binder.bind(DerbySniffer.class).to(DerbySniffer.class); + binder.bind(SQLServerSniffer.class).to(SQLServerSniffer.class); + binder.bind(OracleSniffer.class).to(OracleSniffer.class); + binder.bind(PostgresSniffer.class).to(PostgresSniffer.class); + binder.bind(MySQLSniffer.class).to(MySQLSniffer.class); + + binder.bindList(Constants.SERVER_ADAPTER_DETECTORS_LIST).add(FirebirdSniffer.class).add(OpenBaseSniffer.class) + .add(FrontBaseSniffer.class).add(IngresSniffer.class).add(SQLiteSniffer.class).add(DB2Sniffer.class) + .add(H2Sniffer.class).add(HSQLDBSniffer.class).add(SybaseSniffer.class).add(DerbySniffer.class) + .add(SQLServerSniffer.class).add(OracleSniffer.class).add(PostgresSniffer.class) + .add(MySQLSniffer.class); binder.bind(DbAdapterFactory.class).to(DefaultDbAdapterFactory.class); - binder.bind(DataSourceFactory.class).to(DriverDataSourceFactory.class); - } }
