Gertjan van Oosten wrote:
Hi Chris,

As quoted from Chris Holmes <[EMAIL PROTECTED]>:

Any chance I could convince you to put this patch in the geoserver task tracker? http://jira.codehaus.org/browse/GEOS I'm happy to submit it myself, but if you do it then you'll be automatically notified when it's updated.


Well ... I don't mind getting into this; the reason I sent in the patch
is that I obviously don't want to keep my own version of this one method
in this one class from GeoTools.  However, I'm not quite sure how I
should go about this (I read the hacking bit at
  http://www.geotools.org/display/GEOT/Hacking
but it's unclear to me what the impact of e.g. keeping it in line with
version 2.3 would be).  So I guess the short of it is that at the moment
it is more convenient for me if you submitted it yourself.  But you
might convince me anyway. ;-)

Oh, I don't mean actually commit it or anything, just use the task tracker to 'report' it. We will still review and take care of the details, basically I'll put in the task tracker anyways. But if you're the one to actually do the submission it allows you to more easily track the status of the issue, since the tracker emails you whenever you do something.



I'm slightly wary of this, as there's a chance it may break the CITE conformance tests.


Any way to run these (apart from the obvious "maven test" that was
already run as part of my build)?
Unfortunately they're kind of a bitch to run. Instructions are at: http://docs.codehaus.org/display/GEOSDOC/Running+Cite+Tests You have to install a database with all the data, and put GeoServer on a publicly accessible server. We've simplified the process a lot with the postgis script, but it's still a decent bit of work.



Mostly because the tests aren't good, not because it's the wrong thing to do, but I remember that I thought nulls should work this way, but that in their set up nulls were just returned as blank.


Dunno 'bout that.  You don't see the problem if you use shapefiles, as
there are no nulls there, just empty fields (which means you will get
them as empty fields in the GML).  With a real (hah!) database the
difference is that you get this (slightly edited for brevity) GML *with*
the patch:

Yeah, I understand all the issues. Your way is definitely the 'right' way, according to XML specs. The problem is the OGC cite tests have some test for a 'null' feature, but I believe it checks for leaving out the fields, instead of having the proper xsi:nil stuff. But I could be wrong.


  <wfs:FeatureCollection xsi:schemaLocation="[...]">
    <gml:boundedBy>
      <gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#4326";>
        <gml:coordinates decimal="." cs="," ts=" ">1.0,1.0 
2.0,2.0</gml:coordinates>
      </gml:Box>
    </gml:boundedBy>
    <gml:featureMember>
      <xxx:yyy fid="yyy.38">
        <xxx:name>test</xxx:name>
        <xxx:length xsi:nil="true"/>
        <xxx:width xsi:nil="true"/>
        <xxx:geom>
          <gml:Point srsName="http://www.opengis.net/gml/srs/epsg.xml#4326";>
            <gml:coordinates decimal="." cs="," ts=" ">1.5,1.5</gml:coordinates>
          </gml:Point>
        </xxx:geom>
      </xxx:yyy>
    </gml:featureMember>
  </wfs:FeatureCollection>

as opposed to the *distributed* version:

  <wfs:FeatureCollection xsi:schemaLocation="[...]">
    <gml:boundedBy>
      <gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#4326";>
        <gml:coordinates decimal="." cs="," ts=" ">1.0,1.0 
2.0,2.0</gml:coordinates>
      </gml:Box>
    </gml:boundedBy>
    <gml:featureMember>
      <xxx:yyy fid="yyy.38">
        <xxx:name>test</xxx:name>
        <xxx:geom>
          <gml:Point srsName="http://www.opengis.net/gml/srs/epsg.xml#4326";>
            <gml:coordinates decimal="." cs="," ts=" ">1.5,1.5</gml:coordinates>
          </gml:Point>
        </xxx:geom>
      </xxx:yyy>
    </gml:featureMember>
  </wfs:FeatureCollection>

which misses out the xxx:length and xxx:width attributes that are null
in the database.


So to get this in to GeoServer correctly we may need to make it a config option, or make a part of the 'citehacks' options.


Is there something I could do to find out if this is really needed or
not?
Running the cite tests will do it. But it may not quite be worth your time. I'm not sure if we have a good cite set up at the moment, but we're doing a release soon, so we'll need it. After that's set up I can try it out. Just submit it to the task tracker, and I'll try to get to it next week.

The other thing you could do is get in to the code and add it as a config option: http://docs.codehaus.org/display/GEOSDOC/How+to+Config

best regards,

Chris



Cheers,

--
Chris Holmes
The Open Planning Project
http://topp.openplans.org
begin:vcard
fn:Chris Holmes
n:Holmes;Chris
org:The Open Planning Project
adr:;;377 Broadway, 11th Floor;New York;NY;10013;USA
email;internet:[EMAIL PROTECTED]
title:VP, Strategic Development
x-mozilla-html:FALSE
url:http://topp.openplans.org
version:2.1
end:vcard

Reply via email to