Revision 752 org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.fmap/src/main/java/org/gvsig/raster/fmap/layers/DefaultFLyrRaster.java
DefaultFLyrRaster.java | ||
---|---|---|
34 | 34 |
import java.io.IOException; |
35 | 35 |
import java.util.ArrayList; |
36 | 36 |
import java.util.HashMap; |
37 |
import java.util.List; |
|
37 | 38 |
import java.util.Set; |
38 | 39 |
|
39 | 40 |
import org.cresques.cts.IProjection; |
... | ... | |
2204 | 2205 |
throws PersistenceException { |
2205 | 2206 |
super.loadFromState(state); |
2206 | 2207 |
|
2207 |
String fileName = state.getString("file"); |
|
2208 |
if (fileName != null){ |
|
2209 |
ProviderServices provServ = RasterLocator.getManager().getProviderServices(); |
|
2210 |
RasterDataParameters params = provServ.createParameters(fileName); |
|
2211 |
params.setURI(fileName); |
|
2212 |
} |
|
2213 |
|
|
2214 | 2208 |
status = (IStatusRaster)state.get("status"); |
2215 |
status.setStateProperties(true, this); |
|
2216 |
|
|
2217 | 2209 |
render = (Render)state.get("render"); |
2210 |
List<ROI> rois = state.getList("rois"); |
|
2211 |
this.rois = new ArrayList<ROI>(); |
|
2212 |
this.rois.addAll(rois); |
|
2213 |
zoomLevel = state.getInt("zoomLevel"); |
|
2214 |
recalcLevel = state.getBoolean("recalcLevel"); |
|
2218 | 2215 |
} |
2219 | 2216 |
|
2220 | 2217 |
@Override |
2221 | 2218 |
public void saveToState(PersistentState state) throws PersistenceException { |
2222 | 2219 |
super.saveToState(state); |
2223 | 2220 |
|
2224 |
// if(isClosed() || isAwake()) |
|
2225 |
// return; |
|
2226 |
|
|
2227 |
if(getFile() != null){ |
|
2228 |
state.set("file", getFile().toString()); |
|
2229 |
} |
|
2230 |
|
|
2231 |
// Si no hay ning?n Status aplicamos el StatusLayerRaster que se usa por defecto |
|
2232 |
if (status == null) |
|
2233 |
status = new StatusLayerRaster(); |
|
2234 |
|
|
2235 | 2221 |
state.set("render", render); |
2236 |
|
|
2237 |
status.setStateProperties(true, this); |
|
2238 |
state.set("status", status); |
|
2222 |
state.set("status", status); |
|
2223 |
state.set("datastore", dataStore); |
|
2224 |
state.set("legend", lastLegend); |
|
2225 |
state.set("rois", rois); |
|
2226 |
state.set("colortable", loadedFromProject); |
|
2227 |
state.set("zoomLevel", zoomLevel); |
|
2228 |
state.set("recalcLevel", recalcLevel); |
|
2239 | 2229 |
} |
2240 | 2230 |
|
2241 |
public static void registerPersistent() {
|
|
2231 |
public static void registerPersistence() {
|
|
2242 | 2232 |
PersistenceManager manager = ToolsLocator.getPersistenceManager(); |
2243 | 2233 |
DynStruct definition = manager.getDefinition(PERSISTENT_NAME); |
2244 | 2234 |
if( definition == null ) { |
... | ... | |
2249 | 2239 |
null, |
2250 | 2240 |
null |
2251 | 2241 |
); |
2252 |
definition.addDynFieldString("file").setMandatory(false); |
|
2253 |
definition.addDynFieldString("driverName").setMandatory(true); |
|
2254 |
definition.addDynFieldString("render").setMandatory(false); |
|
2242 |
definition.addDynFieldObject("render").setClassOfValue(Render.class).setMandatory(true); |
|
2243 |
definition.addDynFieldObject("status").setClassOfValue(StatusLayerRaster.class).setMandatory(false); |
|
2244 |
definition.addDynFieldObject("datastore").setClassOfValue(RasterDataStore.class).setMandatory(true); |
|
2245 |
definition.addDynFieldObject("legend").setClassOfValue(ILegend.class).setMandatory(false); |
|
2246 |
definition.addDynFieldList("rois").setClassOfItems(ROI.class).setMandatory(false); |
|
2247 |
definition.addDynFieldObject("colortable").setClassOfValue(ColorTable.class).setMandatory(false); |
|
2248 |
definition.addDynFieldInt("zommlevel").setMandatory(false); |
|
2249 |
definition.addDynFieldBoolean("recalcLevel").setMandatory(false); |
|
2255 | 2250 |
} |
2256 | 2251 |
} |
2257 | 2252 |
|
Also available in: Unified diff