Revision 27753
branches/v2_0_0_prep/libraries/libFMap_daldb/src-test/org/gvsig/fmap/dal/store/postgesql/TestPostgreSQL.java | ||
---|---|---|
102 | 102 |
} |
103 | 103 |
|
104 | 104 |
|
105 |
public void testCloserConnection() { |
|
106 |
try { |
|
105 |
public void testCloserConnection() throws Exception { |
|
107 | 106 |
|
108 |
DataStoreParameters params = this.getDefaultDataStoreParameters();
|
|
107 |
DataStoreParameters params = this.getDefaultDataStoreParameters(); |
|
109 | 108 |
|
110 |
FeatureStore store = null; |
|
109 |
FeatureStore store = null; |
|
110 |
try { |
|
111 | 111 |
store = (FeatureStore) dataManager.createStore(params); |
112 |
} catch (Exception e) { |
|
113 |
e.printStackTrace(); |
|
114 |
throw e; |
|
115 |
} |
|
112 | 116 |
|
113 |
FeatureQuery query = store.createFeatureQuery();
|
|
117 |
FeatureQuery query = store.createFeatureQuery(); |
|
114 | 118 |
|
115 |
query.getOrder().add("gid", true);
|
|
119 |
query.getOrder().add("gid", true); |
|
116 | 120 |
|
117 |
query.setFilter(new Evaluator() {
|
|
121 |
query.setFilter(new Evaluator() { |
|
118 | 122 |
|
119 |
public Object evaluate(EvaluatorData data)
|
|
120 |
throws EvaluatorException { |
|
121 |
// TODO Auto-generated method stub
|
|
122 |
return Boolean.TRUE;
|
|
123 |
}
|
|
123 |
public Object evaluate(EvaluatorData data) |
|
124 |
throws EvaluatorException {
|
|
125 |
// TODO Auto-generated method stub |
|
126 |
return Boolean.TRUE; |
|
127 |
} |
|
124 | 128 |
|
125 |
public String getCQL() {
|
|
126 |
return "true = true";
|
|
127 |
}
|
|
129 |
public String getCQL() { |
|
130 |
return "true = true"; |
|
131 |
} |
|
128 | 132 |
|
129 |
public String getDescription() {
|
|
130 |
// TODO Auto-generated method stub
|
|
131 |
return null;
|
|
132 |
}
|
|
133 |
public String getDescription() { |
|
134 |
// TODO Auto-generated method stub |
|
135 |
return null; |
|
136 |
} |
|
133 | 137 |
|
134 |
public String getName() {
|
|
135 |
return "AlwaysTrue";
|
|
136 |
}
|
|
138 |
public String getName() { |
|
139 |
return "AlwaysTrue"; |
|
140 |
} |
|
137 | 141 |
|
138 |
public EvaluatorFieldsInfo getFieldsInfo() {
|
|
139 |
// TODO Auto-generated method stub
|
|
140 |
return null;
|
|
141 |
}
|
|
142 |
public EvaluatorFieldsInfo getFieldsInfo() { |
|
143 |
// TODO Auto-generated method stub |
|
144 |
return null; |
|
145 |
} |
|
142 | 146 |
|
143 |
});
|
|
147 |
}); |
|
144 | 148 |
|
145 |
FeatureStoreTransform transform = new StringsToLowerTransform();
|
|
146 |
transform.setFeatureStore(store);
|
|
149 |
FeatureStoreTransform transform = new StringsToLowerTransform(); |
|
150 |
transform.setFeatureStore(store); |
|
147 | 151 |
|
148 |
store.getTransforms().add(transform);
|
|
152 |
store.getTransforms().add(transform); |
|
149 | 153 |
|
150 |
transform = new StringsToLowerTransform();
|
|
151 |
transform.setFeatureStore(store);
|
|
154 |
transform = new StringsToLowerTransform(); |
|
155 |
transform.setFeatureStore(store); |
|
152 | 156 |
|
153 |
store.getTransforms().add(transform);
|
|
157 |
store.getTransforms().add(transform); |
|
154 | 158 |
|
155 |
transform = new StringsToLowerTransform();
|
|
156 |
transform.setFeatureStore(store);
|
|
159 |
transform = new StringsToLowerTransform(); |
|
160 |
transform.setFeatureStore(store); |
|
157 | 161 |
|
158 |
store.getTransforms().add(transform);
|
|
162 |
store.getTransforms().add(transform); |
|
159 | 163 |
|
160 |
for (int i = 0; i < 30; i++) {
|
|
161 |
// this.fullStoreIteratorTest(store);
|
|
164 |
for (int i = 0; i < 30; i++) { |
|
165 |
// this.fullStoreIteratorTest(store); |
|
162 | 166 |
|
163 |
this.testIterationFastAndStandart(store, query);
|
|
164 |
}
|
|
167 |
this.testIterationFastAndStandart(store, query); |
|
168 |
} |
|
165 | 169 |
|
166 | 170 |
|
167 |
store.dispose();
|
|
171 |
store.dispose(); |
|
168 | 172 |
|
169 | 173 |
|
170 |
|
|
171 |
} catch (DataException e) { |
|
172 |
e.printStackTrace(); |
|
173 |
fail(); |
|
174 |
} |
|
175 |
|
|
176 | 174 |
} |
177 | 175 |
} |
branches/v2_0_0_prep/libraries/libFMap_daldb/src/org/gvsig/fmap/dal/resource/db/DBResourceLibrary.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
|
|
23 |
/* |
|
24 |
* AUTHORS (In addition to CIT): |
|
25 |
* 2009 IVER T.I {{Task}} |
|
26 |
*/ |
|
27 |
|
|
28 |
/** |
|
29 |
* |
|
30 |
*/ |
|
31 |
package org.gvsig.fmap.dal.resource.db; |
|
32 |
|
|
33 |
import org.gvsig.tools.locator.BaseLibrary; |
|
34 |
import org.gvsig.tools.locator.ReferenceNotRegisteredException; |
|
35 |
|
|
36 |
/** |
|
37 |
* @author jmvivo |
|
38 |
* |
|
39 |
*/ |
|
40 |
public class DBResourceLibrary extends BaseLibrary { |
|
41 |
|
|
42 |
public void postInitialize() throws ReferenceNotRegisteredException { |
|
43 |
// TODO Auto-generated method stub |
|
44 |
super.postInitialize(); |
|
45 |
DBResourceParameters.registerDynClass(); |
|
46 |
} |
|
47 |
|
|
48 |
} |
|
0 | 49 |
branches/v2_0_0_prep/libraries/libFMap_daldb/src/org/gvsig/fmap/dal/resource/db/DBParameters.java | ||
---|---|---|
28 | 28 |
package org.gvsig.fmap.dal.resource.db; |
29 | 29 |
|
30 | 30 |
public interface DBParameters { |
31 |
|
|
32 |
public static final String DYNFIELDNAME_HOST = "host"; |
|
33 |
public static final String DYNFIELDNAME_PORT = "port"; |
|
34 |
public static final String DYNFIELDNAME_DBNAME = "dbname"; |
|
35 |
public static final String DYNFIELDNAME_USER = "dbuser"; |
|
36 |
public static final String DYNFIELDNAME_PASSWORD = "password"; |
|
37 |
|
|
31 | 38 |
public String getHost(); |
32 | 39 |
|
33 | 40 |
public Integer getPort(); |
branches/v2_0_0_prep/libraries/libFMap_daldb/src/org/gvsig/fmap/dal/resource/db/DBResourceParameters.java | ||
---|---|---|
50 | 50 |
|
51 | 51 |
public DBResourceParameters() { |
52 | 52 |
this.delegatedDynObject = (DelegatedDynObject) ToolsLocator |
53 |
.getDynObjectManager().createDynObject(registerDynClass());
|
|
53 |
.getDynObjectManager().createDynObject(getDynClassName());
|
|
54 | 54 |
} |
55 | 55 |
|
56 |
private DynClass registerDynClass() { |
|
56 |
protected abstract String getDynClassName(); |
|
57 |
|
|
58 |
static void registerDynClass() { |
|
57 | 59 |
DynObjectManager dynman = ToolsLocator.getDynObjectManager(); |
58 | 60 |
DynClass dynClass = dynman.get(DYNCLASS_NAME); |
59 | 61 |
DynField field; |
... | ... | |
86 | 88 |
field.setDescription("Password"); |
87 | 89 |
field.setType(DataTypes.STRING); |
88 | 90 |
} |
89 |
return dynClass; |
|
90 | 91 |
} |
91 | 92 |
|
92 | 93 |
|
branches/v2_0_0_prep/libraries/libFMap_daldb/src/org/gvsig/fmap/dal/serverexplorer/db/DBServerExplorerParameters.java | ||
---|---|---|
1 | 1 |
package org.gvsig.fmap.dal.serverexplorer.db; |
2 | 2 |
|
3 | 3 |
import org.gvsig.fmap.dal.DataServerExplorerParameters; |
4 |
import org.gvsig.fmap.dal.DataTypes;
|
|
4 |
import org.gvsig.fmap.dal.resource.db.DBResourceParameters;
|
|
5 | 5 |
import org.gvsig.fmap.dal.spi.AbstractDataParameters; |
6 | 6 |
import org.gvsig.tools.ToolsLocator; |
7 | 7 |
import org.gvsig.tools.dynobject.DelegatedDynObject; |
8 | 8 |
import org.gvsig.tools.dynobject.DynClass; |
9 |
import org.gvsig.tools.dynobject.DynField; |
|
10 | 9 |
import org.gvsig.tools.dynobject.DynObjectManager; |
11 | 10 |
|
12 | 11 |
public abstract class DBServerExplorerParameters extends AbstractDataParameters |
13 |
implements DataServerExplorerParameters { |
|
12 |
implements DataServerExplorerParameters, DBConnectionParameter {
|
|
14 | 13 |
|
15 | 14 |
public static final String DYNCLASS_NAME = "DBServerExplorerParameters"; |
16 | 15 |
|
17 |
public static final String DYNFIELDNAME_HOST = "host"; |
|
18 |
public static final String DYNFIELDNAME_PORT = "port"; |
|
19 |
public static final String DYNFIELDNAME_DBNAME = "dbname"; |
|
20 |
public static final String DYNFIELDNAME_USER = "dbuser"; |
|
21 |
public static final String DYNFIELDNAME_PASSWORD = "password"; |
|
22 | 16 |
|
23 |
|
|
24 | 17 |
public DBServerExplorerParameters() { |
25 | 18 |
this.delegatedDynObject = (DelegatedDynObject) ToolsLocator |
26 | 19 |
.getDynObjectManager() |
... | ... | |
30 | 23 |
protected DynClass registerDynClass() { |
31 | 24 |
DynObjectManager dynman = ToolsLocator.getDynObjectManager(); |
32 | 25 |
DynClass dynClass = dynman.get(DYNCLASS_NAME); |
33 |
DynField field; |
|
34 | 26 |
if (dynClass == null) { |
35 | 27 |
dynClass = dynman.add(DYNCLASS_NAME); |
36 | 28 |
|
37 |
field = dynClass.addDynField(DYNFIELDNAME_HOST); |
|
38 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
|
39 |
field.setDescription("DB Host"); |
|
40 |
field.setMandatory(true); |
|
41 |
field.setType(DataTypes.STRING); |
|
29 |
DynClass dbResourceDynClass = dynman |
|
30 |
.get(DBResourceParameters.DYNCLASS_NAME); |
|
42 | 31 |
|
43 |
field = dynClass.addDynField(DYNFIELDNAME_PORT); |
|
44 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
|
45 |
field.setDescription("Host Port"); |
|
46 |
field.setType(DataTypes.INT); |
|
32 |
dynClass.extend(dbResourceDynClass); |
|
47 | 33 |
|
48 |
field = dynClass.addDynField(DYNFIELDNAME_DBNAME); |
|
49 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
|
50 |
field.setDescription("DB name"); |
|
51 |
field.setType(DataTypes.STRING); |
|
52 |
|
|
53 |
field = dynClass.addDynField(DYNFIELDNAME_USER); |
|
54 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
|
55 |
field.setDescription("User name"); |
|
56 |
field.setType(DataTypes.STRING); |
|
57 |
|
|
58 |
field = dynClass.addDynField(DYNFIELDNAME_PASSWORD); |
|
59 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
|
60 |
field.setDescription("Password"); |
|
61 |
field.setType(DataTypes.STRING); |
|
62 |
|
|
63 |
|
|
64 | 34 |
} |
65 | 35 |
return dynClass; |
66 | 36 |
} |
67 | 37 |
|
68 |
public String getDb() { |
|
69 |
return (String) this.getDynValue("db"); |
|
70 |
} |
|
71 | 38 |
|
72 |
public void setDb(String db) {
|
|
73 |
this.setDynValue("db", db);
|
|
39 |
public String getExplorerName() {
|
|
40 |
return DBServerExplorer.NAME;
|
|
74 | 41 |
} |
75 | 42 |
|
43 |
|
|
76 | 44 |
public String getHost() { |
77 |
return (String) this.getDynValue("host");
|
|
45 |
return (String) this.getDynValue(DYNFIELDNAME_HOST);
|
|
78 | 46 |
} |
79 | 47 |
|
80 |
public void setHost(String host) {
|
|
81 |
this.setDynValue("host", host);
|
|
48 |
public Integer getPort() {
|
|
49 |
return (Integer) this.getDynValue(DYNFIELDNAME_PORT);
|
|
82 | 50 |
} |
83 | 51 |
|
84 |
public String getPort() {
|
|
85 |
return (String) this.getDynValue("port");
|
|
52 |
public String getDBName() {
|
|
53 |
return (String) this.getDynValue(DYNFIELDNAME_DBNAME);
|
|
86 | 54 |
} |
87 | 55 |
|
88 |
public void setPort(String port) {
|
|
89 |
this.setDynValue("port", port);
|
|
56 |
public String getUser() {
|
|
57 |
return (String) this.getDynValue(DYNFIELDNAME_USER);
|
|
90 | 58 |
} |
91 | 59 |
|
92 |
public String getSchema() {
|
|
93 |
return (String) this.getDynValue("schema");
|
|
60 |
public String getPassword() {
|
|
61 |
return (String) this.getDynValue(DYNFIELDNAME_PASSWORD);
|
|
94 | 62 |
} |
95 | 63 |
|
96 |
public void setSchema(String schema) {
|
|
97 |
this.setDynValue("schema", schema);
|
|
64 |
public void setHost(String host) {
|
|
65 |
this.setDynValue(DYNFIELDNAME_HOST, host);
|
|
98 | 66 |
} |
99 | 67 |
|
100 |
public String getPassw() {
|
|
101 |
return (String) this.getDynValue("passw");
|
|
68 |
public void setPort(int port) {
|
|
69 |
this.setDynValue(DYNFIELDNAME_PORT, new Integer(port));
|
|
102 | 70 |
} |
103 | 71 |
|
104 |
public void setPassw(String passw) {
|
|
105 |
this.setDynValue("passw", passw);
|
|
72 |
public void setPort(Integer port) {
|
|
73 |
this.setDynValue(DYNFIELDNAME_PORT, port);
|
|
106 | 74 |
} |
107 | 75 |
|
108 |
public String getUser() {
|
|
109 |
return (String) this.getDynValue("user");
|
|
76 |
public void setDBName(String dbName) {
|
|
77 |
this.setDynValue(DYNFIELDNAME_DBNAME, dbName);
|
|
110 | 78 |
} |
111 | 79 |
|
112 | 80 |
public void setUser(String user) { |
113 |
this.setDynValue("user", user);
|
|
81 |
this.setDynValue(DYNFIELDNAME_USER, user);
|
|
114 | 82 |
} |
115 | 83 |
|
116 |
public String getCatalog() {
|
|
117 |
return (String) this.getDynValue("catalog");
|
|
84 |
public void setPassword(String password) {
|
|
85 |
this.setDynValue(DYNFIELDNAME_PASSWORD, password);
|
|
118 | 86 |
} |
119 | 87 |
|
120 |
public void setCatalog(String catalog) { |
|
121 |
this.setDynValue("catalog", catalog); |
|
122 |
} |
|
123 |
|
|
124 |
public String getExplorerName() { |
|
125 |
return DBServerExplorer.NAME; |
|
126 |
} |
|
127 |
|
|
128 | 88 |
} |
branches/v2_0_0_prep/libraries/libFMap_daldb/src/org/gvsig/fmap/dal/serverexplorer/db/DBConnectionParameter.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
|
|
23 |
/* |
|
24 |
* AUTHORS (In addition to CIT): |
|
25 |
* 2009 IVER T.I {{Task}} |
|
26 |
*/ |
|
27 |
|
|
28 |
/** |
|
29 |
* |
|
30 |
*/ |
|
31 |
package org.gvsig.fmap.dal.serverexplorer.db; |
|
32 |
|
|
33 |
import org.gvsig.fmap.dal.resource.db.DBParameters; |
|
34 |
|
|
35 |
/** |
|
36 |
* @author jmvivo |
|
37 |
* |
|
38 |
*/ |
|
39 |
public interface DBConnectionParameter extends DBParameters { |
|
40 |
|
|
41 |
} |
|
0 | 42 |
branches/v2_0_0_prep/libraries/libFMap_daldb/src/org/gvsig/fmap/dal/DALDbLibrary.java | ||
---|---|---|
30 | 30 |
*/ |
31 | 31 |
package org.gvsig.fmap.dal; |
32 | 32 |
|
33 |
import org.gvsig.fmap.dal.resource.db.DBResourceLibrary; |
|
33 | 34 |
import org.gvsig.fmap.dal.resource.spi.ResourceManagerProviderServices; |
34 | 35 |
import org.gvsig.fmap.dal.spi.DataManagerProviderServices; |
35 | 36 |
import org.gvsig.tools.locator.BaseLibrary; |
... | ... | |
40 | 41 |
* |
41 | 42 |
*/ |
42 | 43 |
public class DALDbLibrary extends BaseLibrary { |
44 |
private DBResourceLibrary dbResourceLibrary; |
|
43 | 45 |
|
44 | 46 |
public void postInitialize() throws ReferenceNotRegisteredException { |
45 | 47 |
DataManagerProviderServices dataman = (DataManagerProviderServices) DALLocator |
... | ... | |
48 | 50 |
ResourceManagerProviderServices resman = (ResourceManagerProviderServices) DALLocator |
49 | 51 |
.getResourceManager(); |
50 | 52 |
|
51 |
// Nothing to do
|
|
53 |
dbResourceLibrary.postInitialize();
|
|
52 | 54 |
} |
55 |
|
|
56 |
public void initialize() throws ReferenceNotRegisteredException { |
|
57 |
super.initialize(); |
|
58 |
dbResourceLibrary = new DBResourceLibrary(); |
|
59 |
dbResourceLibrary.initialize(); |
|
60 |
} |
|
53 | 61 |
} |
branches/v2_0_0_prep/libraries/libFMap_daldb/src/org/gvsig/fmap/dal/store/postgesql/PostgreSQLStoreProvider.java | ||
---|---|---|
126 | 126 |
new Object[] { params.getHost(), |
127 | 127 |
params.getPort(), params.getDBName(), params.getUser(), |
128 | 128 |
params.getPassword(), |
129 |
PostgreSQLLibrary.JDCB_DRIVER_NAME, |
|
129 |
PostgreSQLLibrary.DEFAULT_JDCB_DRIVER_NAME,
|
|
130 | 130 |
params.getUseSSL() }); |
131 | 131 |
resource.addConsumer(this); |
132 | 132 |
|
branches/v2_0_0_prep/libraries/libFMap_daldb/src/org/gvsig/fmap/dal/store/postgesql/PostgreSQLResourceParameters.java | ||
---|---|---|
36 | 36 |
|
37 | 37 |
public class PostgreSQLResourceParameters extends JDBCResourceParameters { |
38 | 38 |
|
39 |
private static DynClass DYNCLASS = null; |
|
40 |
|
|
39 | 41 |
public static final String DYNCLASS_NAME = "PostgreSQLResourceParameters"; |
40 | 42 |
|
41 | 43 |
public static final String DYNFIELDNAME_USESSL = "usessl"; |
... | ... | |
43 | 45 |
public PostgreSQLResourceParameters() { |
44 | 46 |
super(); |
45 | 47 |
} |
48 |
|
|
46 | 49 |
public PostgreSQLResourceParameters(String host, Integer port, |
47 | 50 |
String dbName, String user, String password, |
48 | 51 |
String jdbcDriverClassName, Boolean ssl) { |
... | ... | |
52 | 55 |
} |
53 | 56 |
} |
54 | 57 |
|
55 |
private DynClass registerDynClass() {
|
|
58 |
protected static void registerDynClass() {
|
|
56 | 59 |
DynObjectManager dynman = ToolsLocator.getDynObjectManager(); |
57 | 60 |
DynClass dynClass = dynman.get(DYNCLASS_NAME); |
58 | 61 |
DynField field; |
... | ... | |
67 | 70 |
field.setType(DataTypes.BOOLEAN); |
68 | 71 |
field.setDefaultValue(Boolean.FALSE); |
69 | 72 |
|
73 |
field = dynClass.addDynField(DYNFIELDNAME_JDBC_DRIVER_CLASS_NAME); |
|
74 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
|
75 |
field.setDescription("JDBC Driver class"); |
|
76 |
field.setMandatory(true); |
|
77 |
field.setType(DataTypes.STRING); |
|
78 |
field.setDefaultValue(PostgreSQLLibrary.DEFAULT_JDCB_DRIVER_NAME); |
|
79 |
|
|
80 |
|
|
70 | 81 |
} |
71 |
return dynClass;
|
|
82 |
DYNCLASS = dynClass;
|
|
72 | 83 |
} |
73 | 84 |
|
74 | 85 |
|
... | ... | |
93 | 104 |
public void setUseSSL(boolean useSSL) { |
94 | 105 |
this.setDynValue(DYNFIELDNAME_USESSL, new Boolean(useSSL)); |
95 | 106 |
} |
107 |
|
|
108 |
protected String getDynClassName() { |
|
109 |
return DYNCLASS_NAME; |
|
110 |
} |
|
96 | 111 |
} |
branches/v2_0_0_prep/libraries/libFMap_daldb/src/org/gvsig/fmap/dal/store/postgesql/PostgreSQLStoreParameters.java | ||
---|---|---|
28 | 28 |
package org.gvsig.fmap.dal.store.postgesql; |
29 | 29 |
|
30 | 30 |
import org.gvsig.fmap.dal.DataTypes; |
31 |
import org.gvsig.fmap.dal.exception.ValidateDataParametersException; |
|
31 | 32 |
import org.gvsig.fmap.dal.store.jdbc.JDBCStoreParameters; |
32 | 33 |
import org.gvsig.tools.ToolsLocator; |
33 | 34 |
import org.gvsig.tools.dynobject.DelegatedDynObject; |
... | ... | |
38 | 39 |
public class PostgreSQLStoreParameters extends JDBCStoreParameters { |
39 | 40 |
public static final String DYNCLASS_NAME = "PostgreSQLStoreParameters"; |
40 | 41 |
|
41 |
private static DynClass DYNCLASS = null; |
|
42 |
|
|
43 |
public static final String DYNFIELDNAME_CATALOG = "catalog"; |
|
44 |
public static final String DYNFIELDNAME_SCHEMA = "schema"; |
|
45 | 42 |
public static final String DYNFIELDNAME_USESSL = "usessl"; |
46 |
public static final String DYNFIELDNAME_TABLE = "table"; |
|
47 |
public static final String DYNFIELDNAME_SQL = "sql"; |
|
48 |
public static final String DYNFIELDNAME_FIELDS = "fields"; |
|
49 |
public static final String DYNFIELDNAME_INITIALFILTER = "initialfilter"; |
|
50 |
public static final String DYNFIELDNAME_INITIALORDER = "initialorder"; |
|
51 |
public static final String DYNFIELDNAME_PKFIELDS = "pkfields"; |
|
52 |
public static final String DYNFIELDNAME_DEFAULTGEOMETRY = "defaultgeometry"; |
|
53 | 43 |
|
54 | 44 |
|
55 | 45 |
protected static void registerDynClass() { |
... | ... | |
61 | 51 |
|
62 | 52 |
dynClass.extend(JDBCStoreParameters.DYNCLASS_NAME); |
63 | 53 |
|
64 |
field = dynClass.addDynField(DYNFIELDNAME_USER); |
|
65 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
|
66 |
field.setDescription("User name"); |
|
67 |
field.setType(DataTypes.STRING); |
|
68 |
|
|
69 |
field = dynClass.addDynField(DYNFIELDNAME_PASSWORD); |
|
70 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
|
71 |
field.setDescription("Password"); |
|
72 |
field.setType(DataTypes.STRING); |
|
73 |
|
|
74 | 54 |
field = dynClass.addDynField(DYNFIELDNAME_USESSL); |
75 | 55 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
76 | 56 |
field.setDescription("Use SSL"); |
77 | 57 |
field.setType(DataTypes.BOOLEAN); |
78 | 58 |
|
79 |
field = dynClass.addDynField(DYNFIELDNAME_CATALOG); |
|
80 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
|
81 |
field.setDescription("Catalog name"); |
|
82 |
field.setType(DataTypes.STRING); |
|
83 |
|
|
84 |
field = dynClass.addDynField(DYNFIELDNAME_SCHEMA); |
|
85 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
|
86 |
field.setDescription("Schema name"); |
|
87 |
field.setType(DataTypes.STRING); |
|
88 |
|
|
89 |
field = dynClass.addDynField(DYNFIELDNAME_TABLE); |
|
90 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
|
91 |
field.setDescription("Table/View name"); |
|
92 |
field.setType(DataTypes.STRING); |
|
93 |
|
|
94 |
field = dynClass.addDynField(DYNFIELDNAME_SQL); |
|
95 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
|
96 |
field.setDescription("SQL Query to use"); |
|
97 |
field.setType(DataTypes.STRING); |
|
98 |
|
|
99 |
field = dynClass.addDynField(DYNFIELDNAME_FIELDS); |
|
100 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
|
101 |
field.setDescription("Fields to use (coma separeted)"); |
|
102 |
field.setType(DataTypes.STRING); |
|
103 |
|
|
104 |
field = dynClass.addDynField(DYNFIELDNAME_INITIALFILTER); |
|
105 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
|
106 |
field.setDescription("Initial filter"); |
|
107 |
field.setType(DataTypes.STRING); |
|
108 |
|
|
109 |
field = dynClass.addDynField(DYNFIELDNAME_INITIALORDER); |
|
110 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
|
111 |
field.setDescription("Initial order"); |
|
112 |
field.setType(DataTypes.STRING); |
|
113 |
|
|
114 |
field = dynClass.addDynField(DYNFIELDNAME_PKFIELDS); |
|
115 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
|
116 |
field.setDescription("Fields of the Primary Key"); |
|
117 |
field.setType(DataTypes.STRING); |
|
118 |
|
|
119 |
field = dynClass.addDynField(DYNFIELDNAME_DEFAULTGEOMETRY); |
|
120 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
|
121 |
field.setDescription("Default geometry field"); |
|
122 |
field.setType(DataTypes.STRING); |
|
123 |
|
|
124 | 59 |
} |
125 | 60 |
|
126 | 61 |
} |
... | ... | |
146 | 81 |
return PostgreSQLStoreProvider.DESCRIPTION; |
147 | 82 |
} |
148 | 83 |
|
149 |
public String getCatalog() { |
|
150 |
return (String) this.getDynValue(DYNFIELDNAME_CATALOG); |
|
151 |
} |
|
152 |
|
|
153 |
public void setCatalog(String catalog) { |
|
154 |
this.setDynValue(DYNFIELDNAME_CATALOG, catalog); |
|
155 |
} |
|
156 |
|
|
157 |
public String getSchema() { |
|
158 |
return (String) this.getDynValue(DYNFIELDNAME_SCHEMA); |
|
159 |
} |
|
160 |
|
|
161 |
public void setSchema(String schema) { |
|
162 |
this.setDynValue(DYNFIELDNAME_SCHEMA, schema); |
|
163 |
} |
|
164 |
|
|
165 | 84 |
public Boolean getUseSSL() { |
166 | 85 |
return (Boolean) this.getDynValue(DYNFIELDNAME_USESSL); |
167 | 86 |
} |
... | ... | |
174 | 93 |
this.setDynValue(DYNFIELDNAME_USESSL, new Boolean(useSSL)); |
175 | 94 |
} |
176 | 95 |
|
177 |
public String getTable() { |
|
178 |
return (String) this.getDynValue(DYNFIELDNAME_TABLE); |
|
179 |
} |
|
180 | 96 |
|
181 |
public void setTable(String table) { |
|
182 |
this.setDynValue(DYNFIELDNAME_TABLE, table); |
|
183 |
} |
|
184 | 97 |
|
185 |
public String getFieldsString() { |
|
186 |
return (String) this.getDynValue(DYNFIELDNAME_FIELDS); |
|
187 |
} |
|
188 |
|
|
189 |
public String[] getFields() { |
|
190 |
String fields = (String) this.getDynValue(DYNFIELDNAME_FIELDS); |
|
191 |
if (fields == null) { |
|
192 |
return null; |
|
193 |
} |
|
194 |
// FIXME check for fields with spaces and special chars |
|
195 |
return fields.split(","); |
|
196 |
} |
|
197 |
|
|
198 |
public void setFields(String fields) { |
|
199 |
this.setDynValue(DYNFIELDNAME_FIELDS, fields); |
|
200 |
} |
|
201 |
|
|
202 |
public void setFields(String[] fields) { |
|
203 |
StringBuilder str = new StringBuilder(); |
|
204 |
for (int i = 0; i < fields.length - 1; i++) { |
|
205 |
str.append(fields[i]); |
|
206 |
str.append(","); |
|
207 |
} |
|
208 |
str.append(fields.length - 1); |
|
209 |
|
|
210 |
this.setDynValue(DYNFIELDNAME_FIELDS, fields); |
|
211 |
} |
|
212 |
|
|
213 |
public String getSQL() { |
|
214 |
return (String) this.getDynValue(DYNFIELDNAME_SQL); |
|
215 |
} |
|
216 |
|
|
217 |
public void setSQL(String sql) { |
|
218 |
this.setDynValue(DYNFIELDNAME_SQL, sql); |
|
219 |
} |
|
220 |
|
|
221 |
public String getInitialFilter() { |
|
222 |
return (String) this.getDynValue(DYNFIELDNAME_INITIALFILTER); |
|
223 |
} |
|
224 |
|
|
225 |
public void setInitialFilter(String initialFilter) { |
|
226 |
this.setDynValue(DYNFIELDNAME_INITIALFILTER, initialFilter); |
|
227 |
} |
|
228 |
|
|
229 |
public String getInitialOrder() { |
|
230 |
return (String) this.getDynValue(DYNFIELDNAME_INITIALORDER); |
|
231 |
} |
|
232 |
|
|
233 |
public void setInitialOrder(String order) { |
|
234 |
this.setDynValue(DYNFIELDNAME_INITIALORDER, order); |
|
235 |
} |
|
236 |
|
|
237 |
|
|
238 |
public String getPkFieldsString() { |
|
239 |
return (String) this.getDynValue(DYNFIELDNAME_PKFIELDS); |
|
240 |
} |
|
241 |
|
|
242 |
public String[] getPkFields() { |
|
243 |
String fields = (String) this.getDynValue(DYNFIELDNAME_PKFIELDS); |
|
244 |
if (fields == null) { |
|
245 |
return null; |
|
246 |
} |
|
247 |
// FIXME check for fields with spaces and special chars |
|
248 |
return fields.split(","); |
|
249 |
} |
|
250 |
|
|
251 |
public void setPkFields(String fields) { |
|
252 |
this.setDynValue(DYNFIELDNAME_PKFIELDS, fields); |
|
253 |
} |
|
254 |
|
|
255 |
public void setPkFields(String[] fields) { |
|
256 |
StringBuilder str = new StringBuilder(); |
|
257 |
for (int i = 0; i < fields.length - 1; i++) { |
|
258 |
str.append(fields[i]); |
|
259 |
str.append(","); |
|
260 |
} |
|
261 |
str.append(fields.length - 1); |
|
262 |
|
|
263 |
this.setDynValue(DYNFIELDNAME_PKFIELDS, fields); |
|
264 |
} |
|
265 |
|
|
266 |
|
|
267 | 98 |
public String tableID() { |
268 | 99 |
if (this.getSchema() == null || this.getSchema() == "") { |
269 | 100 |
return this.getTable(); |
... | ... | |
293 | 124 |
return str.toString(); |
294 | 125 |
} |
295 | 126 |
|
127 |
public void validate() throws ValidateDataParametersException { |
|
128 |
if (getJDBCDriverClassName() == null) { |
|
129 |
setJDBCDriverClassName(PostgreSQLLibrary.DEFAULT_JDCB_DRIVER_NAME); |
|
130 |
} |
|
131 |
if (getPort() == null) { |
|
132 |
setPort(new Integer(5432)); |
|
133 |
} |
|
134 |
super.validate(); |
|
135 |
} |
|
136 |
|
|
296 | 137 |
} |
branches/v2_0_0_prep/libraries/libFMap_daldb/src/org/gvsig/fmap/dal/store/postgesql/PostgreSQLUtils.java | ||
---|---|---|
52 | 52 |
} |
53 | 53 |
|
54 | 54 |
PostgreSQLResourceParameters getResourceParameters( |
55 |
PostgreSQLStoreParameters storeParameters) { |
|
56 |
PostgreSQLResourceParameters result = new PostgreSQLResourceParameters(); |
|
55 |
PostgreSQLStoreParameters stParams) { |
|
56 |
PostgreSQLResourceParameters result = new PostgreSQLResourceParameters( |
|
57 |
stParams.getHost(), |
|
58 |
stParams.getPort(), |
|
59 |
stParams.getDBName(), |
|
60 |
stParams.getUser(), |
|
61 |
stParams.getPassword(), |
|
62 |
stParams.getJDBCDriverClassName(), |
|
63 |
stParams.getUseSSL()); |
|
57 | 64 |
|
58 |
result.setHost(storeParameters.getHost()); |
|
59 |
result.setPort(storeParameters.getPort()); |
|
60 |
result.setDBName(storeParameters.getDBName()); |
|
61 |
result.setUser(storeParameters.getUser()); |
|
62 |
result.setPassword(storeParameters.getPassword()); |
|
63 |
result.setUseSSL(storeParameters.getUseSSL()); |
|
64 | 65 |
return result; |
65 | 66 |
} |
66 | 67 |
|
branches/v2_0_0_prep/libraries/libFMap_daldb/src/org/gvsig/fmap/dal/store/postgesql/PostgreSQLLibrary.java | ||
---|---|---|
37 | 37 |
public class PostgreSQLLibrary extends BaseLibrary { |
38 | 38 |
|
39 | 39 |
|
40 |
static String JDCB_DRIVER_NAME = "org.postgresql.Driver"; |
|
40 |
static String DEFAULT_JDCB_DRIVER_NAME = "org.postgresql.Driver";
|
|
41 | 41 |
|
42 | 42 |
// static PostgreSQLResourceParameters getResourceParameters( |
43 | 43 |
// PostgreSQLServerexplorerParameters serverExplorerParameters) { |
... | ... | |
47 | 47 |
|
48 | 48 |
public void initialize() throws ReferenceNotRegisteredException { |
49 | 49 |
super.initialize(); |
50 |
try { |
|
51 |
Class.forName("org.postgresql.Driver"); |
|
52 |
} catch (ClassNotFoundException e) { |
|
53 |
// FIXME Exception |
|
54 |
throw new RuntimeException(e); |
|
55 |
} |
|
56 |
|
|
57 | 50 |
} |
58 | 51 |
|
59 | 52 |
public void postInitialize() throws ReferenceNotRegisteredException { |
... | ... | |
62 | 55 |
ResourceManagerProviderServices resman = (ResourceManagerProviderServices) DALLocator |
63 | 56 |
.getResourceManager(); |
64 | 57 |
|
58 |
PostgreSQLResourceParameters.registerDynClass(); |
|
59 |
|
|
65 | 60 |
if (!resman.getResourceProviders().contains(PostgreSQLResource.NAME)) { |
66 | 61 |
resman.register(PostgreSQLResource.NAME, |
67 | 62 |
PostgreSQLResource.DESCRIPTION, PostgreSQLResource.class, |
68 | 63 |
PostgreSQLResourceParameters.class); |
69 | 64 |
} |
70 | 65 |
|
66 |
|
|
71 | 67 |
PostgreSQLStoreParameters.registerDynClass(); |
72 | 68 |
// TODO PostgreSQLStoreParameters.registerDynClass(); |
73 | 69 |
PostgreSQLStoreProvider.registerDynClass(); |
branches/v2_0_0_prep/libraries/libFMap_daldb/src/org/gvsig/fmap/dal/store/jdbc/JDBCStoreParameters.java | ||
---|---|---|
29 | 29 |
|
30 | 30 |
import org.gvsig.fmap.dal.DataStoreParameters; |
31 | 31 |
import org.gvsig.fmap.dal.DataTypes; |
32 |
import org.gvsig.fmap.dal.resource.db.DBParameters; |
|
33 | 32 |
import org.gvsig.fmap.dal.spi.AbstractDataParameters; |
34 | 33 |
import org.gvsig.tools.ToolsLocator; |
35 | 34 |
import org.gvsig.tools.dynobject.DynClass; |
... | ... | |
38 | 37 |
|
39 | 38 |
public abstract class JDBCStoreParameters extends AbstractDataParameters |
40 | 39 |
implements |
41 |
DataStoreParameters, DBParameters {
|
|
40 |
DataStoreParameters, JDBCConnectionParameters {
|
|
42 | 41 |
|
43 | 42 |
public static final String DYNCLASS_NAME = "JDBCStoreParameters"; |
44 | 43 |
|
45 |
public static final String DYNFIELDNAME_HOST = "host"; |
|
46 |
public static final String DYNFIELDNAME_PORT = "port"; |
|
47 |
public static final String DYNFIELDNAME_DBNAME = "dbname"; |
|
48 |
public static final String DYNFIELDNAME_USER = "dbuser"; |
|
49 |
public static final String DYNFIELDNAME_PASSWORD = "password"; |
|
44 |
public static final String DYNFIELDNAME_SQL = "sql"; |
|
45 |
public static final String DYNFIELDNAME_FIELDS = "fields"; |
|
46 |
public static final String DYNFIELDNAME_INITIALFILTER = "initialfilter"; |
|
47 |
public static final String DYNFIELDNAME_INITIALORDER = "initialorder"; |
|
48 |
public static final String DYNFIELDNAME_PKFIELDS = "pkfields"; |
|
49 |
public static final String DYNFIELDNAME_DEFAULTGEOMETRY = "defaultgeometry"; |
|
50 |
public static final String DYNFIELDNAME_TABLE = "table"; |
|
50 | 51 |
|
52 |
|
|
51 | 53 |
protected static void registerDynClass() { |
52 | 54 |
DynObjectManager dynman = ToolsLocator.getDynObjectManager(); |
53 | 55 |
DynClass dynClass = dynman.get(DYNCLASS_NAME); |
... | ... | |
55 | 57 |
if (dynClass == null) { |
56 | 58 |
dynClass = dynman.add(DYNCLASS_NAME); |
57 | 59 |
|
58 |
field = dynClass.addDynField(DYNFIELDNAME_HOST); |
|
60 |
DynClass jdbcResource = dynman |
|
61 |
.get(JDBCResourceParameters.DYNCLASS_NAME); |
|
62 |
|
|
63 |
dynClass.extend(jdbcResource); |
|
64 |
|
|
65 |
field = dynClass.addDynField(DYNFIELDNAME_JDBC_DRIVER_CLASS_NAME); |
|
59 | 66 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
60 |
field.setDescription("DB Host");
|
|
67 |
field.setDescription("JDBC Driver class");
|
|
61 | 68 |
field.setMandatory(true); |
62 | 69 |
field.setType(DataTypes.STRING); |
63 | 70 |
|
64 |
field = dynClass.addDynField(DYNFIELDNAME_PORT);
|
|
71 |
field = dynClass.addDynField(DYNFIELDNAME_CATALOG);
|
|
65 | 72 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
66 |
field.setDescription("Host Port");
|
|
67 |
field.setType(DataTypes.INT);
|
|
73 |
field.setDescription("DB Catalog");
|
|
74 |
field.setType(DataTypes.STRING);
|
|
68 | 75 |
|
69 |
field = dynClass.addDynField(DYNFIELDNAME_DBNAME);
|
|
76 |
field = dynClass.addDynField(DYNFIELDNAME_SCHEMA);
|
|
70 | 77 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
71 |
field.setDescription("DB name");
|
|
78 |
field.setDescription("DB Schema");
|
|
72 | 79 |
field.setType(DataTypes.STRING); |
73 | 80 |
|
74 |
field = dynClass.addDynField(DYNFIELDNAME_USER); |
|
81 |
|
|
82 |
field = dynClass.addDynField(DYNFIELDNAME_TABLE); |
|
75 | 83 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
76 |
field.setDescription("User name");
|
|
84 |
field.setDescription("Table/View name");
|
|
77 | 85 |
field.setType(DataTypes.STRING); |
78 | 86 |
|
79 |
field = dynClass.addDynField(DYNFIELDNAME_PASSWORD);
|
|
87 |
field = dynClass.addDynField(DYNFIELDNAME_SQL);
|
|
80 | 88 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
81 |
field.setDescription("Password");
|
|
89 |
field.setDescription("SQL Query to use");
|
|
82 | 90 |
field.setType(DataTypes.STRING); |
91 |
|
|
92 |
field = dynClass.addDynField(DYNFIELDNAME_FIELDS); |
|
93 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
|
94 |
field.setDescription("Fields to use (coma separeted)"); |
|
95 |
field.setType(DataTypes.STRING); |
|
96 |
|
|
97 |
field = dynClass.addDynField(DYNFIELDNAME_INITIALFILTER); |
|
98 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
|
99 |
field.setDescription("Initial filter"); |
|
100 |
field.setType(DataTypes.STRING); |
|
101 |
|
|
102 |
field = dynClass.addDynField(DYNFIELDNAME_INITIALORDER); |
|
103 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
|
104 |
field.setDescription("Initial order"); |
|
105 |
field.setType(DataTypes.STRING); |
|
106 |
|
|
107 |
field = dynClass.addDynField(DYNFIELDNAME_PKFIELDS); |
|
108 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
|
109 |
field.setDescription("Fields of the Primary Key"); |
|
110 |
field.setType(DataTypes.STRING); |
|
111 |
|
|
112 |
field = dynClass.addDynField(DYNFIELDNAME_DEFAULTGEOMETRY); |
|
113 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
|
114 |
field.setDescription("Default geometry field"); |
|
115 |
field.setType(DataTypes.STRING); |
|
116 |
|
|
83 | 117 |
} |
84 | 118 |
} |
85 | 119 |
|
... | ... | |
132 | 166 |
this.setDynValue(DYNFIELDNAME_PASSWORD, password); |
133 | 167 |
} |
134 | 168 |
|
169 |
public void setJDBCDriverClassName(String className) { |
|
170 |
this.setDynValue(DYNFIELDNAME_JDBC_DRIVER_CLASS_NAME, className); |
|
171 |
} |
|
135 | 172 |
|
173 |
public String getJDBCDriverClassName() { |
|
174 |
return (String) this.getDynValue(DYNFIELDNAME_JDBC_DRIVER_CLASS_NAME); |
|
175 |
} |
|
176 |
|
|
177 |
public String getCatalog() { |
|
178 |
return (String) this.getDynValue(DYNFIELDNAME_CATALOG); |
|
179 |
} |
|
180 |
|
|
181 |
public void setCatalog(String catalog) { |
|
182 |
this.setDynValue(DYNFIELDNAME_CATALOG, catalog); |
|
183 |
} |
|
184 |
|
|
185 |
public String getSchema() { |
|
186 |
return (String) this.getDynValue(DYNFIELDNAME_SCHEMA); |
|
187 |
} |
|
188 |
|
|
189 |
public void setSchema(String schema) { |
|
190 |
this.setDynValue(DYNFIELDNAME_SCHEMA, schema); |
|
191 |
} |
|
192 |
|
|
193 |
public String getTable() { |
|
194 |
return (String) this.getDynValue(DYNFIELDNAME_TABLE); |
|
195 |
} |
|
196 |
|
|
197 |
public void setTable(String table) { |
|
198 |
this.setDynValue(DYNFIELDNAME_TABLE, table); |
|
199 |
} |
|
200 |
|
|
201 |
public String getFieldsString() { |
|
202 |
return (String) this.getDynValue(DYNFIELDNAME_FIELDS); |
|
203 |
} |
|
204 |
|
|
205 |
public String[] getFields() { |
|
206 |
String fields = (String) this.getDynValue(DYNFIELDNAME_FIELDS); |
|
207 |
if (fields == null) { |
|
208 |
return null; |
|
209 |
} |
|
210 |
// FIXME check for fields with spaces and special chars |
|
211 |
return fields.split(","); |
|
212 |
} |
|
213 |
|
|
214 |
public void setFields(String fields) { |
|
215 |
this.setDynValue(DYNFIELDNAME_FIELDS, fields); |
|
216 |
} |
|
217 |
|
|
218 |
public void setFields(String[] fields) { |
|
219 |
StringBuilder str = new StringBuilder(); |
|
220 |
for (int i = 0; i < fields.length - 1; i++) { |
|
221 |
str.append(fields[i]); |
|
222 |
str.append(","); |
|
223 |
} |
|
224 |
str.append(fields.length - 1); |
|
225 |
|
|
226 |
this.setDynValue(DYNFIELDNAME_FIELDS, fields); |
|
227 |
} |
|
228 |
|
|
229 |
public String getSQL() { |
|
230 |
return (String) this.getDynValue(DYNFIELDNAME_SQL); |
|
231 |
} |
|
232 |
|
|
233 |
public void setSQL(String sql) { |
|
234 |
this.setDynValue(DYNFIELDNAME_SQL, sql); |
|
235 |
} |
|
236 |
|
|
237 |
public String getInitialFilter() { |
|
238 |
return (String) this.getDynValue(DYNFIELDNAME_INITIALFILTER); |
|
239 |
} |
|
240 |
|
|
241 |
public void setInitialFilter(String initialFilter) { |
|
242 |
this.setDynValue(DYNFIELDNAME_INITIALFILTER, initialFilter); |
|
243 |
} |
|
244 |
|
|
245 |
public String getInitialOrder() { |
|
246 |
return (String) this.getDynValue(DYNFIELDNAME_INITIALORDER); |
|
247 |
} |
|
248 |
|
|
249 |
public void setInitialOrder(String order) { |
|
250 |
this.setDynValue(DYNFIELDNAME_INITIALORDER, order); |
|
251 |
} |
|
252 |
|
|
253 |
public String getPkFieldsString() { |
|
254 |
return (String) this.getDynValue(DYNFIELDNAME_PKFIELDS); |
|
255 |
} |
|
256 |
|
|
257 |
public String[] getPkFields() { |
|
258 |
String fields = (String) this.getDynValue(DYNFIELDNAME_PKFIELDS); |
|
259 |
if (fields == null) { |
|
260 |
return null; |
|
261 |
} |
|
262 |
// FIXME check for fields with spaces and special chars |
|
263 |
return fields.split(","); |
|
264 |
} |
|
265 |
|
|
266 |
public void setPkFields(String fields) { |
|
267 |
this.setDynValue(DYNFIELDNAME_PKFIELDS, fields); |
|
268 |
} |
|
269 |
|
|
270 |
public void setPkFields(String[] fields) { |
|
271 |
StringBuilder str = new StringBuilder(); |
|
272 |
for (int i = 0; i < fields.length - 1; i++) { |
|
273 |
str.append(fields[i]); |
|
274 |
str.append(","); |
|
275 |
} |
|
276 |
str.append(fields.length - 1); |
|
277 |
|
|
278 |
this.setDynValue(DYNFIELDNAME_PKFIELDS, fields); |
|
279 |
} |
|
280 |
|
|
136 | 281 |
} |
branches/v2_0_0_prep/libraries/libFMap_daldb/src/org/gvsig/fmap/dal/store/jdbc/JDBCConnectionParameters.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
|
|
23 |
/* |
|
24 |
* AUTHORS (In addition to CIT): |
|
25 |
* 2009 IVER T.I {{Task}} |
|
26 |
*/ |
|
27 |
|
|
28 |
/** |
|
29 |
* |
|
30 |
*/ |
|
31 |
package org.gvsig.fmap.dal.store.jdbc; |
|
32 |
|
|
33 |
import org.gvsig.fmap.dal.serverexplorer.db.DBConnectionParameter; |
|
34 |
|
|
35 |
/** |
|
36 |
* @author jmvivo |
|
37 |
* |
|
38 |
*/ |
|
39 |
public interface JDBCConnectionParameters extends DBConnectionParameter { |
|
40 |
public static final String DYNFIELDNAME_JDBC_DRIVER_CLASS_NAME = "jdbcdriverclass"; |
|
41 |
public static final String DYNFIELDNAME_CATALOG = "catalog"; |
|
42 |
public static final String DYNFIELDNAME_SCHEMA = "schema"; |
|
43 |
|
|
44 |
public String getJDBCDriverClassName(); |
|
45 |
|
|
46 |
public String getCatalog(); |
|
47 |
|
|
48 |
public String getSchema(); |
|
49 |
|
|
50 |
} |
|
0 | 51 |
branches/v2_0_0_prep/libraries/libFMap_daldb/src/org/gvsig/fmap/dal/store/jdbc/JDBCLibrary.java | ||
---|---|---|
37 | 37 |
public void postInitialize() throws ReferenceNotRegisteredException { |
38 | 38 |
super.postInitialize(); |
39 | 39 |
|
40 |
JDBCResourceParameters.registerDynClass(); |
|
40 | 41 |
|
41 | 42 |
JDBCStoreParameters.registerDynClass(); |
42 | 43 |
} |
branches/v2_0_0_prep/libraries/libFMap_daldb/src/org/gvsig/fmap/dal/store/jdbc/JDBCResourceParameters.java | ||
---|---|---|
30 | 30 |
import org.gvsig.fmap.dal.DataTypes; |
31 | 31 |
import org.gvsig.fmap.dal.resource.db.DBResourceParameters; |
32 | 32 |
import org.gvsig.tools.ToolsLocator; |
33 |
import org.gvsig.tools.dynobject.DelegatedDynObject; |
|
34 | 33 |
import org.gvsig.tools.dynobject.DynClass; |
35 | 34 |
import org.gvsig.tools.dynobject.DynField; |
36 | 35 |
import org.gvsig.tools.dynobject.DynObjectManager; |
37 | 36 |
|
38 |
public abstract class JDBCResourceParameters extends DBResourceParameters { |
|
37 |
public abstract class JDBCResourceParameters extends DBResourceParameters |
|
38 |
implements JDBCConnectionParameters { |
|
39 | 39 |
|
40 | 40 |
public static final String DYNCLASS_NAME = "JDBCResourceParameters"; |
41 | 41 |
|
42 |
public static final String DYNFIELDNAME_JDBC_DRIVER_CLASS_NAME = "jdbcdriverclass"; |
|
43 | 42 |
|
44 |
|
|
45 |
public JDBCResourceParameters() { |
|
46 |
this.delegatedDynObject = (DelegatedDynObject) ToolsLocator |
|
47 |
.getDynObjectManager().createDynObject(registerDynClass()); |
|
48 |
} |
|
49 |
|
|
50 |
|
|
51 |
|
|
52 | 43 |
public JDBCResourceParameters(String host, Integer port, String dbName, |
53 | 44 |
String user, String password, String jdbcDriverClassName) { |
54 |
this(); |
|
45 |
super(); |
|
46 |
|
|
55 | 47 |
this.setHost(host); |
56 | 48 |
this.setPort(port); |
57 | 49 |
this.setDBName(dbName); |
... | ... | |
60 | 52 |
this.setJDBCDriverClassName(jdbcDriverClassName); |
61 | 53 |
} |
62 | 54 |
|
63 |
private DynClass registerDynClass() { |
|
55 |
|
|
56 |
public JDBCResourceParameters() { |
|
57 |
super(); |
|
58 |
} |
|
59 |
|
|
60 |
|
|
61 |
static void registerDynClass() { |
|
64 | 62 |
DynObjectManager dynman = ToolsLocator.getDynObjectManager(); |
65 | 63 |
DynClass dynClass = dynman.get(DYNCLASS_NAME); |
66 | 64 |
DynField field; |
... | ... | |
75 | 73 |
field.setMandatory(true); |
76 | 74 |
field.setType(DataTypes.STRING); |
77 | 75 |
|
76 |
|
|
77 |
field = dynClass.addDynField(DYNFIELDNAME_CATALOG); |
|
78 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
|
79 |
field.setDescription("DB Catalog"); |
|
80 |
field.setType(DataTypes.STRING); |
|
81 |
|
|
82 |
field = dynClass.addDynField(DYNFIELDNAME_SCHEMA); |
|
83 |
field.setTheTypeOfAvailableValues(DynField.SINGLE); |
|
84 |
field.setDescription("DB Schema"); |
|
85 |
field.setType(DataTypes.STRING); |
|
86 |
|
|
78 | 87 |
} |
79 |
return dynClass; |
|
80 | 88 |
} |
81 | 89 |
|
82 | 90 |
|
... | ... | |
91 | 99 |
return (String) this.getDynValue(DYNFIELDNAME_JDBC_DRIVER_CLASS_NAME); |
92 | 100 |
} |
93 | 101 |
|
102 |
public String getCatalog() { |
|
103 |
return (String) this.getDynValue(DYNFIELDNAME_CATALOG); |
|
104 |
} |
|
105 |
|
|
106 |
public void setCatalog(String catalog) { |
|
107 |
this.setDynValue(DYNFIELDNAME_CATALOG, catalog); |
|
108 |
} |
|
109 |
|
|
110 |
public String getSchema() { |
|
111 |
return (String) this.getDynValue(DYNFIELDNAME_SCHEMA); |
|
112 |
} |
|
113 |
|
|
114 |
public void setSchema(String schema) { |
|
115 |
this.setDynValue(DYNFIELDNAME_SCHEMA, schema); |
|
116 |
} |
|
117 |
|
|
94 | 118 |
} |
Also available in: Unified diff