Revision 33275 branches/v2_0_0_prep/applications/appgvSIG/src/org/gvsig/app/project/documents/table/TableDocument.java
TableDocument.java | ||
---|---|---|
28 | 28 |
|
29 | 29 |
import java.text.MessageFormat; |
30 | 30 |
import java.util.ArrayList; |
31 |
import java.util.Arrays; |
|
32 | 31 |
import java.util.Iterator; |
33 | 32 |
import java.util.List; |
34 | 33 |
|
... | ... | |
37 | 36 |
import org.gvsig.app.project.documents.AbstractDocument; |
38 | 37 |
import org.gvsig.app.project.documents.DocumentManager; |
39 | 38 |
import org.gvsig.fmap.dal.exception.DataException; |
40 |
import org.gvsig.tools.dispose.DisposableIterator; |
|
41 | 39 |
import org.gvsig.fmap.dal.feature.Feature; |
42 | 40 |
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor; |
43 | 41 |
import org.gvsig.fmap.dal.feature.FeatureQuery; |
... | ... | |
49 | 47 |
import org.gvsig.fmap.dal.feature.FeatureType; |
50 | 48 |
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect; |
51 | 49 |
import org.gvsig.fmap.mapcontrol.dal.feature.swing.table.ConfigurableFeatureTableModel; |
50 |
import org.gvsig.tools.ToolsLocator; |
|
51 |
import org.gvsig.tools.dispose.DisposableIterator; |
|
52 |
import org.gvsig.tools.dynobject.DynStruct; |
|
52 | 53 |
import org.gvsig.tools.evaluator.Evaluator; |
53 | 54 |
import org.gvsig.tools.observer.Observable; |
54 | 55 |
import org.gvsig.tools.observer.Observer; |
56 |
import org.gvsig.tools.persistence.PersistenceManager; |
|
55 | 57 |
import org.gvsig.tools.persistence.Persistent; |
56 | 58 |
import org.gvsig.tools.persistence.PersistentState; |
57 | 59 |
import org.gvsig.tools.persistence.exception.PersistenceException; |
... | ... | |
65 | 67 |
|
66 | 68 |
private static final long serialVersionUID = -1842181135614158881L; |
67 | 69 |
|
70 |
public static final String PERSISTENCE_DEFINITION_NAME = "TableDocument"; |
|
71 |
|
|
68 | 72 |
final static private Logger logger = |
69 | 73 |
LoggerFactory.getLogger(TableDocument.class); |
70 | 74 |
|
... | ... | |
334 | 338 |
@SuppressWarnings("unchecked") |
335 | 339 |
public void loadFromState(PersistentState state) |
336 | 340 |
throws PersistenceException { |
341 |
super.loadFromState(state); |
|
342 |
|
|
337 | 343 |
this.store = (FeatureStore) state.get("store"); |
338 |
|
|
339 | 344 |
this.featureTypeId = state.getString("featureTypeId"); |
340 |
this.attributeNames = |
|
341 |
(String[]) ((List) state.get("attributeNames")).toArray(new String[0]); |
|
342 |
this.linkTable = |
|
343 |
new ArrayList<TableLink>((List) state.get("linkTable")); |
|
345 |
this.attributeNames = (String[]) state.getArray("attributeNames", String.class); |
|
346 |
this.linkTable = state.getList("linkTable"); |
|
344 | 347 |
this.associatedLayer = (FLyrVect) state.get("associatedLayer"); |
345 | 348 |
this.query = (FeatureQuery) state.get("query"); |
346 |
this.baseFilter = (Evaluator) state.get(" baseFilter");
|
|
349 |
this.baseFilter = (Evaluator) state.get("baseFilter"); |
|
347 | 350 |
this.baseOrder = (FeatureQueryOrder) state.get("baseOrder"); |
348 | 351 |
} |
349 | 352 |
|
350 | 353 |
public void saveToState(PersistentState state) throws PersistenceException { |
354 |
super.saveToState(state); |
|
355 |
|
|
351 | 356 |
state.set("store", store); |
352 | 357 |
state.set("featureTypeId", featureTypeId); |
353 |
state.set("attributeNames", Arrays.asList(attributeNames));
|
|
358 |
state.set("attributeNames", attributeNames);
|
|
354 | 359 |
state.set("linkTable", linkTable); |
355 | 360 |
state.set("associatedLayer", associatedLayer); |
356 | 361 |
state.set("query", query); |
... | ... | |
358 | 363 |
state.set("baseOrder", baseOrder); |
359 | 364 |
} |
360 | 365 |
|
366 |
public static void registerPersistent() { |
|
367 |
PersistenceManager manager = ToolsLocator.getPersistenceManager(); |
|
368 |
DynStruct definition = manager.addDefinition( |
|
369 |
TableDocument.class, |
|
370 |
PERSISTENCE_DEFINITION_NAME, |
|
371 |
"Table document Persistence definition", |
|
372 |
null, |
|
373 |
null |
|
374 |
); |
|
375 |
definition.extend(manager.getDefinition(AbstractDocument.PERSISTENCE_DEFINITION_NAME)); |
|
376 |
|
|
377 |
definition.addDynFieldObject("store").setClassOfValue(FeatureStore.class).setMandatory(true); |
|
378 |
definition.addDynFieldString("featureTypeId").setMandatory(true); |
|
379 |
definition.addDynFieldArray("attributeNames").setClassOfValue(String.class).setMandatory(true); |
|
380 |
definition.addDynFieldString("associatedLayer").setMandatory(true); |
|
381 |
definition.addDynFieldString("query").setMandatory(true); |
|
382 |
definition.addDynFieldString("baseFilter").setMandatory(true); |
|
383 |
definition.addDynFieldObject("baseOrder").setClassOfValue(FeatureQueryOrder.class).setMandatory(true); |
|
384 |
definition.addDynFieldList("linkTable").setClassOfValue(TableLink.class).setMandatory(true); |
|
385 |
} |
|
386 |
|
|
361 | 387 |
public static class TableLink implements Observer, Persistent { |
362 | 388 |
private TableDocument source; |
363 | 389 |
private FeatureStore storeSource; |
Also available in: Unified diff