data sources update and tests
[cdmlib.git] / cdmlib-persistence / src / main / java / eu / etaxonomy / cdm / database / types / SqlServer2000DatabaseType.java
1 /**
2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
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.
8 */
9
10 package eu.etaxonomy.cdm.database.types;
11
12 import eu.etaxonomy.cdm.database.ICdmDataSource;
13
14
15 /**
16 * @author a.mueller
17 *
18 */
19 public class SqlServer2000DatabaseType extends DatabaseTypeBase {
20
21 //name
22 protected String typeName = "SQL Server";
23
24 //driver class
25 protected String classString = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
26
27 //url
28 protected String urlString = "jdbc:microsoft:sqlserver://";
29
30 //default port
31 private int defaultPort = 1433;
32
33 //hibernate dialect
34 private String hibernateDialect = "SQLServerDialect";
35
36 public String getConnectionString(ICdmDataSource ds, int port){
37 return urlString + ds.getServer() + ":" + port + ";databaseName=" + ds.getDatabase() + ";SelectMethod=cursor";
38 }
39
40
41
42 /* (non-Javadoc)
43 * @see eu.etaxonomy.cdm.database.types.DatabaseTypeBase#getServerNameByConnectionString(java.lang.String)
44 */
45 @Override
46 public String getServerNameByConnectionString(String connectionString) {
47 String dbSeparator = ";";
48 return super.getServerNameByConnectionString(connectionString, urlString, dbSeparator);
49 }
50
51
52
53 /* (non-Javadoc)
54 * @see eu.etaxonomy.cdm.database.types.DatabaseTypeBase#getPortByConnectionString(java.lang.String)
55 */
56 @Override
57 public int getPortByConnectionString(String connectionString) {
58 String dbSeparator = ";";
59 return getPortByConnectionString(connectionString, urlString, dbSeparator);
60 }
61
62
63
64 /* (non-Javadoc)
65 * @see eu.etaxonomy.cdm.database.types.DatabaseTypeBase#getServerNameByConnectionString(java.lang.String)
66 */
67 @Override
68 public String getDatabaseNameByConnectionString(String connectionString){
69 String result;
70 String dbStart = ";databaseName=";
71 int posDbStart = connectionString.indexOf(dbStart);
72 result = connectionString.substring(posDbStart + dbStart.length());
73 int posNextAttr = result.indexOf(";");
74 if (posNextAttr != 0){
75 result = result.substring(0, posNextAttr);
76 }
77 return result;
78 }
79
80 //Constructor
81 public SqlServer2000DatabaseType() {
82 init (typeName, classString, urlString, defaultPort, hibernateDialect );
83 }
84
85
86
87 }