Revision 772 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/AbstractRenderableLayer.java

View differences:

AbstractRenderableLayer.java
19 19
import org.gvsig.fmap.dal.feature.FeatureType;
20 20
import org.gvsig.fmap.geom.primitive.OrientablePrimitive;
21 21
import org.gvsig.fmap.geom.primitive.Point;
22
import org.gvsig.fmap.mapcontext.rendering.legend.IVectorLegend;
22 23
import org.gvsig.tools.dispose.DisposableIterator;
23 24
import org.gvsig.view3d.vector.lib.api.VectorElevationMode;
24 25
import org.gvsig.view3d.vector.lib.api.VectorLoaderParameters;
......
33 34
    private static final Logger LOG = LoggerFactory.getLogger(AbstractRenderableLayer.class);
34 35

  
35 36
    protected FeatureStore featureStore;
37
    protected IVectorLegend legend;
36 38

  
37 39
    protected VectorLoaderParameters parameters;
38 40

  
39
    public AbstractRenderableLayer(VectorLoaderParameters parameters, FeatureStore featureStore) {
41
    public AbstractRenderableLayer(VectorLoaderParameters parameters, FeatureStore featureStore, IVectorLegend legend) {
40 42
        this.featureStore = featureStore;
43
        this.legend = legend;
41 44
        this.parameters = parameters;
45
        addRenderableObjects();
46
    }
47
    
48
    protected void addRenderableObjects() {
42 49
        ExecutorService executor = Executors.newSingleThreadExecutor();
43
        executor.execute(addRenderableObjects());
44
    }
45

  
46
    protected Runnable addRenderableObjects() {
47
        
48
        return new Runnable() {
50
        executor.execute( new Runnable() {
49 51
            
50 52
            @Override
51 53
            public void run() {
......
83 85
                    }
84 86
                }
85 87
            }
86
        };
88
        });
87 89
    }
88 90

  
89 91
    protected int getAltitudeMode(VectorElevationMode mode) {
......
138 140
        IProjection destProj = CRSFactory.getCRS("EPSG:4326");
139 141
        return origProj.getCT(destProj);
140 142
    }
143
    
144
    @Override
145
    public void setExpiryTime(long expiryTime) {
146
        // If expiry time is greater than last expiry time, reload 
147
        // renderables
148
        if (expiryTime > this.getExpiryTime()) {
149
            reloadRenderables();
150
        }
151
        super.setExpiryTime(expiryTime);
152
    }
141 153

  
154
    protected void reloadRenderables() {
155
        // Clear renderables
156
        clearRenderables();
157
        // Clear render attibutes
158
        clearRenderAttributes();
159
        // Reload renderables
160
        addRenderableObjects();
161
    }
162
    
163
    /**
164
     * 
165
     */
166
    protected abstract void clearRenderAttributes();
167
    
168
    /**
169
     * 
170
     * @param feature
171
     * @return
172
     */
142 173
    protected abstract List<Renderable> getRenderables(Feature feature);
143 174
}

Also available in: Unified diff