Displaying differences for changeset
 
display as  

build.xml

@@ -68,4 +68,11 @@
     nbproject/build-impl.xml file. 
 
     -->
+    <target name="-post-compile">
+        <jar destfile="${basedir}/dist/${ant.project.name}.jar">
+            <fileset dir="${basedir}/build/web/WEB-INF/classes">
+                <exclude name="ApplicationConfig*" />
+            </fileset>
+        </jar>
+    </target>
 </project>

nbproject/build-impl.xml

@@ -50,6 +50,36 @@
     </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=&lt;path_to_property_file&gt; jar (where you put the property "platforms.${platform.active}.home" in a .properties file)
+  or ant -Dplatforms.${platform.active}.home=&lt;path_to_JDK_home&gt; jar (where no properties file is used) 
+  </fail>
         <condition property="have.tests">
             <or>
                 <available file="${test.src.dir}"/>
@@ -191,15 +221,6 @@
                 <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}"/>
@@ -294,7 +315,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}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" srcdir="@{srcdir}" target="${javac.target}">
+                <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}">
                     <src>
                         <dirset dir="@{gensrcdir}" erroronmissingdir="false">
                             <include name="*"/>
@@ -331,7 +352,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}" includeantruntime="false" includes="@{includes}" source="${javac.source}" srcdir="@{srcdir}" target="${javac.target}">
+                <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}">
                     <src>
                         <dirset dir="@{gensrcdir}" erroronmissingdir="false">
                             <include name="*"/>
@@ -408,7 +429,7 @@
             <attribute default="" name="testmethods"/>
             <element name="customize" optional="true"/>
             <sequential>
-                <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${java.io.tmpdir}">
+                <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${platform.java}" showoutput="true" tempdir="${java.io.tmpdir}">
                     <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
                     <syspropertyset>
                         <propertyref prefix="test-sys-prop."/>
@@ -431,7 +452,7 @@
             <element name="customize" optional="true"/>
             <sequential>
                 <property name="run.jvmargs.ide" value=""/>
-                <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${build.dir}">
+                <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${platform.java}" showoutput="true" tempdir="${build.dir}">
                     <batchtest todir="${build.test.results.dir}">
                         <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
                             <filename name="@{testincludes}"/>
@@ -471,7 +492,7 @@
                     </fileset>
                 </union>
                 <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
-                <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-gis" testname="TestNG tests" workingDir="${basedir}">
+                <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-gis" testname="TestNG tests" workingDir="${basedir}">
                     <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
                     <propertyset>
                         <propertyref prefix="test-sys-prop."/>
@@ -549,7 +570,7 @@
             <attribute default="" name="testmethods"/>
             <element name="customize" optional="true"/>
             <sequential>
-                <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${java.io.tmpdir}">
+                <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${platform.java}" showoutput="true" tempdir="${java.io.tmpdir}">
                     <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
                     <syspropertyset>
                         <propertyref prefix="test-sys-prop."/>
@@ -574,7 +595,7 @@
             <element name="customize" optional="true"/>
             <sequential>
                 <property name="run.jvmargs.ide" value=""/>
-                <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${build.dir}">
+                <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${platform.java}" showoutput="true" tempdir="${build.dir}">
                     <batchtest todir="${build.test.results.dir}">
                         <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
                             <filename name="@{testincludes}"/>
@@ -698,7 +719,7 @@
             <attribute default="${debug.classpath}" name="classpath"/>
             <element name="customize" optional="true"/>
             <sequential>
-                <java classname="@{classname}" fork="true">
+                <java classname="@{classname}" fork="true" jvm="${platform.java}">
                     <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
                     <jvmarg line="${runmain.jvmargs}"/>
                     <classpath>
@@ -730,6 +751,9 @@
                     <classpath>
                         <path path="@{classpath}"/>
                     </classpath>
+                    <bootclasspath>
+                        <path path="${platform.bootcp}"/>
+                    </bootclasspath>
                 </nbjpdastart>
             </sequential>
         </macrodef>
@@ -750,7 +774,9 @@
         </macrodef>
     </target>
     <target name="-init-debug-args">
-        <property name="version-output" value="java version &quot;${ant.java.version}"/>
+        <exec executable="${platform.java}" outputproperty="version-output">
+            <arg value="-version"/>
+        </exec>
         <condition property="have-jdk-older-than-1.4">
             <or>
                 <contains string="${version-output}" substring="java version &quot;1.0"/>
@@ -776,7 +802,7 @@
             <attribute default="${application.args.param}" name="args"/>
             <element name="customize" optional="true"/>
             <sequential>
-                <java classname="@{classname}" fork="true">
+                <java classname="@{classname}" fork="true" jvm="${platform.java}">
                     <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
                     <jvmarg line="${debug-args-line}"/>
                     <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
@@ -857,11 +883,17 @@
         <ant antfile="${project.csip-core}/build.xml" inheritall="false" target="jar">
             <property name="deploy.on.save" value="false"/>
         </ant>
+        <ant antfile="${project.csip-gis-utils}/build.xml" inheritall="false" target="jar">
+            <property name="deploy.on.save" value="false"/>
+        </ant>
     </target>
     <target depends="init" if="dist.ear.dir" name="deps-ear-jar" unless="no.deps">
         <ant antfile="${project.csip-core}/build.xml" inheritall="false" target="jar">
             <property name="deploy.on.save" value="false"/>
         </ant>
+        <ant antfile="${project.csip-gis-utils}/build.xml" inheritall="false" target="jar">
+            <property name="deploy.on.save" value="false"/>
+        </ant>
     </target>
     <target depends="init, deps-module-jar, deps-ear-jar" name="deps-jar" unless="no.deps"/>
     <target depends="init,deps-jar,generate-rest-config" name="-pre-pre-compile">
@@ -1010,6 +1042,7 @@
         <copyfiles files="${reference.csip-core.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
         <copyfiles files="${file.reference.postgresql-9.3-1103.jdbc41.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
         <copyfiles files="${file.reference.jts-1.13.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${reference.csip-gis-utils.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
         <mkdir dir="${build.web.dir}/META-INF"/>
         <manifest file="${build.web.dir}/META-INF/MANIFEST.MF" mode="update"/>
     </target>
@@ -1018,6 +1051,7 @@
         <copyfiles files="${reference.csip-core.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
         <copyfiles files="${file.reference.postgresql-9.3-1103.jdbc41.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
         <copyfiles files="${file.reference.jts-1.13.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
+        <copyfiles files="${reference.csip-gis-utils.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
     </target>
     <target depends="init" if="dist.ear.dir" name="-clean-webinf-lib">
         <delete dir="${build.web.dir}/WEB-INF/lib"/>
@@ -1183,6 +1217,9 @@
             <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">
@@ -1305,7 +1342,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}" 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}" 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}">
             <classpath>
                 <path path="${javac.classpath}:${j2ee.platform.classpath}"/>
             </classpath>
@@ -1432,6 +1469,7 @@
             -->
     <target depends="init" name="deps-clean" unless="no.deps">
         <ant antfile="${project.csip-core}/build.xml" inheritall="false" target="clean"/>
+        <ant antfile="${project.csip-gis-utils}/build.xml" inheritall="false" target="clean"/>
     </target>
     <target depends="init" name="do-clean">
         <condition property="build.dir.to.clean" value="${build.web.dir}">

nbproject/genfiles.properties

@@ -3,8 +3,8 @@
 build.xml.stylesheet.CRC32=651128d4@1.65.1.1
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=2cdc477f
-nbproject/build-impl.xml.script.CRC32=9bdc1327
+nbproject/build-impl.xml.data.CRC32=d738c6bc
+nbproject/build-impl.xml.script.CRC32=07431a7b
 nbproject/build-impl.xml.stylesheet.CRC32=99ea4b56@1.68.1.1
 nbproject/rest-build.xml.data.CRC32=bff4a8fe
 nbproject/rest-build.xml.script.CRC32=4734534b

nbproject/project.properties

