Statistics
| Revision:

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
}