@@ -40,18 +40,30 @@ |
</target> |
<target name="-deploy-ant" if="deploy.ant.enabled" depends="-init,-check-credentials"> |
<echo message="Deploying ${deploy.ant.archive} to ${Context(path)}"/> |
- <taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask" |
- classpath="${tomcat.home}/server/lib/catalina-ant.jar"/> |
- <deploy url="${tomcat.url}/manager" username="${tomcat.username}" |
+ <taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask"> |
+ <classpath> |
+ <pathelement path="${tomcat.home}/lib/catalina-ant.jar"/> |
+ <pathelement path="${tomcat.home}/lib/tomcat-coyote.jar"/> |
+ <pathelement path="${tomcat.home}/lib/tomcat-util.jar"/> |
+ <pathelement path="${tomcat.home}/bin/tomcat-juli.jar"/> |
+ </classpath> |
+ </taskdef> |
+ <deploy url="${tomcat.url}/manager/text" username="${tomcat.username}" |
password="${tomcat.password}" path="${Context(path)}" |
war="${deploy.ant.archive}"/> |
<property name="deploy.ant.client.url" value="${tomcat.url}${Context(path)}"/> |
</target> |
<target name="-undeploy-ant" if="deploy.ant.enabled" depends="-init,-check-credentials"> |
<echo message="Undeploying ${Context(path)}"/> |
- <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask" |
- classpath="${tomcat.home}/server/lib/catalina-ant.jar"/> |
- <undeploy url="${tomcat.url}/manager" username="${tomcat.username}" |
+ <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask"> |
+ <classpath> |
+ <pathelement path="${tomcat.home}/lib/catalina-ant.jar"/> |
+ <pathelement path="${tomcat.home}/lib/tomcat-coyote.jar"/> |
+ <pathelement path="${tomcat.home}/lib/tomcat-util.jar"/> |
+ <pathelement path="${tomcat.home}/bin/tomcat-juli.jar"/> |
+ </classpath> |
+ </taskdef> |
+ <undeploy url="${tomcat.url}/manager/text" username="${tomcat.username}" |
password="${tomcat.password}" path="${Context(path)}"/> |
</target> |
</project> |
@@ -50,36 +50,6 @@ |
</target> |
<target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" if="dist.ear.dir" name="-do-ear-init"/> |
<target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init"> |
- <webproject1:property name="platform.home" value="platforms.${platform.active}.home"/> |
- <webproject1:property name="platform.bootcp" value="platforms.${platform.active}.bootclasspath"/> |
- <webproject1:property name="platform.compiler" value="platforms.${platform.active}.compile"/> |
- <webproject1:property name="platform.javac.tmp" value="platforms.${platform.active}.javac"/> |
- <condition property="platform.javac" value="${platform.home}/bin/javac"> |
- <equals arg1="${platform.javac.tmp}" arg2="$${platforms.${platform.active}.javac}"/> |
- </condition> |
- <property name="platform.javac" value="${platform.javac.tmp}"/> |
- <webproject1:property name="platform.java.tmp" value="platforms.${platform.active}.java"/> |
- <condition property="platform.java" value="${platform.home}/bin/java"> |
- <equals arg1="${platform.java.tmp}" arg2="$${platforms.${platform.active}.java}"/> |
- </condition> |
- <property name="platform.java" value="${platform.java.tmp}"/> |
- <webproject1:property name="platform.javadoc.tmp" value="platforms.${platform.active}.javadoc"/> |
- <condition property="platform.javadoc" value="${platform.home}/bin/javadoc"> |
- <equals arg1="${platform.javadoc.tmp}" arg2="$${platforms.${platform.active}.javadoc}"/> |
- </condition> |
- <property name="platform.javadoc" value="${platform.javadoc.tmp}"/> |
- <fail unless="platform.home">Must set platform.home</fail> |
- <fail unless="platform.bootcp">Must set platform.bootcp</fail> |
- <fail unless="platform.java">Must set platform.java</fail> |
- <fail unless="platform.javac">Must set platform.javac</fail> |
- <fail if="platform.invalid"> |
- The J2SE Platform is not correctly set up. |
- Your active platform is: ${platform.active}, but the corresponding property "platforms.${platform.active}.home" is not found in the project's properties files. |
- Either open the project in the IDE and setup the Platform with the same name or add it manually. |
- For example like this: |
- ant -Duser.properties.file=<path_to_property_file> jar (where you put the property "platforms.${platform.active}.home" in a .properties file) |
- or ant -Dplatforms.${platform.active}.home=<path_to_JDK_home> jar (where no properties file is used) |
- </fail> |
<condition property="have.tests"> |
<or> |
<available file="${test.src.dir}"/> |
@@ -221,6 +191,15 @@ |
<length length="0" string="${endorsed.classpath}" when="greater"/> |
</and> |
</condition> |
+ <condition else="false" property="jdkBug6558476"> |
+ <and> |
+ <matches pattern="1\.[56]" string="${java.specification.version}"/> |
+ <not> |
+ <os family="unix"/> |
+ </not> |
+ </and> |
+ </condition> |
+ <property name="javac.fork" value="${jdkBug6558476}"/> |
<condition property="junit.available"> |
<or> |
<available classname="org.junit.Test" classpath="${run.test.classpath}"/> |
@@ -315,7 +294,7 @@ |
<property location="${build.dir}/empty" name="empty.dir"/> |
<mkdir dir="${empty.dir}"/> |
<mkdir dir="@{apgeneratedsrcdir}"/> |
- <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" executable="${platform.javac}" fork="yes" includeantruntime="false" includes="@{includes}" source="${javac.source}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}"> |
+ <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" srcdir="@{srcdir}" target="${javac.target}"> |
<src> |
<dirset dir="@{gensrcdir}" erroronmissingdir="false"> |
<include name="*"/> |
@@ -352,7 +331,7 @@ |
<sequential> |
<property location="${build.dir}/empty" name="empty.dir"/> |
<mkdir dir="${empty.dir}"/> |
- <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" executable="${platform.javac}" fork="yes" includeantruntime="false" includes="@{includes}" source="${javac.source}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}"> |
+ <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" includeantruntime="false" includes="@{includes}" source="${javac.source}" srcdir="@{srcdir}" target="${javac.target}"> |
<src> |
<dirset dir="@{gensrcdir}" erroronmissingdir="false"> |
<include name="*"/> |
@@ -429,7 +408,7 @@ |
<attribute default="" name="testmethods"/> |
<element name="customize" optional="true"/> |
<sequential> |
- <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${platform.java}" showoutput="true" tempdir="${java.io.tmpdir}"> |
+ <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${java.io.tmpdir}"> |
<test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/> |
<syspropertyset> |
<propertyref prefix="test-sys-prop."/> |
@@ -452,7 +431,7 @@ |
<element name="customize" optional="true"/> |
<sequential> |
<property name="run.jvmargs.ide" value=""/> |
- <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${platform.java}" showoutput="true" tempdir="${build.dir}"> |
+ <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${build.dir}"> |
<batchtest todir="${build.test.results.dir}"> |
<fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}"> |
<filename name="@{testincludes}"/> |
@@ -492,7 +471,7 @@ |
</fileset> |
</union> |
<taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/> |
- <testng classfilesetref="test.set" failureProperty="tests.failed" jvm="${platform.java}" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="csip-wepp" testname="TestNG tests" workingDir="${basedir}"> |
+ <testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="csip-wepp" testname="TestNG tests" workingDir="${basedir}"> |
<xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/> |
<propertyset> |
<propertyref prefix="test-sys-prop."/> |
@@ -570,7 +549,7 @@ |
<attribute default="" name="testmethods"/> |
<element name="customize" optional="true"/> |
<sequential> |
- <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${platform.java}" showoutput="true" tempdir="${java.io.tmpdir}"> |
+ <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${java.io.tmpdir}"> |
<test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/> |
<syspropertyset> |
<propertyref prefix="test-sys-prop."/> |
@@ -594,7 +573,7 @@ |
<element name="customize" optional="true"/> |
<sequential> |
<property name="run.jvmargs.ide" value=""/> |
- <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${platform.java}" showoutput="true" tempdir="${build.dir}"> |
+ <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${build.dir}"> |
<batchtest todir="${build.test.results.dir}"> |
<fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}"> |
<filename name="@{testincludes}"/> |
@@ -717,7 +696,7 @@ |
<attribute default="${debug.classpath}" name="classpath"/> |
<element name="customize" optional="true"/> |
<sequential> |
- <java classname="@{classname}" fork="true" jvm="${platform.java}"> |
+ <java classname="@{classname}" fork="true"> |
<jvmarg line="${endorsed.classpath.cmd.line.arg}"/> |
<jvmarg line="${runmain.jvmargs}"/> |
<classpath> |
@@ -749,9 +728,6 @@ |
<classpath> |
<path path="@{classpath}"/> |
</classpath> |
- <bootclasspath> |
- <path path="${platform.bootcp}"/> |
- </bootclasspath> |
</nbjpdastart> |
</sequential> |
</macrodef> |
@@ -786,7 +762,7 @@ |
<attribute default="${application.args.param}" name="args"/> |
<element name="customize" optional="true"/> |
<sequential> |
- <java classname="@{classname}" fork="true" jvm="${platform.java}"> |
+ <java classname="@{classname}" fork="true"> |
<jvmarg line="${endorsed.classpath.cmd.line.arg}"/> |
<jvmarg value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address}"/> |
<jvmarg line="${runmain.jvmargs}"/> |
@@ -1208,9 +1184,6 @@ |
<sourcepath> |
<path path="${web.docbase.dir}"/> |
</sourcepath> |
- <bootclasspath> |
- <path path="${platform.bootcp}"/> |
- </bootclasspath> |
</nbjpdaconnect> |
</target> |
<target if="do.display.browser.debug.old" name="debug-display-browser-old"> |
@@ -1333,7 +1306,7 @@ |
--> |
<target depends="init" if="have.sources" name="javadoc-build"> |
<mkdir dir="${dist.javadoc.dir}"/> |
- <javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" executable="${platform.javadoc}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}"> |
+ <javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}"> |
<classpath> |
<path path="${javac.classpath}:${j2ee.platform.classpath}"/> |
</classpath> |
@@ -23,6 +23,7 @@ |
import java.time.temporal.ChronoUnit; |
import java.util.ArrayList; |
import java.util.HashMap; |
+import java.util.LinkedHashMap; |
import java.util.List; |
import java.util.Map; |
import java.util.concurrent.TimeUnit; |
@@ -39,6 +40,7 @@ |
import org.codehaus.jettison.json.JSONArray; |
import org.codehaus.jettison.json.JSONException; |
import org.codehaus.jettison.json.JSONObject; |
+import util.DBResources; |
import util.WEPPUtils; |
import util.WeppConstants; |
import util.DBconnection; |
@@ -183,10 +185,9 @@ |
static final String WEPP_RAND_SEED = "randSeed"; |
static final String WEPP_ONLY_MANAGMENTS = "onlyConvertManagements"; |
|
- |
@Override |
protected Map<String, Object> getConfigInfo() { |
- Map<String, Object> c = new HashMap<>(); |
+ Map<String, Object> c = new LinkedHashMap<>(); |
try { |
setURLs(); |
c.put(CONFIG_SOIL_URL, soilServiceURL); |
@@ -195,8 +196,8 @@ |
c.put(CONFIG_CROPS_URL, cropsURL); |
c.put(CONFIG_OPERATIONS_URL, operationsURL); |
c.put(CONFIG_RESIDUES_URL, residueURL); |
- c.put("wepp.model", resources().getResolved("wepp")); |
- c.put("weppserv.model", resources().getResolved("weppserv")); |
+ c.put("wepp", resources().getResolved("wepp")); |
+ c.put("weppserv", resources().getResolved("weppserv")); |
} catch (ServiceException ex) { |
LOG.log(Level.SEVERE, null, ex); |
c.put("conf", "error " + ex.getMessage()); |
@@ -204,7 +205,6 @@ |
return c; |
} |
|
- |
protected void setURLs() throws ServiceException { |
soilServiceURL = getConfigString(buildConfigKey(modelVersion, CONFIG_SOIL_URL)); |
climateServiceURL = getConfigString(buildConfigKey(modelVersion, CONFIG_CLIGEN_PRISM_URL)); |
@@ -216,7 +216,6 @@ |
residueURL = getConfigString(buildConfigKey(modelVersion, CONFIG_RESIDUES_URL)); |
} |
|
- |
protected static String getConfigString(String key) throws ServiceException { |
String ret_val = Config.getString(key); |
if (null == ret_val) { |
@@ -340,7 +339,6 @@ |
boolean adjustPWW_PWD; |
int randomSeedVal; |
|
- |
/** |
* Initialize WEPP workspace. This requires creating a couple subdirectories. |
* In addition the connections to the sqlite databases are verified. |
@@ -378,7 +376,6 @@ |
return true; |
} |
|
- |
/** |
* Calls the CSIP service to run CLIGEN and return a climate file with |
* optional PRISM adjustments. |
@@ -454,7 +451,6 @@ |
} |
} |
|
- |
/** |
* Get the topo segments from the request and build a WEPP format single OFE |
* slope file. For multiple OFE simulations the c++ code will take of |
@@ -511,7 +507,6 @@ |
FileUtils.writeStringToFile(slopeFile, output.toString(), "UTF-8"); |
} |
|
- |
/** |
* Get the curve characteristics from the request and build a WEPP format |
* single OFE slope file. For multiple OFE simulations the c++ code will take |
@@ -593,7 +588,6 @@ |
FileUtils.writeStringToFile(slopeFile, output.toString(), "UTF-8"); |
} |
|
- |
/** |
* This calls functions to build the WEPP soil files. This uses the NRCS |
* SSURGO web services so it needs to be updated to use the local CSIP |
@@ -663,7 +657,6 @@ |
shortSoilName = theSoil.getSoilName(); |
} |
|
- |
/** |
* Builds the WEPP rotation files. The low level WEPP management files are |
* built by the c++ program since the format is so unreadable when multiple |
@@ -712,7 +705,6 @@ |
return calVegs; |
} |
|
- |
/** |
* From a strip/barrier name adjust the array of managements. |
* |
@@ -905,7 +897,6 @@ |
return sections; |
} |
|
- |
/** |
* This creates the wepp project file that lists all the input files and |
* options for the simulation. The c++ wepphillsopeserv program uses this file |
@@ -1031,7 +1022,6 @@ |
FileUtils.writeStringToFile(prjFile, output.toString(), "UTF-8"); |
} |
|
- |
/** |
* Get input parameters from WEPP request. This is the first call done by the |
* CSIP framework to setup any parameters from the request JSON. |
@@ -1344,7 +1334,6 @@ |
} |
} |
|
- |
/** |
* Calls functions to build the WEPP input files and then run WEPP. This is |
* the main starting point after the call to preprocess. |
@@ -1472,7 +1461,6 @@ |
} |
} |
|
- |
/** |
* Insert IET specific names into the response |
*/ |
@@ -1502,7 +1490,6 @@ |
results().put("mgmtPtr", manPtrs, "IET Use - Managements"); |
} |
|
- |
/** |
* convert sedimentYield from (t/ac/yr) unit to (t/yr) unit. |
* |
@@ -1513,7 +1500,6 @@ |
return (weppmodel.getSedyield() * 50 * slopeLength * WeppConstants.CONV_M_TO_FT) / 43560; // self.slopeWith is always 50 ft. |
} |
|
- |
/** |
* Get the vegetation name associated with a key. |
* |
@@ -1531,7 +1517,6 @@ |
return null; |
} |
|
- |
/** |
* check whether calibration factor--BEINP(factor) is out of range. Out of |
* range means the factor is less than 0.5 or greater than 2). |
@@ -1602,7 +1587,6 @@ |
return res; |
} |
|
- |
/** |
* Extract some WEPP outputs and include links to model input and output |
* files. |
@@ -1833,7 +1817,6 @@ |
|
} |
|
- |
/** |
* Reads the event-by-event WEPP output file and creates a continuous daily |
* file with 3 columns: Date - month-day-year Loss - soil loss in ton/ac for |
@@ -1920,7 +1903,6 @@ |
} |
} |
|
- |
private void reportClimateValues(String crop, ClimateDataPreprocessing climate, String simulationType, int startYear, LocalDate startDate, LocalDate endDate) throws JSONException { |
ClimateDataHourly climateData = climate.getClimateValues(startYear, startDate, endDate); |
results().put(crop + "_avgPrecipDur_" + simulationType + "_sl", Numeric.round(climateData.averagePrecipDuration(startYear), 3)); |
@@ -2171,7 +2153,6 @@ |
private String harvesting; |
private int yield; |
|
- |
public Crop(int crlmod_id, String planting, String harvesting, int yield) { |
this.crlmod_id = crlmod_id; |
this.planting = planting; |
@@ -2179,33 +2160,28 @@ |
this.yield = yield; |
} |
|
- |
public String getPlantingNextYear() { |
LocalDate d = LocalDate.parse(planting); |
LocalDate dd = d.plusYears(2); |
return dd.toString(); |
} |
|
- |
public String getHarvestingNextYear() { |
LocalDate d = LocalDate.parse(harvesting); |
LocalDate dd = d.plusYears(2); |
return dd.toString(); |
} |
|
- |
public String getPlantingPreviousYear() { |
return LocalDate.parse(planting).minusYears(1).toString(); |
} |
|
- |
public String getHarvestingPreviousYear() { |
return LocalDate.parse(harvesting).minusYears(1).toString(); |
} |
|
} |
|
- |
private void extractCrop2(String[] o, Model we, ClimateDataPreprocessing climate, String cropIndex) throws JSONException, FileNotFoundException, IOException, ServiceException, Exception { |
// int crop2 = 2; |
|
@@ -2602,7 +2578,6 @@ |
} |
} |
|
- |
public static void main(String[] args) throws Exception { |
try (TextParser e = new TextParser(new File("/tmp/csip/work/29/13/ae8b01d5-90c3-11eb-ac79-2b71fe1625d1/wepp.cli")) |
.autoClose(false) |
@@ -2623,7 +2598,6 @@ |
} |
} |
|
- |
static double weightedAverageSol(List<double[]> layer, int idx) { |
double acc = 0.0; |
double total_weight = 0.0; |
@@ -2634,7 +2608,6 @@ |
return Numeric.round(acc / total_weight, 3); |
} |
|
- |
protected void putExpectedFileResult(String filename, String description, boolean skip) throws IOException, ServiceException { |
try { |
results().put(workspace().getFile(filename), description); |
@@ -2648,7 +2621,6 @@ |
} |
} |
|
- |
/** |
* Create the report for CSIP. This is used by IET. |
* |
@@ -3074,7 +3046,6 @@ |
report().putMetaInfo("Sediment delivery, statistics", "dim", "STATTYPES"); |
} |
|
- |
/** |
* Read the WEPP plot file output. |
* |
@@ -3106,7 +3077,6 @@ |
return vals; |
} |
|
- |
/** |
* Read the WEPP plot file output. |
* |
@@ -3151,7 +3121,6 @@ |
return vals; |
} |
|
- |
/** |
* Create a file with JSON data that will be the basis for the PDF template. |
* |
@@ -3240,7 +3209,6 @@ |
return rep; |
} |
|
- |
/** |
* Go through the PDF JSON and fill in the data from the management that is |
* not known until after the run. |
@@ -3479,7 +3447,6 @@ |
FileUtils.writeStringToFile(intervalFile, allIntervals, "UTF-8"); |
} |
|
- |
/** |
* Return the name of the contour selection. |
* |
@@ -3497,7 +3464,6 @@ |
} |
} |
|
- |
/** |
* Check if service has requested contouring. |
* |
@@ -3519,7 +3485,6 @@ |
} |
} |
|
- |
protected File zipParams() throws IOException, JSONException { |
File paramZip; |
File source, dest; |
@@ -3705,7 +3670,6 @@ |
return paramZip; |
} |
|
- |
protected void addToZipFile(File file, ZipOutputStream zos) throws FileNotFoundException, IOException { |
LOG.info("Adding to zip file: " + file); |
FileInputStream fis = new FileInputStream(file); |