/**\r
- * \r
- */\r
+* Copyright (C) 2007 EDIT\r
+* European Distributed Institute of Taxonomy \r
+* http://www.e-taxonomy.eu\r
+* \r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+\r
package eu.etaxonomy.cdm.database.types;\r
\r
-import org.springframework.jdbc.datasource.DriverManagerDataSource;\r
+import javax.sql.DataSource;\r
\r
+import org.hibernate.dialect.Dialect;\r
+import org.hibernate.dialect.HSQLCorrectedDialect;\r
+\r
+import eu.etaxonomy.cdm.database.ICdmDataSource;\r
import eu.etaxonomy.cdm.database.LocalHsqldb;\r
\r
\r
private int defaultPort = 9001;\r
\r
//hibernate dialect\r
- private String hibernateDialect = "HSQLDialect";\r
+ private Dialect hibernateDialect = new HSQLCorrectedDialect();\r
+ \r
+ //init method\r
+ private String initMethod = "init";\r
\r
+ //destroy method\r
+ private String destroyMethod = "destroy";\r
\r
//connection String\r
- public String getConnectionString(String server, String database, int port){\r
- return urlString + server + ":" + port + "/" + database;\r
+ public String getConnectionString(ICdmDataSource ds, int port){\r
+ return urlString + ds.getServer() + ":" + port + dbSeparator + ds.getDatabase();\r
+ }\r
+ \r
+ private static String dbSeparator = "/";\r
+ \r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.cdm.database.types.DatabaseTypeBase#getServerNameByConnectionString(java.lang.String)\r
+ */\r
+ public String getDatabaseNameByConnectionString(String connectionString){\r
+ String result;\r
+ result = getDatabasePartOfConnectionString(connectionString, dbSeparator);\r
+ //TODO\r
+// int posParams = result.indexOf("?");\r
+// if (posParams != -1){\r
+// result = result.substring(0, posParams);\r
+// }\r
+ return result;\r
}\r
\r
\r
}\r
\r
@Override\r
- public Class<? extends DriverManagerDataSource> getDriverManagerDataSourceClass() {\r
+ public Class<? extends DataSource> getDataSourceClass() {\r
return LocalHsqldb.class;\r
}\r
\r
-\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.cdm.database.types.IDatabaseType#getInitMethod()\r
+ */\r
+ @Override\r
+ public String getInitMethod() {\r
+ return initMethod;\r
+ }\r
+ \r
+ \r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.cdm.database.types.IDatabaseType#getDestroyMethod()\r
+ */\r
+ @Override\r
+ public String getDestroyMethod() {\r
+ return destroyMethod;\r
+ }\r
\r
\r
}\r