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 |
|