gvsig-oracle / org.gvsig.oracle / trunk / org.gvsig.oracle / org.gvsig.oracle.provider / src / main / java / org / gvsig / oracle / dal / OracleConnectionParametersHelper.java @ 915
History | View | Annotate | Download (3.35 KB)
1 |
|
---|---|
2 |
package org.gvsig.oracle.dal; |
3 |
|
4 |
import java.util.Objects; |
5 |
import org.apache.commons.lang3.StringUtils; |
6 |
import org.gvsig.fmap.dal.DataParameters; |
7 |
import org.gvsig.fmap.dal.exception.ValidateDataParametersException; |
8 |
import org.gvsig.fmap.dal.store.jdbc.JDBCConnectionParameters; |
9 |
|
10 |
|
11 |
public class OracleConnectionParametersHelper { |
12 |
|
13 |
private final OracleConnectionParameters parameters; |
14 |
|
15 |
public OracleConnectionParametersHelper(JDBCConnectionParameters parameters) {
|
16 |
this.parameters = (OracleConnectionParameters)parameters;
|
17 |
} |
18 |
|
19 |
public String getUrl() { |
20 |
String url = (String) this.getDynValue(JDBCConnectionParameters.URL_PARAMTER_NAME); |
21 |
if( StringUtils.isBlank(url) ) {
|
22 |
url = OracleHelper.getConnectionURL((OracleConnectionParameters) this.parameters);
|
23 |
this.setDynValue(JDBCConnectionParameters.URL_PARAMTER_NAME,url);
|
24 |
} |
25 |
return url;
|
26 |
} |
27 |
|
28 |
public void validate() throws ValidateDataParametersException { |
29 |
if (this.getDynValue(JDBCConnectionParameters.JDBC_DRIVER_CLASS_PARAMTER_NAME) == null) { |
30 |
this.setDynValue(
|
31 |
JDBCConnectionParameters.JDBC_DRIVER_CLASS_PARAMTER_NAME, |
32 |
OracleHelper.ORACLE_JDBC_DRIVER |
33 |
); |
34 |
} |
35 |
if( this.getDynValue(JDBCConnectionParameters.PORT_PARAMTER_NAME)==null ) { |
36 |
this.setDynValue(JDBCConnectionParameters.PORT_PARAMTER_NAME, 1521); |
37 |
} |
38 |
if ( StringUtils.isEmpty((CharSequence) this.getDynValue(JDBCConnectionParameters.URL_PARAMTER_NAME))) { |
39 |
String url = OracleHelper.getConnectionURL(
|
40 |
parameters.getHost(), |
41 |
parameters.getPort(), |
42 |
parameters.getDBName(), |
43 |
parameters.getMode() |
44 |
); |
45 |
this.setDynValue(JDBCConnectionParameters.URL_PARAMTER_NAME, url);
|
46 |
} |
47 |
} |
48 |
|
49 |
private Object getDynValue(String name) { |
50 |
return ((DataParameters)this.parameters).getDynValue(name); |
51 |
} |
52 |
|
53 |
private void setDynValue(String name, Object value) { |
54 |
((DataParameters)this.parameters).setDynValue(name,value);
|
55 |
} |
56 |
|
57 |
public String getMode() { |
58 |
return (String) getDynValue("mode"); |
59 |
} |
60 |
|
61 |
public void setMode(String mode) { |
62 |
setDynValue("mode", mode);
|
63 |
} |
64 |
|
65 |
public Integer getLobPrefetchSize() { |
66 |
String s = (String)getDynValue("LobPrefetchSize"); |
67 |
if( StringUtils.isBlank(s) ) {
|
68 |
return null; |
69 |
} |
70 |
try {
|
71 |
int n = Integer.parseInt(s); |
72 |
return n;
|
73 |
} catch(Exception ex) { |
74 |
return null; |
75 |
} |
76 |
} |
77 |
|
78 |
public void setLobPrefetchSize(Integer size) { |
79 |
setDynValue("LobPrefetchSize",Objects.toString(size,null)); |
80 |
} |
81 |
|
82 |
public boolean getUpdateSpatialIndexAndMetadata() { |
83 |
boolean updateSpatialIndexAndMetadata = (boolean)getDynValue("updateSpatialIndexAndMetadata"); |
84 |
return updateSpatialIndexAndMetadata;
|
85 |
} |
86 |
|
87 |
public void setUpdateSpatialIndexAndMetadata(boolean updateSpatialIndexAndMetadata) { |
88 |
setDynValue("updateSpatialIndexAndMetadata",updateSpatialIndexAndMetadata);
|
89 |
} |
90 |
|
91 |
public boolean getForceUppercaseInTableName() { |
92 |
boolean force = (boolean)getDynValue("forceUppercaseInTableName"); |
93 |
return force;
|
94 |
} |
95 |
|
96 |
public void setForceUppercaseInTableName(boolean force) { |
97 |
setDynValue("forceUppercaseInTableName",force);
|
98 |
} |
99 |
|
100 |
|
101 |
} |