Displaying differences for changeset
 
display as  

src/java/m/cfa/Flood_V1_0.java

@@ -1,74 +1,59 @@
 package m.cfa;
 
 import cfa.guiFlood_Model;
-import csip.AbstractModelService;
-import java.util.Map;
-import java.util.concurrent.Callable;
+import csip.ModelDataService;
 import javax.ws.rs.Path;
 import oms3.annotations.Description;
 import oms3.annotations.Name;
 import oms3.annotations.VersionInfo;
 import org.apache.commons.io.FileUtils;
-import org.codehaus.jettison.json.*;
-import csip.utils.JSONUtils;
-import csip.utils.Services;
 import java.io.File;
 
 @Name("flood")
 @Description("flood")
 @VersionInfo("1.0")
 @Path("m/cfa/flood/1.0")
-public class Flood_V1_0 extends AbstractModelService {
+public class Flood_V1_0 extends ModelDataService {
 
     guiFlood_Model model = new guiFlood_Model();
 
-    @Override
-    protected Callable<String> createCallable() throws Exception {
-        return new Callable<String>() {
-            @Override
-            public String call() throws Exception {
-                Map<String, JSONObject> m = getParamMap();
+     @Override
+    protected String process() throws Exception {
+        model.setMainFolder(getWorkspaceDir().toString());
+        model.setDatabase(getStringParam("database"));
+        model.setOrganizationName(getStringParam("org"));
+        model.setStationID(getStringParam("station_id"));
+        model.setStationName(getStringParam("station_name"));
+        model.setAnalysisType(getStringParam("analysis_type"));
+        model.setBeginDate(getStringParam("begin_date"));
+        model.setEndDate(getStringParam("end_date"));
+        model.setSkewness(getDoubleParam("skewness"));
+        model.setMeanSquareError(getDoubleParam("mean_square_error"));
+        model.setShowLargeFloods(getBooleanParam("show_large_floods"));
+        model.setPlotType(getBooleanParam("plot_type"));
+        model.setPlotReference(getBooleanParam("plot_ref"));
+        model.setUseSTORETretrieval(getBooleanParam("useSTORETretrieval"));
+        model.setSTORETdata(getStringParam("STORETdata"));
+        model.setMergeDatasets(getBooleanParam("merge_datasets"));
+        model.setMergeMethod(getStringParam("merge_method"));
+        model.setUserData(getStringParam("user_data"));
 
-                model.setMainFolder(getWorkspaceDir().toString());
-                model.setDatabase(m.get("database").getString(VALUE));
-                model.setOrganizationName(m.get("org").getString(VALUE));
-                model.setStationID(m.get("station_id").getString(VALUE));
-                model.setStationName(m.get("station_name").getString(VALUE));
-                model.setAnalysisType(m.get("analysis_type").getString(VALUE));
-                model.setBeginDate(m.get("begin_date").getString(VALUE));
-                model.setEndDate(m.get("end_date").getString(VALUE));
-                model.setSkewness(m.get("skewness").getDouble(VALUE));
-                model.setMeanSquareError(m.get("mean_square_error").getDouble(VALUE));
-                model.setShowLargeFloods(m.get("show_large_floods").getBoolean(VALUE));
-                model.setPlotType(m.get("plot_type").getBoolean(VALUE));
-                model.setPlotReference(m.get("plot_ref").getBoolean(VALUE));
-                model.setUseSTORETretrieval(m.get("useSTORETretrieval").getBoolean(VALUE));
-                model.setSTORETdata(m.get("STORETdata").getString(VALUE));
-                model.setMergeDatasets(m.get("merge_datasets").getBoolean(VALUE));
-                model.setMergeMethod(m.get("merge_method").getString(VALUE));
-                model.setUserData(m.get("user_data").getString(VALUE));
-
-                model.run();
-                return EXEC_OK;
-            }
-        };
+        model.run();
+        return EXEC_OK;
     }
 
     @Override
-    public File[] postprocess() throws Exception {
-        return Services.toFiles(model.getGraph());
-    }
+    protected void postProcess() throws Exception {
+        // files
+        putResult(new File(model.getGraph()));
 
-    @Override
-    protected JSONArray createResults() throws Exception {
+        // values
+        putResult("len", model.getLen());
+        putResult("start", model.getStart());
+        putResult("end", model.getEnd());
+        putResult("data_source", model.getDataSource());
         String output = FileUtils.readFileToString(model.getOutput());
-        JSONArray result = new JSONArray();
-        result.put(JSONUtils.data("len", model.getLen()));
-        result.put(JSONUtils.data("start", model.getStart()));
-        result.put(JSONUtils.data("end", model.getEnd()));
-        result.put(JSONUtils.data("data_source", model.getDataSource()));
-        result.put(JSONUtils.data("output", output));
-        result.put(JSONUtils.data("graph", model.getGraph()));
-        return result;
+        putResult("output", output);
+        putResult("graph", model.getGraph());
     }
 }