import java.util.ArrayList;\r
import java.util.List;\r
\r
+import javax.sql.DataSource;\r
+\r
import org.apache.log4j.Logger;\r
-import org.springframework.jdbc.datasource.DriverManagerDataSource;\r
+import org.hibernate.dialect.Dialect;\r
\r
import eu.etaxonomy.cdm.database.types.H2DatabaseType;\r
import eu.etaxonomy.cdm.database.types.HSqlDbDatabaseType;\r
import eu.etaxonomy.cdm.database.types.OracleDatabaseType;\r
import eu.etaxonomy.cdm.database.types.PostgreSQLDatabaseType;\r
import eu.etaxonomy.cdm.database.types.SqlServer2005DatabaseType;\r
-import eu.etaxonomy.cdm.database.types.SqlServer2000DatabaseType;\r
import eu.etaxonomy.cdm.database.types.SybaseDatabaseType;\r
\r
/**\r
H2(9)\r
;\r
\r
+ /**\r
+ * \r
+ */\r
+ private static final String P6SPY_DRIVER_CLASS_NAME = "com.p6spy.engine.spy.P6SpyDriver";\r
+ private boolean useP6Spy = false;\r
+ \r
+ \r
+ /**\r
+ * @return the useP6Spy\r
+ */\r
+ public boolean isUseP6Spy() {\r
+ return useP6Spy;\r
+ }\r
+\r
+ /**\r
+ * @param useP6Spy the useP6Spy to set\r
+ */\r
+ public void setUseP6Spy(boolean useP6Spy) {\r
+ this.useP6Spy = useP6Spy;\r
+ }\r
+\r
/**\r
* Constructor\r
* @param i\r
* @return\r
*/\r
public String getDriverClassName(){\r
- return dbType.getClassString();\r
+ if(useP6Spy){\r
+ return P6SPY_DRIVER_CLASS_NAME;\r
+ \r
+ } else {\r
+ return dbType.getClassString(); \r
+ }\r
}\r
\r
/**\r
- * Returns the DriverManagerDataSource class that that the datasource needs to create a spring bean\r
- * @return the DriverManagerDataSource class\r
+ * Returns the DataSource class that the datasource needs to create a spring bean\r
+ * @return the DataSource class\r
*/\r
- public Class<? extends DriverManagerDataSource> getDriverManagerDataSourceClass(){\r
- return dbType.getDriverManagerDataSourceClass();\r
+ public Class<? extends DataSource> getDataSourceClass(){\r
+ return dbType.getDataSourceClass();\r
}\r
\r
/**\r
/**\r
* @return\r
*/\r
- public String getHibernateDialect(){\r
- return dbType.getHibernateDialect();\r
+ public String getHibernateDialectCanonicalName(){\r
+ return dbType.getHibernateDialectCanonicalName();\r
}\r
\r
/**\r
logger.debug("Connection String: " + result); \r
return result;\r
}\r
- \r
-\r
+ \r
+ /**\r
+ * Returns the {@link Dialect hiberante dialect} used for this database type.\r
+ * @return hibernate dialect\r
+ */\r
+ public Dialect getHibernateDialect(){\r
+ Dialect result = dbType.getHibernateDialect();\r
+ return result;\r
+ }\r
\r
/**\r
* Returns the Name of the initialization method to be used when a hibernate datasource is created for this database\r