Displaying differences for changeset
 
display as  

src/java/cfa/guiDownload_Data.java

@@ -10,7 +10,7 @@
 import java.util.Date;
 
 /**
-* Last Updated: 15-September-2014
+* Last Updated: 4-February-2015
 * @author Tyler Wible
 * @since 21-June-2012
 */
@@ -22,6 +22,8 @@
     String wqTest = "flow";//"00600";//"Nitrogen, Nitrate (NO3) as NO3";//"Fecal Coliform";//"15-min flow";//"stage-discharge";//
     String beginDate = "";
     String endDate = "";
+    boolean useSTORETretrieval = true;//false;//
+    String STORETdata = "";//"Date\tFlow\n1999-04-29\t8.3\n1999-05-09\t60.2\n1999-05-29\t20.1";//
     
     
     //Outputs
@@ -62,6 +64,12 @@
     public void setEndDate(String endDate) {
         this.endDate = endDate;
     }
+    public void setUseSTORETretrieval(boolean useSTORETretrieval) {
+        this.useSTORETretrieval = useSTORETretrieval;
+    }
+    public void setSTORETdata(String STORETdata) {
+        this.STORETdata = STORETdata;
+    }
     /**
      * Main CDWR data download subroutine
      * @return  an ArrayList<String> containing the result file of the download request
@@ -114,9 +122,6 @@
      * @throws IOException 
      */
     private ArrayList<String> downloadSTORETdata() throws IOException{
-        STORET_Data storet_Data = new STORET_Data();
-        ArrayList<String> textData = new ArrayList<String>();
-        
         //Determine the type of download for STORET: flow, water quality (individual test)
         if(wqTest.equalsIgnoreCase("Flood Flow")){
             //Since STORET doesn't have annual flood flow values, just return normal flow data to the user
@@ -132,10 +137,24 @@
             errorMessage.add("There is no available stage-discharge data available for the STORET database. This feature is only available for stations in the USGS NWIS database.");
             writeError(errorMessage);
         }
-        String zip_location = storet_Data.downloadSTORET(mainFolder, organizationName, stationID, wqTest, beginDate, endDate);
+        
+        //Search for STORET flow data
+        ArrayList<String> textData = new ArrayList<String>();
+        if(useSTORETretrieval){
+            //Search the STORET database using the built in functions (slow)
+            System.out.println("Calling STORET download...");
+            STORET_Data storet_Data = new STORET_Data();
+            String zip_location = storet_Data.downloadSTORET(mainFolder, organizationName, stationID, wqTest, beginDate, endDate);
 
-        //Unzip results file and extract all flow data
-        textData = storet_Data.Unzip_STORETDownloadFilesAll(zip_location);
+            //Unzip results file and extract all data
+            textData = storet_Data.Unzip_STORETDownloadFilesAll(zip_location);
+        }else{
+            //Parse the data provided (much quicker)
+            String[] STORETdata_rows = STORETdata.split("\n");
+            for(int i=0; i<STORETdata_rows.length; i++){
+                textData.add(STORETdata_rows[i]);
+            }
+        }
         
         return textData;
     }

src/java/m/cfa/Download_V1_0.java

@@ -35,6 +35,8 @@
                 model.setWaterQualityTest(m.get("wq_test").getString(VALUE));
                 model.setBeginDate(m.get("begin_date").getString(VALUE));
                 model.setEndDate(m.get("end_date").getString(VALUE));
+                model.setUseSTORETretrieval(m.get("useSTORETretrieval").getBoolean(VALUE));
+                model.setSTORETdata(m.get("STORETdata").getString(VALUE));
 
                 model.run();
                 return EXEC_OK;

src/java/m/cfa/Download_V1_0Req.json

@@ -22,6 +22,16 @@
       "value": "flow"
     },
     {
+      "name": "useSTORETretrieval",
+      "description": "If true, a flag that if true uses this tool's built in STORET data retrieval. If false, it uses the data provided for the STORET station in 'STORETdata' which is intended for use by eRAMS only.",
+      "value": true
+    },
+    {
+      "name": "STORETdata",
+      "description": "String containing user uploaded data with one line header, first column dates (yyyy-mm-dd format), second column values in a tab-delimited format. Only used if useSTORETretrieval == 'false' and database == 'STORET'.",
+      "value": ""
+    },
+    {
       "name": "begin_date",
       "description": "Begin date of data analysis, blank or formatted yyyy-MM-dd",
       "value": ""