Revision 29326 branches/v2_0_0_prep/libraries/libFMap_dalfile/src/org/gvsig/fmap/dal/store/dxf/DXFStoreProvider.java
DXFStoreProvider.java | ||
---|---|---|
46 | 46 |
import org.gvsig.fmap.dal.feature.FeatureType; |
47 | 47 |
import org.gvsig.fmap.dal.feature.exception.PerformEditingException; |
48 | 48 |
import org.gvsig.fmap.dal.feature.spi.FeatureProvider; |
49 |
import org.gvsig.fmap.dal.feature.spi.FeatureStoreProvider; |
|
50 | 49 |
import org.gvsig.fmap.dal.feature.spi.FeatureStoreProviderServices; |
51 | 50 |
import org.gvsig.fmap.dal.feature.spi.memory.AbstractMemoryStoreProvider; |
52 | 51 |
import org.gvsig.fmap.dal.resource.exception.AccessResourceException; |
... | ... | |
58 | 57 |
import org.gvsig.fmap.dal.resource.spi.ResourceProvider; |
59 | 58 |
import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemServerExplorer; |
60 | 59 |
import org.gvsig.fmap.dal.serverexplorer.filesystem.FilesystemServerExplorerParameters; |
60 |
import org.gvsig.fmap.dal.spi.DataStoreProviderServices; |
|
61 | 61 |
import org.gvsig.fmap.geom.Geometry; |
62 | 62 |
import org.gvsig.fmap.geom.GeometryLocator; |
63 | 63 |
import org.gvsig.fmap.geom.GeometryManager; |
... | ... | |
77 | 77 |
import org.gvsig.fmap.geom.type.GeometryType; |
78 | 78 |
import org.gvsig.fmap.geom.util.Converter; |
79 | 79 |
import org.gvsig.tools.ToolsLocator; |
80 |
import org.gvsig.tools.dynobject.DelegatedDynObject; |
|
81 | 80 |
import org.gvsig.tools.dynobject.DynClass; |
82 | 81 |
import org.gvsig.tools.dynobject.DynField; |
83 | 82 |
import org.gvsig.tools.dynobject.DynObjectManager; |
... | ... | |
130 | 129 |
|
131 | 130 |
|
132 | 131 |
|
133 |
private DXFStoreParameters getDXFParameters() { |
|
134 |
return (DXFStoreParameters) this.parameters; |
|
135 |
} |
|
136 | 132 |
|
137 |
public DXFStoreProvider(DXFStoreParameters parameters) { |
|
138 |
super(parameters); |
|
139 |
} |
|
133 |
public DXFStoreProvider(DXFStoreParameters parameters, |
|
134 |
DataStoreProviderServices storeServices) throws InitializeException { |
|
135 |
super(parameters, storeServices, ToolsLocator.getDynObjectManager() |
|
136 |
.createDynObject(DYNCLASS)); |
|
140 | 137 |
|
141 |
public FeatureStoreProvider initialize(FeatureStoreProviderServices store) |
|
142 |
throws InitializeException { |
|
143 |
super.initialize(store); |
|
144 |
|
|
145 |
this.metadata = (DelegatedDynObject) ToolsLocator |
|
146 |
.getDynObjectManager().createDynObject(DYNCLASS); |
|
147 |
|
|
148 | 138 |
counterNewsOIDs = 0; |
149 | 139 |
// projection = CRSFactory.getCRS(getParameters().getSRSID()); |
150 | 140 |
|
... | ... | |
169 | 159 |
} |
170 | 160 |
|
171 | 161 |
this.initializeFeatureTypes(); |
172 |
return this; |
|
162 |
|
|
173 | 163 |
} |
174 | 164 |
|
165 |
private DXFStoreParameters getDXFParameters() { |
|
166 |
return (DXFStoreParameters) this.getParameters(); |
|
167 |
} |
|
168 |
|
|
175 | 169 |
public String getName() { |
176 | 170 |
return NAME; |
177 | 171 |
} |
... | ... | |
244 | 238 |
} else { |
245 | 239 |
this.resource.setData(new HashMap()); |
246 | 240 |
} |
241 |
FeatureStoreProviderServices store = getStoreServices(); |
|
247 | 242 |
if (dxfData == null) { |
248 | 243 |
dxfData = new DXFData(); |
249 | 244 |
dxfData.data = new ArrayList(); |
... | ... | |
255 | 250 |
projection, |
256 | 251 |
this.legendBuilder |
257 | 252 |
); |
258 |
reader.begin(this.store);
|
|
253 |
reader.begin(store); |
|
259 | 254 |
dxfData.defaultFType = reader.getDefaultType() |
260 | 255 |
.getNotEditableCopy(); |
261 | 256 |
ArrayList types = new ArrayList(); |
... | ... | |
272 | 267 |
dxfData.fTypes = types; |
273 | 268 |
|
274 | 269 |
resource.notifyOpen(); |
275 |
this.store |
|
276 |
.setFeatureTypes(dxfData.fTypes, dxfData.defaultFType); |
|
270 |
store.setFeatureTypes(dxfData.fTypes, dxfData.defaultFType); |
|
277 | 271 |
reader.load(); |
278 | 272 |
// this.envelope = reader.getEnvelope(); |
279 | 273 |
|
... | ... | |
290 | 284 |
} |
291 | 285 |
|
292 | 286 |
this.data = dxfData.data; |
293 |
this.store.setFeatureTypes(dxfData.fTypes, dxfData.defaultFType);
|
|
287 |
store.setFeatureTypes(dxfData.fTypes, dxfData.defaultFType); |
|
294 | 288 |
this.legendBuilder = dxfData.legendBuilder; |
295 |
this.metadata.setDynValue("Envelope", dxfData.getEnvelopeCopy()); |
|
296 |
this.metadata |
|
297 |
.setDynValue("DefaultSRS", this.projection.getAbrev()); |
|
289 |
this.setDynValue("Envelope", dxfData.getEnvelopeCopy()); |
|
290 |
this.setDynValue("DefaultSRS", this.projection.getAbrev()); |
|
298 | 291 |
this.counterNewsOIDs = this.data.size(); |
299 | 292 |
} catch (Exception e) { |
300 | 293 |
this.data = null; |
... | ... | |
342 | 335 |
File file = (File) resource.get(); |
343 | 336 |
fileName = file.getAbsolutePath(); |
344 | 337 |
writer = new Writer().initialice(file, projection); |
345 |
FeatureSet features = this.getStoreServices().getFeatureSet(); |
|
338 |
FeatureSet features = this.getStoreServices().getFeatureStore() |
|
339 |
.getFeatureSet(); |
|
346 | 340 |
|
347 | 341 |
writer.begin(); |
348 | 342 |
DisposableIterator it = features.fastIterator(); |
... | ... | |
1516 | 1510 |
|
1517 | 1511 |
public Envelope getEnvelope() throws DataException { |
1518 | 1512 |
this.open(); |
1519 |
return (Envelope) this.metadata.getDynValue("Envelope");
|
|
1513 |
return (Envelope) this.getDynValue("Envelope"); |
|
1520 | 1514 |
} |
1521 | 1515 |
|
1522 |
public Iterator getChilds() { |
|
1523 |
// TODO Auto-generated method stub |
|
1524 |
return null; |
|
1525 |
} |
|
1526 |
|
|
1527 |
|
|
1528 | 1516 |
/* |
1529 | 1517 |
* (non-Javadoc) |
1530 | 1518 |
* |
... | ... | |
1533 | 1521 |
* gvsig.fmap.dal.resource.spi.ResourceProvider) |
1534 | 1522 |
*/ |
1535 | 1523 |
public void resourceChanged(ResourceProvider resource) { |
1536 |
this.store.notifyChange(DataStoreNotification.RESOURCE_CHANGED, |
|
1524 |
this.getStoreServices().notifyChange( |
|
1525 |
DataStoreNotification.RESOURCE_CHANGED, |
|
1537 | 1526 |
resource); |
1538 | 1527 |
} |
1539 | 1528 |
|
Also available in: Unified diff