Revision 24198 branches/v2_0_0_prep/libraries/libFMap_data/src/org/gvsig/fmap/data/resource/impl/DefaultResourceManager.java
DefaultResourceManager.java | ||
---|---|---|
1 | 1 |
package org.gvsig.fmap.data.resource.impl; |
2 | 2 |
|
3 | 3 |
import java.lang.reflect.InvocationTargetException; |
4 |
import java.util.*; |
|
4 |
import java.util.HashMap; |
|
5 |
import java.util.Iterator; |
|
6 |
import java.util.List; |
|
7 |
import java.util.Map; |
|
8 |
import java.util.Timer; |
|
9 |
import java.util.TimerTask; |
|
5 | 10 |
|
6 | 11 |
import org.gvsig.fmap.data.DALLocator; |
7 | 12 |
import org.gvsig.fmap.data.DataParameters; |
... | ... | |
15 | 20 |
import org.gvsig.fmap.data.resource.spi.AbstractResource; |
16 | 21 |
import org.gvsig.fmap.data.resource.spi.ResourceManagerProviderServices; |
17 | 22 |
import org.gvsig.fmap.data.resource.spi.ResourceProvider; |
18 |
import org.gvsig.tools.extensionPoint.ExtensionPoint; |
|
19 |
import org.gvsig.tools.extensionPoint.ExtensionPoints; |
|
20 |
import org.gvsig.tools.extensionPoint.ExtensionPointsSingleton; |
|
23 |
import org.gvsig.tools.ToolsLocator; |
|
21 | 24 |
import org.gvsig.tools.observer.Observer; |
22 | 25 |
import org.gvsig.tools.observer.impl.DelegateObservable; |
23 | 26 |
import org.slf4j.Logger; |
... | ... | |
30 | 33 |
final static private String DATA_MANAGER_RESOURCE_PARAMS = "Data.manager.resources.params"; |
31 | 34 |
|
32 | 35 |
// FIXME: rellenar las cadenas |
33 |
private static final String DATA_MANAGER_RESOURCE_DESCRIPTION = "XXXXXXXXXX";
|
|
34 |
private static final String DATA_MANAGER_RESOURCE_PARAMS_DESCRIPTION = "XXXXXXXXXX";
|
|
36 |
private static final String DATA_MANAGER_RESOURCE_DESCRIPTION = "DAL Resources types";
|
|
37 |
private static final String DATA_MANAGER_RESOURCE_PARAMS_DESCRIPTION = "DAL Resources types Parameters";
|
|
35 | 38 |
|
36 | 39 |
private Map resources = new HashMap(); |
37 | 40 |
|
... | ... | |
40 | 43 |
private Timer timer = null; |
41 | 44 |
private Logger logger; |
42 | 45 |
|
46 |
public DefaultResourceManager() { |
|
47 |
/* |
|
48 |
* Create te extensions point in te registry. |
|
49 |
*/ |
|
50 |
ToolsLocator.getExtensionPointManager().add(DATA_MANAGER_RESOURCE, |
|
51 |
DATA_MANAGER_RESOURCE_DESCRIPTION); |
|
52 |
|
|
53 |
ToolsLocator.getExtensionPointManager().add( |
|
54 |
DATA_MANAGER_RESOURCE_PARAMS, |
|
55 |
DATA_MANAGER_RESOURCE_PARAMS_DESCRIPTION); |
|
56 |
} |
|
57 |
|
|
43 | 58 |
public Logger getLogger() { |
44 | 59 |
if (this.logger == null) { |
45 | 60 |
this.logger = LoggerFactory.getLogger(this.getClass()); |
... | ... | |
163 | 178 |
|
164 | 179 |
public DataParameters createParameters(String type, Object[] args) |
165 | 180 |
throws InitializeException { |
166 |
ExtensionPoints eps = ExtensionPointsSingleton.getInstance(); |
|
167 |
ExtensionPoint epParams = (ExtensionPoint) eps |
|
168 |
.get(DATA_MANAGER_RESOURCE_PARAMS); |
|
169 | 181 |
try { |
170 | 182 |
if (args == null) { |
171 |
return (DataParameters) epParams.create(type); |
|
183 |
return (DataParameters) ToolsLocator.getExtensionPointManager() |
|
184 |
.get( |
|
185 |
DATA_MANAGER_RESOURCE).create(type); |
|
172 | 186 |
} else { |
173 |
return (DataParameters) epParams.create(type, args); |
|
187 |
return (DataParameters) ToolsLocator.getExtensionPointManager() |
|
188 |
.get(DATA_MANAGER_RESOURCE).create(type, args); |
|
174 | 189 |
} |
175 | 190 |
} catch (InstantiationException e) { |
176 | 191 |
throw new InitializeException(e); |
... | ... | |
206 | 221 |
return resource; |
207 | 222 |
} |
208 | 223 |
|
209 |
ExtensionPoints eps = ExtensionPointsSingleton.getInstance(); |
|
210 |
ExtensionPoint epResources = (ExtensionPoint) eps |
|
211 |
.get(DATA_MANAGER_RESOURCE); |
|
212 | 224 |
try { |
213 |
resource = (AbstractResource) epResources.create( |
|
214 |
params |
|
215 |
.getTypeName(), |
|
216 |
new Object[] { params } |
|
225 |
|
|
226 |
resource = (AbstractResource) ToolsLocator |
|
227 |
.getExtensionPointManager().get(DATA_MANAGER_RESOURCE) |
|
228 |
.create( |
|
229 |
params.getTypeName(), new Object[] { params } |
|
217 | 230 |
); |
218 | 231 |
} catch (InstantiationException e) { |
219 | 232 |
throw new InitializeException(e); |
... | ... | |
238 | 251 |
|
239 | 252 |
public boolean register(String type, String description, |
240 | 253 |
Class resourceHandler, Class resourceParams) { |
241 |
ExtensionPoints eps = ExtensionPointsSingleton.getInstance(); |
|
242 |
ExtensionPoint epResources = (ExtensionPoint) eps |
|
243 |
.get(DATA_MANAGER_RESOURCE); |
|
244 |
if (epResources == null) { |
|
245 |
epResources = new ExtensionPoint(DATA_MANAGER_RESOURCE, |
|
246 |
DATA_MANAGER_RESOURCE_DESCRIPTION); |
|
247 |
eps.put(epResources); |
|
248 |
} |
|
249 |
eps.add(DATA_MANAGER_RESOURCE, type, resourceHandler); |
|
250 | 254 |
|
251 |
ExtensionPoint epParams = (ExtensionPoint) eps |
|
252 |
.get(DATA_MANAGER_RESOURCE_PARAMS); |
|
253 |
if (epParams == null) { |
|
254 |
epParams = new ExtensionPoint(DATA_MANAGER_RESOURCE_PARAMS, |
|
255 |
DATA_MANAGER_RESOURCE_PARAMS_DESCRIPTION); |
|
256 |
eps.put(epParams); |
|
257 |
} |
|
258 |
eps.add(DATA_MANAGER_RESOURCE_PARAMS, type, resourceParams); |
|
259 | 255 |
|
256 |
ToolsLocator.getExtensionPointManager().add(DATA_MANAGER_RESOURCE, |
|
257 |
DATA_MANAGER_RESOURCE_DESCRIPTION).append(type, description, |
|
258 |
resourceHandler); |
|
259 |
|
|
260 |
ToolsLocator.getExtensionPointManager().add( |
|
261 |
DATA_MANAGER_RESOURCE_PARAMS, |
|
262 |
DATA_MANAGER_RESOURCE_PARAMS_DESCRIPTION).append(type, |
|
263 |
description, resourceParams); |
|
264 |
|
|
260 | 265 |
return true; |
261 | 266 |
} |
262 | 267 |
|
263 | 268 |
public List getResourceProviders() { |
264 |
// TODO Auto-generated method stub
|
|
265 |
return null;
|
|
269 |
return ToolsLocator.getExtensionPointManager().get(
|
|
270 |
DATA_MANAGER_RESOURCE).getNames();
|
|
266 | 271 |
} |
267 | 272 |
|
268 | 273 |
} |
Also available in: Unified diff