@@ -47,7 +47,8 @@
     ${libs.CSIP-Jersey-2.16.classpath}:\
     ${reference.csip-core.jar}:\
     ${file.reference.postgresql-9.3-1103.jdbc41.jar}:\
-    ${file.reference.jts-1.13.jar}
+    ${file.reference.jts-1.13.jar}:\
+    ${reference.csip-gis-utils.jar}
 # Space-separated list of extra javac options
 javac.compilerargs=
 javac.debug=true
@@ -76,9 +77,11 @@
 javadoc.windowtitle=
 lib.dir=${web.docbase.dir}/WEB-INF/lib
 persistence.xml.dir=${conf.dir}
-platform.active=default_platform
+platform.active=JDK_1.7
 project.csip-core=../csip-core
+project.csip-gis-utils=../csip-gis-utils
 reference.csip-core.jar=${project.csip-core}/dist/csip-core.jar
+reference.csip-gis-utils.jar=${project.csip-gis-utils}/dist/csip-gis-utils.jar
 resource.dir=setup
 rest.config.type=ide
 run.test.classpath=\

nbproject/project.xml

@@ -10,6 +10,7 @@
         <data xmlns="http://www.netbeans.org/ns/web-project/3">
             <name>csip-gis</name>
             <minimum-ant-version>1.6.5</minimum-ant-version>
+            <explicit-platform explicit-source-supported="true"/>
             <web-module-libraries>
                 <library dirs="200">
                     <file>${libs.CSIP-Jersey-2.16.classpath}</file>
@@ -27,6 +28,10 @@
                     <file>${file.reference.jts-1.13.jar}</file>
                     <path-in-war>WEB-INF/lib</path-in-war>
                 </library>
+                <library dirs="200">
+                    <file>${reference.csip-gis-utils.jar}</file>
+                    <path-in-war>WEB-INF/lib</path-in-war>
+                </library>
             </web-module-libraries>
             <web-module-additional-libraries/>
             <source-roots>
@@ -45,6 +50,14 @@
                 <clean-target>clean</clean-target>
                 <id>jar</id>
             </reference>
+            <reference>
+                <foreign-project>csip-gis-utils</foreign-project>
+                <artifact-type>jar</artifact-type>
+                <script>build.xml</script>
+                <target>jar</target>
+                <clean-target>clean</clean-target>
+                <id>jar</id>
+            </reference>
         </references>
     </configuration>
 </project>

src/java/m/gis/ApplicationConfig.java

@@ -42,11 +42,11 @@
         resources.add(m.gis.buffer.V1_0.class);
         resources.add(m.gis.difference.V1_0.class);
         resources.add(m.gis.envelope.V1_0.class);
-        resources.add(m.gis.extent.V1_0.class);
-        resources.add(m.gis.intersect.V1_0.class);
-        resources.add(m.gis.minboundingcircle.V1_0.class);
-        resources.add(m.gis.minboundingrectangle.V1_0.class);
-        resources.add(m.gis.transform.V1_0.class);
-        resources.add(m.gis.union.V1_0.class);
+        resources.add(m.gis.extent.V1_0.class);
+        resources.add(m.gis.intersect.V1_0.class);
+        resources.add(m.gis.minboundingcircle.V1_0.class);
+        resources.add(m.gis.minboundingrectangle.V1_0.class);
+        resources.add(m.gis.transform.V1_0.class);
+        resources.add(m.gis.union.V1_0.class);
     }
 }

src/java/m/gis/GISModelDataService.java

@@ -5,6 +5,10 @@
  */
 package m.gis;
 
+import m.utils.IGISDatabase;
+import m.utils.GeoJSONParser;
+import m.utils.GeoJSON;
+import m.utils.DatabaseBuilder;
 import csip.ModelDataService;
 import csip.ServiceException;
 import org.codehaus.jettison.json.JSONArray;
@@ -17,14 +21,14 @@
 
     protected JSONArray result;    
     protected GeoJSON layers;
-    protected int outputSRID;
+    protected int outputSRID;
 
