Revision 29022

View differences:

branches/v2_0_0_prep/libraries/libFMap_dal/src/org/gvsig/fmap/dal/raster/impl/DefaultCoverageStore.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.raster.impl;
32

  
33
import java.util.Iterator;
34
import java.util.Set;
35

  
36
import org.gvsig.fmap.dal.DataQuery;
37
import org.gvsig.fmap.dal.DataServerExplorer;
38
import org.gvsig.fmap.dal.DataSet;
39
import org.gvsig.fmap.dal.DataStore;
40
import org.gvsig.fmap.dal.DataStoreNotification;
41
import org.gvsig.fmap.dal.DataStoreParameters;
42
import org.gvsig.fmap.dal.exception.CloseException;
43
import org.gvsig.fmap.dal.exception.DataException;
44
import org.gvsig.fmap.dal.exception.InitializeException;
45
import org.gvsig.fmap.dal.exception.OpenException;
46
import org.gvsig.fmap.dal.exception.ValidateDataParametersException;
47
import org.gvsig.fmap.dal.feature.FeatureStoreNotification;
48
import org.gvsig.fmap.dal.feature.impl.DefaultFeatureStore;
49
import org.gvsig.fmap.dal.feature.impl.DefaultFeatureStoreNotification;
50
import org.gvsig.fmap.dal.impl.DefaultDataManager;
51
import org.gvsig.fmap.dal.raster.CoverageSelection;
52
import org.gvsig.fmap.dal.raster.CoverageStore;
53
import org.gvsig.fmap.dal.raster.spi.CoverageStoreProvider;
54
import org.gvsig.fmap.dal.raster.spi.CoverageStoreProviderServices;
55
import org.gvsig.fmap.dal.resource.Resource;
56
import org.gvsig.tools.ToolsLocator;
57
import org.gvsig.tools.dynobject.DelegatedDynObject;
58
import org.gvsig.tools.dynobject.DynClass;
59
import org.gvsig.tools.dynobject.DynObject;
60
import org.gvsig.tools.dynobject.DynObjectManager;
61
import org.gvsig.tools.dynobject.exception.DynFieldNotFoundException;
62
import org.gvsig.tools.dynobject.exception.DynMethodException;
63
import org.gvsig.tools.observer.Observer;
64
import org.gvsig.tools.observer.impl.DelegateWeakReferencingObservable;
65
import org.gvsig.tools.persistence.PersistenceException;
66
import org.gvsig.tools.persistence.PersistentState;
67
import org.gvsig.tools.undo.command.Command;
68
import org.slf4j.Logger;
69
import org.slf4j.LoggerFactory;
70

  
71
/**
72
 * @author jmvivo
73
 *
74
 */
