Displaying differences for changeset
 
display as  

src/java/m/cfa/Drought_V1_0.java

@@ -2,15 +2,10 @@
 
 import cfa.guiDrought_Model;
 import csip.ModelDataService;
-import java.util.Map;
-import java.util.concurrent.Callable;
 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.utils.Services;
 import java.io.File;
 import org.apache.commons.io.FileUtils;
 

src/java/m/cfa/DurationCurve_V1_0.java

@@ -1,111 +1,94 @@
 package m.cfa;
 
 import cfa.guiDC_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.codehaus.jettison.json.*;
-import csip.utils.JSONUtils;
-import csip.utils.Services;
 import java.io.File;
 
 @Name("durationcurve")
 @Description("durationcurve")
 @VersionInfo("1.0")
 @Path("m/cfa/durationcurve/1.0")
-public class DurationCurve_V1_0 extends AbstractModelService {
+public class DurationCurve_V1_0 extends ModelDataService {
 
     guiDC_Model model = new guiDC_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.setWaterQualityTest(getStringParam("wq_test"));
+        model.setWaterQualityTarget(getDoubleParam("wq_target"));
+        model.setBeginDate(getStringParam("begin_date"));
+        model.setEndDate(getStringParam("end_date"));
+        model.setSeasonBegin(getStringParam("season_begin"));
+        model.setSeasonEnd(getStringParam("season_end"));
+        model.setSeasonalAnalysisOnlyTF(getBooleanParam("seasonal_only"));
+        model.setPeriod1Begin(getStringParam("period1_begin"));
+        model.setPeriod1End(getStringParam("period1_end"));
+        model.setPeriod2Begin(getStringParam("period2_begin"));
+        model.setPeriod2End(getStringParam("period2_end"));
+        model.setPeriod3Begin(getStringParam("period3_begin"));
+        model.setPeriod3End(getStringParam("period3_end"));
+        model.setHighPercentile(getDoubleParam("highPercentile"));
+        model.setLowPercentile(getDoubleParam("lowPercentile"));
+        model.setShowMonthlyStatsTF(getBooleanParam("showMonthlyStatsTF"));
+        model.setCalcFlowStatisticsFileTF(getBooleanParam("calcFlowStatisticsFileTF"));
+        model.setMQNperiod(getStringParam("mqn_period"));
+        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.setWaterQualityTest(m.get("wq_test").getString(VALUE));
-                model.setWaterQualityTarget(m.get("wq_target").getDouble(VALUE));
-                model.setBeginDate(m.get("begin_date").getString(VALUE));
-                model.setEndDate(m.get("end_date").getString(VALUE));
-                model.setSeasonBegin(m.get("season_begin").getString(VALUE));
-                model.setSeasonEnd(m.get("season_end").getString(VALUE));
-                model.setSeasonalAnalysisOnlyTF(m.get("seasonal_only").getBoolean(VALUE));
-                model.setPeriod1Begin(m.get("period1_begin").getString(VALUE));
-                model.setPeriod1End(m.get("period1_end").getString(VALUE));
-                model.setPeriod2Begin(m.get("period2_begin").getString(VALUE));
-                model.setPeriod2End(m.get("period2_end").getString(VALUE));
-                model.setPeriod3Begin(m.get("period3_begin").getString(VALUE));
-                model.setPeriod3End(m.get("period3_end").getString(VALUE));
-                model.setHighPercentile(m.get("highPercentile").getDouble(VALUE));
-                model.setLowPercentile(m.get("lowPercentile").getDouble(VALUE));
-                model.setShowMonthlyStatsTF(m.get("showMonthlyStatsTF").getBoolean(VALUE));
-                model.setCalcFlowStatisticsFileTF(m.get("calcFlowStatisticsFileTF").getBoolean(VALUE));
-                model.setMQNperiod(m.get("mqn_period").getString(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 {
+    protected void postProcess() throws Exception {
+        // files
         if(model.getCalcFlowStatisticsFileTF()){
-            return Services.toFiles(model.getGraph(),
-                                model.getDurationCurve_results().getName(),
-                                model.getFlowStatistics_summary().getName(),
-                                //Below are the result graph files for use by JHighCharts on eRAMS for duplicating the above graphs
-                                model.getDCgraphOutput().getName());
+            putResult(new File(model.getGraph()),
+                model.getDurationCurve_results(),
+                model.getFlowStatistics_summary(),
+                //Below are the result graph files for use by JHighCharts on eRAMS for duplicating the above graphs
+                model.getDCgraphOutput());
         }else{
-            return Services.toFiles(model.getGraph(),
-                                model.getDurationCurve_results().getName(),
-                                //Below are the result graph files for use by JHighCharts on eRAMS for duplicating the above graphs
-                                model.getDCgraphOutput().getName());
+            putResult(new File(model.getGraph()),
+                model.getDurationCurve_results(),
+                //Below are the result graph files for use by JHighCharts on eRAMS for duplicating the above graphs
+                model.getDCgraphOutput());
         }
-        
-    }
 
-    @Override
-    protected JSONArray createResults() throws Exception {
-        JSONArray result = new JSONArray();
-        result.put(JSONUtils.data("flow_len", model.getFlowLen()));
-        result.put(JSONUtils.data("flow_median", model.getMedian()));
-        result.put(JSONUtils.data("flow_mean", model.getMean()));
-        result.put(JSONUtils.data("flow_len_period1", model.getFlowLen_period1()));
-        result.put(JSONUtils.data("flow_len_period2", model.getFlowLen_period2()));
-        result.put(JSONUtils.data("flow_len_period3", model.getFlowLen_period3()));
-        result.put(JSONUtils.data("wq_len", model.getWQLen()));
-        result.put(JSONUtils.data("wq_units", model.getWQUnits()));
-        result.put(JSONUtils.data("start", model.getStart()));
-        result.put(JSONUtils.data("end", model.getEnd()));
-        result.put(JSONUtils.data("duration_curve_summary", model.getSummaryParagraph()));
-        result.put(JSONUtils.data("duration_curve_table", model.getSummaryTable()));
-        result.put(JSONUtils.data("data_source", model.getDataSource()));
-        result.put(JSONUtils.data("mqn_val", model.getMQNval()));
-        result.put(JSONUtils.data("low_flow_error_message", model.getLowFlowErrorMessage()));
-        result.put(JSONUtils.data("graph", model.getGraph()));
-        result.put(JSONUtils.data("result_file", model.getDurationCurve_results().getName()));
-        result.put(JSONUtils.data("flow_statistics_summary",model.getFlowStatistics_summary().getName()));
+        // values
+        putResult("flow_len", model.getFlowLen());
+        putResult("flow_median", model.getMedian());
+        putResult("flow_mean", model.getMean());
+        putResult("flow_len_period1", model.getFlowLen_period1());
+        putResult("flow_len_period2", model.getFlowLen_period2());
+        putResult("flow_len_period3", model.getFlowLen_period3());
+        putResult("wq_len", model.getWQLen());
+        putResult("wq_units", model.getWQUnits());
+        putResult("start", model.getStart());
+        putResult("end", model.getEnd());
+        putResult("duration_curve_summary", model.getSummaryParagraph());
+        putResult("duration_curve_table", model.getSummaryTable());
+        putResult("data_source", model.getDataSource());
+        putResult("mqn_val", model.getMQNval());
+        putResult("low_flow_error_message", model.getLowFlowErrorMessage());
+        putResult("graph", model.getGraph());
+        putResult("result_file", model.getDurationCurve_results().getName());
+        putResult("flow_statistics_summary",model.getFlowStatistics_summary().getName());
         
         //Get result files for JSHighCharts
         String graphDataFiles = model.getDCgraphOutput().getName();
-        result.put(JSONUtils.data("graph_data_files", graphDataFiles));
-        return result;
+        putResult("graph_data_files", graphDataFiles);
     }
-
 }