Revision 24198 branches/v2_0_0_prep/libraries/libFMap_data/src/org/gvsig/fmap/data/resource/impl/DefaultResourceManager.java

View differences:

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