2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
10 package eu
.etaxonomy
.cdm
.database
.types
;
12 import org
.hibernate
.dialect
.Dialect
;
13 import org
.hibernate
.dialect
.Oracle10gDialect
;
15 import eu
.etaxonomy
.cdm
.database
.ICdmDataSource
;
22 public class OracleDatabaseType
extends DatabaseTypeBase
{
25 protected String typeName
= "Oracle";
27 protected String classString
= "oracle.jdbc.driver.OracleDriver";
29 protected String urlString
= "jdbc:oracle:thin:@";
31 private int defaultPort
= 1521;
33 private Dialect hibernateDialect
= new Oracle10gDialect();
35 private String dbSeparator
= ":";
38 * @see eu.etaxonomy.cdm.database.types.IDatabaseType#getServerNameByConnectionString(java.lang.String)
40 public String
getServerNameByConnectionString(String connectionString
){
41 return getServerNameByConnectionString(connectionString
, urlString
, dbSeparator
);
45 public String
getConnectionString(ICdmDataSource ds
, int port
){
46 return urlString
+ ds
.getServer() + ":" + port
+ dbSeparator
+ ds
.getDatabase();
51 * @see eu.etaxonomy.cdm.database.types.DatabaseTypeBase#getPortByConnectionString(java.lang.String)
54 public int getPortByConnectionString(String connectionString
) {
55 return getPortByConnectionString(connectionString
, urlString
, dbSeparator
);
59 * @see eu.etaxonomy.cdm.database.types.DatabaseTypeBase#getServerNameByConnectionString(java.lang.String)
61 public String
getDatabaseNameByConnectionString(String connectionString
){
63 result
= getDatabasePartOfConnectionString(connectionString
, dbSeparator
);
64 //returns port also because port separator == db separator
66 int pos
= result
.indexOf(dbSeparator
);
68 result
= result
.substring(pos
+ dbSeparator
.length());
73 // int posParams = result.indexOf("?");
74 // if (posParams != -1){
75 // result = result.substring(0, posParams);
84 public OracleDatabaseType() {
85 init (typeName
, classString
, urlString
, defaultPort
, hibernateDialect
);