NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Hi Ben, For TDS 4.2, I have a local working copy of the SVN branch you mention below. I have made a number of changes locally. Many of these changes are simply patches of some later work from the SVN trunk. The main change is the addition of a TDS specific Ant build file (buildTds.xml) which restricts the Java classes included in the .war and the -src.jar files. The files that are not included are parts of ncWMS that the TDS does not use (e.g., the ncWMS configuration and some of its logging). Unfortunately, I've never gotten around to working with Jon and company to fold all these changes back into that SVN branch. Mainly because our current focus is on updating to the ncWMS trunk (1.0R3) for TDS 4.3. For TDS 4.3 (not yet our stable release), our changes are on gitHub in the ethanrd/ncWMS repository in the "tdsPackaging" branch: https://github.com/ethanrd/ncWMS/tree/tdsPackaging If you need to stick with 4.2 until 4.3 is stable, I'm attaching a patch file that contains my changes for TDS 4.2. Hope that helps. Let me know if you have any other questions. Ethan On 8/13/2012 1:55 AM, Ben Caradoc-Davies wrote: > Ethan, > > other than a few lines, the ncwms-src.jar included with Thredds 4.2.6 is > the same as the maintenance branch created for this purpose: > https://ncwms.svn.sourceforge.net/svnroot/ncwms/branches/tds4.2-20101102/ > > I notice that the ncwms-src.jar included with Thredds 4.2.10 has many > differences, including 35 removed files: > http://svn.unidata.ucar.edu/repos/thredds/branch/RB-TDS-4.2/lib/release/source/ncwms-src.jar > > > The svn logs suggest there have been some patches applied. > > I also found this: "Also pulled TdsRequestedDataset our of WMS code so > could be used by ncISO (and elsewhere) if desired." Does this apply to > ncWMS? > https://www.unidata.ucar.edu/jira/browse/TDS-189 > > (1) Is the source for ncwms-src.jar checked into any public version > control system? > > (2) What happened to the removed files? > > Kind regards, > -- Ethan Davis UCAR Unidata Program edavis@xxxxxxxxxxxxxxxx http://www.unidata.ucar.edu
Index: web/WEB-INF/jsp/admin.jsp IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- web/WEB-INF/jsp/admin.jsp (revision 909) +++ web/WEB-INF/jsp/admin.jsp (revision ) @@ -174,7 +174,7 @@ <table border="1"> <tr><th>Title</th><td><input type="text" name="server.title" value="${config.server.title}"/></td><td>Title for this WMS</td></tr> <!-- TODO: make the abstract field larger --> - <tr><th>Abstract</th><td><input type="text" name="server.abstract" value="${config.server.abstract}"/></td><td>More details about this server</td></tr> + <tr><th>Abstract</th><td><input type="text" name="server.serverAbstract" value="${config.server.serverAbstract}"/></td><td>More details about this server</td></tr> <tr><th>Keywords</th><td><input type="text" name="server.keywords" value="${config.server.keywords}"/></td><td>Comma-separated list of keywords</td></tr> <tr><th>URL</th><td><input type="text" name="server.url" value="${config.server.url}"/></td><td>Web site of the service provider</td></tr> <!-- TODO: do integer validation on max width and height --> Index: src/java/uk/ac/rdg/resc/ncwms/wms/Layer.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/java/uk/ac/rdg/resc/ncwms/wms/Layer.java (revision 909) +++ src/java/uk/ac/rdg/resc/ncwms/wms/Layer.java (revision ) @@ -57,7 +57,7 @@ public String getTitle(); /** Returns a (perhaps-lengthy) description of this layer */ - public String getAbstract(); + public String getLayerAbstract(); /** * Returns an identifier for this layer that is unique <b>within a Index: src/java/uk/ac/rdg/resc/ncwms/controller/AbstractWmsController.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/java/uk/ac/rdg/resc/ncwms/controller/AbstractWmsController.java (revision 909) +++ src/java/uk/ac/rdg/resc/ncwms/controller/AbstractWmsController.java (revision ) @@ -330,6 +330,7 @@ String[] supportedCrsCodes = new String[]{ "EPSG:4326", "CRS:84", // Plate Carree "EPSG:41001", // Mercator (~ Google Maps) TODO replace with real Google Maps code + "EPSG:3857", // WGS 84 / Pseudo-Mercator (used by Google Maps) "EPSG:27700", // British National Grid // See http://nsidc.org/data/atlas/ogc_services.html for useful // stuff about polar stereographic projections Index: src/java/uk/ac/rdg/resc/ncwms/cdm/AbstractScalarLayerBuilder.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/java/uk/ac/rdg/resc/ncwms/cdm/AbstractScalarLayerBuilder.java (revision 909) +++ src/java/uk/ac/rdg/resc/ncwms/cdm/AbstractScalarLayerBuilder.java (revision ) @@ -46,7 +46,7 @@ @Override public void setAbstract(L layer, String abstr) { - layer.setAbstract(abstr); + layer.setLayerAbstract(abstr); } @Override Index: web/WEB-INF/jsp/capabilities_xml_1_1_1.jsp IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- web/WEB-INF/jsp/capabilities_xml_1_1_1.jsp (revision 909) +++ web/WEB-INF/jsp/capabilities_xml_1_1_1.jsp (revision ) @@ -30,7 +30,7 @@ <!-- Human-readable title for pick lists --> <Title><c:out value="${config.title}"/></Title> <!-- Narrative description providing additional information --> - <Abstract><c:out value="${config.abstract}"/></Abstract> + <Abstract><c:out value="${config.serverAbstract}"/></Abstract> <KeywordList> <%-- forEach recognizes that keywords is a comma-delimited String --%> <c:forEach var="keyword" items="${config.keywords}"> @@ -109,7 +109,7 @@ <Layer<c:if test="${layer.queryable}"> queryable="1"</c:if>> <Name>${layer.name}</Name> <Title><c:out value="${layer.title}"/></Title> - <Abstract><c:out value="${layer.abstract}"/></Abstract> + <Abstract><c:out value="${layer.layerAbstract}"/></Abstract> <c:set var="bbox" value="${layer.geographicBoundingBox}"/> <LatLonBoundingBox minx="${bbox.westBoundLongitude}" maxx="${bbox.eastBoundLongitude}" miny="${bbox.southBoundLatitude}" maxy="${bbox.northBoundLatitude}"/> <BoundingBox SRS="EPSG:4326" minx="${bbox.westBoundLongitude}" maxx="${bbox.eastBoundLongitude}" miny="${bbox.southBoundLatitude}" maxy="${bbox.northBoundLatitude}"/> \ No newline at end of file Index: src/java/uk/ac/rdg/resc/ncwms/controller/ServerConfig.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/java/uk/ac/rdg/resc/ncwms/controller/ServerConfig.java (revision 909) +++ src/java/uk/ac/rdg/resc/ncwms/controller/ServerConfig.java (revision ) @@ -59,7 +59,7 @@ public int getMaxImageHeight(); /** Returns a (perhaps-lengthy) description of this server */ - public String getAbstract(); + public String getServerAbstract(); /** Returns a set of keywords that help to describe this server */ public Set<String> getKeywords(); Index: buildTds.xml IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- buildTds.xml (revision ) +++ buildTds.xml (revision ) @@ -0,0 +1,117 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="ncWMS for TDS" default="cleanBuildNcwmsSrcAndJar" basedir="."> + <description>Build ncwms.jar for use by TDS.</description> + + <tstamp> + <format property="build.time" pattern="yyyy-MM-dd HH:mm:ss" timezone="GMT"/> + <format property="build.time.number" pattern="yyyyMMdd.HHmm" timezone="GMT"/> + </tstamp> + <property name="build.number" value="${build.time.number}" /> + <property name="build.name" value="${build.number}" /> + + <property name="release.version" value="4.2"/> + <property name="release.version.minor" value="${release.version}.${build.number}"/> + <property name="release.dir.name" value="${release.version}.${build.name}"/> + + <property name="ncwmsForTds.release.version" value="1.0.tds.${release.version.minor}" /> + + <property name="javac.debug" value="true" /> + <property name="javac.debuglevel" value="lines,vars,source" /> + + <property name="src.dir" location="${basedir}/src/java"/> + <property name="lib.dir" location="${basedir}/web/WEB-INF/lib"/> + <property name="build.dir" value="${basedir}/target"/> + <property name="build.classes.dir" value="${build.dir}/classes"/> + + <path id="source.path"> + <pathelement location="${src.dir}"/> + </path> + + <patternset id="sources"> + <include name="uk/ac/rdg/resc/ncwms/**/*.java"/> + <!--exclude name="uk/ac/rdg/resc/ncwms/controller/ServerConfig.java"/--> + <exclude name="uk/ac/rdg/resc/ncwms/cache/**/*.java"/> + <exclude name="uk/ac/rdg/resc/ncwms/config/**/*.java"/> + <exclude name="uk/ac/rdg/resc/ncwms/security/**/*.java"/> + <exclude name="uk/ac/rdg/resc/ncwms/usagelog/h2/**/*.java"/> + </patternset> + + <fileset id="compile.libraries" dir="${lib.dir}"> + <patternset id="compile.libs"> + + <exclude name="bufr-1.4.jar" /> + <exclude name="grib-8.0.jar" /> + <exclude name="h2.jar" /> + <exclude name="hsqldb-1.8.0.7.jar" /> + </patternset> + </fileset> + + <path id="compile.classpath"> + <fileset refid="compile.libraries" /> + </path> + + <target name="init"> + <mkdir dir="${build.classes.dir}"/> + <echo message="Initialize ${ant.project.name}"/> + </target> + + <target name="clean" description="Deletes all files that are generated by the build."> + <delete dir="${build.dir}" failonerror="false"/> + </target> + + <target name="compile" depends="init" description="compile ncwms for TDS"> + <javac destdir="${build.classes.dir}" source="1.6" target="1.6" + debug="${javac.debug}" debuglevel="${javac.debuglevel}" + includeAntRuntime="false"> + <src refid="source.path"/> + <patternset refid="sources"/> + <classpath refid="compile.classpath"/> + </javac> + </target> + + <property name="ncwms.jar" value="${build.dir}/ncwms.jar" /> + <property name="ncwms.src.jar" value="${build.dir}/ncwms-src.jar" /> + + <target name="buildNcwmsJar" description="Create ncwms.jar (assumes already compiled)."> + <jar destfile="${ncwms.jar}"> + <fileset dir="${build.classes.dir}"/> + + <manifest> + <attribute name="Built-By" value="Unidata - ${user.name}"/> + <attribute name="Built-On" value="${build.time}"/> + <attribute name="Implementation-Title" value="ncWMS for TDS"/> + <attribute name="Implementation-Version" value="${ncwmsForTds.release.version}"/> + <attribute name="Implementation-Vendor" value="University of Reading"/> + </manifest> + </jar> + </target> + + <target name="buildNcwmsSrc" description="Create ncwms-src.jar."> + <jar destfile="${ncwms.src.jar}"> + <fileset dir="${src.dir}"> + <patternset refid="sources"/> + </fileset> + + <manifest> + <attribute name="Built-By" value="Unidata - ${user.name}"/> + <attribute name="Built-On" value="${build.time}"/> + <attribute name="Implementation-Title" value="Source of ncWMS for TDS"/> + <attribute name="Implementation-Version" value="${ncwmsForTds.release.version}"/> + <attribute name="Implementation-Vendor" value="University of Reading"/> + </manifest> + </jar> + </target> + <target name="cleanBuildNcwmsSrcAndJar" depends="clean, compile, buildNcwmsSrc, buildNcwmsJar" /> + + <property name="tds.lib.dir" value="../thredds-4.2/thredds/lib/release" /> + <property name="tds.lib.src.dir" value="${tds.lib.dir}/source" /> + + <target name="pushSrcJarToThreddsWorkingCopy"> + <copy todir="${tds.lib.dir}" file="${ncwms.jar}" + preservelastmodified="true" overwrite="true" /> + <copy todir="${tds.lib.src.dir}" file="${ncwms.src.jar}" + preservelastmodified="true" overwrite="true" /> + </target> + <target name="cleanPushSrcJarToThreddsWorkingCopy" depends="cleanBuildNcwmsSrcAndJar,pushSrcJarToThreddsWorkingCopy" /> + +</project> Index: src/java/uk/ac/rdg/resc/ncwms/wms/SimpleVectorLayer.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/java/uk/ac/rdg/resc/ncwms/wms/SimpleVectorLayer.java (revision 909) +++ src/java/uk/ac/rdg/resc/ncwms/wms/SimpleVectorLayer.java (revision ) @@ -71,7 +71,7 @@ public String getId() { return this.id; } @Override - public String getAbstract() { + public String getLayerAbstract() { return "Automatically-generated vector field, composed of the fields " + this.east.getTitle() + " and " + this.north.getTitle(); } Index: src/java/uk/ac/rdg/resc/ncwms/wms/AbstractScalarLayer.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/java/uk/ac/rdg/resc/ncwms/wms/AbstractScalarLayer.java (revision 909) +++ src/java/uk/ac/rdg/resc/ncwms/wms/AbstractScalarLayer.java (revision ) @@ -94,8 +94,8 @@ @Override public String getTitle() { return this.title; } public void setTitle(String title) { this.title = title; } - @Override public String getAbstract() { return this.abstr; } - public void setAbstract(String abstr) { this.abstr = abstr; } + @Override public String getLayerAbstract() { return this.abstr; } + public void setLayerAbstract(String abstr) { this.abstr = abstr; } @Override public String getUnits() { return this.units; } public void setUnits(String units) { this.units = units; } Index: web/WEB-INF/jsp/capabilities_xml.jsp IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- web/WEB-INF/jsp/capabilities_xml.jsp (revision 909) +++ web/WEB-INF/jsp/capabilities_xml.jsp (revision ) @@ -30,7 +30,7 @@ <Service> <Name>WMS</Name> <Title><c:out value="${config.title}"/></Title> - <Abstract><c:out value="${config.abstract}"/></Abstract> + <Abstract><c:out value="${config.serverAbstract}"/></Abstract> <KeywordList> <%-- forEach recognizes that keywords is a comma-delimited String --%> <c:forEach var="keyword" items="${config.keywords}"> @@ -87,7 +87,7 @@ <Layer<c:if test="${layer.queryable}"> queryable="1"</c:if>> <Name>${layer.name}</Name> <Title><c:out value="${layer.title}"/></Title> - <Abstract><c:out value="${layer.abstract}"/></Abstract> + <Abstract><c:out value="${layer.layerAbstract}"/></Abstract> <c:set var="bbox" value="${layer.geographicBoundingBox}"/> <EX_GeographicBoundingBox> <westBoundLongitude>${bbox.westBoundLongitude}</westBoundLongitude> \ No newline at end of file Index: src/java/uk/ac/rdg/resc/ncwms/graphics/KmzFormat.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/java/uk/ac/rdg/resc/ncwms/graphics/KmzFormat.java (revision 909) +++ src/java/uk/ac/rdg/resc/ncwms/graphics/KmzFormat.java (revision ) @@ -95,7 +95,7 @@ kml.append("<name>" + layer.getDataset().getId() + ", " + layer.getId() + "</name>"); kml.append("<description>" + layer.getDataset().getTitle() + ", " - + layer.getTitle() + ": " + layer.getAbstract() + + + layer.getTitle() + ": " + layer.getLayerAbstract() + "</description>"); // Add the screen overlay containing the colour scale Index: src/java/uk/ac/rdg/resc/ncwms/cdm/DataReadingStrategy.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/java/uk/ac/rdg/resc/ncwms/cdm/DataReadingStrategy.java (revision 909) +++ src/java/uk/ac/rdg/resc/ncwms/cdm/DataReadingStrategy.java (revision ) @@ -36,7 +36,6 @@ import ucar.ma2.Index; import ucar.nc2.dataset.VariableDS; import ucar.nc2.dt.GridDatatype; -import uk.ac.rdg.resc.ncwms.config.datareader.DataReader; import uk.ac.rdg.resc.ncwms.coords.PixelMap; import uk.ac.rdg.resc.ncwms.coords.PixelMap.PixelMapEntry;
thredds
archives: