Commit 3e95fe6b authored by VictorTey's avatar VictorTey
Browse files

Merge branch 'rel_2.2-RC2' into rel_2.2.x

parents 0344c90b e406b1da
......@@ -10,7 +10,7 @@
<metadataLink>
<type>application/xml</type>
<metadataType>FGDC</metadataType>
<content>http://localhost/www/Autos.xml</content>
<content>/www/Autos.xml</content>
</metadataLink>
</metadataLinks>
<nativeCRS>GEOGCS[&quot;GCS_WGS_1984&quot;,
......
......@@ -10,7 +10,7 @@
<metadataLink>
<type>application/xml</type>
<metadataType>FGDC</metadataType>
<content>http://localhost/www/BasicPolygons.xml</content>
<content>/www/BasicPolygons.xml</content>
</metadataLink>
</metadataLinks>
<nativeCRS>GEOGCS[&quot;GCS_WGS_1984&quot;,
......
......@@ -10,7 +10,7 @@
<metadataLink>
<type>application/xml</type>
<metadataType>FGDC</metadataType>
<content>http://localhost/www/Bridges.xml</content>
<content>/www/Bridges.xml</content>
</metadataLink>
</metadataLinks>
<nativeCRS>GEOGCS[&quot;GCS_WGS_1984&quot;,
......
......@@ -10,7 +10,7 @@
<metadataLink>
<type>application/xml</type>
<metadataType>FGDC</metadataType>
<content>http://localhost/www/BuildingCenters.xml</content>
<content>/www/BuildingCenters.xml</content>
</metadataLink>
</metadataLinks>
<nativeCRS>GEOGCS[&quot;GCS_WGS_1984&quot;,
......
......@@ -10,7 +10,7 @@
<metadataLink>
<type>application/xml</type>
<metadataType>FGDC</metadataType>
<content>http://localhost/www/Buildings.xml</content>
<content>/www/Buildings.xml</content>
</metadataLink>
</metadataLinks>
<nativeCRS>GEOGCS[&quot;GCS_WGS_1984&quot;,
......
......@@ -10,7 +10,7 @@
<metadataLink>
<type>application/xml</type>
<metadataType>FGDC</metadataType>
<content>http://localhost/www/DividedRoutes.xml</content>
<content>/www/DividedRoutes.xml</content>
</metadataLink>
</metadataLinks>
<nativeCRS>GEOGCS[&quot;GCS_WGS_1984&quot;,
......
......@@ -10,7 +10,7 @@
<metadataLink>
<type>application/xml</type>
<metadataType>FGDC</metadataType>
<content>http://localhost/www/Forests.xml</content>
<content>/www/Forests.xml</content>
</metadataLink>
</metadataLinks>
<nativeCRS>GEOGCS[&quot;GCS_WGS_1984&quot;,
......
......@@ -10,7 +10,7 @@
<metadataLink>
<type>application/xml</type>
<metadataType>FGDC</metadataType>
<content>http://localhost/www/Lakes.xml</content>
<content>/www/Lakes.xml</content>
</metadataLink>
</metadataLinks>
<nativeCRS>GEOGCS[&quot;GCS_WGS_1984&quot;,
......
......@@ -10,7 +10,7 @@
<metadataLink>
<type>application/xml</type>
<metadataType>FGDC</metadataType>
<content>http://localhost/www/LakesWithElevation.xml</content>
<content>/www/LakesWithElevation.xml</content>
</metadataLink>
</metadataLinks>
<nativeCRS>GEOGCS[&quot;GCS_WGS_1984&quot;,
......
......@@ -10,7 +10,7 @@
<metadataLink>
<type>application/xml</type>
<metadataType>FGDC</metadataType>
<content>http://localhost/www/MapNeatline.xml</content>
<content>/www/MapNeatline.xml</content>
</metadataLink>
</metadataLinks>
<nativeCRS>GEOGCS[&quot;GCS_WGS_1984&quot;,
......
......@@ -10,7 +10,7 @@
<metadataLink>
<type>application/xml</type>
<metadataType>FGDC</metadataType>
<content>http://localhost/www/NamedPlaces.xml</content>
<content>/www/NamedPlaces.xml</content>
</metadataLink>
</metadataLinks>
<nativeCRS>GEOGCS[&quot;GCS_WGS_1984&quot;,
......
......@@ -10,7 +10,7 @@
<metadataLink>
<type>application/xml</type>
<metadataType>FGDC</metadataType>
<content>http://localhost/www/Ponds.xml</content>
<content>/www/Ponds.xml</content>
</metadataLink>
</metadataLinks>
<nativeCRS>GEOGCS[&quot;GCS_WGS_1984&quot;,
......
......@@ -10,7 +10,7 @@
<metadataLink>
<type>application/xml</type>
<metadataType>FGDC</metadataType>
<content>http://localhost/www/RoadSegments.xml</content>
<content>/www/RoadSegments.xml</content>
</metadataLink>
</metadataLinks>
<nativeCRS>GEOGCS[&quot;GCS_WGS_1984&quot;,
......
......@@ -10,7 +10,7 @@
<metadataLink>
<type>application/xml</type>
<metadataType>FGDC</metadataType>
<content>http://localhost/www/Streams.xml</content>
<content>/www/Streams.xml</content>
</metadataLink>
</metadataLinks>
<nativeCRS>GEOGCS[&quot;GCS_WGS_1984&quot;,
......
......@@ -27,4 +27,5 @@
100001=GEOGCS["NAD83 / NFIS Seconds",DATUM["North_American_Datum_1983",SPHEROID["GRS 1980",6378137,298.257222101],TOWGS84[0,0,0]],PRIMEM["Greenwich",0],UNIT["Decimal_Second",4.84813681109536e-06]]
100002=PROJCS["NAD83 / Austin",GEOGCS["NAD83",DATUM["North_American_Datum_1983",SPHEROID["GRS 1980",6378137,298.257222101],TOWGS84[0,0,0]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",31.8833333333333],PARAMETER["standard_parallel_2",30.1166666666667],PARAMETER["latitude_of_origin",29.6666666666667],PARAMETER["central_meridian",-100.333333333333],PARAMETER["false_easting",2296583.333333],PARAMETER["false_northing",9842500.0000000],UNIT["Meter",1]]
100003=PROJCS["WGS84 / Google Mercator", GEOGCS["WGS 84", DATUM["World Geodetic System 1984", SPHEROID["WGS 84", 6378137.0, 298.257223563, AUTHORITY["EPSG","7030"]], AUTHORITY["EPSG","6326"]], PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]], UNIT["degree", 0.017453292519943295], AUTHORITY["EPSG","4326"]], PROJECTION["Mercator (1SP)", AUTHORITY["EPSG","9804"]], PARAMETER["semi_major", 6378137.0], PARAMETER["semi_minor", 6378137.0], PARAMETER["latitude_of_origin", 0.0], PARAMETER["central_meridian", 0.0], PARAMETER["scale_factor", 1.0], PARAMETER["false_easting", 0.0], PARAMETER["false_northing", 0.0], UNIT["m", 1.0], AUTHORITY["EPSG","900913"]]
102113=PROJCS["WGS84 / Google Mercator", GEOGCS["WGS 84", DATUM["World Geodetic System 1984", SPHEROID["WGS 84", 6378137.0, 298.257223563, AUTHORITY["EPSG","7030"]], AUTHORITY["EPSG","6326"]], PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]], UNIT["degree", 0.017453292519943295], AUTHORITY["EPSG","4326"]], PROJECTION["Mercator (1SP)", AUTHORITY["EPSG","9804"]], PARAMETER["semi_major", 6378137.0], PARAMETER["semi_minor", 6378137.0], PARAMETER["latitude_of_origin", 0.0], PARAMETER["central_meridian", 0.0], PARAMETER["scale_factor", 1.0], PARAMETER["false_easting", 0.0], PARAMETER["false_northing", 0.0], UNIT["m", 1.0], AUTHORITY["EPSG","102113"]]
900913=PROJCS["WGS84 / Google Mercator", GEOGCS["WGS 84", DATUM["World Geodetic System 1984", SPHEROID["WGS 84", 6378137.0, 298.257223563, AUTHORITY["EPSG","7030"]], AUTHORITY["EPSG","6326"]], PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]], UNIT["degree", 0.017453292519943295], AUTHORITY["EPSG","4326"]], PROJECTION["Mercator (1SP)", AUTHORITY["EPSG","9804"]], PARAMETER["semi_major", 6378137.0], PARAMETER["semi_minor", 6378137.0], PARAMETER["latitude_of_origin", 0.0], PARAMETER["central_meridian", 0.0], PARAMETER["scale_factor", 1.0], PARAMETER["false_easting", 0.0], PARAMETER["false_northing", 0.0], UNIT["m", 1.0], AUTHORITY["EPSG","900913"]]
......@@ -11,131 +11,13 @@ A step by step guide to the GeoServer Compliance Interoperability Test Engine (C
Check out CITE tools
--------------------
#. Check out the cite tools from subversion::
The CITE tools are available at https://github.com/jdeolive/geoserver-cite-tools. The README file
contains the most update documentation of how to checkout and build the tools. The quick version is::
svn co http://svn.codehaus.org/geoserver/trunk/community/cite cite
#. From the ``cite`` directory check out the test engine::
cd cite
svn co -r 402 http://teamengine.svn.sourceforge.net/svnroot/teamengine/branches/team2 engine
#. Patch the engine sources::
patch -p0 < engine.patch
.. note:: This step is necessary if the engine is to be run as a web
application in Jetty.
#. From the ``cite`` directory check out the sources for legacy cite testing
component::
mkdir cite1
svn co https://svn.opengeospatial.org:8443/ogc-projects/cite/components/cite1/trunk cite1
#. From the ``cite`` directory check out the test sources for each test suite
that is to be run::
mkdir tests
svn co -r 2740 https://svn.opengeospatial.org:8443/ogc-projects/cite/scripts/wfs/1.0.0/trunk tests/wfs-1.0.0
svn co -r 2740 https://svn.opengeospatial.org:8443/ogc-projects/cite/scripts/wfs/1.1.0/trunk tests/wfs-1.1.0
svn co -r 2740 https://svn.opengeospatial.org:8443/ogc-projects/cite/scripts/wms/1.1.1/trunk tests/wms-1.1.1
svn co -r 2740 https://svn.opengeospatial.org:8443/ogc-projects/cite/scripts/wcs/1.0.0/trunk tests/wcs-1.0.0
svn co -r 2740 https://svn.opengeospatial.org:8443/ogc-projects/cite/scripts/wcs/1.1.1/trunk tests/wcs-1.1.1
.. warning::
To check out the test sources an account on the OGG portal is required. If
you do not have one ask on the developer list for someone to check out the
tests for you.
#. Patch the tests sources::
patch -p0 < tests.patch
Build the CITE tools
--------------------
From the ``cite`` directory execute the following command::
mvn clean install
A successful build should result in the following output::
[INFO] [compiler:testCompile]
[INFO] No sources to compile
[INFO] [surefire:test]
[INFO] No tests to run.
[INFO] [jar:jar]
[WARNING] JAR will be empty - no content was marked for inclusion!
[INFO] Building jar: /Users/jdeolive/Devel/geoserver/trunk/trunk/src/community/cite/target/cite-1.0.jar
[INFO] [install:install]
[INFO] Installing /Users/jdeolive/Devel/geoserver/trunk/trunk/src/community/cite/target/cite-1.0.jar to /Users/jdeolive/.m2/repository/org/geoserver/cite/1.0/cite-1.0.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 27 seconds
[INFO] Finished at: Mon Jul 20 10:43:13 EST 2009
[INFO] Final Memory: 20M/36M
[INFO] ------------------------------------------------------------------------
Run the test engine
-------------------
.. note::
The engine can be run in one of two ways:
#. As a web application as described in this section
#. From the command line as described :ref:`here <commandline>`
#. Change to the ``engine`` directory and execute the following command::
cd engine
mvn jetty:run-exploded
If successful, Jetty should be started::
[INFO] [jetty:run-exploded]
[INFO] Configuring Jetty for project: Compliance + Interopability Testing + Evaluation (CITE) Module
[INFO] Context path = /teamengine
[INFO] Tmp directory = determined at runtime
[INFO] Web defaults = org/mortbay/jetty/webapp/webdefault.xml
[INFO] Web overrides = none
[INFO] Starting jetty 6.1.8 ...
2009-07-20 10:45:03.551::INFO: jetty-6.1.8
2009-07-20 10:45:03.707::INFO: No Transaction manager found - if your webapp requires one, please configure one.
2009-07-20 10:45:09.893::INFO: Started SelectChannelConnector@0.0.0.0:9090
[INFO] Started Jetty Server
#. In a web browser navigate to http://localhost:9090/teamengine
.. note::
By default the engine is configured to run on port 9090. This can be
changed by editing the ``engine/pom.xml`` file.
#. Click the ``Start Testing`` link. When prompted for a username and password
use "geoserver" and "geoserver".
.. image:: teweb1.jpg
#. Click the ``Create a new session`` link
.. image:: teweb2.jpg
#. Choose the test suite to run from the drop down lists and provide a name for
the session
.. image:: teweb3.jpg
#. Click the ``Start a new test session`` button
.. warning::
The engine uses a pop-up window to display the status of the test suite.
The pop-up will need to be unblocked by the browser and javascript must be
enabled for it to work.
git clone git://github.com/jdeolive/geoserver-cite-tools.git
cd geoserver-cite-tools
git submodule --init update
mvn clean install
Run WFS 1.0 tests
-----------------
......@@ -163,45 +45,55 @@ Run WFS 1.0 tests
export GEOSERVER_DATA_DIR=<root of geoserver sources>/data/citewfs-1.0
./bin/startup.sh
#. Create a new **wfs-1.0.0 session** in teamengine and configure it with the
following parameters:
#. Change directory back to the cite tools and run the tests::
ant wfs-1.0
With the following parameters:
#. ``Capabilities URL``::
#. ``Capabilities URL``
http://localhost:8080/geoserver/wfs?request=getcapabilities&service=wfs&version-1.0.0
http://localhost:8080/geoserver/wfs?request=getcapabilities&service=wfs&version-1.0.0
#. ``All`` tests included
.. image:: tewfs-1_0.jpg
.. image:: tewfs-1_0.jpg
Run WFS 1.1 tests
-----------------
.. note::
Running the wfs 1.0 test suite requires that GeoServer is running with
the H2 extension enabled. If you are running from eclipse you can simply
use the ``h2`` profile::
Running WFS 1.1 tests require PostGIS to be installed on the system.
mvn eclipse:eclipse -P h2
#. Create a PostGIS user named "cite"::
createuser cite
#. Create a PostGIS databased named "cite", owned by the "cite" user::
If you are running an actual release install the H2 extension available
from the download page.
createdb -T template_postgis -U cite cite
#. Change directory to the ``citewfs-1.1-h2`` data directory and Unpack the H2
database::
#. Change directory to the ``citewfs-1.1`` data directory and execute the script
``dataset-sf0.sql``::
cd <root of geoserver sources/data/citewfs-1.1-h2
unzip cite.db.zip
psql -U cite cite < dataset-sf0.sql
#. Start GeoServer with the ``citewfs-1.1-h2`` data directory.
#. Start GeoServer with the ``citewfs-1.1`` data directory. Example::
#. Create a new **wfs-1.1.0 session** in teamengine and configure it with the
following parameters:
cd <root of geoserver install>
export GEOSERVER_DATA_DIR=<root of geoserver sources>/data/citewfs-1.1
./bin/startup.sh
#. ``Capabilities URL``::
#. Change directory back to the cite tools and run the tests::
http://localhost:8080/geoserver/wfs?service=wfs&request=getcapabilities&version=1.1.0
ant wfs-1.1
With the following parameters:
#. ``Capabilities URL``
http://localhost:8080/geoserver/wfs?service=wfs&request=getcapabilities&version=1.1.0
#. ``Supported Conformance Classes``:
......@@ -217,12 +109,15 @@ Run WMS 1.1 tests
#. Start GeoServer with the ``citewms-1.1`` data directory.
#. Create a new **wms-1.1.1 session** in teamengine and configure it with the
following parameters:
#. Change directory back to the cite tools and run the tests::
ant wms-1.1
#. ``Capabilities URL``::
With the following parameters:
http://localhost:8080/geoserver/wms?&service=wms&request=getcapabilities
#. ``Capabilities URL``
http://localhost:8080/geoserver/wms?&service=wms&request=getcapabilities
#. ``UpdateSequence Values``:
......@@ -250,10 +145,13 @@ Run WCS 1.1 tests
#. Start GeoServer with the ``citewcs-1.1`` data directory.
#. Create a new **wcs-1.1.0 session** in teamengine and configure it with the
following parameters:
#. Change directory back to the cite tools and run the tests::
#. ``Capabilities URL``::
ant wcs-1.1
With the following parameters:
#. ``Capabilities URL``:
http://localhost:8080/geoserver/wcs?service=wcs&request=getcapabilities&version=1.1.1
......@@ -279,12 +177,15 @@ Run WCS 1.0 tests
#. Start GeoServer with the ``citewcs-1.0`` data directory.
#. Create a new **wcs-1.0.0 session** in teamengine and configure it with the
following parameters:
#. Change directory back to the cite tools and run the tests::
ant wcs-1.0
With the following parameters:
#. ``Capabilities URL``::
#. ``Capabilities URL``:
http://localhost:8080/geoserver/wcs?service=wcs&request=getcapabilities&version=1.0.0
http://localhost:8080/geoserver/wcs?service=wcs&request=getcapabilities&version=1.0.0
#. ``MIME Header Setup``: "image/tiff"
......@@ -315,58 +216,18 @@ Run WCS 1.0 tests
.. _commandline:
Command line
------------
Running a test suite
^^^^^^^^^^^^^^^^^^^^
To run the engine from the command line execute the ``run.sh`` script from the
``cite`` directory::
cd cite
sh run.sh <testsuite>
Where ``testsuite`` is ``<service>-<version>`` identifier for the test suite.
Example: "wfs-1.1.0".
.. note::
When running from the command line the engine uses a Swing pop-up dialog to
configure a test session. If you are running Linux and get a blank window,
try ``export AWT_TOOLKIT="MToolkit"`` before executing ``run.sh``.
Logging results of a test run
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Teamengine Web Application
--------------------------
To log the results of a test run execute the ``log.sh`` script from the ``cite``
directory::
The Teamengine web application is useful for analyzing results of a test run. To run the web application execute::
cd cite
sh log.sh <testsuite>
The above command will output all the tests run as part of the test suite. For
each test the log will report if it passed or failed. For example, to list all
the wfs-1.1.0 tests that failed::
sh log.sh wfs-1.1.0 | grep "wfs:wfs-1.1.0" | grep "Failed"
.. note::
The intermediate grep for "wfs:wfs-1.1.0" will filter out all subtests that
failed.
The output of the above command will be something like::
ant webapp
Test wfs:wfs-1.1.0-LockFeature-tc1.1 (wfs-1.1.0/d39e32742_1/d39e728_1/d39e29904_1/d39e28567_1) Passed
Test wfs:wfs-1.1.0-LockFeature-tc2.1 (wfs-1.1.0/d39e32742_1/d39e728_1/d39e29904_1/d39e28580_1) Passed
Test wfs:wfs-1.1.0-LockFeature-tc3.1 (wfs-1.1.0/d39e32742_1/d39e728_1/d39e29904_1/d39e28585_1) Passed
From the cite tools checkout. Once started the web app will be available at:
The long string in parantheses beside the test name is the test id. To log
information about a specific test append its test id as a parameter to the
``run.sh`` script. Example::
http://localhost:9090/teamengine
To run on a different port pass the ``-Dengine.port`` system property to ant command.
sh run.sh wfs-1.1.0 wfs-1.1.0/d39e32742_1/d39e728_1/d39e29904_1/d39e28567_1
......@@ -47,7 +47,7 @@ copyright = u'2011 GeoServer'
# The short X.Y version.
version = '2.2'
# The full version, including alpha/beta/rc tags.
release = '2.2-RC1'
release = '2.2-RC2'
# Users don't need to see the "SNAPSHOT" notation when it's there
if release.find('SNAPSHOT') != -1:
release = '2.2.x'
......
......@@ -15,7 +15,7 @@ Welcome to the GeoServer Developer Manual. The manual is for those who want to
findbugs-guide/index
programming-guide/index
release-guide/index
release-guide/beta
release-testing-checklist/index
cite-test-guide/index
translation
policies/index
......@@ -7,6 +7,7 @@ Policies and Procedures
:maxdepth: 1
comitting.rst
patches.rst
code-review.rst
community-process.rst
gsip.rst
......
.. _patches:
Submitting Patches
==================
As with most open source project GeoServer is very happy to accept patches from the community. Patches
from the community have been a source of some of the best bug fixes and improvements in GeoServer and
is a great way to give back to the project.
This document is a guide designed to help users through the process of successfully submitting a patch.
Source code
-----------
Before one can generate a patch source code is needed. See the :ref:`developer quickstart <quickstart>`
for information about obtaining a copy of the GeoServer sources.
In general developers will only apply patches that apply cleanly against the latest versions of the stable
and master branches. Therefore before you generate a patch it is important that you update your checkout to
the latest for the branch you are working on.
Generating a patch
------------------
There are a number of valid ways to generate a patch.
GitHub pull requests
^^^^^^^^^^^^^^^^^^^^
The GeoServer git repository is hosted on github, which provides a very nice way to manage patches in the
way of `pull requests <https://help.github.com/articles/using-pull-requests/>`_. To issue a pull request
requires that you `fork the GeoServer git repo <https://github.com/geoserver/geoserver/fork_select>`_ into
your own account.
Assuming that ``origin`` points to your github repo the the patch workflow then becomes:
#. Make the change.
::
git checkout -b my_bugfix master
git add .
git commit-m "fixed bug xyz"
#. Push the change up to your github repository.
::
git push origin my_bugfix
#. Visit your github repo page and issue the pull request.
At this point the core developers will be notified of the pull request and review it at the earliest
convenience.
Git diff
^^^^^^^^
All git clients provide an easy way to generate a patch. Assuming you are using the command line tools
a simple workflow for generating a patch is as follows.
#. Make the change as above.
#. Generate the patch.
::
git diff master > my_bugfix.patch
#. Open a `JIRA <https://jira.codehaus.org/browse/GEOS>`_ ticket and attach the patch file to the ticket.
At this point the core developers will be notified of the ticket t and review it at the earliest
convenience.
Unix diff
^^^^^^^^^
If you are not working from git, perhaps working from a source archive directly, it is always possible to
manually generate a patch with unix diff tools.
#. Back up the source tree.
::
cp geoserver geoserver.orig
#. Make the change.
#. Generate the diff.
::
diff -ru geoserver.orig geoserver > my_bugfix.patch
#. Open a `JIRA <https://jira.codehaus.org/browse/GEOS>`_ ticket and attach the patch file to the ticket.
At this point the core developers will be notified of the ticket t and review it at the earliest
convenience.
Patch guidelines
----------------