75
public class DefaultCoverageStore implements CoverageStore,
76
		CoverageStoreProviderServices {
77

  
78
	final static private Logger logger = LoggerFactory
79
			.getLogger(DefaultFeatureStore.class);
80

  
81
	private DataStoreParameters parameters = null;
82
	private CoverageSelection selection;
83

  
84
	private long versionOfUpdate = 0;
85

  
86
	private DefaultDataManager dataManager = null;
87

  
88
	private CoverageStoreProvider provider = null;
89

  
90
	private DelegatedDynObject dynObject;
91

  
92
	private DelegateWeakReferencingObservable delegateObservable = new DelegateWeakReferencingObservable(
93
			this);
94

  
95
	public DefaultCoverageStore() {
96

  
97
	}
98

  
99
	public DefaultCoverageStore(DefaultDataManager manager,
100
			DataStoreParameters parameters, CoverageStoreProvider provider)
101
			throws InitializeException {
102
		initialize(manager, parameters, provider);
103
	}
104

  
105
	private void initialize(DefaultDataManager manager,
106
			DataStoreParameters parameters, CoverageStoreProvider provider)
107
			throws InitializeException {
108

  
109
		DynObjectManager dynManager = ToolsLocator.getDynObjectManager();
110

  
111
		this.dynObject = (DelegatedDynObject) dynManager
112
				.createDynObject(dynManager.get(DataStore.DYNCLASS_NAME));
113
		this.dataManager = manager;
114
		this.provider = provider;
115
		this.parameters = parameters;
116
		this.provider.initialize(this);
117
		this.delegate(provider);
118
	}
119

  
120
	/*
121
	 * (non-Javadoc)
122
	 *
123
	 * @see
124
	 * org.gvsig.fmap.dal.raster.spi.CoverageStoreProviderServices#getLogger()
125
	 */
126

  
127
	public Logger getLogger() {
128
		return DefaultCoverageStore.logger;
129
	}
130

  
131

  
132

  
133

  
134
	/* (non-Javadoc)
135
	 * @see org.gvsig.fmap.dal.DataStore#createSelection()
136
	 */
137
	public DataSet createSelection() throws DataException {
138
		// TODO Auto-generated method stub
139
		return null;
140
	}
141

  
142

  
143
	/* (non-Javadoc)
144
	 * @see org.gvsig.fmap.dal.DataStore#getChildren()
145
	 */
146
	public Iterator getChildren() {
147
		return this.provider.getChilds();
148
	}
149

  
150
	/* (non-Javadoc)
151
	 * @see org.gvsig.fmap.dal.DataStore#getDataSet()
152
	 */
153
	public DataSet getDataSet() throws DataException {
154
		// TODO Auto-generated method stub
155
		return null;
156
	}
157

  
158
	/* (non-Javadoc)
159
	 * @see org.gvsig.fmap.dal.DataStore#getDataSet(org.gvsig.fmap.dal.DataQuery)
160
	 */
161
	public DataSet getDataSet(DataQuery dataQuery) throws DataException {
162
		// TODO Auto-generated method stub
163
		return null;
164
	}
165

  
166
	/* (non-Javadoc)
167
	 * @see org.gvsig.fmap.dal.DataStore#getDataSet(org.gvsig.tools.observer.Observer)
168
	 */
169
	public void getDataSet(Observer observer) throws DataException {
170
		// TODO Auto-generated method stub
171

  
172
	}
173

  
174
	/* (non-Javadoc)
175
	 * @see org.gvsig.fmap.dal.DataStore#getDataSet(org.gvsig.fmap.dal.DataQuery, org.gvsig.tools.observer.Observer)
176
	 */
177
	public void getDataSet(DataQuery dataQuery, Observer observer)
178
			throws DataException {
179
		// TODO Auto-generated method stub
180

  
181
	}
182

  
183
	/* (non-Javadoc)
184
	 * @see org.gvsig.fmap.dal.DataStore#getExplorer()
185
	 */
186
	public DataServerExplorer getExplorer() throws DataException,
187
			ValidateDataParametersException {
188
		return provider.getExplorer();
189
	}
190

  
191
	/* (non-Javadoc)
192
	 * @see org.gvsig.fmap.dal.DataStore#getName()
193
	 */
194
	public String getName() {
195
		return provider.getName();
196
	}
197

  
198
	/* (non-Javadoc)
199
	 * @see org.gvsig.fmap.dal.DataStore#getParameters()
200
	 */
201
	public DataStoreParameters getParameters() {
202
		return this.parameters;
203
	}
204

  
205
	/* (non-Javadoc)
206
	 * @see org.gvsig.fmap.dal.DataStore#getSelection()
207
	 */
208
	public DataSet getSelection() throws DataException {
209
		// TODO Auto-generated method stub
210
		return null;
211
	}
212

  
213
	/* (non-Javadoc)
214
	 * @see org.gvsig.fmap.dal.DataStore#refresh()
215
	 */
216
	public void refresh() throws DataException {
217
		// TODO Auto-generated method stub
218

  
219
	}
220

  
221
	/* (non-Javadoc)
222
	 * @see org.gvsig.fmap.dal.DataStore#setSelection(org.gvsig.fmap.dal.DataSet)
223
	 */
224
	public void setSelection(DataSet selection) throws DataException {
225
		// TODO Auto-generated method stub
226

  
227
	}
228

  
229
	/* (non-Javadoc)
230
	 * @see org.gvsig.tools.observer.ComplexObservable#beginComplexNotification()
231
	 */
232
	public void beginComplexNotification() {
233
		// TODO Auto-generated method stub
234

  
235
	}
236

  
237
	/* (non-Javadoc)
238
	 * @see org.gvsig.tools.observer.ComplexObservable#disableNotifications()
239
	 */
240
	public void disableNotifications() {
241
		// TODO Auto-generated method stub
242

  
243
	}
244

  
245
	/* (non-Javadoc)
246
	 * @see org.gvsig.tools.observer.ComplexObservable#enableNotifications()
247
	 */
248
	public void enableNotifications() {
249
		// TODO Auto-generated method stub
250

  
251
	}
252

  
253
	/* (non-Javadoc)
254
	 * @see org.gvsig.tools.observer.ComplexObservable#endComplexNotification()
255
	 */
256
	public void endComplexNotification() {
257
		// TODO Auto-generated method stub
258

  
259
	}
260

  
261
	/* (non-Javadoc)
262
	 * @see org.gvsig.tools.observer.Observable#addObserver(org.gvsig.tools.observer.Observer)
263
	 */
264
	public void addObserver(Observer o) {
265
		// TODO Auto-generated method stub
266

  
267
	}
268

  
269
	/* (non-Javadoc)
270
	 * @see org.gvsig.tools.observer.Observable#deleteObserver(org.gvsig.tools.observer.Observer)
271
	 */
272
	public void deleteObserver(Observer o) {
273
		// TODO Auto-generated method stub
274

  
275
	}
276

  
277
	/* (non-Javadoc)
278
	 * @see org.gvsig.tools.observer.Observable#deleteObservers()
279
	 */
280
	public void deleteObservers() {
281
		// TODO Auto-generated method stub
282

  
283
	}
284

  
285
	/* (non-Javadoc)
286
	 * @see org.gvsig.tools.persistence.Persistent#getState()
287
	 */
288
	public PersistentState getState() throws PersistenceException {
289
		// TODO Auto-generated method stub
290
		return null;
291
	}
292

  
293
	/* (non-Javadoc)
294
	 * @see org.gvsig.tools.persistence.Persistent#loadState(org.gvsig.tools.persistence.PersistentState)
295
	 */
296
	public void saveToState(PersistentState state) throws PersistenceException {
297
		// TODO Auto-generated method stub
298

  
299
	}
300

  
301
	/* (non-Javadoc)
302
	 * @see org.gvsig.tools.persistence.Persistent#setState(org.gvsig.tools.persistence.PersistentState)
303
	 */
304
	public void loadFromState(PersistentState state) throws PersistenceException {
305
		// TODO Auto-generated method stub
306

  
307
	}
308

  
309
	//
310
	// ====================================================================
311
	// Metadata related methods
312
	//
313

  
314
	public Object getMetadataID() {
315
		return this.provider.getSourceId();
316
	}
317

  
318
	public void delegate(DynObject dynObject) {
319
		this.dynObject.delegate(dynObject);
320
	}
321

  
322
	public DynClass getDynClass() {
323
		return this.dynObject.getDynClass();
324
	}
325

  
326
	public Object getDynValue(String name) throws DynFieldNotFoundException {
327
		return this.dynObject.getDynValue(name);
328
	}
329

  
330
	public boolean hasDynValue(String name) {
331
		return this.dynObject.hasDynValue(name);
332
	}
333

  
334
	public void implement(DynClass dynClass) {
335
		this.dynObject.implement(dynClass);
336
	}
337

  
338
	public Object invokeDynMethod(String name, DynObject context)
339
			throws DynMethodException {
340
		return this.dynObject.invokeDynMethod(this, name, context);
341
	}
342

  
343
	public Object invokeDynMethod(int code, DynObject context)
344
			throws DynMethodException {
345
		return this.dynObject.invokeDynMethod(this, code, context);
346
	}
347

  
348
	public void setDynValue(String name, Object value)
349
			throws DynFieldNotFoundException {
350
		this.setDynValue(name, value);
351

  
352
	}
353

  
354
	/*
355
	 * (non-Javadoc)
356
	 *
357
	 * @see org.gvsig.metadata.Metadata#getMetadataChildren()
358
	 */
359
	public Set getMetadataChildren() {
360
		return null;
361
	}
362

  
363
	/*
364
	 * (non-Javadoc)
365
	 *
366
	 * @see org.gvsig.metadata.Metadata#getMetadataName()
367
	 */
368
	public String getMetadataName() {
369
		return this.provider.getName();
370
	}
371

  
372

  
373
	/* (non-Javadoc)
374
	 * @see org.gvsig.fmap.dal.raster.spi.CoverageStoreProviderServices#createDefaultCoverageSelection()
375
	 */
376
	public CoverageSelection createDefaultCoverageSelection()
377
			throws DataException {
378
		// TODO Auto-generated method stub
379
		return null;
380
	}
381

  
382

  
383
	/* (non-Javadoc)
384
	 * @see org.gvsig.fmap.dal.raster.spi.CoverageStoreProviderServices#getManager()
385
	 */
386
	public DefaultDataManager getManager() {
387
		return this.dataManager;
388
	}
389

  
390
	/* (non-Javadoc)
391
	 * @see org.gvsig.fmap.dal.raster.spi.CoverageStoreProviderServices#getProvider()
392
	 */
393
	public CoverageStoreProvider getProvider() {
394
		return this.provider;
395
	}
396

  
397
	public void notifyChange(String notification) {
398
		delegateObservable
399
				.notifyObservers(new DefaultCoverageStoreNotification(
400
				this, notification));
401

  
402
	}
403

  
404

  
405
	public void notifyChange(String notification, Command command) {
406
		delegateObservable
407
				.notifyObservers(new DefaultCoverageStoreNotification(
408
				this, notification, command));
409
	}
410

  
411

  
412
	/*
413
	 * (non-Javadoc)
414
	 *
415
	 * @see
416
	 * org.gvsig.fmap.dal.feature.spi.FeatureStoreProviderServices#notifyChange
417
	 * (java.lang.String, org.gvsig.fmap.dal.resource.Resource)
418
	 */
419
	public void notifyChange(String notification, Resource resource) {
420
		delegateObservable.notifyObservers(new DefaultFeatureStoreNotification(
421
				this, FeatureStoreNotification.RESOURCE_CHANGED));
422
	}
423

  
424
	public void open() throws OpenException {
425
		// TODO: Se puede hacer un open estando en edicion ?
426
		this.notifyChange(DataStoreNotification.BEFORE_OPEN);
427
		this.provider.open();
428
		this.notifyChange(DataStoreNotification.AFTER_OPEN);
429
	}
430

  
431
	public void close() throws CloseException {
432
		// TODO: Se puede hacer un close estando en edicion ?
433
		this.notifyChange(DataStoreNotification.BEFORE_CLOSE);
434
		this.provider.close();
435
		this.notifyChange(DataStoreNotification.AFTER_CLOSE);
436
	}
437

  
438
	/*
439
	 * (non-Javadoc)
440
	 *
441
	 * @see org.gvsig.fmap.dal.DataStore#dispose()
442
	 */
443
	public void dispose() throws CloseException {
444
		this.notifyChange(DataStoreNotification.BEFORE_DISPOSE);
445
		this.provider.dispose();
446
		if (this.selection != null) {
447
			this.selection.dispose();
448
			this.selection = null;
449
		}
450

  
451
		this.parameters = null;
452
		this.notifyChange(DataStoreNotification.AFTER_DISPOSE);
453
		this.delegateObservable.deleteObservers();
454
		this.delegateObservable = null;
455
	}
456

  
457
	public boolean allowWrite() {
458
		return this.provider.allowWrite();
459
	}
460

  
461
	public DataQuery createQuery() {
462
		// TODO Auto-generated method stub
463
		return null;
464
	}
465

  
466
}
0 467

  
branches/v2_0_0_prep/libraries/libFMap_dal/src/org/gvsig/fmap/dal/raster/impl/DefaultCoverageStoreNotification.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
package org.gvsig.fmap.dal.raster.impl;
29

  
30
import org.gvsig.fmap.dal.DataStore;
31
import org.gvsig.fmap.dal.DataStoreNotification;
32
import org.gvsig.tools.undo.command.Command;
33

  
34
public class DefaultCoverageStoreNotification implements DataStoreNotification {
35

  
36
	public DefaultCoverageStoreNotification(
37
			DefaultCoverageStore defaultCoverageStore, String notification,
38
			Command command) {
39
		// TODO Auto-generated constructor stub
40
	}
41

  
42
	public DefaultCoverageStoreNotification(
43
			DefaultCoverageStore defaultCoverageStore, String notification) {
44
		// TODO Auto-generated constructor stub
45
	}
46

  
47
	public DataStore getSource() {
48
		// TODO Auto-generated method stub
49
		return null;
50
	}
51

  
52
	public String getType() {
53
		// TODO Auto-generated method stub
54
		return null;
55
	}
56

  
57
}
0 58

  
branches/v2_0_0_prep/libraries/libFMap_dal/src/org/gvsig/fmap/dal/impl/DefaultDataManager.java
23 23
import org.gvsig.fmap.dal.feature.spi.FeatureStoreProviderServices;
24 24
import org.gvsig.fmap.dal.feature.spi.index.FeatureIndexProvider;
25 25
import org.gvsig.fmap.dal.feature.spi.index.FeatureIndexProviderServices;
26
import org.gvsig.fmap.dal.raster.imp.DefaultCoverageStore;
26
import org.gvsig.fmap.dal.raster.impl.DefaultCoverageStore;
27 27
import org.gvsig.fmap.dal.raster.spi.CoverageStoreProvider;
28 28
import org.gvsig.fmap.dal.resource.ResourceManager;
29 29
import org.gvsig.fmap.dal.spi.DataManagerProviderServices;

Also available in: Unified diff