diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java @ 1149:64b465699a24

Added an Output target for WSPLGEN reports that will be available when an WSPLGEN calculation is finished. flys-artifacts/trunk@2680 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Thu, 08 Sep 2011 14:42:36 +0000
parents c07e9e9c7482
children efe1b8545f5c
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java	Thu Sep 08 11:29:04 2011 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/FloodMapState.java	Thu Sep 08 14:42:36 2011 +0000
@@ -7,8 +7,6 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.xml.xpath.XPathConstants;
-
 import com.vividsolutions.jts.geom.Coordinate;
 import com.vividsolutions.jts.geom.Geometry;
 import com.vividsolutions.jts.geom.LineString;
@@ -27,7 +25,6 @@
 import de.intevation.artifacts.Artifact;
 import de.intevation.artifacts.CallContext;
 
-import de.intevation.artifacts.common.utils.Config;
 import de.intevation.artifacts.common.utils.FileTools;
 
 import de.intevation.artifactdatabase.state.Facet;
@@ -42,7 +39,9 @@
 import de.intevation.flys.artifacts.model.FacetTypes;
 import de.intevation.flys.artifacts.model.WQKms;
 import de.intevation.flys.artifacts.model.WMSLayerFacet;
+import de.intevation.flys.artifacts.model.WSPLGENCalculation;
 import de.intevation.flys.artifacts.model.WSPLGENJob;
+import de.intevation.flys.artifacts.model.WSPLGENReportFacet;
 import de.intevation.flys.artifacts.states.DefaultState.ComputeType;
 import de.intevation.flys.exports.WstWriter;
 import de.intevation.flys.utils.FLYSUtils;
@@ -97,7 +96,13 @@
             return null;
         }
 
-        WSPLGENJob job = prepareWSPLGENJob(artifact, artifactDir, context);
+        WSPLGENCalculation calculation = new WSPLGENCalculation();
+
+        WSPLGENJob job = prepareWSPLGENJob(
+            artifact,
+            artifactDir,
+            context,
+            calculation);
 
         if (job == null) {
             if (KEEP_ARTIFACT_DIR.equals("false")) {
@@ -146,8 +151,13 @@
         barriers.setSrid(srid);
         barriers.setExtent(GeometryUtils.getRiverBounds(river));
 
+        CalculationResult  res   = new CalculationResult(null, calculation);
+        WSPLGENReportFacet report= new WSPLGENReportFacet(
+            ComputeType.ADVANCE, hash, getID(), res);
+
         facets.add(wsplgen);
         facets.add(barriers);
+        facets.add(report);
 
         context.afterCall(CallContext.BACKGROUND);
 
@@ -204,14 +214,20 @@
 
 
     protected WSPLGENJob prepareWSPLGENJob(
-        FLYSArtifact artifact,
-        File         artifactDir,
-        CallContext  context
+        FLYSArtifact       artifact,
+        File               artifactDir,
+        CallContext        context,
+        WSPLGENCalculation calculation
     ) {
         logger.debug("FloodMapState.prepareWSPLGENJob");
 
-        WSPLGENJob job = new WSPLGENJob(artifact, artifactDir, context);
-        File  paraFile = new File(artifactDir, WSPLGEN_PARAMETER_FILE);
+        WSPLGENJob job = new WSPLGENJob(
+            artifact,
+            artifactDir,
+            context,
+            calculation);
+
+        File paraFile = new File(artifactDir, WSPLGEN_PARAMETER_FILE);
 
         setOut(artifact, job);
         setRange(artifact, job);

http://dive4elements.wald.intevation.org