Revision 770 2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.swing/org.gvsig.view3d.swing.impl/src/main/java/org/gvsig/view3d/swing/impl/DefaultMapControl3D.java

View differences:

DefaultMapControl3D.java
68 68
import org.gvsig.fmap.mapcontext.layers.FLayer;
69 69
import org.gvsig.fmap.mapcontext.layers.FLayers;
70 70
import org.gvsig.fmap.mapcontext.layers.operations.LayersVisitor;
71
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
71 72
import org.gvsig.tools.exception.BaseException;
72 73
import org.gvsig.tools.observer.BaseNotification;
73 74
import org.gvsig.tools.observer.Notification;
......
81 82
import org.gvsig.view3d.lib.api.loader.Loader;
82 83
import org.gvsig.view3d.lib.api.loader.LoaderFactory;
83 84
import org.gvsig.view3d.lib.api.loader.LoaderParameters;
85
import org.gvsig.view3d.lib.api.loader.RasterLoaderParameters;
84 86
import org.gvsig.view3d.swing.api.MapControl3D;
85 87
import org.gvsig.view3d.swing.api.View3DSwingLocator;
86 88
import org.gvsig.view3d.swing.api.View3DSwingManager;
87 89
import org.gvsig.view3d.swing.api.View3DSwingManager.TYPE;
88 90
import org.gvsig.view3d.swing.api.properties.GeneralProperties3D;
89 91
import org.gvsig.view3d.swing.api.properties.MapControlProperties3D;
92
import org.gvsig.view3d.vector.lib.api.VectorLoaderParameters;
90 93

  
91 94
/**
92 95
 * Default implementation of {@link MapControl3D}.
......
278 281

  
279 282
        View3DManager manager = View3DLocator.getManager();
280 283
        LoaderParameters loaderParameters = manager.getLoaderParameters(layer);
284
        LoaderFactory loaderFactory = null;
281 285
        if (loaderParameters == null) {
282
            // Default loader
283
            List<LoaderFactory> loaderFactories = manager.getLoaderFactories();
284
            if(loaderFactories.isEmpty()) {
286

  
287
            try {
288
            // Default loader depending on layer type
289
            if (layer instanceof FLyrVect){
290
                loaderFactory = manager.getLoaderFactory(VectorLoaderParameters.NAME);
291
            } else {
292
                loaderFactory = manager.getLoaderFactory(RasterLoaderParameters.NAME);
293
            }
294
            } catch (FactoryNotRegisteredException e){
295
                LOG.error("{} or {} loader factory is not registered", VectorLoaderParameters.NAME, RasterLoaderParameters.NAME);
285 296
                return;
286 297
            }
287
            loaderParameters = loaderFactories.get(0).createParameters(layer);
288 298

  
299
            if(loaderFactory == null){
300
                LOG.warn("There are not default loader factory to load {}", layer.getName());
301
                return;
302
            }
303
            
304
            loaderParameters = loaderFactory.createParameters(layer);
305
        } else {
306
            try {
307
                loaderFactory = manager.getLoaderFactory(loaderParameters.getName());
308
            } catch (FactoryNotRegisteredException e) {
309
                LOG.error("{} loader factory is not registered", loaderParameters.getName());
310
                return;
311
            }
289 312
        }
290
        LoaderFactory loaderFactory = null;
291
        try {
292
            loaderFactory = manager.getLoaderFactory(loaderParameters.getName());
293
        } catch (FactoryNotRegisteredException e) {
294
            LOG.error("{} loader factory is not registered", loaderParameters.getName());
295
            return;
296
        }
313
        
297 314
        Loader loader = loaderFactory.createLoader();
298 315
        Object object = null;
299 316
        object = loader.load(loaderParameters);

Also available in: Unified diff