[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[udig-devel] About creating temporary resources in uDIG 1.0.5
|
Hello:
I am using the stable 1.0.5 uDIg version but I would like to know how can I create a temporary Resource giving a Feature Type
In this part there is a code that runs ok in uDig 1.1
/*************************************************************************************/
features=utils.getStringsAsPointFeatures(tempString,1,2,3,taxon);
if (chunkCounter==1)
{
FeatureType ftType=features[0].getFeatureType();
resource = CatalogPlugin.getDefault().getLocalCatalog().createTemporaryResource(ftType);
featureStore= resource.resolve(FeatureStore.class,null);
FeatureReader aReader = DataUtilities.reader(features);
featureStore.addFeatures(aReader);
IMap map = PlatformGIS.getActiveMap();
int index = map.getMapLayers().size();
ApplicationGIS.addLayersToMap(map, Collections.singletonList(resource), index, null);
}
else {
FeatureReader aReader = DataUtilities.reader(features);
featureStore.addFeatures(aReader);
}
}
/****************************************************************************/
In this part, I tried to create a MemoryDataStore to have the same results as the last one but I do not know what should I do in order to add a collection of Resources to a Map
features=utils.getStringsAsPointFeatures(tempString,1,2,3,taxon);
if (chunkCounter==1)
{
FeatureType ftType=features[0].getFeatureType();
IGeoResource resource1 =null;
ICatalog catalog = CatalogPlugin.getDefault().getLocalCatalog();
List<IService> services = catalog.findService(MemoryService.URL);
IService service=null;
if( services.isEmpty() ){
service = createService(catalog); //createService method is already implemented
}else{
IResolve resolve=services.get(0);
if (resolve instanceof IGeoResource) {
resource1 = (IGeoResource) resolve;
service=resource1.service(null);
}else if (resolve instanceof IService) {
service=(IService) services.get(0);
}
}
MemoryDataStore ds=service.resolve(MemoryDataStore.class, null);
try{
ds.getSchema(ftType.getTypeName());
}catch( SchemaNotFoundException exception){
// verified that schema does not yet exist.
}
ds.addFeatures(features);
resource = resource1;//I am not sure in this part
featureStore= resource.resolve(FeatureStore.class,null);
FeatureReader aReader = DataUtilities.reader(features);
featureStore.addFeatures(aReader);
IMap map = PlatformGIS.getActiveMap();
int index = map.getMapLayers().size();
PlatformGIS.addLayersToActiveMap(Collections.singletonList(resource));
/**********************************************************************************************************/
Thank you in advance for any help
Magna