Statistics
| Revision:

gvsig-3d / 2.1 / trunk / org.gvsig.view3d / org.gvsig.view3d.vector / org.gvsig.view3d.vector.lib / org.gvsig.view3d.vector.lib.impl / src / main / java / org / gvsig / view3d / vector / lib / impl / vector / DefaultVectorLoader.java @ 761

History | View | Annotate | Download (1.68 KB)

1
package org.gvsig.view3d.vector.lib.impl.vector;
2

    
3
import org.gvsig.fmap.dal.feature.FeatureStore;
4
import org.gvsig.fmap.mapcontext.layers.FLayer;
5
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
6
import org.gvsig.fmap.mapcontext.rendering.legend.IVectorLegend;
7
import org.gvsig.view3d.lib.api.exception.LoadException;
8
import org.gvsig.view3d.lib.api.loader.Loader;
9
import org.gvsig.view3d.lib.api.loader.LoaderParameters;
10
import org.gvsig.view3d.vector.lib.api.VectorLoaderParameters;
11

    
12
/**
13
 * 
14
 * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
15
 *
16
 */
17
public class DefaultVectorLoader implements Loader {
18

    
19
    @Override
20
    public Object load(LoaderParameters parameters) throws LoadException {
21

    
22
        if (parameters == null) {
23
            throw new IllegalArgumentException("Can not load layer, parameters can not be null");
24
        }
25

    
26
        if (!(parameters instanceof VectorLoaderParameters)) {
27
            throw new IllegalArgumentException(
28
                "Can not load layer, parameters must implements VectorLoaderParameter interface");
29
        }
30

    
31
        FLayer layer = parameters.getLayer();
32
        if (!(layer instanceof FLyrVect)) {
33
            throw new IllegalArgumentException("Can not load layer, only vector layers can be load as 'Vector'");
34
        }
35
        FLyrVect layerVect = (FLyrVect) layer;
36
        FeatureStore featureStore = layerVect.getFeatureStore();
37
        IVectorLegend vectorLegend = null;
38
        if (layerVect.getLegend() instanceof IVectorLegend) {
39
            vectorLegend = (IVectorLegend) layerVect.getLegend();
40
        }
41
        return new DefeaultVectorPointRenderableLayer((VectorLoaderParameters) parameters, featureStore, vectorLegend);
42
    }
43
}