Revision 32880 branches/v2_0_0_prep/libraries/libFMap_daldb/src/org/gvsig/fmap/dal/store/jdbc/JDBCStoreParameters.java

View differences:

JDBCStoreParameters.java
27 27

  
28 28
package org.gvsig.fmap.dal.store.jdbc;
29 29

  
30
import java.text.MessageFormat;
31

  
30 32
import org.gvsig.fmap.dal.store.db.DBStoreParameters;
31
import org.gvsig.tools.ToolsLocator;
32
import org.gvsig.tools.dynobject.DelegatedDynObject;
33
import org.gvsig.tools.dynobject.DynClass;
34
import org.gvsig.tools.dynobject.DynObjectManager;
35 33

  
36 34
/**
37 35
 * Parameters class for JDBC generic provider
......
40 38
 *
41 39
 */
42 40
public class JDBCStoreParameters extends DBStoreParameters
43
		implements
44
		JDBCConnectionParameters {
41
		implements JDBCConnectionParameters {
45 42

  
46
	public static final String DYNCLASS_NAME = "JDBCStoreParameters";
47
	private DelegatedDynObject delegatedDynObject;
43
	public static final String PARAMETERS_DEFINITION_NAME = "JDBCStoreParameters";
48 44

  
49

  
50 45
	public JDBCStoreParameters() {
51
		super();
52
		initialize();
46
		super(PARAMETERS_DEFINITION_NAME,JDBCStoreProvider.NAME);
53 47
	}
54 48

  
55
	protected void initialize() {
56
		DynObjectManager dynman = ToolsLocator.getDynObjectManager();
57
		DynClass dynClass = dynman.get(DYNCLASS_NAME);
58
		this.delegatedDynObject = (DelegatedDynObject) dynman
59
				.createDynObject(dynClass);
49
	protected JDBCStoreParameters(String parametersDefinitionName) {
50
		super(parametersDefinitionName,JDBCStoreProvider.NAME);
60 51
	}
61 52

  
62
	/*
63
	 * (non-Javadoc)
64
	 * @see org.gvsig.fmap.dal.DataStoreParameters#getDataStoreName()
65
	 */
66
	public String getDataStoreName() {
67
		return JDBCStoreProvider.NAME;
53
	protected JDBCStoreParameters(String parametersDefinitionName, String providerName) {
54
		super(parametersDefinitionName,providerName);
68 55
	}
69 56

  
70
	/*
71
	 * (non-Javadoc)
72
	 * @see org.gvsig.fmap.dal.DataStoreParameters#getDescription()
73
	 */
74
	public String getDescription() {
75
		return JDBCStoreProvider.DESCRIPTION;
76
	}
77

  
78

  
79
	/**
80
	 * Register Metadata DynClass
81
	 */
82
    protected static void registerDynClass() {
83
		DynObjectManager dynman = ToolsLocator.getDynObjectManager();
84
		DynClass dynClass = dynman.get(DYNCLASS_NAME);
85
		if (dynClass == null) {
86
			dynClass = dynman.add(DYNCLASS_NAME);
87

  
88
			dynClass.extend(JDBCResourceParameters.DYNCLASS_NAME);
89

  
90
			dynClass.extend(DBStoreParameters.DYNCLASS_NAME);
91

  
92
			dynClass.addDynFieldString(DYNFIELDNAME_JDBC_DRIVER_CLASS_NAME)
93
					.setDescription("JDBC Driver class")
94
					.setMandatory(true);
95

  
96
			dynClass.addDynFieldString(DYNFIELDNAME_CATALOG).setDescription(
97
					"DB Catalog");
98

  
99
			dynClass.addDynFieldString(DYNFIELDNAME_SCHEMA).setDescription(
100
					"DB Schema");
101

  
102
			// Register the DynClass in the PersistenceManager
103
			ToolsLocator.getPersistenceManager().registerClass(
104
					JDBCStoreParameters.class, dynClass);
105
		}
106
	}
107

  
108

  
109
    /*
110
     * (non-Javadoc)
111
     * @see org.gvsig.fmap.dal.store.db.DBStoreParameters#isValid()
112
     */
113 57
	public boolean isValid() {
114 58
		return this.getHost() != null;
115 59
	}
116 60

  
117
	/*
118
	 * (non-Javadoc)
119
	 * @see org.gvsig.fmap.dal.store.db.DBStoreParameters#getHost()
120
	 */
121 61
	public String getHost() {
122
		return (String) this.getDynValue(DYNFIELDNAME_HOST);
62
		return (String) this.getDynValue(HOST_PARAMTER_NAME);
123 63
	}
124 64

  
125
	/*
126
	 * (non-Javadoc)
127
	 * @see org.gvsig.fmap.dal.store.db.DBStoreParameters#getPort()
128
	 */
129 65
	public Integer getPort() {
130
		return (Integer) this.getDynValue(DYNFIELDNAME_PORT);
66
		return (Integer) this.getDynValue(PORT_PARAMTER_NAME);
131 67
	}
132 68

  
133
	/*
134
	 * (non-Javadoc)
135
	 * @see org.gvsig.fmap.dal.store.db.DBStoreParameters#getDBName()
136
	 */
137 69
	public String getDBName() {
138
		return (String) this.getDynValue(DYNFIELDNAME_DBNAME);
70
		return (String) this.getDynValue(DBNAME_PARAMTER_NAME);
139 71
	}
140 72

  
141
	/*
142
	 * (non-Javadoc)
143
	 * @see org.gvsig.fmap.dal.store.db.DBStoreParameters#getUser()
144
	 */
145 73
	public String getUser() {
146
		return (String) this.getDynValue(DYNFIELDNAME_USER);
74
		return (String) this.getDynValue(USER_PARAMTER_NAME);
147 75
	}
148 76

  
149
	/*
150
	 * (non-Javadoc)
151
	 * @see org.gvsig.fmap.dal.store.db.DBStoreParameters#getPassword()
152
	 */
153 77
	public String getPassword() {
154
		return (String) this.getDynValue(DYNFIELDNAME_PASSWORD);
78
		return (String) this.getDynValue(PASSWORD_PARAMTER_NAME);
155 79
	}
156 80

  
157
	/*
158
	 * (non-Javadoc)
159
	 * @see org.gvsig.fmap.dal.store.db.DBStoreParameters#setHost(java.lang.String)
160
	 */
161 81
	public void setHost(String host) {
162
		this.setDynValue(DYNFIELDNAME_HOST, host);
82
		this.setDynValue(HOST_PARAMTER_NAME, host);
163 83
	}
164 84

  
165
	/*
166
	 * (non-Javadoc)
167
	 * @see org.gvsig.fmap.dal.store.db.DBStoreParameters#setPort(int)
168
	 */
169 85
	public void setPort(int port) {
170
		this.setDynValue(DYNFIELDNAME_PORT, new Integer(port));
86
		this.setDynValue(PORT_PARAMTER_NAME, new Integer(port));
171 87
	}
172 88

  
173
	/*
174
	 * (non-Javadoc)
175
	 * @see org.gvsig.fmap.dal.store.db.DBStoreParameters#setPort(java.lang.Integer)
176
	 */
177 89
	public void setPort(Integer port) {
178
		this.setDynValue(DYNFIELDNAME_PORT, port);
90
		this.setDynValue(PORT_PARAMTER_NAME, port);
179 91
	}
180 92

  
181
	/*
182
	 * (non-Javadoc)
183
	 * @see org.gvsig.fmap.dal.store.db.DBStoreParameters#setDBName(java.lang.String)
184
	 */
185 93
	public void setDBName(String dbName) {
186
		this.setDynValue(DYNFIELDNAME_DBNAME, dbName);
94
		this.setDynValue(DBNAME_PARAMTER_NAME, dbName);
187 95
	}
188 96

  
189
	/*
190
	 * (non-Javadoc)
191
	 * @see org.gvsig.fmap.dal.store.db.DBStoreParameters#setUser(java.lang.String)
192
	 */
193 97
	public void setUser(String user) {
194
		this.setDynValue(DYNFIELDNAME_USER, user);
98
		this.setDynValue(USER_PARAMTER_NAME, user);
195 99
	}
196 100

  
197
	/*
198
	 * (non-Javadoc)
199
	 * @see org.gvsig.fmap.dal.store.db.DBStoreParameters#setPassword(java.lang.String)
200
	 */
201 101
	public void setPassword(String password) {
202
		this.setDynValue(DYNFIELDNAME_PASSWORD, password);
102
		this.setDynValue(PASSWORD_PARAMTER_NAME, password);
203 103
	}
204 104

  
205 105
	/**
......
208 108
	 * @param className
209 109
	 */
210 110
	public void setJDBCDriverClassName(String className) {
211
		this.setDynValue(DYNFIELDNAME_JDBC_DRIVER_CLASS_NAME, className);
111
		this.setDynValue(JDBC_DRIVER_CLASS_PARAMTER_NAME, className);
212 112
	}
213 113

  
214
	/*
215
	 * (non-Javadoc)
216
	 *
217
	 * @see
218
	 * org.gvsig.fmap.dal.store.jdbc.JDBCConnectionParameters#getJDBCDriverClassName
219
	 * ()
220
	 */
221 114
	public String getJDBCDriverClassName() {
222
		return (String) this.getDynValue(DYNFIELDNAME_JDBC_DRIVER_CLASS_NAME);
115
		return (String) this.getDynValue(JDBC_DRIVER_CLASS_PARAMTER_NAME);
223 116
	}
224 117

  
225
	/*
226
	 * (non-Javadoc)
227
	 *
228
	 * @see org.gvsig.fmap.dal.store.jdbc.JDBCConnectionParameters#getCatalog()
229
	 */
230 118
	public String getCatalog() {
231
		return (String) this.getDynValue(DYNFIELDNAME_CATALOG);
119
		return (String) this.getDynValue(CATALOG_PARAMTER_NAME);
232 120
	}
233 121

  
234 122

  
......
238 126
	 * @param className
239 127
	 */
240 128
	public void setCatalog(String catalog) {
241
		this.setDynValue(DYNFIELDNAME_CATALOG, catalog);
129
		this.setDynValue(CATALOG_PARAMTER_NAME, catalog);
242 130
	}
243 131

  
244
	/*
245
	 * (non-Javadoc)
246
	 *
247
	 * @see org.gvsig.fmap.dal.store.jdbc.JDBCConnectionParameters#getSchema()
248
	 */
249 132
	public String getSchema() {
250
		return (String) this.getDynValue(DYNFIELDNAME_SCHEMA);
133
		return (String) this.getDynValue(SCHEMA_PARAMTER_NAME);
251 134
	}
252 135

  
253 136
	/**
......
256 139
	 * @param className
257 140
	 */
258 141
	public void setSchema(String schema) {
259
		this.setDynValue(DYNFIELDNAME_SCHEMA, schema);
142
		this.setDynValue(SCHEMA_PARAMTER_NAME, schema);
260 143
	}
261 144

  
262
	/*
263
	 * (non-Javadoc)
264
	 *
265
	 * @see org.gvsig.fmap.dal.store.db.DBStoreParameters#getTable()
266
	 */
267 145
	public String getTable() {
268
		return (String) this.getDynValue(DYNFIELDNAME_TABLE);
146
		return (String) this.getDynValue(TABLE_PARAMTER_NAME);
269 147
	}
270 148

  
271
	/*
272
	 * (non-Javadoc)
273
	 *
274
	 * @see
275
	 * org.gvsig.fmap.dal.store.db.DBStoreParameters#setTable(java.lang.String)
276
	 */
277 149
	public void setTable(String table) {
278
		this.setDynValue(DYNFIELDNAME_TABLE, table);
150
		this.setDynValue(TABLE_PARAMTER_NAME, table);
279 151
	}
280 152

  
281
	/*
282
	 * (non-Javadoc)
283
	 *
284
	 * @see org.gvsig.fmap.dal.store.db.DBStoreParameters#getFieldsString()
285
	 */
286 153
	public String getFieldsString() {
287
		return (String) this.getDynValue(DYNFIELDNAME_FIELDS);
154
		return (String) this.getDynValue(FIELDS_PARAMTER_NAME);
288 155
	}
289 156

  
290
	/*
291
	 * (non-Javadoc)
292
	 *
293
	 * @see org.gvsig.fmap.dal.store.db.DBStoreParameters#getFields()
294
	 */
295 157
	public String[] getFields() {
296
		String fields = (String) this.getDynValue(DYNFIELDNAME_FIELDS);
158
		String fields = (String) this.getDynValue(FIELDS_PARAMTER_NAME);
297 159
		if (fields == null) {
298 160
			return null;
299 161
		}
......
301 163
		return fields.split(",");
302 164
	}
303 165

  
304
	/*
305
	 * (non-Javadoc)
306
	 *
307
	 * @see
308
	 * org.gvsig.fmap.dal.store.db.DBStoreParameters#setFields(java.lang.String)
309
	 */
310 166
	public void setFields(String fields) {
311
		this.setDynValue(DYNFIELDNAME_FIELDS, fields);
167
		this.setDynValue(FIELDS_PARAMTER_NAME, fields);
312 168
	}
313 169

  
314
	/*
315
	 * (non-Javadoc)
316
	 *
317
	 * @see
318
	 * org.gvsig.fmap.dal.store.db.DBStoreParameters#setFields(java.lang.String
319
	 * [])
320
	 */
321 170
	public void setFields(String[] fields) {
322 171
		StringBuilder str = new StringBuilder();
323 172
		for (int i = 0; i < fields.length - 1; i++) {
......
326 175
		}
327 176
		str.append(fields.length - 1);
328 177

  
329
		this.setDynValue(DYNFIELDNAME_FIELDS, fields);
178
		this.setDynValue(FIELDS_PARAMTER_NAME, fields);
330 179
	}
331 180

  
332
	/*
333
	 * (non-Javadoc)
334
	 *
335
	 * @see org.gvsig.fmap.dal.store.db.DBStoreParameters#getSQL()
336
	 */
337 181
	public String getSQL() {
338
		return (String) this.getDynValue(DYNFIELDNAME_SQL);
182
		return (String) this.getDynValue(SQL_PARAMTER_NAME);
339 183
	}
340 184

  
341
	/*
342
	 * (non-Javadoc)
343
	 *
344
	 * @see
345
	 * org.gvsig.fmap.dal.store.db.DBStoreParameters#setSQL(java.lang.String)
346
	 */
347 185
	public void setSQL(String sql) {
348
		this.setDynValue(DYNFIELDNAME_SQL, sql);
186
		this.setDynValue(SQL_PARAMTER_NAME, sql);
349 187
	}
350 188

  
351
	/*
352
	 * (non-Javadoc)
353
	 *
354
	 * @see org.gvsig.fmap.dal.store.db.DBStoreParameters#getInitialFilter()
355
	 */
356
	public String getInitialFilter() {
357
		return (String) this.getDynValue(DYNFIELDNAME_INITIALFILTER);
189
	public String getBaseFilter() {
190
		return (String) this.getDynValue(BASEFILTER_PARAMTER_NAME);
358 191
	}
359 192

  
360
	/*
361
	 * (non-Javadoc)
362
	 *
363
	 * @see
364
	 * org.gvsig.fmap.dal.store.db.DBStoreParameters#setInitialFilter(java.lang
365
	 * .String)
366
	 */
367
	public void setInitialFilter(String initialFilter) {
368
		this.setDynValue(DYNFIELDNAME_INITIALFILTER, initialFilter);
193
	public void setBaseFilter(String initialFilter) {
194
		this.setDynValue(BASEFILTER_PARAMTER_NAME, initialFilter);
369 195
	}
370 196

  
371
	/*
372
	 * (non-Javadoc)
373
	 *
374
	 * @see org.gvsig.fmap.dal.store.db.DBStoreParameters#getInitialOrder()
375
	 */
376
	public String getInitialOrder() {
377
		return (String) this.getDynValue(DYNFIELDNAME_INITIALORDER);
197
	public String getBaseOrder() {
198
		return (String) this.getDynValue(BASEORDER_PARAMTER_NAME);
378 199
	}
379 200

  
380
	/*
381
	 * (non-Javadoc)
382
	 *
383
	 * @see
384
	 * org.gvsig.fmap.dal.store.db.DBStoreParameters#setInitialOrder(java.lang
385
	 * .String)
386
	 */
387
	public void setInitialOrder(String order) {
388
		this.setDynValue(DYNFIELDNAME_INITIALORDER, order);
201
	public void setBaseOrder(String order) {
202
		this.setDynValue(BASEORDER_PARAMTER_NAME, order);
389 203
	}
390 204

  
391
	/*
392
	 * (non-Javadoc)
393
	 *
394
	 * @see org.gvsig.fmap.dal.store.db.DBStoreParameters#getPkFieldsString()
395
	 */
396 205
	public String getPkFieldsString() {
397
		return (String) this.getDynValue(DYNFIELDNAME_PKFIELDS);
206
		return (String) this.getDynValue(PKFIELDS_PARAMTER_NAME);
398 207
	}
399 208

  
400
	/*
401
	 * (non-Javadoc)
402
	 *
403
	 * @see org.gvsig.fmap.dal.store.db.DBStoreParameters#getPkFields()
404
	 */
405 209
	public String[] getPkFields() {
406
		String fields = (String) this.getDynValue(DYNFIELDNAME_PKFIELDS);
210
		String fields = (String) this.getDynValue(PKFIELDS_PARAMTER_NAME);
407 211
		if (fields == null) {
408 212
			return null;
409 213
		}
......
411 215
		return fields.split(",");
412 216
	}
413 217

  
414
	/*
415
	 * (non-Javadoc)
416
	 *
417
	 * @see
418
	 * org.gvsig.fmap.dal.store.db.DBStoreParameters#setPkFields(java.lang.String
419
	 * )
420
	 */
421 218
	public void setPkFields(String fields) {
422
		this.setDynValue(DYNFIELDNAME_PKFIELDS, fields);
219
		this.setDynValue(PKFIELDS_PARAMTER_NAME, fields);
423 220
	}
424 221

  
425
	/*
426
	 * (non-Javadoc)
427
	 *
428
	 * @see
429
	 * org.gvsig.fmap.dal.store.db.DBStoreParameters#setPkFields(java.lang.String
430
	 * [])
431
	 */
432 222
	public void setPkFields(String[] fields) {
433 223
		StringBuilder str = new StringBuilder();
434 224
		for (int i = 0; i < fields.length - 1; i++) {
......
437 227
		}
438 228
		str.append(fields[fields.length - 1]);
439 229

  
440
		this.setDynValue(DYNFIELDNAME_PKFIELDS, str.toString());
230
		this.setDynValue(PKFIELDS_PARAMTER_NAME, str.toString());
441 231
	}
442 232

  
443 233
	/**
......
459 249
	 * @return
460 250
	 */
461 251
	public String getSourceId() {
462
		// FIXME Arreglar
463
		StringBuilder str = new StringBuilder();
464
		str.append(this.getDataStoreName());
465
		str.append(':');
466
		str.append(this.getJDBCDriverClassName());
467
		str.append(':');
468
		str.append(getUrl());
469
		str.append(':');
470 252
		if (getTable() != null) {
471
			str.append(getTable());
472
		} else {
473
			str.append(getSQL());
253
			return MessageFormat.format(
254
					"provider={0}:url=\"{1}\":table=\"{2}\":user={3}:driverclass={4}", 
255
					this.getDataStoreName(),
256
					this.getUrl(),
257
					this.getTable(),
258
					this.getUser(),
259
					this.getJDBCDriverClassName()
260
			);
474 261
		}
475
		return str.toString();
262
		return MessageFormat.format(
263
				"provider={0}:url=\"{1}\":sql=\"{2}\":user={3}:driverclass={4}", 
264
				this.getDataStoreName(),
265
				this.getUrl(),
266
				this.getSQL(),
267
				this.getUser(),
268
				this.getJDBCDriverClassName()
269
		);
476 270
	}
477 271

  
478
	/*
479
	 * (non-Javadoc)
480
	 * 
481
	 * @see org.gvsig.fmap.dal.store.jdbc.JDBCConnectionParameters#getUrl()
482
	 */
483 272
	public String getUrl() {
484
		return (String) this.getDynValue(DYNFIELDNAME_URL);
273
		return (String) this.getDynValue(URL_PARAMTER_NAME);
485 274
	}
486 275

  
487 276
	/**
......
490 279
	 * @param url
491 280
	 */
492 281
	public void setUrl(String url) {
493
		this.setDynValue(DYNFIELDNAME_URL, url);
282
		this.setDynValue(URL_PARAMTER_NAME, url);
494 283
	}
495 284

  
496
	@Override
497
	protected DelegatedDynObject getDelegatedDynObject() {
498
		return delegatedDynObject;
499
	}
500 285
}

Also available in: Unified diff