-    protected Database db;
+    protected IGISDatabase db;
 
     @Override
     protected void preProcess() throws Exception {
-        db = new DatabaseBuilder()
-                .setAll()
+        db = (IGISDatabase) new DatabaseBuilder()
+                .setAll(DatabaseBuilder.DB.POSTGRES_GIS)
                 .create();
         result = new JSONArray();
         JSONArray geojson = getJSONArrayParam("layer");
@@ -33,13 +37,13 @@
         try {
             outputSRID = getIntParam("outputSRID");
         } catch (ServiceException ex) {
-            outputSRID = GeoJSONParser.getSRIDInt(Constants.DEFAULT_CRS);
+            outputSRID = GeoJSONParser.getSRIDInt(db.getDefaultCRS());
         }
     }
 
-    @Override
-    protected void postProcess() throws Exception {
+    @Override
+    protected void postProcess() throws Exception {
         putResult("layer", result);
-    }
+    }
     
 }

src/java/m/gis/area/V1_0.java

@@ -9,7 +9,7 @@
 import java.util.ListIterator;
 import javax.ws.rs.Path;
 import m.gis.GISModelDataService;
-import m.gis.Layer;
+import m.utils.Layer;
 import oms3.annotations.*;
 
 /**

src/java/m/gis/buffer/V1_0.java

@@ -9,7 +9,7 @@
 import java.util.ListIterator;
 import javax.ws.rs.Path;
 import m.gis.GISModelDataService;
-import m.gis.Layer;
+import m.utils.Layer;
 import oms3.annotations.*;
 import org.codehaus.jettison.json.JSONObject;
 

src/java/m/gis/difference/V1_0.java

@@ -8,7 +8,7 @@
 import java.util.ListIterator;
 import javax.ws.rs.Path;
 import m.gis.GISModelDataService;
-import m.gis.Layer;
+import m.utils.Layer;
 import oms3.annotations.*;
 
 /**

src/java/m/gis/envelope/V1_0.java

@@ -9,7 +9,7 @@
 import java.util.ListIterator;
 import javax.ws.rs.Path;
 import m.gis.GISModelDataService;
-import m.gis.Layer;
+import m.utils.Layer;
 import oms3.annotations.*;
 
 /**

src/java/m/gis/extent/V1_0.java

@@ -9,7 +9,7 @@
 import java.util.ListIterator;
 import javax.ws.rs.Path;
 import m.gis.GISModelDataService;
-import m.gis.Layer;
+import m.utils.Layer;
 import oms3.annotations.*;
 
 /**

src/java/m/gis/intersect/V1_0.java

@@ -8,7 +8,7 @@
 import java.util.ListIterator;
 import javax.ws.rs.Path;
 import m.gis.GISModelDataService;
-import m.gis.Layer;
+import m.utils.Layer;
 import oms3.annotations.*;
 
 /**

src/java/m/gis/minboundingcircle/V1_0.java

@@ -10,7 +10,7 @@
 import java.util.ListIterator;
 import javax.ws.rs.Path;
 import m.gis.GISModelDataService;
-import m.gis.Layer;
+import m.utils.Layer;
 import oms3.annotations.*;
 
 /**

src/java/m/gis/minboundingrectangle/V1_0.java

@@ -9,7 +9,7 @@
 import java.util.ListIterator;
 import javax.ws.rs.Path;
 import m.gis.GISModelDataService;
-import m.gis.Layer;
+import m.utils.Layer;
 import oms3.annotations.*;
 
 /**

src/java/m/gis/transform/V1_0.java

@@ -9,7 +9,7 @@
 import java.util.ListIterator;
 import javax.ws.rs.Path;
 import m.gis.GISModelDataService;
-import m.gis.Layer;
+import m.utils.Layer;
 import oms3.annotations.*;
 
 /**

src/java/m/gis/union/V1_0.java

@@ -9,7 +9,7 @@
 import java.util.ListIterator;
 import javax.ws.rs.Path;
 import m.gis.GISModelDataService;
-import m.gis.Layer;
+import m.utils.Layer;
 import oms3.annotations.*;
 
 /**