Skip to main content

[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


Back to the top