Displaying differences for changeset
 
display as  

src/java/m/cfa/Timeseries15min_V1_0.java

@@ -1,79 +1,64 @@
 package m.cfa;
 
 import cfa.gui15minTimeseries_Model;
-import java.util.Map;
-import java.util.concurrent.Callable;
+import csip.ModelDataService;
+import java.io.File;
 import javax.ws.rs.Path;
 import oms3.annotations.Description;
 import oms3.annotations.Name;
 import oms3.annotations.VersionInfo;
-import org.codehaus.jettison.json.*;
-import csip.utils.JSONUtils;
-import csip.AbstractModelService;
-import csip.utils.Services;
-import java.io.File;
 
 @Name("timeseries15min")
 @Description("timeseries15min")
 @VersionInfo("1.0")
 @Path("m/cfa/timeseries15min/1.0")
-public class Timeseries15min_V1_0 extends AbstractModelService {
+public class Timeseries15min_V1_0 extends ModelDataService {
 
     gui15minTimeseries_Model model = new gui15minTimeseries_Model();
 
     @Override
-    protected Callable<String> createCallable() throws Exception {
-        return new Callable<String>() {
-            @Override
-            public String call() throws Exception {
-                Map<String, JSONObject> m = getParamMap();
+    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.setBeginDate(getStringParam("begin_date"));
+        model.setEndDate(getStringParam("end_date"));
+        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.setBeginDate(m.get("begin_date").getString(VALUE));
-                model.setEndDate(m.get("end_date").getString(VALUE));
-                model.setUserData(m.get("user_data").getString(VALUE));
-                model.setMergeDatasets(m.get("merge_datasets").getBoolean(VALUE));
-                model.setMergeMethod(m.get("merge_method").getString(VALUE));
-                
-                model.run();
-                return EXEC_OK;
-            }
-        };
+        model.run();
+        return EXEC_OK;
     }
     
     @Override
-    public File[] postprocess() throws Exception {
-        return Services.toFiles(model.getGraph(),
-                                model.getOutputSummary().getName(),
-                                //Below are the result graph files for use by JHighCharts on eRAMS for duplicating the above graphs
-                                model.getTimeseriesOutput().getName());
-    }
-     
-    @Override
-    protected JSONArray createResults() throws Exception {
-        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("units", model.getUnits()));
-        result.put(JSONUtils.data("data_source", model.getDataSource()));
+    protected void postProcess() throws Exception {
+        // files
+        putResult(new File(model.getGraph()),
+                model.getOutputSummary(),
+                //Below are the result graph files for use by JHighCharts on eRAMS for duplicating the above graphs
+                model.getTimeseriesOutput());
+
+        // values
+        putResult("len", model.getLen());
+        putResult("start", model.getStart());
+        putResult("end", model.getEnd());
+        putResult("units", model.getUnits());
+        putResult("data_source", model.getDataSource());
         //Get all data results
-        result.put(JSONUtils.data("max", model.getMax()));
-        result.put(JSONUtils.data("min", model.getMin()));
-        result.put(JSONUtils.data("range", model.getRange()));
-        result.put(JSONUtils.data("mean", model.getMean()));
-        result.put(JSONUtils.data("standardDeviation", model.getStandardDeviation()));
+        putResult("max", model.getMax());
+        putResult("min", model.getMin());
+        putResult("range", model.getRange());
+        putResult("mean", model.getMean());
+        putResult("standardDeviation", model.getStandardDeviation());
         //Get other results
-        result.put(JSONUtils.data("graph", model.getGraph()));
-        result.put(JSONUtils.data("resultSummary", model.getOutputSummary().getName()));
+        putResult("graph", model.getGraph());
+        putResult("resultSummary", model.getOutputSummary().getName());
         
         //Get result files for JSHighCharts
         String graphDataFiles = model.getTimeseriesOutput().getName();
-        result.put(JSONUtils.data("graph_data_files", graphDataFiles));
-        return result;
+        putResult("graph_data_files", graphDataFiles);
     }
 }