Jody,

Yeah of course you're right I was a bit confused. It is quite straight-forward to solve. Just need to overwrite getInfo in WFSContentFeatureSource, and need to write some extra stuff in the strategy to take that info out of the getcapabilities.
Will do.

Regards
Niels

On 30/05/14 13:57, Jody Garnett wrote:
In this case WFS Client has much better information then what the generic ContentDataStore has access to, this data structure was originally made so that WFS Server could communicate the title and description information back. Although JDBC implementations can check table metadata for title / description.

So yeah fill in what you can (and WFS should be able to fill in everything). As you have seen uDig uses this data structure to figure out what content is made available, and it should populate the defaults in GeoServer as well.
--
Jody

Jody Garnett


On Fri, May 30, 2014 at 6:28 PM, Niels Charlier <ni...@scitus.be <mailto:ni...@scitus.be>> wrote:

    Hello Jody,

    Regarding the info: the getInfo that passes on this information is
    implemented in ContentDataStore in gt-data, a class written by you
    two (Jody and Justin).

    It seems to me you want me to pass on information from the
    GeoServer catalog, but how is that information even available from
    within a geotools module? That seems to me the reason why CRS and
    bounds can be provided but not the other stuff. I don't know if
    there is a straight-forward way to do this.

    Either way, it seems to me this might be out of scope here because
    this regards a more general issue (ContentDataStore) rather than a
    wfs-ng specific issue. I'll leave it up to you two to decide...

    Kind Regards
    Niels


    On 29/05/14 03:25, Jody Garnett wrote:
    Aside: In testing this patch for uDig I noticed that wfs-ng
    (before your pull request) is not filling in the Info data
    structure for topp:states

    title is null, but should be "USA Population"
    description is null, but should be "This is some census data on
    the states."
    bounds is correct.
    crs is correct.

    resourceInfo.getSchema() fails with a NPE inside GeoTools code:


    java.lang.NullPointerException

    at java.net.URI$Parser.parse(URI.java:3023)

    at java.net.URI.<init>(URI.java:595)

    at
    
org.geotools.data.store.ContentFeatureSource$1.getSchema(ContentFeatureSource.java:267)


    Checking DescribeFeatureType header this result should be
    "http://www.openplans.org/topp";


    With the fallback code the schema is set to
    
"http://localhost:8080/geoserver/ows?service=wfs&version=1.0.0&request=GetCapabilities";


    keywords came back empty, but should be
    "census","united","boundaries","state","states"





    Jody Garnett


    On Thu, May 29, 2014 at 9:44 AM, Jody Garnett
    <jody.garn...@gmail.com <mailto:jody.garn...@gmail.com>> wrote:

        Just a remark first: I did not write any of the code we are
        writing about, I am only reporting what I find. I don't feel
        one way or the other about it, so if you reckon it needs to
        be changed it is fine for me, as long as you specify exactly
        what you want to change about it. I'm just the messenger,
        basically.

        Thanks Niels, I expect we are both being too polite. I will
        try and be succinct, feel free to push back if I am creating
        more work for you.

        1) access to version negotiation

        uDig was making use of a method that allowed passing in a URL
        (of WFS Service without VERSION) and it would return the
        result of version negotiation between client and server (i.e.
        a URL with VERSION=X.X.X). This is required so we get a
        stable ID for recording the datastore (and thus can notices
        if two URLs end up talking to the same WFS using the same
        protocol).

        2) Default output format WFS=1.0.0 = GML2, WFS 1.1 = GML3,
        WFS=2.0 = GML?

        3) namespace

        Namespace should be not only optional, but marked as
        LEVEL="advanced" (or even LEVEL="program" if it something
        that geoserver fills in automatically to match the workspace
        namespace)

        4) udig did a null check, just in case.

        Agreed.


        Thanks Niels, sorry for the epic discussion thread.

        Jody





------------------------------------------------------------------------------
Time is money. Stop wasting it! Get your web API in 5 minutes.
www.restlet.com/download
http://p.sf.net/sfu/restlet
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to