Hi Jody,

An answer to all your questions ( I think ).

On 22/05/14 02:39, Jody Garnett wrote:
1) version negotiation how?


Okay, so I have been looking at this GML3 issue, and I found where it happens is in the method getDefaultOutputFormat in AbstractWFSStrategy.

What this method does is look at the client formats and server formats and takes the first match.

The client formats are defined in the class GmlGetFeatureResponseParserFactory in the gt-data module. They are:

                    "text/xml; subtype=gml/3.1.1",//
                    "text/xml;subtype=gml/3.1.1",//
                    "text/xml; subtype=gml/3.1.1/profiles/gmlsf/0",//
"text/xml;subtype=gml/3.1.1/profiles/gmlsf/0",//
                    "application/gml+xml; subtype=gml/3.1.1",//
"application/gml+xml;subtype=gml/3.1.1",//
"application/gml+xml; subtype=gml/3.1.1/profiles/gmlsf/0",//
"application/gml+xml;subtype=gml/3.1.1/profiles/gmlsf/0",//
                    "GML3", //
                    "GML3L0", //
"text/xml", // oddly, GeoServer returns plain 'text/xml' instead of the propper // subtype when resultType=hits. Guess we should make this something
                                // the specific strategy can hanlde?
"text/gml; subtype=gml/3.1.1",// the incorrectly advertised GeoServer format
                    "GML2",//
                    "text/xml; subtype=gml/2.1.2"//

Then the server formats are taken from the parsed getcapabilities document.
For the geoserver WFS 1.0 server this is:
GML3, GML2, CSV, JSON, SHAPE-ZIP, KML


So... since GML3 is *first* in the list, that is the chosen format. Question is: is this wrong? If Geoserver puts it in that order in its wfs 1.0 getcapabilities document, doesn't it make sense to pick it first? If the server didn't support GML3 it wouldn't occur.


2) Replacement for WFSSchema.NAMESPACE

public static URI NAMESPACE = makeURI("http://www.opengis.net/wfs";);

Is there is good place to reference this value? I don't want to have to create it in multiple locations?

What about WFS.NAMESPACE in the xsd-wfs module? It is a string though.


3) GetBounds / CRS not working -> getInfo problem?

I have found that all my problems disappeared as soon as I filled in the *namespace* parameter when creating the store.
a) CRS and bounds were received properly;
b) Map was rendered successfully;
c) Features were editable and transactions were sent to server successfully.

So I found the bug is not in wfs-ng getInfo but in uDig.
More specifically: you can find the bug on line 79 of the class WFSGeoResourceInfo in the module org.locationtech.udig.catalog.wfs. The namespace is here used without a null check. Because of that, the whole method crashes (which is actually a constructor) and therefore *none* of the metadata of the resource is being received. According to the geotools API I see no reason why the namespace can't be null. udig shouldn't crash on that... so in my opinion it is udig that needs to change and not wfs-ng! Correct me if I'm wrong...



4) Visual representation of parameters names, formatting sources, ...

Will be sorted.


Kind Regards
Niels









------------------------------------------------------------------------------
The best possible search technologies are now affordable for all companies.
Download your FREE open source Enterprise Search Engine today!
Our experts will assist you in its installation for $59/mo, no commitment.
Test it for FREE on our Cloud platform anytime!
http://pubads.g.doubleclick.net/gampad/clk?id=145328191&iu=/4140/ostg.clktrk
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to