Revision 237 2.0/trunk/org.gvsig.gvsig3d/org.gvsig.gvsig3d.lib/org.gvsig.gvsig3d.lib.impl/src/main/java/org/gvsig/gvsig3d/impl/DefaultGvsig3DManager.java

View differences:

DefaultGvsig3DManager.java
21 21
 */
22 22
package org.gvsig.gvsig3d.impl;
23 23

  
24
import org.cresques.cts.IProjection;
25
import org.gvsig.fmap.mapcontext.ViewPort;
26
import org.gvsig.gvsig3d.Gvsig3DException;
24 27
import org.gvsig.gvsig3d.Gvsig3DManager;
28
import org.gvsig.gvsig3d.impl.layers.FLayers3DImpl;
29
import org.gvsig.gvsig3d.impl.map3d.GraphicLayer3DImpl;
30
import org.gvsig.gvsig3d.impl.map3d.Layer3DPropsImpl;
31
import org.gvsig.gvsig3d.impl.map3d.MapContext3DImpl;
32
import org.gvsig.gvsig3d.impl.map3d.MapControl3DImpl;
33
import org.gvsig.gvsig3d.impl.map3d.Viewport3DImpl;
25 34
import org.gvsig.gvsig3d.lib.spi.Gvsig3DProviderLocator;
35
import org.gvsig.gvsig3d.map3d.GraphicLayer3D;
36
import org.gvsig.gvsig3d.map3d.Layer3DProps;
26 37
import org.gvsig.gvsig3d.map3d.MapContext3D;
27 38
import org.gvsig.gvsig3d.map3d.MapControl3D;
39
import org.gvsig.gvsig3d.map3d.ViewPort3D;
40
import org.gvsig.gvsig3d.map3d.layers.FLayers3D;
41
import org.gvsig.osgvp.terrain.Terrain;
42
import org.gvsig.osgvp.terrain.TerrainViewer;
43
import org.gvsig.tools.ToolsLocator;
28 44
import org.gvsig.tools.dynobject.DynObject;
45
import org.gvsig.tools.extensionpoint.ExtensionPoint;
46
import org.gvsig.tools.extensionpoint.ExtensionPointManager;
29 47
import org.gvsig.tools.service.AbstractManager;
30 48
import org.gvsig.tools.service.Service;
31 49
import org.gvsig.tools.service.ServiceException;
50
import org.slf4j.Logger;
51
import org.slf4j.LoggerFactory;
32 52

  
33 53
/**
34 54
 * Default {@link Gvsig3DManager} implementation.
......
37 57
 * @version $Id$
38 58
 */
