Well it is hard because XML would not really let you have a "null" value for a
ComplexAttribute. It is more like "occurs" = 0 in the sense of minOccurs and
maxOccurs? Basically the representation of "null" is simply not to include the
complex attribute?
You could try and have some weasel room with a ComplexAttribute that is empty
returning true for isNull? Basically indicating that it holds no content.
What is the use case you are trying to solve?
--
Jody Garnett
On Tuesday, 4 October 2011 at 9:46 AM, Dustin Parker wrote:
>
> I don't have a patch yet because I'm not sure what the right behavior for
> ComplexAttribute should be. Any hints?
>
> -----Original Message-----
> From: Jody Garnett [mailto:jody.garn...@gmail.com]
> Sent: Mon 10/3/2011 3:36 PM
> To: Dustin Parker
> Cc: geotools-gt2-users@lists.sourceforge.net
> (mailto:geotools-gt2-users@lists.sourceforge.net)
> Subject: Re: [Geotools-gt2-users] GEOT-3576 patch breaks isNull test
> forcomplex attributes - Email found in subject - Email found in subject
>
> Okay I am in the Process of releasing 8.0-M2 now; so what I need is someone
> to review your GEOT-3576 patch and get it applied (and I can apply it just
> before the release here).
>
> The trouble is not many developers work on the application schema codebase;
> so we need to be sure to include a test case with each patch on this topic
> (so the person reviewing can confirm your fix does something).
>
> --
> Jody Garnett
>
>
> On Tuesday, 4 October 2011 at 6:15 AM, Dustin Parker wrote:
>
> >
> > No dice; 8-SNAPSHOT executes the same codepath as 8.0-M1 and achieves the
> > same result.
> >
> > -----Original Message-----
> > From: Dustin Parker [mailto:dpar...@forwardslope.com]
> > Sent: Mon 10/3/2011 10:15 AM
> > To: Jody Garnett
> > Cc: geotools-gt2-users@lists.sourceforge.net
> > (mailto:geotools-gt2-users@lists.sourceforge.net)
> > (mailto:geotools-gt2-users@lists.sourceforge.net)
> > Subject: Re: [Geotools-gt2-users] GEOT-3576 patch breaks isNull test
> > forcomplex attributes - Email found in subject - Email found in subject
> >
> >
> > Yes sir, I will try 8-SNAPSHOT.
> >
> > -----Original Message-----
> > From: Jody Garnett [mailto:jody.garn...@gmail.com]
> > Sent: Sun 10/2/2011 4:24 AM
> > To: Dustin Parker
> > Cc: geotools-gt2-users@lists.sourceforge.net
> > (mailto:geotools-gt2-users@lists.sourceforge.net)
> > (mailto:geotools-gt2-users@lists.sourceforge.net)
> > Subject: Re: [Geotools-gt2-users] GEOT-3576 patch breaks isNull test for
> > complex attributes - Email found in subject
> >
> > There has been a change with respect to handling of all filters -
> > specifically for AppSchema. I was going to release a M2 shortly; if you
> > would not rechecking the functionality of 8-SNAPSHOT to see how / if it
> > addresses your problem it would be appreciated.
> >
> > Indeed on the geotools-devel list we have been discussing (today) the
> > difference between an isNull and a WFS2 isNil filter (where isNil is
> > supposed to test the existence; rather than just the value).
> > --
> > Jody Garnett
> >
> >
> > On Saturday, 1 October 2011 at 5:53 AM, Dustin Parker wrote:
> >
> > > Hey all,
> > >
> > > Our app uses GeoTools and app-schema features. We've been using 2.7-M2
> > > for a while, and I wanted to update to 8.0-M1 since it fixes some
> > > concurrency bugs in the factory implementation. However, it breaks
> > > isNull expressions that are testing for the existence of complex
> > > attributes. It all comes down to this method in
> > > org.geotools.filter.FilterAbstract:
> > >
> > > private Object unpack(Object value) {
> > >
> > > if (value instanceof org.opengis.feature.ComplexAttribute){
> > > Property simpleContent =
> > > ((org.opengis.feature.ComplexAttribute)value).getProperty(new
> > > NameImpl("simpleContent"));
> > > if (simpleContent == null) {
> > > return null;
> > > } else {
> > > return simpleContent.getValue();
> > > }
> > > }
> > >
> > > if(value instanceof org.opengis.feature.Attribute){
> > > return ((org.opengis.feature.Attribute)value).getValue();
> > > }
> > >
> > > return value;
> > > }
> > >
> > > Because we really are testing for the existence of a complex attribute,
> > > and that attribute doesn't have a property named {}simpleContent, this
> > > returns null and isNull always returns true.
> > >
> > > Is this the correct behavior? It's changed from 2.7-M2, and it just
> > > seems counterintuitive. If this is the correct behavior, is there a
> > > better way to check for null complex attributes?
> > >
> > > ------------------------------------------------------------------------------
> > > All of the data generated in your IT infrastructure is seriously valuable.
> > > Why? It contains a definitive record of application performance, security
> > > threats, fraudulent activity, and more. Splunk takes this data and makes
> > > sense of it. IT sense. And common sense.
> > > http://p.sf.net/sfu/splunk-d2dcopy2
> > > _______________________________________________
> > > Geotools-gt2-users mailing list
> > > Geotools-gt2-users@lists.sourceforge.net
> > > (mailto:Geotools-gt2-users@lists.sourceforge.net)
> > > (mailto:Geotools-gt2-users@lists.sourceforge.net)
> > > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
> >
> >
> >
> > ------------------------------------------------------------------------------
> > All the data continuously generated in your IT infrastructure contains a
> > definitive record of customers, application performance, security
> > threats, fraudulent activity and more. Splunk takes this data and makes
> > sense of it. Business sense. IT sense. Common sense.
> > http://p.sf.net/sfu/splunk-d2dcopy1
> > _______________________________________________
> > Geotools-gt2-users mailing list
> > Geotools-gt2-users@lists.sourceforge.net
> > (mailto:Geotools-gt2-users@lists.sourceforge.net)
> > (mailto:Geotools-gt2-users@lists.sourceforge.net)
> > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Geotools-gt2-users mailing list
Geotools-gt2-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users