Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [udig-devel] Selection filter changed

Thanks Jesse. Unfortunately selecting it didn't make a difference. I assume that you mean selecting it in the Layers view? Manually re-rendering the map doesn't work either.

I did find this in the console output every time I apply the filter:

26/04/2006 09:52:52 org.geotools.xml.XMLSAXHandler endElement
WARNING: java.lang.NullPointerException
26/04/2006 09:52:52 org.geotools.xml.XMLSAXHandler endElement
WARNING: Line 9 Col 23
26/04/2006 09:52:52 org.geotools.xml.XMLSAXHandler endElement
WARNING: java.lang.NullPointerException
26/04/2006 09:52:52 org.geotools.xml.XMLSAXHandler endElement
WARNING: Line 9 Col 23

Any idea where I can debug this? The layer is a WFS layer. Hang on a sec... that is actually a service exception being thrown from GeoServer as a result of this request:

3698536497 [FINE] org.vfny.geoserver.util.requests.readers.KvpRequestReader - clean request is SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&FILTER=<Filter xmlns="http://www.opengis.net/ogc"; xmlns:gml="http://www.opengis.net/gml";><And><PropertyIsEqualTo><PropertyName>roadeventid</PropertyName>
<Literal>1</Literal>
</PropertyIsEqualTo>
<And><BBOX><PropertyName>the_geom</PropertyName>
<gml:Box><gml:coordinates decimal="." cs="," ts=" ">171.84467232281352,-42.68326658192282 174.92959292258212,-40.78287574213683</gml:coordinates>
</gml:Box>
</BBOX>
<Or><Or><Or><Or><Or><Or><PropertyIsEqualTo><Function name="geometryType"><PropertyName>the_geom</PropertyName>
</Function>
<Literal>Point</Literal>
</PropertyIsEqualTo>
<PropertyIsEqualTo><Function name="geometryType"><PropertyName>the_geom</PropertyName>
</Function>
<Literal>MultiPoint</Literal>
</PropertyIsEqualTo>
</Or>
<PropertyIsEqualTo><Function name="geometryType"><PropertyName>the_geom</PropertyName>
</Function>
<Literal>LineString</Literal>
</PropertyIsEqualTo>
</Or>
<PropertyIsEqualTo><Function name="geometryType"><PropertyName>the_geom</PropertyName>
</Function>
<Literal>LinearRing</Literal>
</PropertyIsEqualTo>
</Or>
<PropertyIsEqualTo><Function name="geometryType"><PropertyName>the_geom</PropertyName>
</Function>
<Literal>MultiLineString</Literal>
</PropertyIsEqualTo>
</Or>
<PropertyIsEqualTo><Function name="geometryType"><PropertyName>the_geom</PropertyName>
</Function>
<Literal>Polygon</Literal>
</PropertyIsEqualTo>
</Or>
<PropertyIsEqualTo><Function name="geometryType"><PropertyName>the_geom</PropertyName>
</Function>
<Literal>MultiPolygon</Literal>
</PropertyIsEqualTo>
</Or>
</And>
</And>
</Filter>
&TYPENAME=topp:roadevent_pnt


Which causes:

3698536516 [INFO] org.vfny.geoserver.servlets.AbstractService - Had an undefined error: null
3698536516 [FINE] org.vfny.geoserver.ServiceException - java.lang.NullPointerException
3698536517 [WARNING] org.vfny.geoserver.ServiceException - encountered error: java.lang.NullPointerException
StackTrace: java.lang.NullPointerException

3698536518 [FINE] org.vfny.geoserver.ServiceException - return wfs exception is <?xml version="1.0" ?>
<ServiceExceptionReport
  version="1.2.0"
  xmlns="http://www.opengis.net/ogc";
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  xsi:schemaLocation="http://www.opengis.net/ogc https://0800.transit.govt.nz:8443/geoserver/schemas//wfs/1.0.0/OGC-exception.xsd";>
  <ServiceException>
     java.lang.NullPointerException
  </ServiceException>
</ServiceExceptionReport>

There is no stack trace of where the error occurred.

Why is a request being sent back to GeoServer just to highlight a feature on the map? Has this always been the way? And if so, what changed? It's the same version of GeoServer (1.3.0) that we've been using for a while.

Thanks,
Mark

Jesse Eichar wrote:

Is they layer you are selecting on the selected layer? If it is not it may not be shown. This might also be a bug. Could you make sure that the layer is the selected layer and if it is not highlight then add a bug report.

Does the highlight appear if you manually re-render the map?

Jesse

On 25-Apr-06, at 2:32 AM, Mark Presling wrote:

Hi all,

Something else has changed since my last source update to revision 19235 (20/04/06). I used to use LayerImpl.setFilter() to highlight a feature on the map using a FID filter. Now this doesn't seem to work correctly. It just doesn't do anything at all and I can't seem to track down why.

Has anyone changed something to do with the selection stuff? Should I be doing this a new way?

FYI, here is the code I am using to do this:

       IMap map = ApplicationGIS.getActiveMap();
LayerImpl eventLayer = (LayerImpl) getLayerByName (LAYER_ROADEVENT, map); //My own method
              FilterFactory filterFactory = new FilterFactoryImpl();
       CompareFilter filter = null;
       try {
FeatureSource featureSource = (FeatureSource) eventLayer.getResource(
                   FeatureSource.class, null);
filter = filterFactory.createCompareFilter (CompareFilter.COMPARE_EQUALS); FeatureType featureType = featureSource.getFeatures ().getSchema(); filter.addLeftValue (filterFactory.createAttributeExpression(featureType, "roadeventid")); filter.addRightValue (filterFactory.createLiteralExpression(id));
           eventLayer.setFilter(filter);
       } catch (Exception e) {
           e.printStackTrace();
       }



Thanks,
Mark

--
This message has been scanned for viruses and dangerous
content by MailScanner, and is believed to be clean.

<mark.vcf>
_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel


_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel


--
This message has been scanned for viruses and dangerous
content by MailScanner, and is believed to be clean.

begin:vcard
fn:Mark Presling
n:Presling;Mark
email;internet:mark@xxxxxxxxxxxx
tel;home:+6442322774
tel;cell:+6421549540
version:2.1
end:vcard


Back to the top