39 59
public class DefaultGvsig3DManager extends AbstractManager implements
40
    Gvsig3DManager {
60
		Gvsig3DManager {
41 61

  
42
    /**
43
     * Empty constructor.
44
     */
45
    public DefaultGvsig3DManager() {
46
        super(Gvsig3DProviderLocator.getManager());
47
    }
62
	final static private Logger logger = LoggerFactory
63
			.getLogger(Gvsig3DManager.class);
48 64

  
49
    public Service getService(DynObject parameters) throws ServiceException {
50
        DefaultGvsig3DProviderServices providerServices =
51
            new DefaultGvsig3DProviderServices();
52
        DefaultGvsig3DService cookie =
53
            new DefaultGvsig3DService(this, parameters, providerServices);
54
        return cookie;
55
    }
65
	final static private String GVSIG3D_MANAGER_MAPCONTEXT3D = "Gvsig3D.manager.mapcontext3D";
66
	final static private String GVSIG3D_MANAGER_MAPCONTEXT3D_DEFAULT = "default";
67
	final static private String GVSIG3D_MANAGER_MAPCONTEXT3D_DESCRIPTION = "gvSIG3D MapContext Class";
56 68

  
57
    public void registerDefaultMapContext3D(Class mapContext3DClass) {
58
        // TODO Auto-generated method stub
69
	final static private String GVSIG3D_MANAGER_MAPCONTROL3D = "Gvsig3D.manager.mapcontrol3D";
70
	final static private String GVSIG3D_MANAGER_MAPCONTROL3D_DEFAULT = "default";
71
	final static private String GVSIG3D_MANAGER_MAPCONTROL3D_DESCRIPTION = "gvSIG3D MapControl Class";
59 72

  
60
    }
73
	final static private String GVSIG3D_MANAGER_GRAPHICSLAYER3D = "Gvsig3D.manager.graphicslayer3D";
74
	final static private String GVSIG3D_MANAGER_GRAPHICSLAYER3D_DEFAULT = "default";
75
	final static private String GVSIG3D_MANAGER_GRAPHICSLAYER3D_DESCRIPTION = "gvSIG3D MapControl Class";
61 76

  
62
    public void registerDefaultMapControl3D(Class mapContext3DClass) {
63
        // TODO Auto-generated method stub
77
	final static private String GVSIG3D_MANAGER_LAYER3DPROPS = "Gvsig3D.manager.layer3Dprops";
78
	final static private String GVSIG3D_MANAGER_LAYER3DPROPS_DEFAULT = "default";
79
	final static private String GVSIG3D_MANAGER_LAYER3DPROPS_DESCRIPTION = "gvSIG3D Layer3Dprops Class";
64 80

  
65
    }
81
	final static private String GVSIG3D_MANAGER_VIEWPORT3D = "Gvsig3D.manager.viewport3D";
82
	final static private String GVSIG3D_MANAGER_VIEWPORT3D_DEFAULT = "default";
83
	final static private String GVSIG3D_MANAGER_VIEWPORT3D_DESCRIPTION = "gvSIG3D Viewport3D Class";
66 84

  
67
    public void registerMapContext3D(String name, Class mapContext3DClass) {
68
        // TODO Auto-generated method stub
85
	final static private String GVSIG3D_MANAGER_FLAYERS3D = "Gvsig3D.manager.flayers3D";
86
	final static private String GVSIG3D_MANAGER_FLAYERS3D_DEFAULT = "default";
87
	final static private String GVSIG3D_MANAGER_FLAYERS3D_DESCRIPTION = "gvSIG3D FLayers3D Class";
69 88

  
70
    }
89
	private ExtensionPointManager extensionPoints = ToolsLocator
90
			.getExtensionPointManager();
71 91

  
72
    public void registerMapControl3D(String name, Class mapContext3DClass) {
73
        // TODO Auto-generated method stub
92
	/**
93
	 * Empty constructor.
94
	 */
95
	public DefaultGvsig3DManager() {
96
		super(Gvsig3DProviderLocator.getManager());
97
		extensionPoints.add(GVSIG3D_MANAGER_MAPCONTEXT3D,
98
				GVSIG3D_MANAGER_MAPCONTEXT3D_DESCRIPTION);
99
		extensionPoints.add(GVSIG3D_MANAGER_MAPCONTROL3D,
100
				GVSIG3D_MANAGER_MAPCONTROL3D_DESCRIPTION);
101
		extensionPoints.add(GVSIG3D_MANAGER_GRAPHICSLAYER3D,
102
				GVSIG3D_MANAGER_GRAPHICSLAYER3D_DESCRIPTION);
103
		extensionPoints.add(GVSIG3D_MANAGER_LAYER3DPROPS,
104
				GVSIG3D_MANAGER_LAYER3DPROPS_DESCRIPTION);
105
		extensionPoints.add(GVSIG3D_MANAGER_VIEWPORT3D,
106
				GVSIG3D_MANAGER_VIEWPORT3D_DESCRIPTION);
107
	}
74 108

  
75
    }
109
	public Service getService(DynObject parameters) throws ServiceException {
110
		DefaultGvsig3DProviderServices providerServices = new DefaultGvsig3DProviderServices();
111
		DefaultGvsig3DService cookie = new DefaultGvsig3DService(this,
112
				parameters, providerServices);
113
		return cookie;
114
	}
76 115

  
77
    public MapContext3D createDefaultMapContext3DInstance() {
78
        // TODO Auto-generated method stub
79
        return null;
80
    }
116
	public void registerDefaultMapContext3D(Class mapContext3DClass) {
117
		if (!MapContext3D.class.isAssignableFrom(mapContext3DClass)) {
118
			throw new IllegalArgumentException(mapContext3DClass.getName()
119
					+ " must implement the MapContext3D interface");
120
		}
81 121

  
82
    public MapContext3D getDefaultMapContext3D() {
83
        // TODO Auto-generated method stub
84
        return null;
85
    }
122
		ExtensionPoint extensionPoint = extensionPoints.add(
123
				GVSIG3D_MANAGER_MAPCONTEXT3D,
124
				GVSIG3D_MANAGER_MAPCONTEXT3D_DESCRIPTION);
125
		extensionPoint.append(GVSIG3D_MANAGER_MAPCONTEXT3D_DEFAULT,
126
				"Default MapContext3D", mapContext3DClass);
86 127

  
87
    public MapControl3D getDefaultMapControl3D() {
88
        // TODO Auto-generated method stub
89
        return null;
90
    }
128
	}
91 129

  
92
    public MapControl3D getDefaultViewPort3D() {
93
        // TODO Auto-generated method stub
94
        return null;
95
    }
130
	public MapContext3D createDefaultMapContext3DInstance() {
96 131

  
97
    public MapContext3D getMapContext3D(String name) {
98
        // TODO Auto-generated method stub
99
        return null;
100
    }
132
		return new MapContext3DImpl();
133
	}
101 134

  
102
    public MapControl3D getMapControl3D(String name) {
103
        // TODO Auto-generated method stub
104
        return null;
105
    }
135
	public MapContext3D createDefaultMapContext3DInstance(ViewPort vp) {
136
		return new MapContext3DImpl(vp);
137
	}
106 138

  
107
    public MapControl3D getViewPort3D(String name) {
108
        // TODO Auto-generated method stub
109
        return null;
110
    }
139
	public MapContext3D createMapContext3DInstance(String name)
140
			throws Gvsig3DException {
141
		ExtensionPoint ep = extensionPoints.add(GVSIG3D_MANAGER_MAPCONTEXT3D);
142
		try {
143
			return (MapContext3D) ep.create(name);
144
		} catch (Exception e) {
145
			throw new Gvsig3DException(e);
146
		}
147
	}
111 148

  
112
    public void registerDefaultViewPort3D(Class viewPort3DClass) {
113
        // TODO Auto-generated method stub
149
	public void registerDefaultMapControl3D(Class mapControl3DClass) {
150
		if (!MapControl3D.class.isAssignableFrom(mapControl3DClass)) {
151
			throw new IllegalArgumentException(mapControl3DClass.getName()
152
					+ " must implement the MapControl3D interface");
153
		}
114 154

  
115
    }
155
		ExtensionPoint extensionPoint = extensionPoints.add(
156
				GVSIG3D_MANAGER_MAPCONTROL3D,
157
				GVSIG3D_MANAGER_MAPCONTROL3D_DESCRIPTION);
158
		extensionPoint.append(GVSIG3D_MANAGER_MAPCONTROL3D_DEFAULT,
159
				"Default MapControl3D", mapControl3DClass);
116 160

  
117
    public void registerViewPort3D(String name, Class viewPort3DClass) {
118
        // TODO Auto-generated method stub
161
	}
119 162

  
120
    }
163
	public MapControl3D createDefaultMapControl3DInstance() {
164
		return new MapControl3DImpl();
165
	}
121 166

  
167
	public MapControl3D createMapControl3DInstance(String name)
168
			throws Gvsig3DException {
169
		ExtensionPoint ep = extensionPoints.add(GVSIG3D_MANAGER_MAPCONTROL3D);
170
		try {
171
			return (MapControl3D) ep.create(name);
172
		} catch (Exception e) {
173
			throw new Gvsig3DException(e);
174
		}
175
	}
176

  
177
	public void registerDefaultGraphicsLayer3D(Class graphicLayer3DClass) {
178
		if (!GraphicLayer3D.class.isAssignableFrom(graphicLayer3DClass)) {
179
			throw new IllegalArgumentException(graphicLayer3DClass.getName()
180
					+ " must implement the GraphicLayer3D interface");
181
		}
182

  
183
		ExtensionPoint extensionPoint = extensionPoints.add(
184
				GVSIG3D_MANAGER_GRAPHICSLAYER3D,
185
				GVSIG3D_MANAGER_GRAPHICSLAYER3D_DESCRIPTION);
186
		extensionPoint.append(GVSIG3D_MANAGER_GRAPHICSLAYER3D_DEFAULT,
187
				"Default GraphicsLayer3D", graphicLayer3DClass);
188

  
189
	}
190

  
191
	public GraphicLayer3D createDefaultGraphicsLayer3DInstance(
192
			TerrainViewer terrainViewer, Terrain terrain) {
193
		return new GraphicLayer3DImpl(terrainViewer, terrain);
194
	}
195

  
196
	public GraphicLayer3D createGraphicsLayer3DInstance(String name)
197
			throws Gvsig3DException {
198
		ExtensionPoint ep = extensionPoints
199
				.add(GVSIG3D_MANAGER_GRAPHICSLAYER3D);
200
		try {
201
			return (GraphicLayer3D) ep.create(name);
202
		} catch (Exception e) {
203
			throw new Gvsig3DException(e);
204
		}
205
	}
206

  
207
	public void registerDefaultLayer3DProps(Class layer3dPropsClass) {
208
		if (!Layer3DProps.class.isAssignableFrom(layer3dPropsClass)) {
209
			throw new IllegalArgumentException(layer3dPropsClass.getName()
210
					+ " must implement the Layer3DProps interface");
211
		}
212

  
213
		ExtensionPoint extensionPoint = extensionPoints.add(
214
				GVSIG3D_MANAGER_LAYER3DPROPS,
215
				GVSIG3D_MANAGER_LAYER3DPROPS_DESCRIPTION);
216
		extensionPoint.append(GVSIG3D_MANAGER_LAYER3DPROPS_DEFAULT,
217
				"Default Layer3DProps", layer3dPropsClass);
218

  
219
	}
220

  
221
	public Layer3DProps createDefaultLayer3DPropsInstance() {
222
		return new Layer3DPropsImpl();
223
	}
224

  
225
	public Layer3DProps createLayer3DPropsInstance(String name)
226
			throws Gvsig3DException {
227
		ExtensionPoint ep = extensionPoints.add(GVSIG3D_MANAGER_LAYER3DPROPS);
228
		try {
229
			return (Layer3DProps) ep.create(name);
230
		} catch (Exception e) {
231
			throw new Gvsig3DException(e);
232
		}
233
	}
234

  
235
	public void registerDefaultViewPort3D(Class viewPort3DClass) {
236
		if (!ViewPort3D.class.isAssignableFrom(viewPort3DClass)) {
237
			throw new IllegalArgumentException(viewPort3DClass.getName()
238
					+ " must implement the ViewPort3D interface");
239
		}
240

  
241
		ExtensionPoint extensionPoint = extensionPoints.add(
242
				GVSIG3D_MANAGER_VIEWPORT3D,
243
				GVSIG3D_MANAGER_VIEWPORT3D_DESCRIPTION);
244
		extensionPoint.append(GVSIG3D_MANAGER_VIEWPORT3D_DEFAULT,
245
				"Default Viewport3D", viewPort3DClass);
246

  
247
	}
248

  
249
	public ViewPort3D createDefaultViewPort3DInstance() {
250
		return new Viewport3DImpl();
251
	}
252

  
253
	public ViewPort3D createtDefaultViewPort3DInstance(IProjection proj) {
254
		return new Viewport3DImpl(proj);
255
	}
256

  
257
	public ViewPort3D createViewPort3DInstance(String name)
258
			throws Gvsig3DException {
259
		ExtensionPoint ep = extensionPoints.add(GVSIG3D_MANAGER_VIEWPORT3D);
260
		try {
261
			return (ViewPort3D) ep.create(name);
262
		} catch (Exception e) {
263
			throw new Gvsig3DException(e);
264
		}
265
	}
266

  
267
	public FLayers3D createFLayers3DInstance(String name) throws Gvsig3DException{
268

  
269
		ExtensionPoint ep = extensionPoints.add(GVSIG3D_MANAGER_FLAYERS3D);
270
		try {
271
			return (FLayers3D) ep.create(name);
272
		} catch (Exception e) {
273
			throw new Gvsig3DException(e);
274
		}
275
		
276
	}
277

  
278
	public FLayers3D createDefaultFLayers3DInstance(ViewPort vp) {
279
		return new FLayers3DImpl(null, null, vp);
280
	}
281

  
282

  
283

  
284

  
122 285
}

Also available in: Unified diff