Revision 36112

View differences:

tags/dal_time_support_Build_1/libraries/libFMap_mapcontext/src-test/org/gvsig/fmap/mapcontext/persistence/MapContextPersistenceTest.java
1
package org.gvsig.fmap.mapcontext.persistence;
2

  
3
import java.awt.Color;
4
import java.awt.Dimension;
5
import java.awt.geom.Rectangle2D;
6
import java.io.File;
7
import java.io.FileInputStream;
8
import java.io.FileOutputStream;
9

  
10
import org.gvsig.fmap.crs.CRSFactory;
11
import org.gvsig.fmap.dal.feature.FeatureStore;
12
import org.gvsig.fmap.geom.Geometry.TYPES;
13
import org.gvsig.fmap.geom.primitive.Envelope;
14
import org.gvsig.fmap.geom.primitive.impl.Envelope2D;
15
import org.gvsig.fmap.mapcontext.MapContext;
16
import org.gvsig.fmap.mapcontext.MapContextLocator;
17
import org.gvsig.fmap.mapcontext.ViewPort;
18
import org.gvsig.fmap.mapcontext.exceptions.LegendLayerException;
19
import org.gvsig.fmap.mapcontext.layers.FLayer;
20
import org.gvsig.fmap.mapcontext.layers.FLayers;
21
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
22
import org.gvsig.fmap.mapcontext.rendering.legend.ILegend;
23
import org.gvsig.fmap.mapcontext.rendering.legend.IVectorLegend;
24
import org.gvsig.fmap.mapcontext.rendering.symbol.DummyVectorLegend;
25
import org.gvsig.tools.ToolsLocator;
26
import org.gvsig.tools.junit.AbstractLibraryAutoInitTestCase;
27
import org.gvsig.tools.persistence.Persistent;
28
import org.gvsig.tools.persistence.PersistentState;
29
import org.slf4j.Logger;
30
import org.slf4j.LoggerFactory;
31

  
32
public class MapContextPersistenceTest extends AbstractLibraryAutoInitTestCase {
33

  
34
	final static private Logger logger =
35
			LoggerFactory.getLogger(MapContextPersistenceTest.class);
36

  
37
	protected void doSetUp() throws Exception {
38
		DummyVectorLegend.registerPersistent();
39
		DummyDBFeatureStore.registerPersistent();
40
		DummyFileFeatureStore.registerPersistent();
41

  
42
		MapContextLocator.getMapContextManager().registerLegend("DummyLegend",
43
				DummyVectorLegend.class);
44
		MapContextLocator.getMapContextManager().setDefaultVectorLegend(
45
				"DummyLegend");
46
	}
47
	
48
	private File getTempFile() throws Exception {
49

  
50
		File tempFile = File.createTempFile("persisted_mapcontext", ".xml");
51
		if (tempFile.exists())
52
			tempFile.delete();
53
		tempFile.createNewFile();
54
		
55
		System.out.println("TEMP FILE: " + tempFile.getAbsolutePath());
56
		return tempFile;
57
	}
58
	
59
	public void testMapContext() throws Exception {
60
		ViewPort vp = getViewPort();
61
		logger.debug("Creating mapcontext...");
62
		MapContext mc = new MapContext(vp);
63
		addDummyLayers(mc);
64
		doTestPersist(mc);
65
	}
66

  
67
	public void noTestFLyrs() throws Exception {
68
		
69
		int lyr_count = 3;
70
		// testPersist(mc);
71
		FLyrVect[] lyr = new FLyrVect[lyr_count];
72
		FeatureStore[] fs = new FeatureStore[lyr_count];
73
		FLayers lyrs = new FLayers();
74
		
75
		for (int i=0; i<lyr_count; i++) {
76
			fs[i] = new DummyFileFeatureStore("" + System.currentTimeMillis());
77
			lyr[i] = createLayer(fs[i]);
78
			lyr[i].setName("Layer " + (i+System.currentTimeMillis()));
79
			lyr[i].setIsLabeled(false);
80
			try { lyr[i].setLegend(new DummyVectorLegend(TYPES.SOLID)); } catch (LegendLayerException e) {
81
				assertTrue("Error while creating legend: " + e.getMessage(), false);
82
			}
83
			lyrs.addLayer(lyr[i]);
84
			lyr[i].dispose();
85
		}
86
		
87
		for (int i=0; i<lyr_count; i++) {
88
			fs[i] = new DummyDBFeatureStore("" + System.currentTimeMillis());
89
			lyr[i] = createLayer(fs[i]);
90
			lyr[i].setName("Layer " + (10000 + i + System.currentTimeMillis()));
91
			lyr[i].setIsLabeled(false);
92
			try { lyr[i].setLegend(new DummyVectorLegend(TYPES.SOLID)); } catch (LegendLayerException e) {
93
				assertTrue("Error while creating legend: " + e.getMessage(), false);
94
			}
95
			lyrs.addLayer(lyr[i]);
96
			lyr[i].dispose();
97
		}
98
		
99
		doTestPersist(lyrs);
100
	}
101
	
102
	
103
	
104
	private ViewPort getViewPort() {
105
		
106
		ViewPort vp = new ViewPort(CRSFactory.getCRS("EPSG:4326"));
107
		vp.setImageSize(new Dimension(640, 480));
108
		Envelope env = new Envelope2D(0, 0, 1000000, 1000000);
109
		vp.setEnvelope(env);
110
		env = new Envelope2D(200000, 200000, 500000, 500000);
111
		vp.setEnvelope(env);
112
		env = new Envelope2D(300000, 300000, 300000, 300000);
113
		vp.setEnvelope(env);
114
		env = new Envelope2D(400000, 400000, 200000, 200000);
115
		vp.setEnvelope(env);
116
		env = new Envelope2D(440000, 440000, 100000, 100000);
117
		vp.setEnvelope(env);
118
		env = new Envelope2D(480000, 480000, 30000, 30000);
119
		vp.setEnvelope(env);
120
		vp.setBackColor(Color.YELLOW);
121
		vp.setClipRect(new Rectangle2D.Double(0, 0, 10, 10));
122
		return vp;
123
	}
124

  
125
	private void addDummyLayers(MapContext mcon) throws Exception {
126
		
127
		FLayers resp = new FLayers();
128
		resp.setMapContext(mcon);
129
		resp.setName("root layer");
130
		
131
		FLayers aux = new FLayers();
132
		aux.setMapContext(mcon);
133
		aux.setName("Group");
134
		
135
		FLyrVect lyr = null;
136
		IVectorLegend lgn = null;
137
		FeatureStore fs = null;
138
		
139
		logger.debug("Adding dummy layers...");
140
			
141
		fs = new DummyFileFeatureStore("1");
142
		lyr = createLayer(fs);
143
		lyr.setName("Layer 1");
144
		try { lyr.setLegend(new DummyVectorLegend(TYPES.SOLID)); } catch (LegendLayerException e) { }
145
		
146
		aux.addLayer(lyr);
147
		lyr.dispose();
148
		
149
		fs = new DummyDBFeatureStore("A");
150
		lyr = createLayer(fs);
151
		lyr.setName("Layer A");
152
		try { lyr.setLegend(new DummyVectorLegend(TYPES.SOLID)); } catch (LegendLayerException e) { }
153

  
154
		aux.addLayer(lyr);
155
		lyr.dispose();
156
		
157
		fs = new DummyFileFeatureStore("2");
158
		lyr = createLayer(fs);
159
		lyr.setName("Layer 2");
160
		try { lyr.setLegend(new DummyVectorLegend(TYPES.SOLID)); } catch (LegendLayerException e) { }
161

  
162
		aux.addLayer(lyr);
163
		lyr.dispose();
164
		
165
		fs = new DummyDBFeatureStore("B");
166
		lyr = createLayer(fs);
167
		lyr.setName("Layer 1");
168
		try { lyr.setLegend(new DummyVectorLegend(TYPES.SOLID)); } catch (LegendLayerException e) { }
169
		
170
		resp.addLayer(lyr);
171
		resp.addLayer(aux);
172
		lyr.dispose();
173
		aux.dispose();
174
		
175
		mcon.getLayers().addLayer(resp);
176
		resp.dispose();
177
	}
178

  
179
	private FLyrVect createLayer(FeatureStore fs) throws Exception {
180
		
181
		FLyrVect resp = new FLyrVect();
182
		resp.setDataStore(fs);
183
		resp.wakeUp();
184
		resp.load();
185
		return resp;
186
	}
187

  
188
	private void doTestPersist(Persistent p) throws Exception {
189
		
190
		System.out.println("Starting persistence test for class: " + p.getClass().getName());
191

  
192
		File perfile = getTempFile();
193
		FileOutputStream fos = new FileOutputStream(perfile);
194
		System.out.println("Getting state for class: " + p.getClass().getName());
195
		PersistentState pst = ToolsLocator.getPersistenceManager().getState(p);
196
		System.out.println("Saving state...");
197

  
198
		System.out.println("Saving state...");
199
		ToolsLocator.getPersistenceManager().saveState(pst, fos);
200
		System.out.println("Saving state... done.");
201

  
202
		fos.close();
203

  
204
		// ==============================================
205
		// ==============================================
206
		System.out.println("Is now persisted: " + p.getClass().getName());
207
		// ==============================================
208

  
209
		// if (true) return;
210

  
211
		System.out.println("Opening persistence file...");
212
		FileInputStream fis = new FileInputStream(perfile);
213

  
214
		System.out.println("Loading state from file...");
215
		pst = ToolsLocator.getPersistenceManager().loadState(fis);
216

  
217
		System.out.println("Instantiating " + p.getClass().getName()
218
				+ " from state, pst = " + pst);
219
		Object p2 = ToolsLocator.getPersistenceManager().create(pst);
220

  
221
		System.out.println("Comparing original and current...");
222
		comparePersistent(p, p2);
223

  
224
		System.out.println("Successful mapcontext persistence test!");
225
		
226
	}
227

  
228
	
229
	// FeatureStore, ILegend, ViewPort
230
	private void comparePersistent(Persistent p, Object p2) {
231
		
232
		if (p2.getClass().getName().compareTo(p.getClass().getName()) == 0) {
233
			
234
			if (p instanceof MapContext) {
235
				compareMapContexts((MapContext) p, (MapContext) p2);
236
			} else {
237
				if (p instanceof FLayer) {
238
					compareLayers((FLayer) p, (FLayer) p2);
239
				} else {
240
					if (p instanceof FeatureStore) {
241
						compareStore((FeatureStore) p, (FeatureStore) p2);
242
					} else {
243
						if (p instanceof ILegend) {
244
							compareLegend((ILegend) p, (ILegend) p2);
245
						} else {
246
							if (p instanceof ViewPort) {
247
								compareViewPorts((ViewPort) p, (ViewPort) p2);
248
							} else {
249
								fail("Did not compare: " + p.getClass().getName());
250
							}
251
						}
252
					}
253
				}
254
			}
255
		} else {
256
			fail("Comparing different classes (?)");
257
		}
258
		
259
	}
260

  
261
	private void compareMapContexts(MapContext m1, MapContext m2) {
262
		
263
		logger.debug("Getting viewports to compare...");
264
		ViewPort vp1 = m1.getViewPort();
265
		ViewPort vp2 = m2.getViewPort();
266
		
267
		compareViewPorts(vp1, vp2);
268

  
269
		logger.debug("Getting root flayers to compare...");
270
		FLayers lyr1 = m1.getLayers();
271
		FLayers lyr2 = m2.getLayers();
272
		compareLayers(lyr1, lyr2);
273
	}
274

  
275
	private void compareLayers(FLayer l1, FLayer l2) {
276
		
277
		logger.debug("Comparing layers...");
278

  
279
		assertTrue("Layers of diff type!", l1.getClass().getName().compareTo(l2.getClass().getName()) == 0);
280
		if (l1 instanceof FLayers) {
281
			
282
			logger.debug("(type FLayers)...");
283
			FLayers ls1 = (FLayers) l1;
284
			FLayers ls2 = (FLayers) l2;
285
			assertEquals(ls1.getLayersCount(), ls2.getLayersCount());
286
			int sz = ls2.getLayersCount();
287
			for (int i=0; i<sz; i++) {
288
				compareLayers(ls1.getLayer(i), ls2.getLayer(i));
289
			}
290
			
291
		} else {
292
			if (l1 instanceof FLyrVect) {
293
				
294
				logger.debug("(type FLyrVect)...");
295
				FLyrVect ls1 = (FLyrVect) l1;
296
				FLyrVect ls2 = (FLyrVect) l2;
297
				compareVectLayers(ls1, ls2);
298
				
299
			} else {
300
				
301
			}
302
		}
303

  
304
	}
305

  
306
	private void compareVectLayers(FLyrVect l1, FLyrVect l2) {
307
		compareLegend(l1.getLegend(), l2.getLegend());
308
		compareStore(l1.getFeatureStore(), l2.getFeatureStore());
309
	}
310

  
311
	private void compareStore(FeatureStore fs1,
312
			FeatureStore fs2) {
313
		
314
		logger.debug("Comparing stores...");
315
		assertTrue("Diff stores!", fs1.getName().compareTo(fs2.getName()) == 0);
316
	}
317

  
318
	private void compareLegend(ILegend l1, ILegend l2) {
319

  
320
		logger.debug("Comparing legends...");
321
		IVectorLegend vl1 = (IVectorLegend) l1;
322
		IVectorLegend vl2 = (IVectorLegend) l2;
323
		assertTrue("Diff legends!", vl1.getShapeType() == vl2.getShapeType());
324
		
325
	}
326

  
327
	private void compareViewPorts(ViewPort vp1, ViewPort vp2) {
328

  
329

  
330
		logger.debug("Comparing viewports...");
331
		
332
		assertEquals(
333
				vp1.getAdjustedEnvelope().getMinimum(0),
334
				vp2.getAdjustedEnvelope().getMinimum(0),
335
				0.00000000000001);
336
		assertEquals(
337
				vp1.getAdjustedEnvelope().getMinimum(1),
338
				vp2.getAdjustedEnvelope().getMinimum(1),
339
				0.00000000000001);
340
		assertEquals(
341
				vp1.getAdjustedEnvelope().getMaximum(0),
342
				vp2.getAdjustedEnvelope().getMaximum(0),
343
				0.00000000000001);
344
		assertEquals(
345
				vp1.getAdjustedEnvelope().getMaximum(1),
346
				vp2.getAdjustedEnvelope().getMaximum(1),
347
				0.00000000000001);
348
	}
349
	
350
}
0 351

  
tags/dal_time_support_Build_1/libraries/libFMap_mapcontext/src-test/org/gvsig/fmap/mapcontext/persistence/DummyDBFeatureStore.java
1
package org.gvsig.fmap.mapcontext.persistence;
2

  
3
import java.util.Collection;
4
import java.util.Iterator;
5
import java.util.List;
6
import java.util.Set;
7

  
8
import org.cresques.cts.IProjection;
9
import org.gvsig.fmap.dal.DataQuery;
10
import org.gvsig.fmap.dal.DataServerExplorer;
11
import org.gvsig.fmap.dal.DataSet;
12
import org.gvsig.fmap.dal.DataStoreParameters;
13
import org.gvsig.fmap.dal.exception.DataException;
14
import org.gvsig.fmap.dal.exception.ValidateDataParametersException;
15
import org.gvsig.fmap.dal.feature.EditableFeature;
16
import org.gvsig.fmap.dal.feature.EditableFeatureType;
17
import org.gvsig.fmap.dal.feature.Feature;
18
import org.gvsig.fmap.dal.feature.FeatureCache;
19
import org.gvsig.fmap.dal.feature.FeatureIndex;
20
import org.gvsig.fmap.dal.feature.FeatureIndexes;
21
import org.gvsig.fmap.dal.feature.FeatureLocks;
22
import org.gvsig.fmap.dal.feature.FeatureQuery;
23
import org.gvsig.fmap.dal.feature.FeatureReference;
24
import org.gvsig.fmap.dal.feature.FeatureSelection;
25
import org.gvsig.fmap.dal.feature.FeatureSet;
26
import org.gvsig.fmap.dal.feature.FeatureStore;
27
import org.gvsig.fmap.dal.feature.FeatureStoreTransforms;
28
import org.gvsig.fmap.dal.feature.FeatureType;
29
import org.gvsig.fmap.dal.feature.NewFeatureStoreParameters;
30
import org.gvsig.fmap.dal.feature.exception.NeedEditingModeException;
31
import org.gvsig.fmap.geom.primitive.Envelope;
32
import org.gvsig.timesupport.Interval;
33
import org.gvsig.tools.ToolsLocator;
34
import org.gvsig.tools.dynobject.DynClass;
35
import org.gvsig.tools.dynobject.DynObject;
36
import org.gvsig.tools.dynobject.DynStruct;
37
import org.gvsig.tools.dynobject.exception.DynFieldNotFoundException;
38
import org.gvsig.tools.dynobject.exception.DynMethodException;
39
import org.gvsig.tools.exception.BaseException;
40
import org.gvsig.tools.observer.Observer;
41
import org.gvsig.tools.persistence.PersistenceManager;
42
import org.gvsig.tools.persistence.PersistentState;
43
import org.gvsig.tools.persistence.exception.PersistenceException;
44
import org.gvsig.tools.undo.RedoException;
45
import org.gvsig.tools.undo.UndoException;
46
import org.gvsig.tools.visitor.Visitor;
47

  
48
public class DummyDBFeatureStore implements FeatureStore {
49

  
50
	private String name = "[empty]";
51

  
52
	public DummyDBFeatureStore() {
53
		
54
	}
55
	
56
	public DummyDBFeatureStore(String id) {
57
		name = "[DATABASE FEATURE STORE - " + id + "]";
58
	}
59

  
60
	public boolean allowWrite() {
61
		// TODO Auto-generated method stub
62
		return false;
63
	}
64

  
65
	public void beginEditingGroup(String description)
66
			throws NeedEditingModeException {
67
		// TODO Auto-generated method stub
68

  
69
	}
70

  
71
	public boolean canWriteGeometry(int gvSIGgeometryType) throws DataException {
72
		// TODO Auto-generated method stub
73
		return false;
74
	}
75

  
76
	public void cancelEditing() throws DataException {
77
		// TODO Auto-generated method stub
78

  
79
	}
80

  
81
	public FeatureQuery createFeatureQuery() {
82
		// TODO Auto-generated method stub
83
		return null;
84
	}
85

  
86
	public FeatureSelection createFeatureSelection() throws DataException {
87
		// TODO Auto-generated method stub
88
		return null;
89
	}
90

  
91
	public FeatureIndex createIndex(FeatureType featureType,
92
			String attributeName, String indexName) throws DataException {
93
		// TODO Auto-generated method stub
94
		return null;
95
	}
96

  
97
	public FeatureIndex createIndex(FeatureType featureType,
98
			String attributeName, String indexName, Observer observer)
99
			throws DataException {
100
		// TODO Auto-generated method stub
101
		return null;
102
	}
103

  
104
	public EditableFeature createNewFeature() throws DataException {
105
		// TODO Auto-generated method stub
106
		return null;
107
	}
108

  
109
	public EditableFeature createNewFeature(FeatureType type,
110
			Feature defaultValues) throws DataException {
111
		// TODO Auto-generated method stub
112
		return null;
113
	}
114

  
115
	public EditableFeature createNewFeature(FeatureType type,
116
			boolean defaultValues) throws DataException {
117
		// TODO Auto-generated method stub
118
		return null;
119
	}
120

  
121
	public EditableFeature createNewFeature(boolean defaultValues)
122
			throws DataException {
123
		// TODO Auto-generated method stub
124
		return null;
125
	}
126

  
127
	public void delete(Feature feature) throws DataException {
128
		// TODO Auto-generated method stub
129

  
130
	}
131

  
132
	public void edit() throws DataException {
133
		// TODO Auto-generated method stub
134

  
135
	}
136

  
137
	public void edit(int mode) throws DataException {
138
		// TODO Auto-generated method stub
139

  
140
	}
141

  
142
	public void endEditingGroup() throws NeedEditingModeException {
143
		// TODO Auto-generated method stub
144

  
145
	}
146

  
147
	public void export(DataServerExplorer explorer,
148
			String providerName,
149
			NewFeatureStoreParameters params) throws DataException {
150
		// TODO Auto-generated method stub
151

  
152
	}
153

  
154
	public void finishEditing() throws DataException {
155
		// TODO Auto-generated method stub
156

  
157
	}
158

  
159
	public FeatureType getDefaultFeatureType() throws DataException {
160
		return new DummyFileFeatureStore.DummyFeatureType();
161
	}
162

  
163
	public Envelope getEnvelope() throws DataException {
164
		// TODO Auto-generated method stub
165
		return null;
166
	}
167

  
168
	public Feature getFeatureByReference(FeatureReference reference)
169
			throws DataException {
170
		// TODO Auto-generated method stub
171
		return null;
172
	}
173

  
174
	public Feature getFeatureByReference(FeatureReference reference,
175
			FeatureType featureType) throws DataException {
176
		// TODO Auto-generated method stub
177
		return null;
178
	}
179

  
180
	public long getFeatureCount() throws DataException {
181
		// TODO Auto-generated method stub
182
		return 0;
183
	}
184

  
185
	public FeatureSelection getFeatureSelection() throws DataException {
186
		// TODO Auto-generated method stub
187
		return null;
188
	}
189

  
190
	public FeatureSet getFeatureSet() throws DataException {
191
		// TODO Auto-generated method stub
192
		return null;
193
	}
194

  
195
	public FeatureSet getFeatureSet(FeatureQuery featureQuery)
196
			throws DataException {
197
		// TODO Auto-generated method stub
198
		return null;
199
	}
200

  
201
	public void getFeatureSet(FeatureQuery featureQuery, Observer observer)
202
			throws DataException {
203
		// TODO Auto-generated method stub
204

  
205
	}
206

  
207
	public void getFeatureSet(Observer observer) throws DataException {
208
		// TODO Auto-generated method stub
209

  
210
	}
211

  
212
	public FeatureType getFeatureType(String featureTypeId)
213
			throws DataException {
214
		// TODO Auto-generated method stub
215
		return null;
216
	}
217

  
218
	public List getFeatureTypes() throws DataException {
219
		// TODO Auto-generated method stub
220
		return null;
221
	}
222

  
223
	public FeatureIndexes getIndexes() {
224
		// TODO Auto-generated method stub
225
		return null;
226
	}
227

  
228
	public FeatureLocks getLocks() throws DataException {
229
		// TODO Auto-generated method stub
230
		return null;
231
	}
232

  
233
	public DataStoreParameters getParameters() {
234
		// TODO Auto-generated method stub
235
		return null;
236
	}
237

  
238
	public IProjection getSRSDefaultGeometry() throws DataException {
239
		// TODO Auto-generated method stub
240
		return null;
241
	}
242

  
243
	public FeatureStoreTransforms getTransforms() {
244
		// TODO Auto-generated method stub
245
		return null;
246
	}
247

  
248
	public void insert(EditableFeature feature) throws DataException {
249
		// TODO Auto-generated method stub
250

  
251
	}
252

  
253
	public boolean isAppendModeSupported() {
254
		// TODO Auto-generated method stub
255
		return false;
256
	}
257

  
258
	public boolean isAppending() {
259
		// TODO Auto-generated method stub
260
		return false;
261
	}
262

  
263
	public boolean isEditing() {
264
		// TODO Auto-generated method stub
265
		return false;
266
	}
267

  
268
	public boolean isLocksSupported() {
269
		// TODO Auto-generated method stub
270
		return false;
271
	}
272

  
273
	public void setSelection(FeatureSet selection) throws DataException {
274
		// TODO Auto-generated method stub
275

  
276
	}
277

  
278
	public void update(EditableFeatureType featureType) throws DataException {
279
		// TODO Auto-generated method stub
280

  
281
	}
282

  
283
	public void update(EditableFeature feature) throws DataException {
284
		// TODO Auto-generated method stub
285

  
286
	}
287

  
288
	public void validateFeatures(int mode) throws DataException {
289
		// TODO Auto-generated method stub
290

  
291
	}
292

  
293
	public DataQuery createQuery() {
294
		// TODO Auto-generated method stub
295
		return null;
296
	}
297

  
298
	public DataSet createSelection() throws DataException {
299
		// TODO Auto-generated method stub
300
		return null;
301
	}
302

  
303
	public void dispose() {
304
		// TODO Auto-generated method stub
305

  
306
	}
307

  
308
	public Iterator getChildren() {
309
		// TODO Auto-generated method stub
310
		return null;
311
	}
312

  
313
	public DataSet getDataSet() throws DataException {
314
		// TODO Auto-generated method stub
315
		return null;
316
	}
317

  
318
	public DataSet getDataSet(DataQuery dataQuery) throws DataException {
319
		// TODO Auto-generated method stub
320
		return null;
321
	}
322

  
323
	public void getDataSet(Observer observer) throws DataException {
324
		// TODO Auto-generated method stub
325

  
326
	}
327

  
328
	public void getDataSet(DataQuery dataQuery, Observer observer)
329
			throws DataException {
330
		// TODO Auto-generated method stub
331

  
332
	}
333

  
334
	public DataServerExplorer getExplorer() throws DataException,
335
			ValidateDataParametersException {
336
		// TODO Auto-generated method stub
337
		return null;
338
	}
339

  
340
	public String getName() {
341
		// TODO Auto-generated method stub
342
		return name;
343
	}
344

  
345
	public DataSet getSelection() throws DataException {
346
		// TODO Auto-generated method stub
347
		return null;
348
	}
349

  
350
	public void refresh() throws DataException {
351
		// TODO Auto-generated method stub
352

  
353
	}
354

  
355
	public void setSelection(DataSet selection) throws DataException {
356
		// TODO Auto-generated method stub
357

  
358
	}
359

  
360
	public void beginComplexNotification() {
361
		// TODO Auto-generated method stub
362

  
363
	}
364

  
365
	public void disableNotifications() {
366
		// TODO Auto-generated method stub
367

  
368
	}
369

  
370
	public void enableNotifications() {
371
		// TODO Auto-generated method stub
372

  
373
	}
374

  
375
	public void endComplexNotification() {
376
		// TODO Auto-generated method stub
377

  
378
	}
379

  
380
	public void addObserver(Observer o) {
381
		// TODO Auto-generated method stub
382

  
383
	}
384

  
385
	public void deleteObserver(Observer o) {
386
		// TODO Auto-generated method stub
387

  
388
	}
389

  
390
	public void deleteObservers() {
391
		// TODO Auto-generated method stub
392

  
393
	}
394

  
395
	public void loadFromState(PersistentState state) throws PersistenceException {
396
		name = state.getString("name");
397
	}
398

  
399
	public void saveToState(PersistentState state) throws PersistenceException {
400
		state.set("name", name);
401
	}
402

  
403
	public Set getMetadataChildren() {
404
		// TODO Auto-generated method stub
405
		return null;
406
	}
407

  
408
	public Object getMetadataID() {
409
		// TODO Auto-generated method stub
410
		return null;
411
	}
412

  
413
	public String getMetadataName() {
414
		// TODO Auto-generated method stub
415
		return null;
416
	}
417

  
418
	public void delegate(DynObject dynObject) {
419
		// TODO Auto-generated method stub
420

  
421
	}
422

  
423
	public DynClass getDynClass() {
424
		// TODO Auto-generated method stub
425
		return null;
426
	}
427

  
428
	public Object getDynValue(String name) throws DynFieldNotFoundException {
429
		// TODO Auto-generated method stub
430
		return null;
431
	}
432

  
433
	public boolean hasDynValue(String name) {
434
		// TODO Auto-generated method stub
435
		return false;
436
	}
437

  
438
	public void implement(DynClass dynClass) {
439
		// TODO Auto-generated method stub
440

  
441
	}
442

  
443
	public Object invokeDynMethod(String name, DynObject context)
444
			throws DynMethodException {
445
		// TODO Auto-generated method stub
446
		return null;
447
	}
448

  
449
	public Object invokeDynMethod(int code, DynObject context)
450
			throws DynMethodException {
451
		// TODO Auto-generated method stub
452
		return null;
453
	}
454

  
455
	public void setDynValue(String name, Object value)
456
			throws DynFieldNotFoundException {
457
		// TODO Auto-generated method stub
458

  
459
	}
460

  
461
	public boolean canRedo() {
462
		// TODO Auto-generated method stub
463
		return false;
464
	}
465

  
466
	public boolean canUndo() {
467
		// TODO Auto-generated method stub
468
		return false;
469
	}
470

  
471
	public List getRedoInfos() {
472
		// TODO Auto-generated method stub
473
		return null;
474
	}
475

  
476
	public List getUndoInfos() {
477
		// TODO Auto-generated method stub
478
		return null;
479
	}
480

  
481
	public void redo() throws RedoException {
482
		// TODO Auto-generated method stub
483

  
484
	}
485

  
486
	public void redo(int num) throws RedoException {
487
		// TODO Auto-generated method stub
488

  
489
	}
490

  
491
	public void undo() throws UndoException {
492
		// TODO Auto-generated method stub
493

  
494
	}
495

  
496
	public void undo(int num) throws UndoException {
497
		// TODO Auto-generated method stub
498

  
499
	}
500
	
501
	
502
	public static void registerPersistent() {
503
		PersistenceManager manager = ToolsLocator.getPersistenceManager();
504
		DynStruct definition = manager.addDefinition(
505
				DummyDBFeatureStore.class,
506
				"DummyDBFeatureStore",
507
				"DummyDBFeatureStore Persistence definition",
508
				null, 
509
				null
510
		);
511
		definition.addDynFieldString("name");
512
	}
513

  
514
	public void accept(Visitor visitor) throws BaseException {
515
		// TODO Auto-generated method stub
516

  
517
	}
518

  
519
	public void accept(Visitor visitor, DataQuery dataQuery)
520
			throws BaseException {
521
		// TODO Auto-generated method stub
522

  
523
	}
524

  
525
	public void createCache(String name, DynObject parameters)
526
			throws DataException {
527
		// TODO Auto-generated method stub
528
		
529
	}
530

  
531
	public FeatureCache getCache() {
532
		// TODO Auto-generated method stub
533
		return null;
534
	}
535

  
536
	public void clear() {
537
		// Nothing to do
538
	}
539

  
540
	public String getProviderName() {
541
		// TODO Auto-generated method stub
542
		return null;
543
	}
544

  
545
	public String getFullName() {
546
		// TODO Auto-generated method stub
547
		return null;
548
	}
549

  
550
    public boolean isKnownEnvelope() {
551
        // TODO Auto-generated method stub
552
        return false;
553
    }
554

  
555
    public boolean hasRetrievedFeaturesLimit() {
556
        // TODO Auto-generated method stub
557
        return false;
558
    }
559

  
560
    public int getRetrievedFeaturesLimit() {
561
        // TODO Auto-generated method stub
562
        return 0;
563
    }
564

  
565
    public Interval getInterval() {
566
        // TODO Auto-generated method stub
567
        return null;
568
    }
569

  
570
    public Collection getTimes() {
571
        // TODO Auto-generated method stub
572
        return null;
573
    }
574

  
575
    public Collection getTimes(Interval interval) {
576
        // TODO Auto-generated method stub
577
        return null;
578
    }
579

  
580
    public FeatureIndex createIndex(String indexTypeName,
581
        FeatureType featureType, String attributeName, String indexName)
582
        throws DataException {
583
        // TODO Auto-generated method stub
584
        return null;
585
    }
586

  
587
    public FeatureIndex createIndex(String indexTypeName,
588
        FeatureType featureType, String attributeName, String indexName,
589
        Observer observer) throws DataException {
590
        // TODO Auto-generated method stub
591
        return null;
592
    }
593
}
0 594

  
tags/dal_time_support_Build_1/libraries/libFMap_mapcontext/src-test/org/gvsig/fmap/mapcontext/persistence/DummyFileFeatureStore.java
1
package org.gvsig.fmap.mapcontext.persistence;
2

  
3
import java.text.DateFormat;
4
import java.util.Collection;
5
import java.util.Iterator;
6
import java.util.List;
7
import java.util.Set;
8

  
9
import org.cresques.cts.IProjection;
10

  
11
import org.gvsig.fmap.dal.DataQuery;
12
import org.gvsig.fmap.dal.DataServerExplorer;
13
import org.gvsig.fmap.dal.DataSet;
14
import org.gvsig.fmap.dal.DataStoreParameters;
15
import org.gvsig.fmap.dal.exception.DataException;
16
import org.gvsig.fmap.dal.exception.ValidateDataParametersException;
17
import org.gvsig.fmap.dal.feature.EditableFeature;
18
import org.gvsig.fmap.dal.feature.EditableFeatureType;
19
import org.gvsig.fmap.dal.feature.Feature;
20
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
21
import org.gvsig.fmap.dal.feature.FeatureAttributeGetter;
22
import org.gvsig.fmap.dal.feature.FeatureCache;
23
import org.gvsig.fmap.dal.feature.FeatureIndex;
24
import org.gvsig.fmap.dal.feature.FeatureIndexes;
25
import org.gvsig.fmap.dal.feature.FeatureLocks;
26
import org.gvsig.fmap.dal.feature.FeatureQuery;
27
import org.gvsig.fmap.dal.feature.FeatureReference;
28
import org.gvsig.fmap.dal.feature.FeatureRules;
29
import org.gvsig.fmap.dal.feature.FeatureSelection;
30
import org.gvsig.fmap.dal.feature.FeatureSet;
31
import org.gvsig.fmap.dal.feature.FeatureStore;
32
import org.gvsig.fmap.dal.feature.FeatureStoreTransforms;
33
import org.gvsig.fmap.dal.feature.FeatureType;
34
import org.gvsig.fmap.dal.feature.NewFeatureStoreParameters;
35
import org.gvsig.fmap.dal.feature.exception.NeedEditingModeException;
36
import org.gvsig.fmap.geom.Geometry;
37
import org.gvsig.fmap.geom.primitive.Envelope;
38
import org.gvsig.timesupport.Interval;
39
import org.gvsig.tools.ToolsLocator;
40
import org.gvsig.tools.dataTypes.CoercionException;
41
import org.gvsig.tools.dataTypes.DataType;
42
import org.gvsig.tools.dynobject.DynClass;
43
import org.gvsig.tools.dynobject.DynField;
44
import org.gvsig.tools.dynobject.DynMethod;
45
import org.gvsig.tools.dynobject.DynObject;
46
import org.gvsig.tools.dynobject.DynObjectValueItem;
47
import org.gvsig.tools.dynobject.DynStruct;
48
import org.gvsig.tools.dynobject.exception.DynFieldIsNotAContainerException;
49
import org.gvsig.tools.dynobject.exception.DynFieldNotFoundException;
50
import org.gvsig.tools.dynobject.exception.DynFieldValidateException;
51
import org.gvsig.tools.dynobject.exception.DynMethodException;
52
import org.gvsig.tools.dynobject.exception.DynObjectValidateException;
53
import org.gvsig.tools.evaluator.Evaluator;
54
import org.gvsig.tools.exception.BaseException;
55
import org.gvsig.tools.observer.Observer;
56
import org.gvsig.tools.persistence.PersistenceManager;
57
import org.gvsig.tools.persistence.PersistentState;
58
import org.gvsig.tools.persistence.exception.PersistenceException;
59
import org.gvsig.tools.undo.RedoException;
60
import org.gvsig.tools.undo.UndoException;
61
import org.gvsig.tools.visitor.Visitor;
62

  
63
public class DummyFileFeatureStore implements FeatureStore {
64

  
65
	public static class DummyFeatureAttributeDescriptor implements
66
			FeatureAttributeDescriptor {
67

  
68
		public boolean allowNull() {
69
			// TODO Auto-generated method stub
70
			return false;
71
		}
72

  
73
		public Object getAdditionalInfo(String infoName) {
74
			// TODO Auto-generated method stub
75
			return null;
76
		}
77

  
78
		public FeatureAttributeDescriptor getCopy() {
79
			// TODO Auto-generated method stub
80
			return null;
81
		}
82

  
83
		public DataType getDataType() {
84
			// TODO Auto-generated method stub
85
			return null;
86
		}
87

  
88
		public String getDataTypeName() {
89
			// TODO Auto-generated method stub
90
			return null;
91
		}
92

  
93
		public DateFormat getDateFormat() {
94
			// TODO Auto-generated method stub
95
			return null;
96
		}
97

  
98
		public Object getDefaultValue() {
99
			// TODO Auto-generated method stub
100
			return null;
101
		}
102

  
103
		public Evaluator getEvaluator() {
104
			// TODO Auto-generated method stub
105
			return null;
106
		}
107

  
108
		public int getGeometrySubType() {
109
			// TODO Auto-generated method stub
110
			return 0;
111
		}
112

  
113
		public int getGeometryType() {
114
			return Geometry.TYPES.POINT;
115
		}
116

  
117
		public int getIndex() {
118
			// TODO Auto-generated method stub
119
			return 0;
120
		}
121

  
122
		public int getMaximumOccurrences() {
123
			// TODO Auto-generated method stub
124
			return 0;
125
		}
126

  
127
		public int getMinimumOccurrences() {
128
			// TODO Auto-generated method stub
129
			return 0;
130
		}
131

  
132
		public String getName() {
133
			// TODO Auto-generated method stub
134
			return null;
135
		}
136

  
137
		public Class getObjectClass() {
138
			// TODO Auto-generated method stub
139
			return null;
140
		}
141

  
142
		public int getPrecision() {
143
			// TODO Auto-generated method stub
144
			return 0;
145
		}
146

  
147
		public IProjection getSRS() {
148
			// TODO Auto-generated method stub
149
			return null;
150
		}
151

  
152
		public int getSize() {
153
			// TODO Auto-generated method stub
154
			return 0;
155
		}
156

  
157
		public int getType() {
158
			// TODO Auto-generated method stub
159
			return 0;
160
		}
161

  
162
		public boolean isAutomatic() {
163
			// TODO Auto-generated method stub
164
			return false;
165
		}
166

  
167
		public boolean isPrimaryKey() {
168
			// TODO Auto-generated method stub
169
			return false;
170
		}
171

  
172
		public boolean isReadOnly() {
173
			// TODO Auto-generated method stub
174
			return false;
175
		}
176
      
177
        public String getSubtype() {
178
            // TODO Auto-generated method stub
179
            return null;
180
        }
181

  
182
        public int getTheTypeOfAvailableValues() {
183
            // TODO Auto-generated method stub
184
            return 0;
185
        }
186

  
187
        public boolean isContainer() {
188
            // TODO Auto-generated method stub
189
            return false;
190
        }
191

  
192
        public boolean isHidden() {
193
            // TODO Auto-generated method stub
194
            return false;
195
        }
196

  
197
        public boolean isMandatory() {
198
            // TODO Auto-generated method stub
199
            return false;
200
        }
201

  
202
        public boolean isPersistent() {
203
            // TODO Auto-generated method stub
204
            return false;
205
        }
206

  
207
        public DynField setAvailableValues(DynObjectValueItem[] values) {
208
            // TODO Auto-generated method stub
209
            return null;
210
        }
211

  
212
        public DynField setAvailableValues(List values) {
213
            // TODO Auto-generated method stub
214
            return null;
215
        }
216

  
217
        public DynField setClassOfItems(Class theClass)
218
            throws DynFieldIsNotAContainerException {
219
            // TODO Auto-generated method stub
220
            return null;
221
        }
222

  
223
        public DynField setClassOfValue(Class theClass)
224
            throws DynFieldIsNotAContainerException {
225
            // TODO Auto-generated method stub
226
            return null;
227
        }
228

  
229
        public DynField setDefaultDynValue(Object defaultValue) {
230
            // TODO Auto-generated method stub
231
            return null;
232
        }
233

  
234
        public DynField setDefaultFieldValue(Object defaultValue) {
235
            // TODO Auto-generated method stub
236
            return null;
237
        }
238

  
239
        public DynField setDescription(String description) {
240
            // TODO Auto-generated method stub
241
            return null;
242
        }
243

  
244
        public DynField setElementsType(int type)
245
            throws DynFieldIsNotAContainerException {
246
            // TODO Auto-generated method stub
247
            return null;
248
        }
249

  
250
        public DynField setElementsType(DynStruct type)
251
            throws DynFieldIsNotAContainerException {
252
            // TODO Auto-generated method stub
253
            return null;
254
        }
255

  
256
        public DynField setGroup(String groupName) {
257
            // TODO Auto-generated method stub
258
            return null;
259
        }
260

  
261
        public DynField setHidden(boolean hidden) {
262
            // TODO Auto-generated method stub
263
            return null;
264
        }
265

  
266
        public DynField setMandatory(boolean mandatory) {
267
            // TODO Auto-generated method stub
268
            return null;
269
        }
270

  
271
        public DynField setMaxValue(Object maxValue) {
272
            // TODO Auto-generated method stub
273
            return null;
274
        }
275

  
276
        public DynField setMinValue(Object minValue) {
277
            // TODO Auto-generated method stub
278
            return null;
279
        }
280

  
281
        public DynField setOrder(int order) {
282
            // TODO Auto-generated method stub
283
            return null;
284
        }
285

  
286
        public DynField setPersistent(boolean persistent) {
287
            // TODO Auto-generated method stub
288
            return null;
289
        }
290

  
291
        public DynField setReadOnly(boolean isReadOnly) {
292
            // TODO Auto-generated method stub
293
            return null;
294
        }
295

  
296
        public DynField setSubtype(String subtype) {
297
            // TODO Auto-generated method stub
298
            return null;
299
        }
300

  
301
        public DynField setTheTypeOfAvailableValues(int type) {
302
            // TODO Auto-generated method stub
303
            return null;
304
        }
305

  
306
        public DynField setType(int type) {
307
            // TODO Auto-generated method stub
308
            return null;
309
        }
310

  
311
        public DynField setType(DataType type) {
312
            // TODO Auto-generated method stub
313
            return null;
314
        }
315

  
316
        public void validate(Object value) throws DynFieldValidateException {
317
            // TODO Auto-generated method stub
318
            
319
        }
320

  
321
        public Object coerce(Object value) throws CoercionException {
322
            // TODO Auto-generated method stub
323
            return null;
324
        }
325

  
326
        public DynObjectValueItem[] getAvailableValues() {
327
            // TODO Auto-generated method stub
328
            return null;
329
        }
330

  
331
        public Class getClassOfItems() {
332
            // TODO Auto-generated method stub
333
            return null;
334
        }
335

  
336
        public Class getClassOfValue() {
337
            // TODO Auto-generated method stub
338
            return null;
339
        }
340

  
341
        public String getDescription() {
342
            // TODO Auto-generated method stub
343
            return null;
344
        }
345

  
346
        public DynField getElementsType() {
347
            // TODO Auto-generated method stub
348
            return null;
349
        }
350

  
351
        public String getGroup() {
352
            // TODO Auto-generated method stub
353
            return null;
354
        }
355

  
356
        public Object getMaxValue() {
357
            // TODO Auto-generated method stub
358
            return null;
359
        }
360

  
361
        public Object getMinValue() {
362
            // TODO Auto-generated method stub
363
            return null;
364
        }
365

  
366
        public int getOder() {
367
            // TODO Auto-generated method stub
368
            return 0;
369
        }
370

  
371
        public boolean isTime() {
372
            // TODO Auto-generated method stub
373
            return false;
374
        }
375

  
376
        public FeatureAttributeGetter getFeatureAttributeGetter() {
377
            // TODO Auto-generated method stub
378
            return null;
379
        }
380

  
381
        public void setFeatureAttributeGetter(
382
            FeatureAttributeGetter featureAttributeGetter) {
383
            // TODO Auto-generated method stub
384
            
385
        }
386

  
387
	}
388

  
389
	public static class DummyFeatureType implements FeatureType {
390

  
391
		public boolean allowAutomaticValues() {
392
			// TODO Auto-generated method stub
393
			return false;
394
		}
395

  
396
		public Object get(String name) {
397
			// TODO Auto-generated method stub
398
			return null;
399
		}
400

  
401
		public Object get(int index) {
402
			// TODO Auto-generated method stub
403
			return null;
404
		}
405

  
406
		public FeatureAttributeDescriptor getAttributeDescriptor(String name) {
407
			// TODO Auto-generated method stub
408
			return null;
409
		}
410

  
411
		public FeatureAttributeDescriptor getAttributeDescriptor(int index) {
412
			return new DummyFeatureAttributeDescriptor();
413
		}
414

  
415
		public FeatureAttributeDescriptor[] getAttributeDescriptors() {
416
			// TODO Auto-generated method stub
417
			return null;
418
		}
419

  
420
		public FeatureType getCopy() {
421
			// TODO Auto-generated method stub
422
			return null;
423
		}
424

  
425
		public FeatureAttributeDescriptor getDefaultGeometryAttribute() {
426
			// TODO Auto-generated method stub
427
			return null;
428
		}
429

  
430
		public int getDefaultGeometryAttributeIndex() {
431
			return 0;
432
		}
433

  
434
		public String getDefaultGeometryAttributeName() {
435
			// TODO Auto-generated method stub
436
			return null;
437
		}
438

  
439
		public IProjection getDefaultSRS() {
440
			// TODO Auto-generated method stub
441
			return null;
442
		}
443

  
444
		public EditableFeatureType getEditable() {
445
			// TODO Auto-generated method stub
446
			return null;
447
		}
448

  
449
		public String getId() {
450
			// TODO Auto-generated method stub
451
			return null;
452
		}
453

  
454
		public int getIndex(String name) {
455
			// TODO Auto-generated method stub
456
			return 0;
457
		}
458

  
459
		public FeatureAttributeDescriptor[] getPrimaryKey() {
460
			// TODO Auto-generated method stub
461
			return null;
462
		}
463

  
464
		public FeatureRules getRules() {
465
			// TODO Auto-generated method stub
466
			return null;
467
		}
468

  
469
		public List getSRSs() {
470
			// TODO Auto-generated method stub
471
			return null;
472
		}
473

  
474
		public boolean hasEvaluators() {
475
			// TODO Auto-generated method stub
476
			return false;
477
		}
478

  
479
		public boolean hasOID() {
480
			// TODO Auto-generated method stub
481
			return false;
482
		}
483

  
484
		public Iterator iterator() {
485
			// TODO Auto-generated method stub
486
			return null;
487
		}
488

  
489
		public int size() {
490
			// TODO Auto-generated method stub
491
			return 0;
492
		}
493

  
494
        public DynClass[] getSuperDynClasses() {
495
            // TODO Auto-generated method stub
496
            return null;
497
        }
498

  
499
        public void removeDynMethod(String name) {
500
            // TODO Auto-generated method stub
501
            
502
        }
503

  
504
        public DynField addDynField(String name) {
505
            // TODO Auto-generated method stub
506
            return null;
507
        }
508

  
509
        public DynField addDynFieldArray(String name) {
510
            // TODO Auto-generated method stub
511
            return null;
512
        }
513

  
514
        public DynField addDynFieldBoolean(String name) {
515
            // TODO Auto-generated method stub
516
            return null;
517
        }
518

  
519
        public DynField addDynFieldChoice(String name, int type,
520
            Object defaultValue, DynObjectValueItem[] values,
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff