Displaying differences for changeset
 
display as  

nbproject/project.properties

@@ -1,102 +1,90 @@
+#Fri Feb 05 09:59:21 MST 2016
+javadoc.splitindex=true
+lib.dir=${web.docbase.dir}/WEB-INF/lib
+auxiliary.org-netbeans-modules-css-prep.sass_2e_mappings=/scss\:/css
+build.classes.excludes=**/*.java,**/*.form
+javadoc.author=false
+j2ee.platform=1.6-web
+dist.war=${dist.dir}/${war.name}
+javac.target=1.8
+build.generated.dir=${build.dir}/generated
+resource.dir=setup
+build.web.excludes=${build.classes.excludes}
+war.ear.name=${war.name}
+j2ee.compile.on.save=false
+j2ee.platform.classpath=${j2ee.server.home}/lib/annotations-api.jar\:${j2ee.server.home}/lib/catalina-ant.jar\:${j2ee.server.home}/lib/catalina-ha.jar\:${j2ee.server.home}/lib/catalina-storeconfig.jar\:${j2ee.server.home}/lib/catalina-tribes.jar\:${j2ee.server.home}/lib/catalina.jar\:${j2ee.server.home}/lib/ecj-4.4.2.jar\:${j2ee.server.home}/lib/el-api.jar\:${j2ee.server.home}/lib/jasper-el.jar\:${j2ee.server.home}/lib/jasper.jar\:${j2ee.server.home}/lib/jsp-api.jar\:${j2ee.server.home}/lib/servlet-api.jar\:${j2ee.server.home}/lib/tomcat-api.jar\:${j2ee.server.home}/lib/tomcat-coyote.jar\:${j2ee.server.home}/lib/tomcat-dbcp.jar\:${j2ee.server.home}/lib/tomcat-i18n-es.jar\:${j2ee.server.home}/lib/tomcat-i18n-fr.jar\:${j2ee.server.home}/lib/tomcat-i18n-ja.jar\:${j2ee.server.home}/lib/tomcat-jdbc.jar\:${j2ee.server.home}/lib/tomcat-jni.jar\:${j2ee.server.home}/lib/tomcat-util-scan.jar\:${j2ee.server.home}/lib/tomcat-util.jar\:${j2ee.server.home}/lib/tomcat-websocket.jar\:${j2ee.server.home}/lib/websocket-api.jar
+debug.test.classpath=${run.test.classpath}
+build.dir=build
+javac.deprecation=false
+persistence.xml.dir=${conf.dir}
+j2ee.copy.static.files.on.save=false
+auxiliary.org-netbeans-modules-css-prep.less_2e_mappings=/less\:/css
+test.src.dir=test
+auxiliary.org-netbeans-modules-css-prep.sass_2e_compiler_2e_options=
+junit.selected.version=4
+includes=**
+jar.compress=false
+annotation.processing.processors.list=
+javadoc.version=false
+build.classes.dir=${build.web.dir}/WEB-INF/classes
+dist.dir=dist
+project.csip-core=../csip-core
+rest.config.type=ide
+javac.source=1.8
+javac.debug=true
+javac.test.processorpath=${javac.test.classpath}
+run.test.classpath=${javac.test.classpath}\:${build.test.classes.dir}
+build.generated.sources.dir=${build.dir}/generated-sources
+auxiliary.org-netbeans-modules-css-prep.less_2e_enabled=false
+javadoc.notree=false
+source.root=src
+runmain.jvmargs=
+platform.active=default_platform
+javadoc.preview=true
+j2ee.deploy.on.save=false
 annotation.processing.enabled=true
+war.content.additional=
+dist.javadoc.dir=${dist.dir}/javadoc
+client.urlPart=
+javadoc.additionalparam=
+javac.classpath=${libs.CSIP-Jersey-2.16.classpath}\:${reference.csip-core.jar}\:${file.reference.commons-math-2.0.jar}\:${file.reference.jcommon-1.0.16.jar}\:${file.reference.jfreechart-1.0.13.jar}\:${file.reference.velocity-1.7-dep.jar}
+javadoc.noindex=false
+webinf.dir=web/WEB-INF
 annotation.processing.enabled.in.editor=true
-annotation.processing.processors.list=
+javadoc.private=false
+javadoc.encoding=${source.encoding}
+build.test.classes.dir=${build.dir}/test/classes
+reference.csip-core.jar=${project.csip-core}/dist/csip-core.jar
+auxiliary.org-netbeans-modules-css-prep.less_2e_compiler_2e_options=
+web.docbase.dir=web
+javac.compilerargs=
+file.reference.velocity-1.7-dep.jar=lib/velocity-1.7-dep.jar
+auxiliary.org-netbeans-modules-web-clientproject-api.js_2e_libs_2e_folder=js/libs
+auxiliary.org-netbeans-modules-css-prep.sass_2e_enabled=false
+source.encoding=UTF-8
+file.reference.commons-math-2.0.jar=lib/commons-math-2.0.jar
+dist.ear.war=${dist.dir}/${war.ear.name}
+j2ee.server.type=Tomcat
+file.reference.jfreechart-1.0.13.jar=lib/jfreechart-1.0.13.jar
+conf.dir=${source.root}/conf
 annotation.processing.run.all.processors=true
-annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
-auxiliary.org-netbeans-modules-css-prep.less_2e_compiler_2e_options=
-auxiliary.org-netbeans-modules-css-prep.less_2e_enabled=false
-auxiliary.org-netbeans-modules-css-prep.less_2e_mappings=/less:/css
-auxiliary.org-netbeans-modules-css-prep.sass_2e_compiler_2e_options=
-auxiliary.org-netbeans-modules-css-prep.sass_2e_enabled=false
-auxiliary.org-netbeans-modules-css-prep.sass_2e_mappings=/scss:/css
-auxiliary.org-netbeans-modules-web-clientproject-api.js_2e_libs_2e_folder=js/libs
-build.classes.dir=${build.web.dir}/WEB-INF/classes
-build.classes.excludes=**/*.java,**/*.form
-build.dir=build
-build.generated.dir=${build.dir}/generated
-build.generated.sources.dir=${build.dir}/generated-sources
-build.test.classes.dir=${build.dir}/test/classes
+compile.jsps=false
+excludes=
+javac.processorpath=${javac.classpath}
 build.test.results.dir=${build.dir}/test/results
+display.browser=false
+endorsed.classpath=${libs.javaee-endorsed-api-6.0.classpath}
+javadoc.use=true
 build.web.dir=${build.dir}/web
-build.web.excludes=${build.classes.excludes}
-client.urlPart=
-compile.jsps=false
-conf.dir=${source.root}/conf
-debug.classpath=${build.classes.dir}:${javac.classpath}
-debug.test.classpath=\
-    ${run.test.classpath}
-display.browser=false
-dist.dir=dist
-dist.ear.war=${dist.dir}/${war.ear.name}
-dist.javadoc.dir=${dist.dir}/javadoc
-dist.war=${dist.dir}/${war.name}
-endorsed.classpath=\
-    ${libs.javaee-endorsed-api-6.0.classpath}
-excludes=
-file.reference.commons-math-2.0.jar=lib/commons-math-2.0.jar
+javadoc.nonavbar=false
+war.name=csip-groundwater.war
 file.reference.jcommon-1.0.16.jar=lib/jcommon-1.0.16.jar
-file.reference.jfreechart-1.0.13.jar=lib/jfreechart-1.0.13.jar
-file.reference.velocity-1.7-dep.jar=lib/velocity-1.7-dep.jar
-includes=**
-j2ee.compile.on.save=false
-j2ee.copy.static.files.on.save=false
-j2ee.deploy.on.save=false
-j2ee.platform=1.6-web
-j2ee.platform.classpath=${j2ee.server.home}/lib/annotations-api.jar:${j2ee.server.home}/lib/catalina-ant.jar:${j2ee.server.home}/lib/catalina-ha.jar:${j2ee.server.home}/lib/catalina-storeconfig.jar:${j2ee.server.home}/lib/catalina-tribes.jar:${j2ee.server.home}/lib/catalina.jar:${j2ee.server.home}/lib/ecj-4.4.2.jar:${j2ee.server.home}/lib/el-api.jar:${j2ee.server.home}/lib/jasper-el.jar:${j2ee.server.home}/lib/jasper.jar:${j2ee.server.home}/lib/jsp-api.jar:${j2ee.server.home}/lib/servlet-api.jar:${j2ee.server.home}/lib/tomcat-api.jar:${j2ee.server.home}/lib/tomcat-coyote.jar:${j2ee.server.home}/lib/tomcat-dbcp.jar:${j2ee.server.home}/lib/tomcat-i18n-es.jar:${j2ee.server.home}/lib/tomcat-i18n-fr.jar:${j2ee.server.home}/lib/tomcat-i18n-ja.jar:${j2ee.server.home}/lib/tomcat-jdbc.jar:${j2ee.server.home}/lib/tomcat-jni.jar:${j2ee.server.home}/lib/tomcat-util-scan.jar:${j2ee.server.home}/lib/tomcat-util.jar:${j2ee.server.home}/lib/tomcat-websocket.jar:${j2ee.server.home}/lib/websocket-api.jar
-j2ee.server.type=Tomcat
-jar.compress=false
-javac.classpath=\
-    ${libs.CSIP-Jersey-2.16.classpath}:\
-    ${reference.csip-core.jar}:\
-    ${file.reference.commons-math-2.0.jar}:\
-    ${file.reference.jcommon-1.0.16.jar}:\
-    ${file.reference.jfreechart-1.0.13.jar}:\
-    ${file.reference.velocity-1.7-dep.jar}
-# Space-separated list of extra javac options
-javac.compilerargs=
-javac.debug=true
-javac.deprecation=false
-javac.processorpath=\
-    ${javac.classpath}
-javac.source=1.8
-javac.target=1.8
+javadoc.windowtitle=
 javac.test.classpath=\
     ${javac.classpath}:\
     ${build.classes.dir}:\
-    ${libs.junit_4.classpath}
-javac.test.processorpath=\
-    ${javac.test.classpath}
-javadoc.additionalparam=
-javadoc.author=false
-javadoc.encoding=${source.encoding}
-javadoc.noindex=false
-javadoc.nonavbar=false
-javadoc.notree=false
-javadoc.preview=true
-javadoc.private=false
-javadoc.splitindex=true
-javadoc.use=true
-javadoc.version=false
-javadoc.windowtitle=
-lib.dir=${web.docbase.dir}/WEB-INF/lib
-persistence.xml.dir=${conf.dir}
-platform.active=default_platform
-project.csip-core=../csip-core
-reference.csip-core.jar=${project.csip-core}/dist/csip-core.jar
-resource.dir=setup
-rest.config.type=ide
-run.test.classpath=\
-    ${javac.test.classpath}:\
-    ${build.test.classes.dir}
-# Space-separated list of JVM arguments used when running a class with a main method or a unit test
-# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value):
-runmain.jvmargs=
-source.encoding=UTF-8
-source.root=src
+    ${libs.junit_4.classpath}:\
+    ${libs.hamcrest.classpath}
 src.dir=${source.root}/java
-test.src.dir=test
-war.content.additional=
-war.ear.name=${war.name}
-war.name=csip-groundwater.war
-web.docbase.dir=web
-webinf.dir=web/WEB-INF
+annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
+debug.classpath=${build.classes.dir}\:${javac.classpath}

src/java/groundwater/DoubleArray.java

@@ -1,4 +1,5 @@
 package groundwater;
+
 import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
@@ -9,47 +10,11 @@
 import java.util.Arrays;
 import java.util.Calendar;
 import java.util.Collections;
-import java.util.Comparator;
 import java.util.Date;
 import java.util.GregorianCalendar;
 
-class DateComparator implements Comparator<String[]>{
-    //Compares the first entry of sorted data as flow values and sorts largest to smallest
-    public int compare(final String[] entry1, final String[] entry2) {
-        String value1 = entry1[0];
-        String value2 = entry2[0];
-        int comparison = value1.compareTo(value2);
-        if(comparison>0){
-            return 1;
-        }else if(comparison<0){
-            return -1;
-        }else{
-            return 0;
-        }
-    }
-}
-class FlowComparator implements Comparator<String[]>{
-    //Compares the second entry of sorted data as flow values and sorts largest to smallest
-    public int compare(final String[] entry1, final String[] entry2) {
-        double value1 = 0;
-        double value2 = 0;
-        try{
-            value1 = Double.parseDouble(entry1[1]);
-            value2 = Double.parseDouble(entry2[1]);
-        }catch(NumberFormatException e){
-            e.printStackTrace();
-        }
-        if (value1 > value2){
-            return -1;
-        }else if (value1 < value2){
-            return 1;
-        }else{
-            return 0;
-        }
-    }
-}
 /**
-* Last Updated: 1-July-2015
+* Last Updated: 5-February-2016
 * @author Tyler Wible
 * @since 21-June-2012
 */
@@ -1034,7 +999,7 @@
         return peakFlowData;
     }
     /**
-     * Computes the daily/monthly/yearly max/min/average/total of the daily dataset provided
+     * Computes the daily/monthly/yearly max/min/average/total of the daily dataset provided (requires previously sorted data by date)
      * @param dailyData  a string array with column1 = dates (yyyy-mm-dd format), column2 = value
      * @param timeStep  the desired timestep "daily", "monthly", or "yearly"
      * @param method  the desired method "max", "min", "average", or "total"
@@ -1066,7 +1031,7 @@
     }
     /**
      * Computes the method on the dailyData provided substring-ing the dates from 0-dateLimit to 
-     * get a unique set of time periods on which to perform the method
+     * get a unique set of time periods on which to perform the method (requires previously sorted data by date)
      * @param dailyData  a string array with column1 = dates (yyyy-mm-dd format), column2 = value
      * @param method  the desired method "max", "min", "average", or "total"
      * @param dateLimit  an integer for the limit of the date substring (typically 4 or 7 for the 
@@ -1103,13 +1068,13 @@
                 //If current data != current month, calculate method on the current month's dataset, save the result and reset the dataset
                 newData[ctr][0] = uniqueTimeStep.get(ctr);
                 if(method.equalsIgnoreCase("max")){
-                        newData[ctr][1] = String.valueOf(doubleMath.max(currentMonthData));
+                    newData[ctr][1] = String.valueOf(doubleMath.max(currentMonthData));
                 }else if(method.equalsIgnoreCase("average")){
-                        newData[ctr][1] = String.valueOf(doubleMath.meanArithmetic(currentMonthData));
+                    newData[ctr][1] = String.valueOf(doubleMath.meanArithmetic(currentMonthData));
                 }else if(method.equalsIgnoreCase("min")){
-                        newData[ctr][1] = String.valueOf(doubleMath.min(currentMonthData));
+                    newData[ctr][1] = String.valueOf(doubleMath.min(currentMonthData));
                 }else if(method.equalsIgnoreCase("total")){
-                        newData[ctr][1] = String.valueOf(doubleMath.sum(currentMonthData));
+                    newData[ctr][1] = String.valueOf(doubleMath.sum(currentMonthData));
                 }
 
                 //Reset the dataset and add the current data to it as the new month's data

src/java/groundwater/DoubleMath.java

@@ -8,7 +8,7 @@
 import org.apache.commons.math.analysis.polynomials.PolynomialSplineFunction;
 
 /**
-* Last Updated: 13-July-2015
+* Last Updated: 5-February-2016
 * @author Tyler Wible
 * @since 21-June-2012
 */
@@ -363,7 +363,7 @@
             percentile = array[0];
         }else if(Double.compare(percentile_type, 0.5) == 0){
             //Find median of dataset
-            percentile = Median(array);
+            percentile = median(array);
         }else{
             //Find rank of the desired percentile
             double rank = percentile_type*(array.length + 1);//ex: 0.95*(n + 1) = rank of 95th percentile
@@ -413,13 +413,13 @@
     * @param array  input list data for median
     * @return median of the dataset.
     */
-    public double Median(double[] array){
+    public double median(double[] array){
         //sort dataset before calculating median
         Arrays.sort(array);
         
         //Find the median
         int midpoint = (array.length)/2;
-        double median = 0;
+        double median = -9999;
         if(array.length == 0){
             median = -9999;
         }else if(array.length%2 == 1){
@@ -434,9 +434,9 @@
     * @param array  input list data for median
     * @return median of the dataset.
     */
-    public double Median(ArrayList<Double> array){
+    public double median(ArrayList<Double> array){
         double[] newArray = convertArray(array);
-        double median = Median(newArray);
+        double median = median(newArray);
         return median;
     }
     /**

src/java/groundwater/Graphing.java

@@ -16,11 +16,8 @@
 import org.jfree.chart.plot.XYPlot;
 import org.jfree.chart.renderer.xy.XYItemRenderer;
 import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
-import org.jfree.data.time.Day;
-import org.jfree.data.time.Month;
 import org.jfree.data.time.TimeSeries;
 import org.jfree.data.time.TimeSeriesCollection;
-import org.jfree.data.time.Year;
 import org.jfree.data.xy.XYDataset;
 import org.jfree.data.xy.XYSeries;
 import org.jfree.data.xy.XYSeriesCollection;
@@ -29,16 +26,16 @@
 import org.jfree.ui.TextAnchor;
 
 /**
-* Last Updated: 16-December-2014
+* Last Updated: 5-February-2016
 * @author Tyler Wible
 * @since 3-February-2014
 */
 public class Graphing {
     private String fontFamily = "SansSerif";
-    Font titleFont = new Font(fontFamily, Font.BOLD, 30);
-    Font masterFont = new Font(fontFamily, Font.PLAIN, 22);
-    Font DClabelFont = new Font(fontFamily, Font.ITALIC, 20);
-    Font floodLabelFont = new Font(fontFamily, Font.PLAIN, 18);
+    public Font titleFont = new Font(fontFamily, Font.BOLD, 30);
+    public Font masterFont = new Font(fontFamily, Font.PLAIN, 22);
+    public Font DClabelFont = new Font(fontFamily, Font.ITALIC, 20);
+    public Font floodLabelFont = new Font(fontFamily, Font.PLAIN, 18);
     //Calibri
     //Georgia
     //SansSerif
@@ -224,7 +221,7 @@
      * @param seriesIndex  the graph index of the series to be plotted
      * @return the provided XYPlot with the series added to it with the above properties
      */
-    public XYPlot graphSeries(XYPlot plot, double[][] series, Color lineColor, int seriesIndex){
+    public XYPlot addXYSeries(XYPlot plot, double[][] series, Color lineColor, int seriesIndex){
         XYSeries xySeries = new XYSeries("");
         for(int i=0; i<series.length; i++){
             double y = series[i][1];
@@ -249,139 +246,57 @@
         return plot;
     }
     /**
-     * Graphs the provided "series" as an XY series with x as the first column y as the second column in the provided color
-     * on the provided XYPlot, this series is not visible in the legend
-     * @param plot  the XYPlot to add the "series" to
-     * @param series  a String[][] array with series[all][0] =  dates in yyyy-MM-dd format, series[all][1] = y-values
-     * @param timeStep  a flag for what data is being graphed ("Daily", "Monthly", or "Yearly")
-     * @param seriesName  the name of the series to appear in the legend (if showInLegend is true)
-     * @param lineColor  the color of the line to be graphed
-     * @param seriesIndex  the graph index of the series to be plotted
-     * @param showInLegend  a flag to show this series in the legend (true) or not (false)
-     * @param leapYearTF  a flag to check if the main dataset is a leap year or not so that if graphing data repeatedly for one year (see timeseries envelope graph) Feb. 29th does or doesnot get plotted
-     * @return the provided XYPlot with the series added to it with the above properties
-     */
-    public XYPlot graphSeries(XYPlot plot,
-                              String[][] series,
-                              String timeStep,
-                              String seriesName,
-                              Color lineColor,
-                              int seriesIndex,
-                              boolean showInLegend,
-                              boolean leapYearTF){
-        TimeSeries timeSeries = new TimeSeries(seriesName);
-        for(int i=0; i<series.length; i++){
-            String tmpStr = series[i][0];
-            double value = Double.parseDouble(series[i][1]);
-            
-            if(timeStep.equalsIgnoreCase("daily")){
-                double d = Double.parseDouble(tmpStr.substring(8));
-                double m = Double.parseDouble(tmpStr.substring(5,7));
-                double y = Double.parseDouble(tmpStr.substring(0,4));
-                int day =  (int)d;
-                int month = (int)m;
-                int year = (int)y;
-                try{
-                    Day date = new Day(day,month,year);//day,month,year
-                    timeSeries.add(date, value);
-                }catch(IllegalArgumentException e){
-                    //If there is an error with the date and it is not due to trying 
-                    //to plot Feb. 29th in a non-leap year then throw the error
-                    if(!leapYearTF && month!=2 && day!=29){
-                        throw new IllegalArgumentException (e);
-                    }
-                }
-                
-            }else if(timeStep.equalsIgnoreCase("monthly")){
-                double m = Double.parseDouble(tmpStr.substring(5,7));
-                double y = Double.parseDouble(tmpStr.substring(0,4));
-                int month = (int)m;
-                int year = (int)y;
-                Month date = new Month(month,year);//month,year
-                timeSeries.add(date, value);
-                
-            }else if(timeStep.equalsIgnoreCase("yearly")){
-                double y = Double.parseDouble(tmpStr.substring(0,4));
-                int year = (int)y;
-                Year date = new Year(year);//year
-                timeSeries.add(date, value);
-            }
-        }
-
-        //Create a graph with the line
-        TimeSeriesCollection currentDataset = new TimeSeriesCollection(timeSeries);
-        XYItemRenderer renderer = new XYLineAndShapeRenderer(true, false);
-        renderer.setSeriesPaint(0, lineColor);
-        renderer.setSeriesVisibleInLegend(0, showInLegend);
-
-        //Set the line data, renderer, and axis into plot
-        plot.setDataset(seriesIndex, currentDataset);
-        plot.setRenderer(seriesIndex, renderer);
-
-        //Map the line to the first Domain and first Range
-        plot.mapDatasetToDomainAxis(0, 0);
-        plot.mapDatasetToRangeAxis(0, 0);
-
-        return plot;
-    }
-    /**
      * Graphs the TimeSeries on to the provided plot with the below properties for rendering, color, series index
      * @param plot  The XYPlot to graph the XYSeries on
      * @param currentLine  the XYSeries containing the x,y points of the current line series
      * @param lineTrue  a boolean, true if the series is to have lines connecting the points, otherwise no line
      * @param seriesColor  The desired color of the series (Java.Color)
-     * @param dashedLine  if true then the XYSeries will have a dashed line instead of a solid one, if false it will be the normal solid line
-     * @param shortDash  if true a dashed line like the major grid lines will be drawn, otherwise a long dashed line will be used
-     * @param thickLine  if true the line will have a thicker stroke, if false it will be left to the defaults
-     * @param visibleInLegend  if true then the XYSeries' name will be visible in the legend, if false this XYSeries' name will not be visible in the legend
+     * @param dashedLine_TF  if true then the XYSeries will have a dashed line instead of a solid one, if false it will be the normal solid line
+     * @param shortDash_TF  if true a dashed line like the major grid lines will be drawn, otherwise a long dashed line will be used
+     * @param thickLine_TF  if true the line will have a thicker stroke (this overwrites any changes due to dash size), if false it will be left to the defaults
+     * @param visibleInLegend_TF  if true then the XYSeries' name will be visible in the legend, if false this XYSeries' name will not be visible in the legend
      * @param graphIndex  the series index for the current line, this should be incrementally increased 
      * each time this function is call so that the new dataset does not replace the old one
      * @return the XYPlot with the added TimeSeries
      */
-    public XYPlot graphTimeData(XYPlot plot, 
-                                TimeSeries currentLine, 
-                                boolean lineTrue, 
-                                Color seriesColor, 
-                                boolean dashedLine,
-                                boolean shortDash,
-                                boolean thickLine,
-                                boolean visibleInLegend,
-                                int graphIndex){
+    public XYPlot addTimeseriesData(XYPlot plot, 
+                                    TimeSeries currentLine, 
+                                    boolean lineTrue, 
+                                    Color seriesColor, 
+                                    boolean dashedLine_TF,
+                                    boolean shortDash_TF,
+                                    boolean thickLine_TF,
+                                    boolean visibleInLegend_TF,
+                                    int graphIndex){        
         //Create Line Data and renderer
         TimeSeriesCollection currentDataset = new TimeSeriesCollection(currentLine);
 
         //Check if this series should have a dashed line or solid line and change the renderer accordingly
-
         XYItemRenderer currentRenderer = new XYLineAndShapeRenderer(lineTrue, !lineTrue);
         currentRenderer.setSeriesPaint(0, seriesColor);
-        currentRenderer.setSeriesVisibleInLegend(0, visibleInLegend);
-
+        currentRenderer.setSeriesVisibleInLegend(0, visibleInLegend_TF);
+        
         //Check if this series should have a dashed line, if so change the renderer
-        if(dashedLine){
-            if(shortDash){
-                //Change the renderer's stroke to a short dashed line
-                currentRenderer.setSeriesStroke(0, 
-                    new BasicStroke(
-                        1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND,
-                        1.0f, new float[] {1.0f, 2.0f}, 0.0f
-                ));
-            }else{
-                //Change the renderer's stroke to a long dashed line
-                currentRenderer.setSeriesStroke(0, 
-                    new BasicStroke(
-                        1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND,
-                        1.0f, new float[] {6.0f, 6.0f}, 0.0f
-                    ));
-            }
+        if(dashedLine_TF && shortDash_TF){
+            //Change the renderer's stroke to a short dashed line
+            currentRenderer.setSeriesStroke(0, new BasicStroke(
+                1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND,
+                1.0f, new float[] {1.0f, 2.0f}, 0.0f)
+            );
+        }else if(dashedLine_TF){
+            //Change the renderer's stroke to a long dashed line
+            currentRenderer.setSeriesStroke(0, new BasicStroke(
+                1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND,
+                1.0f, new float[] {6.0f, 6.0f}, 0.0f)
+            );
         }
         
         //Check if the series should have a thicker line
-        if(thickLine){
-            currentRenderer.setSeriesStroke(0, 
-                new BasicStroke(
-                    3.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND,
-                    1.0f, new float[] {6.0f, 0.0f}, 0.0f
-                ));
+        if(thickLine_TF){
+            currentRenderer.setSeriesStroke(0, new BasicStroke(
+                3.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND,
+                1.0f, new float[] {6.0f, 0.0f}, 0.0f)
+            );
         }
         
         //Put the line data, renderer, and axis into plot

src/java/m/groundwater/ApplicationConfig.java

@@ -37,6 +37,6 @@
         resources.add(csip.QueryService.class);
         resources.add(csip.ReportService.class);
         resources.add(csip.UIService.class);
-        resources.add(m.groundwater.Groundwater_V1_0.class);
+        resources.add(m.groundwater.V1_0.class);
     }
 }