[Geoserver-devel] [[jira] Commented: (GEOS-2753) Modify GML3OutputFormat to get feature type names from WFS request not guess them from FeatureCollection.getSchema()]

Justin,

I have completed CITE WFS 1.0 and 1.1 testing of these patches, as documented below. The tests indicate that the patches do not cause any additional test failures. Are you happy for me to commit these patches?

Kind regards,
Ben.

-------- Original Message --------
Subject: [jira] Commented: (GEOS-2753) Modify GML3OutputFormat to get feature type names from WFS request not guess them from FeatureCollection.getSchema()
Date: Wed, 1 Apr 2009 14:32:13 +0800
From: Ben Caradoc-Davies (JIRA) <jira@anonymised.com>
To: Caradoc-Davies, Ben (E&M, Kensington) <Ben.Caradoc-Davies@anonymised.com>

     [ http://jira.codehaus.org/browse/GEOS-2753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=171669#action_171669 ]

Ben Caradoc-Davies commented on GEOS-2753:
------------------------------------------

I performed the CITE WFS 1.0 and 1.1 tests using GeoTools r32729 and GeoServer r32729, with attached patches applied. No additional CITE test failures are caused by the patches.

Twelve CITE WFS 1.0 tests fail. These are the same tests that fail before the patch is applied. See GEOS-2809.
{code}

log.bat wfs 1.0.0 | perl -ne "print if /Failed/"

Test wfs:main (wfs-1.0.0) Failed (Inherited Failure)
    Test wfs:test1.0.0-basic-describefeaturetype-get-1 (wfs-1.0.0/w8aac25b3b9d169b1_1) Failed
    Test wfs:test1.0.0-basic-describefeaturetype-get-2 (wfs-1.0.0/w8aac25b3b9d171b1_1) Failed
    Test wfs:test1.0.0-basic-describefeaturetype-get-4 (wfs-1.0.0/w8aac25b3b9d175b1_1) Failed
    Test wfs:test1.0.0-basic-describefeaturetype-get-5 (wfs-1.0.0/w8aac25b3b9d177b1_1) Failed
    Test wfs:test1.0.0-basic-describefeaturetype-get-6 (wfs-1.0.0/w8aac25b3b9d179b1_1) Failed
    Test wfs:test1.0.0-basic-describefeaturetype-get-7 (wfs-1.0.0/w8aac25b3b9d181b1_1) Failed
    Test wfs:test1.0.0-basic-describefeaturetype-post-1 (wfs-1.0.0/w8aac25b3b9d187b1_1) Failed
    Test wfs:test1.0.0-basic-describefeaturetype-post-2 (wfs-1.0.0/w8aac25b3b9d189b1_1) Failed
    Test wfs:test1.0.0-basic-describefeaturetype-post-4 (wfs-1.0.0/w8aac25b3b9d193b1_1) Failed
    Test wfs:test1.0.0-basic-describefeaturetype-post-5 (wfs-1.0.0/w8aac25b3b9d195b1_1) Failed
    Test wfs:test1.0.0-basic-describefeaturetype-post-6 (wfs-1.0.0/w8aac25b3b9d197b1_1) Failed
    Test wfs:test1.0.0-basic-describefeaturetype-post-7 (wfs-1.0.0/w8aac25b3b9d199b1_1) Failed
{code}

One CITE WFS 1.1 test fails. This is the same test that fails before the patch is applied. See GEOS-2816.
{code}

log.bat wfs 1.1.0 | perl -ne "print if /Failed/"

Test wfs:wfs-main (wfs-1.1.0) Failed (Inherited Failure)
    Test wfs:readiness-tests (wfs-1.1.0/w8aac15b3c21b3b5_1) Failed (Inherited Failure)
       Test wfs:basic-main (wfs-1.1.0/w8aac15b3c21b3b5_1/w8aab5b1c13b9b5b5b9b1_1) Failed (Inherited Failure)
          Test wfs:run-GetFeature-POST (wfs-1.1.0/w8aac15b3c21b3b5_1/w8aab5b1c13b9b5b5b9b1_1/w8aab7c13b9c15b3c13b1_1) Failed (Inherited Failure)
             Test wfs:wfs-1.1.0-Basic-GetFeature-tc42.4 (wfs-1.1.0/w8aac15b3c21b3b5_1/w8aab5b1c13b9b5b5b9b1_1/w8aab7c13b9c15b3c13b1_1/w8aab7c11c11b9d187b7_1) Failed
{code}

Modify GML3OutputFormat to get feature type names from WFS request not guess them from FeatureCollection.getSchema()
--------------------------------------------------------------------------------------------------------------------

                Key: GEOS-2753
                URL: http://jira.codehaus.org/browse/GEOS-2753
            Project: GeoServer
         Issue Type: Improvement
         Components: WFS
   Affects Versions: 2.0.x
           Reporter: Ben Caradoc-Davies
           Assignee: Ben Caradoc-Davies
        Attachments: GML3FeatureProducerTest.patch, GML3OutputFormat.patch

GML3OutputFormat presently obtains WFS feature type names by using FeatureCollection.getSchema() to obtain the content FeatureType and then assuming that its name is the same as the name of the WFS Feature Type. This need not be the case. See discussion:
http://n2.nabble.com/Broken-GML3OutputFormat-feature-type-name-assumption-td2465297.html
A straightforward solution is to instead obtain the WFS feature type names from the WFS request, as suggested by Andrea. This is implemented in the attached patch GML3OutputFormat.patch. This patch changes the behaviour of the class to iterate over all queries and over all type names within each query, and so is an enhancement over the present implementation, which is limited to one type name per feature collection.
GML3FeatureProducerTest.patch amends a unit test that used a WFS request without setting any type or Query, relying on the old behaviour of GML3OutputFormat. The patch sets the query type names to match those in the data.

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

--
Ben Caradoc-Davies <Ben.Caradoc-Davies@anonymised.com>
Software Engineer, CSIRO Exploration and Mining
Australian Resources Research Centre
26 Dick Perry Ave, Kensington WA 6151, Australia