\r
package eu.etaxonomy.cdm.database.types;\r
\r
+import eu.etaxonomy.cdm.database.ICdmDataSource;\r
+\r
\r
/**\r
* @author a.mueller\r
//hibernate dialect\r
private String hibernateDialect = "OracleDialect";\r
\r
+ private String dbSeparator = ":";\r
+ \r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.cdm.database.types.IDatabaseType#getServerNameByConnectionString(java.lang.String)\r
+ */\r
+ public String getServerNameByConnectionString(String connectionString){\r
+ return getServerNameByConnectionString(connectionString, urlString, dbSeparator);\r
+ }\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
- public OracleDatabaseType() {\r
- init (typeName, classString, urlString, defaultPort, hibernateDialect );\r
- }\r
\r
+ /* (non-Javadoc)\r
+ * @see eu.etaxonomy.cdm.database.types.DatabaseTypeBase#getPortByConnectionString(java.lang.String)\r
+ */\r
+ @Override\r
+ public int getPortByConnectionString(String connectionString) {\r
+ return getPortByConnectionString(connectionString, urlString, dbSeparator);\r
+ }\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
+ //returns port also because port separator == db separator\r
+ if (result != null){\r
+ int pos = result.indexOf(dbSeparator);\r
+ if (pos != -1 ){\r
+ result = result.substring(pos+ dbSeparator.length());\r
+ }\r
+ }\r
+ \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
+ * Constructor\r
+ */\r
+ public OracleDatabaseType() {\r
+ init (typeName, classString, urlString, defaultPort, hibernateDialect );\r
+ }\r
\r
\r
}\r