Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java @ 2095:8cb679d4ec49
Implemented initialize() in FloodMapState to enable cloning floodmaps.
flys-artifacts/trunk@3642 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Tue, 10 Jan 2012 11:50:01 +0000 |
parents | ebc2aa64c1be |
children | a78dafdd8590 |
comparison
equal
deleted
inserted
replaced
2094:22732713c54d | 2095:8cb679d4ec49 |
---|---|
38 import de.intevation.flys.artifacts.FLYSArtifact; | 38 import de.intevation.flys.artifacts.FLYSArtifact; |
39 import de.intevation.flys.artifacts.context.FLYSContext; | 39 import de.intevation.flys.artifacts.context.FLYSContext; |
40 import de.intevation.flys.artifacts.model.CalculationMessage; | 40 import de.intevation.flys.artifacts.model.CalculationMessage; |
41 import de.intevation.flys.artifacts.model.CalculationResult; | 41 import de.intevation.flys.artifacts.model.CalculationResult; |
42 import de.intevation.flys.artifacts.model.FacetTypes; | 42 import de.intevation.flys.artifacts.model.FacetTypes; |
43 import de.intevation.flys.artifacts.model.WMSLayerFacet; | |
43 import de.intevation.flys.artifacts.model.WQKms; | 44 import de.intevation.flys.artifacts.model.WQKms; |
44 import de.intevation.flys.artifacts.model.WSPLGENCalculation; | 45 import de.intevation.flys.artifacts.model.WSPLGENCalculation; |
45 import de.intevation.flys.artifacts.model.WSPLGENJob; | 46 import de.intevation.flys.artifacts.model.WSPLGENJob; |
46 import de.intevation.flys.artifacts.model.WSPLGENReportFacet; | 47 import de.intevation.flys.artifacts.model.WSPLGENReportFacet; |
47 import de.intevation.flys.artifacts.resources.Resources; | 48 import de.intevation.flys.artifacts.resources.Resources; |
65 | 66 |
66 public static final String KEEP_ARTIFACT_DIR = | 67 public static final String KEEP_ARTIFACT_DIR = |
67 System.getProperty("flys.uesk.keep.artifactsdir", "false"); | 68 System.getProperty("flys.uesk.keep.artifactsdir", "false"); |
68 | 69 |
69 | 70 |
71 public static final String OUTPUT_NAME = "floodmap"; | |
72 | |
70 public static final String WSP_ARTIFACT = "wsp"; | 73 public static final String WSP_ARTIFACT = "wsp"; |
71 | 74 |
72 public static final String WINFO_WSP_STATE_ID = "state.winfo.waterlevel"; | 75 public static final String WINFO_WSP_STATE_ID = "state.winfo.waterlevel"; |
73 | 76 |
74 public static final String WSPLGEN_PARAMETER_FILE = "wsplgen.par"; | 77 public static final String WSPLGEN_PARAMETER_FILE = "wsplgen.par"; |
81 public static final String WSPLGEN_OUTPUT_FILE = "wsplgen.shp"; | 84 public static final String WSPLGEN_OUTPUT_FILE = "wsplgen.shp"; |
82 | 85 |
83 public static final int WSPLGEN_DEFAULT_OUTPUT = 0; | 86 public static final int WSPLGEN_DEFAULT_OUTPUT = 0; |
84 | 87 |
85 | 88 |
89 /** | |
90 * @param orig | |
91 * @param owner | |
92 * @param context | |
93 * @param callMeta | |
94 */ | |
86 @Override | 95 @Override |
87 public void initialize(Artifact orig, Object context, CallMeta callMeta) { | 96 public void initialize( |
97 Artifact orig, | |
98 Artifact owner, | |
99 Object context, | |
100 CallMeta callMeta | |
101 ) { | |
88 logger.info("Initialize State with Artifact: " + orig.identifier()); | 102 logger.info("Initialize State with Artifact: " + orig.identifier()); |
89 } | 103 |
90 | 104 copyShapeDir(orig, owner); |
105 modifyFacets(orig, owner, context, callMeta); | |
106 | |
107 MapfileGenerator.getInstance().update(); | |
108 } | |
109 | |
110 | |
111 protected void copyShapeDir(Artifact orig, Artifact owner) { | |
112 File origDir = getDirectory((FLYSArtifact) orig); | |
113 File thisDir = getDirectory((FLYSArtifact) owner); | |
114 | |
115 FileTools.copyDirectory(origDir, thisDir); | |
116 } | |
117 | |
118 | |
119 protected void modifyFacets( | |
120 Artifact orig, | |
121 Artifact owner, | |
122 Object context, | |
123 CallMeta callMeta | |
124 ) { | |
125 FLYSArtifact flys = (FLYSArtifact) owner; | |
126 List<Facet> facets = flys.getFacets(); | |
127 if (facets == null || facets.size() == 0) { | |
128 logger.warn("No facets for '" + OUTPUT_NAME + "' given!"); | |
129 return; | |
130 } | |
131 | |
132 for (Facet facet: facets) { | |
133 if (facet instanceof WMSLayerFacet) { | |
134 WMSLayerFacet wms = (WMSLayerFacet) facet; | |
135 | |
136 List<String> layers = wms.getLayers(); | |
137 | |
138 for (String layer: layers) { | |
139 if (layer.startsWith(MapfileGenerator.MS_WSPLGEN_PREFIX)) { | |
140 wms.removeLayer(layer); | |
141 | |
142 String newLayer = MapfileGenerator.MS_WSPLGEN_PREFIX + | |
143 owner.identifier(); | |
144 | |
145 wms.addLayer(newLayer); | |
146 | |
147 logger.debug( | |
148 "Replaced layer: " + layer + " with " + newLayer); | |
149 } | |
150 } | |
151 } | |
152 } | |
153 } | |
91 | 154 |
92 | 155 |
93 @Override | 156 @Override |
94 public Object computeAdvance( | 157 public Object computeAdvance( |
95 FLYSArtifact artifact, | 158 FLYSArtifact artifact, |