[Geoserver-devel] Re: wfs:Delete failed!

Hi Efren,

I think you have found a bug. When no filter is supplied the PostgisFeatureStore doesn't handle it properly. I am going to make a jira task about this one.

http://jira.codehaus.org/browse/GEOS-449

Justin

Efren Serra wrote:

Hello Justin,

I tried submitting the following wfs:Transaction to my WFS but it failed
with the exception below. I was wondering if you had any clues as to the
java.lang.ClassCastException that got thrown. Thank you.

v/r,
Efren

<wfs:Transaction service="WFS" version="1.0.0"
  xmlns:cdf="http://www.opengis.net/cite/data&quot;
  xmlns:ogc="http://www.opengis.net/ogc&quot;
  xmlns:wfs="http://www.opengis.net/wfs&quot;&gt;
  xmlns:jillnic="http://www1.metnet.navy.mil/jillnic&quot;&gt;
  <wfs:Delete typeName="jillnic:pressure"/>
<wfs:Delete typeName="jillnic:humidity"/>
<wfs:Delete typeName="jillnic:temperature"/>
<wfs:Delete typeName="jillnic:wind_speed"/>
</wfs:Transaction>

------------XML POST END-----------
22:38:20,357 INFO [STDOUT]
22:38:20,358 INFO [STDOUT]
22:38:20,362 INFO [STDOUT]
22:38:20,364 INFO [STDOUT]
22:38:20,365 INFO [STDOUT]
22:38:20,366 INFO [STDOUT]
22:38:20,368 INFO [STDOUT]
releaseAction: ALL
handle: null
Delete Feature Request
feature type:jillnic:pressure
filter:Filter.NONE
release:true
Delete Feature Request
feature type:jillnic:humidity
filter:Filter.NONE
release:true
Delete Feature Request
feature type:jillnic:temperature
filter:Filter.NONE
release:true
Delete Feature Request
feature type:jillnic:wind_speed
filter:Filter.NONE
release:true
22:38:20,369 INFO [STDOUT]
22:38:20,384 INFO [STDOUT]
releaseAction: ALL
handle: null
Delete Feature Request
feature type:jillnic:pressure
filter:Filter.NONE
release:true
Delete Feature Request
feature type:jillnic:humidity
filter:Filter.NONE
release:true
Delete Feature Request
feature type:jillnic:temperature
filter:Filter.NONE
release:true
Delete Feature Request
feature type:jillnic:wind_speed
filter:Filter.NONE
release:true
22:38:20,389 INFO [STDOUT]
22:38:20,390 INFO [STDOUT]
22:38:20,391 INFO [STDOUT]
22:38:20,392 INFO [STDOUT]
22:38:20,393 INFO [STDOUT]
22:38:20,394 INFO [STDOUT]
22:38:20,395 INFO [STDOUT]
22:38:20,396 INFO [STDOUT]
22:38:20,397 INFO [STDOUT]
22:38:20,398 INFO [STDOUT]
22:38:20,399 INFO [STDOUT]
22:38:20,400 INFO [STDOUT]
22:38:20,401 INFO [STDOUT]
22:38:20,402 INFO [STDOUT]
22:38:20,403 INFO [STDOUT]
22:38:20,407 INFO [STDOUT]
22:38:20,408 INFO [STDOUT]
22:38:20,412 INFO [STDOUT]
22:38:20,413 INFO [STDOUT]
22:38:20,418 INFO [STDOUT]
22:38:20,419 INFO [STDOUT]
22:38:20,423 INFO [STDOUT]
22:38:20,425 INFO [STDOUT]
StackTrace: java.lang.ClassCastException
  at
org.geotools.data.postgis.PostgisFeatureStore.removeFeatures(PostgisFeatureS
tore.java:384)
  at
org.vfny.geoserver.global.GeoServerFeatureStore.removeFeatures(GeoServerFeat
ureStore.java:87)
  at
org.vfny.geoserver.wfs.responses.TransactionResponse.execute(TransactionResp
onse.java:381)
  at
org.vfny.geoserver.wfs.responses.TransactionResponse.execute(TransactionResp
onse.java:105)
  at
org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:4
22)
  at
org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:360)
  at
org.vfny.geoserver.wfs.servlets.WfsDispatcher.doResponse(WfsDispatcher.java:
274)
  at
org.vfny.geoserver.wfs.servlets.WfsDispatcher.doPost(WfsDispatcher.java:163)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
  at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:237)
  at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:157)
  at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:214)
  at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
  at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
  at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContext
Valve.java:198)
  at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:152)
  at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
  at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Unknown
Source)
  at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:102)
  at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(Unknown
Source)
  at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:102)
  at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
  at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137
)
  at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
  at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117
)
  at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:102)
  at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
  at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)
  at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
  at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
  at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
  at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:297)
  at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:371)
  at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:731)
  at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:663)
  at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:859)
  at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:683)
  at java.lang.Thread.run(Thread.java:534)
22:38:20,426 INFO [STDOUT]
<ServiceExceptionReport
   version="1.2.0"
   xmlns="http://www.opengis.net/ogc&quot;
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;
   xsi:schemaLocation="http://www.opengis.net/ogc
http://www1.metnet.navy.mil:80/geoserver/data/capabilities//wfs/1.0.0/OGC-ex
ception.xsd">
   <ServiceException>
      java.lang.ClassCastException </ServiceException>
</ServiceExceptionReport>
22:38:20,426 INFO [STDOUT] org.vfny.geoserver.wfs.WfsException:
java.lang.ClassCastException
22:38:20,427 INFO [STDOUT] at
org.vfny.geoserver.wfs.WfsExceptionHandler.newServiceException(WfsExceptionH
andler.java:65)
22:38:20,427 INFO [STDOUT] at
org.vfny.geoserver.servlets.AbstractService.sendError(AbstractService.java:7
22)
22:38:20,427 INFO [STDOUT] at
org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:4
34)
22:38:20,427 INFO [STDOUT] at
org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:360)
22:38:20,427 INFO [STDOUT] at
org.vfny.geoserver.wfs.servlets.WfsDispatcher.doResponse(WfsDispatcher.java:
274)
22:38:20,427 INFO [STDOUT] at
org.vfny.geoserver.wfs.servlets.WfsDispatcher.doPost(WfsDispatcher.java:163)
22:38:20,428 INFO [STDOUT] at
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
22:38:20,428 INFO [STDOUT] at
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
22:38:20,428 INFO [STDOUT] at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:237)
22:38:20,428 INFO [STDOUT] at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:157)
22:38:20,428 INFO [STDOUT] at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:214)
22:38:20,428 INFO [STDOUT] at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
22:38:20,428 INFO [STDOUT] at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
22:38:20,428 INFO [STDOUT] at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContext
Valve.java:198)
22:38:20,428 INFO [STDOUT] at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:152)
22:38:20,429 INFO [STDOUT] at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
22:38:20,429 INFO [STDOUT] at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Unknown
Source)
22:38:20,429 INFO [STDOUT] at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:102)
22:38:20,429 INFO [STDOUT] at
org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(Unknown Source)
22:38:20,429 INFO [STDOUT] at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:102)
22:38:20,429 INFO [STDOUT] at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
22:38:20,429 INFO [STDOUT] at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137
)
22:38:20,429 INFO [STDOUT] at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
22:38:20,429 INFO [STDOUT] at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117
)
22:38:20,430 INFO [STDOUT] at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:102)
22:38:20,430 INFO [STDOUT] at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
22:38:20,430 INFO [STDOUT] at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)
22:38:20,430 INFO [STDOUT] at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
22:38:20,430 INFO [STDOUT] at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
22:38:20,430 INFO [STDOUT] at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
22:38:20,430 INFO [STDOUT] at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
22:38:20,430 INFO [STDOUT] at
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:297)
22:38:20,431 INFO [STDOUT] at
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:371)
22:38:20,431 INFO [STDOUT] at
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:731)
22:38:20,431 INFO [STDOUT] at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:663)
22:38:20,431 INFO [STDOUT] at
org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:859)
22:38:20,431 INFO [STDOUT] at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:683)
22:38:20,431 INFO [STDOUT] at java.lang.Thread.run(Thread.java:534)
22:38:20,431 INFO [STDOUT] Caused by: java.lang.ClassCastException
22:38:20,431 INFO [STDOUT] at
org.geotools.data.postgis.PostgisFeatureStore.removeFeatures(PostgisFeatureS
tore.java:384)
22:38:20,431 INFO [STDOUT] at
org.vfny.geoserver.global.GeoServerFeatureStore.removeFeatures(GeoServerFeat
ureStore.java:87)
22:38:20,432 INFO [STDOUT] at
org.vfny.geoserver.wfs.responses.TransactionResponse.execute(TransactionResp
onse.java:381)
22:38:20,432 INFO [STDOUT] at
org.vfny.geoserver.wfs.responses.TransactionResponse.execute(TransactionResp
onse.java:105)
22:38:20,432 INFO [STDOUT] at
org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:4
22)
22:38:20,432 INFO [STDOUT] ... 35 more
22:38:41,778 INFO [STDOUT]
22:38:41,779 INFO [STDOUT]
22:38:41,780 INFO [STDOUT]
22:38:41,781 INFO [STDOUT]
22:38:41,791 INFO [STDOUT]
22:38:41,792 INFO [STDOUT]
22:38:41,793 INFO [STDOUT]
22:38:41,794 INFO [STDOUT]
22:38:41,795 INFO [STDOUT]
22:38:41,796 INFO [STDOUT]

--
Justin Deoliveira
The Open Planning Project
http://topp.openplans.org

You're wanting to delete all the features in the tables? I feel like we
should maybe not just allow a non-included filter to mangle a whole
database? Like force people to have a filter like 5=5. That said we
should give a better error message, that says something like 'if you
really want to delete all features in your table, then submit a filter
that is always true'.

Also should check behavior of updates to make sure it does the right
thing.

Oh, hold on, looking at the schemas from the spec:
' <xsd:complexTypename="DeleteElementType">
<xsd:sequence>
<xsd:elementref="ogc:Filter"minOccurs="1"maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
The Filter element is used to constrain the scope
of the delete operation to those features identified
by the filter.Feature instances can be specified
explicitlyandindividuallyusingtheidentifierof
eachfeatureinstanceORasetoffeaturestobe
operatedoncanbeidentifiedbyspecifyingspatial
andnon-spatialconstraintsinthefilter.
*****
If no filter is specified then an exception should
be raised since it is unlikely that a client application
intends to delete all feature instances.
*****
</xsd:documentation>

I love it when specs say things that make sense. So we're technically
following the spec, but we probably should give an error that is more
informative than a class cast exception.

Chris

Quoting Justin Deoliveira <jdeolive@anonymised.com>:

Hi Efren,

I think you have found a bug. When no filter is supplied the
PostgisFeatureStore doesn't handle it properly. I am going to make a
jira task about this one.

http://jira.codehaus.org/browse/GEOS-449

Justin

Efren Serra wrote:
> Hello Justin,
>
> I tried submitting the following wfs:Transaction to my WFS but it
failed
> with the exception below. I was wondering if you had any clues as
to the
> java.lang.ClassCastException that got thrown. Thank you.
>
> v/r,
> Efren
>
> <wfs:Transaction service="WFS" version="1.0.0"
> xmlns:cdf="http://www.opengis.net/cite/data&quot;
> xmlns:ogc="http://www.opengis.net/ogc&quot;
> xmlns:wfs="http://www.opengis.net/wfs&quot;&gt;
> xmlns:jillnic="http://www1.metnet.navy.mil/jillnic&quot;&gt;
> <wfs:Delete typeName="jillnic:pressure"/>
> <wfs:Delete typeName="jillnic:humidity"/>
> <wfs:Delete typeName="jillnic:temperature"/>
> <wfs:Delete typeName="jillnic:wind_speed"/>
> </wfs:Transaction>
>
> ------------XML POST END-----------
> 22:38:20,357 INFO [STDOUT]
> 22:38:20,358 INFO [STDOUT]
> 22:38:20,362 INFO [STDOUT]
> 22:38:20,364 INFO [STDOUT]
> 22:38:20,365 INFO [STDOUT]
> 22:38:20,366 INFO [STDOUT]
> 22:38:20,368 INFO [STDOUT]
> releaseAction: ALL
> handle: null
> Delete Feature Request
> feature type:jillnic:pressure
> filter:Filter.NONE
> release:true
> Delete Feature Request
> feature type:jillnic:humidity
> filter:Filter.NONE
> release:true
> Delete Feature Request
> feature type:jillnic:temperature
> filter:Filter.NONE
> release:true
> Delete Feature Request
> feature type:jillnic:wind_speed
> filter:Filter.NONE
> release:true
> 22:38:20,369 INFO [STDOUT]
> 22:38:20,384 INFO [STDOUT]
> releaseAction: ALL
> handle: null
> Delete Feature Request
> feature type:jillnic:pressure
> filter:Filter.NONE
> release:true
> Delete Feature Request
> feature type:jillnic:humidity
> filter:Filter.NONE
> release:true
> Delete Feature Request
> feature type:jillnic:temperature
> filter:Filter.NONE
> release:true
> Delete Feature Request
> feature type:jillnic:wind_speed
> filter:Filter.NONE
> release:true
> 22:38:20,389 INFO [STDOUT]
> 22:38:20,390 INFO [STDOUT]
> 22:38:20,391 INFO [STDOUT]
> 22:38:20,392 INFO [STDOUT]
> 22:38:20,392 INFO [STDOUT]
> 22:38:20,393 INFO [STDOUT]
> 22:38:20,394 INFO [STDOUT]
> 22:38:20,394 INFO [STDOUT]
> 22:38:20,395 INFO [STDOUT]
> 22:38:20,396 INFO [STDOUT]
> 22:38:20,397 INFO [STDOUT]
> 22:38:20,397 INFO [STDOUT]
> 22:38:20,398 INFO [STDOUT]
> 22:38:20,399 INFO [STDOUT]
> 22:38:20,400 INFO [STDOUT]
> 22:38:20,400 INFO [STDOUT]
> 22:38:20,401 INFO [STDOUT]
> 22:38:20,402 INFO [STDOUT]
> 22:38:20,403 INFO [STDOUT]
> 22:38:20,403 INFO [STDOUT]
> 22:38:20,407 INFO [STDOUT]
> 22:38:20,408 INFO [STDOUT]
> 22:38:20,412 INFO [STDOUT]
> 22:38:20,413 INFO [STDOUT]
> 22:38:20,413 INFO [STDOUT]
> 22:38:20,418 INFO [STDOUT]
> 22:38:20,419 INFO [STDOUT]
> 22:38:20,423 INFO [STDOUT]
> 22:38:20,425 INFO [STDOUT]
> StackTrace: java.lang.ClassCastException
> at
>

org.geotools.data.postgis.PostgisFeatureStore.removeFeatures(PostgisFeatureS

> tore.java:384)
> at
>

org.vfny.geoserver.global.GeoServerFeatureStore.removeFeatures(GeoServerFeat

> ureStore.java:87)
> at
>

org.vfny.geoserver.wfs.responses.TransactionResponse.execute(TransactionResp

> onse.java:381)
> at
>

org.vfny.geoserver.wfs.responses.TransactionResponse.execute(TransactionResp

> onse.java:105)
> at
>

org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:4

> 22)
> at
>

org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:360)

> at
>

org.vfny.geoserver.wfs.servlets.WfsDispatcher.doResponse(WfsDispatcher.java:

> 274)
> at
>

org.vfny.geoserver.wfs.servlets.WfsDispatcher.doPost(WfsDispatcher.java:163)

> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> at
>

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application

> FilterChain.java:237)
> at
>

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh

> ain.java:157)
> at
>

org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja

> va:214)
> at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:104)
> at
>

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

> at
>

org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContext

> Valve.java:198)
> at
>

org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja

> va:152)
> at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:104)
> at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Unknown
> Source)
> at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:102)
> at
org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(Unknown
> Source)
> at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:102)
> at
>

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

> at
>

org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137

> )
> at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:104)
> at
>

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117

> )
> at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:102)
> at
>

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

> at
>

org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java

> :109)
> at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:104)
> at
>

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

> at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> at

org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)

> at
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:297)
> at
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:371)
> at
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:731)
> at
>

org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:663)

> at
org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:859)
> at
>

org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav

> a:683)
> at java.lang.Thread.run(Thread.java:534)
> 22:38:20,426 INFO [STDOUT]
> <ServiceExceptionReport
> version="1.2.0"
> xmlns="http://www.opengis.net/ogc&quot;
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;
> xsi:schemaLocation="http://www.opengis.net/ogc
>

http://www1.metnet.navy.mil:80/geoserver/data/capabilities//wfs/1.0.0/OGC-ex

> ception.xsd">
> <ServiceException>
> java.lang.ClassCastException </ServiceException>
> </ServiceExceptionReport>
> 22:38:20,426 INFO [STDOUT] org.vfny.geoserver.wfs.WfsException:
> java.lang.ClassCastException
> 22:38:20,427 INFO [STDOUT] at
>

org.vfny.geoserver.wfs.WfsExceptionHandler.newServiceException(WfsExceptionH

> andler.java:65)
> 22:38:20,427 INFO [STDOUT] at
>

org.vfny.geoserver.servlets.AbstractService.sendError(AbstractService.java:7

> 22)
> 22:38:20,427 INFO [STDOUT] at
>

org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:4

> 34)
> 22:38:20,427 INFO [STDOUT] at
>

org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:360)

> 22:38:20,427 INFO [STDOUT] at
>

org.vfny.geoserver.wfs.servlets.WfsDispatcher.doResponse(WfsDispatcher.java:

> 274)
> 22:38:20,427 INFO [STDOUT] at
>

org.vfny.geoserver.wfs.servlets.WfsDispatcher.doPost(WfsDispatcher.java:163)

> 22:38:20,428 INFO [STDOUT] at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> 22:38:20,428 INFO [STDOUT] at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> 22:38:20,428 INFO [STDOUT] at
>

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application

> FilterChain.java:237)
> 22:38:20,428 INFO [STDOUT] at
>

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh

> ain.java:157)
> 22:38:20,428 INFO [STDOUT] at
>

org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja

> va:214)
> 22:38:20,428 INFO [STDOUT] at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:104)
> 22:38:20,428 INFO [STDOUT] at
>

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

> 22:38:20,428 INFO [STDOUT] at
>

org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContext

> Valve.java:198)
> 22:38:20,428 INFO [STDOUT] at
>

org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja

> va:152)
> 22:38:20,429 INFO [STDOUT] at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:104)
> 22:38:20,429 INFO [STDOUT] at
>
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Unknown
> Source)
> 22:38:20,429 INFO [STDOUT] at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:102)
> 22:38:20,429 INFO [STDOUT] at
> org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(Unknown
Source)
> 22:38:20,429 INFO [STDOUT] at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:102)
> 22:38:20,429 INFO [STDOUT] at
>

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

> 22:38:20,429 INFO [STDOUT] at
>

org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137

> )
> 22:38:20,429 INFO [STDOUT] at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:104)
> 22:38:20,429 INFO [STDOUT] at
>

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117

> )
> 22:38:20,430 INFO [STDOUT] at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:102)
> 22:38:20,430 INFO [STDOUT] at
>

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

> 22:38:20,430 INFO [STDOUT] at
>

org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java

> :109)
> 22:38:20,430 INFO [STDOUT] at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:104)
> 22:38:20,430 INFO [STDOUT] at
>

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

> 22:38:20,430 INFO [STDOUT] at
>
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> 22:38:20,430 INFO [STDOUT] at
>

org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)

> 22:38:20,430 INFO [STDOUT] at
>
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:297)
> 22:38:20,431 INFO [STDOUT] at
> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:371)
> 22:38:20,431 INFO [STDOUT] at
> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:731)
> 22:38:20,431 INFO [STDOUT] at
>

org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:663)

> 22:38:20,431 INFO [STDOUT] at
> org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:859)
> 22:38:20,431 INFO [STDOUT] at
>

org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav

> a:683)
> 22:38:20,431 INFO [STDOUT] at
java.lang.Thread.run(Thread.java:534)
> 22:38:20,431 INFO [STDOUT] Caused by: java.lang.ClassCastException
> 22:38:20,431 INFO [STDOUT] at
>

org.geotools.data.postgis.PostgisFeatureStore.removeFeatures(PostgisFeatureS

> tore.java:384)
> 22:38:20,431 INFO [STDOUT] at
>

org.vfny.geoserver.global.GeoServerFeatureStore.removeFeatures(GeoServerFeat

> ureStore.java:87)
> 22:38:20,432 INFO [STDOUT] at
>

org.vfny.geoserver.wfs.responses.TransactionResponse.execute(TransactionResp

> onse.java:381)
> 22:38:20,432 INFO [STDOUT] at
>

org.vfny.geoserver.wfs.responses.TransactionResponse.execute(TransactionResp

> onse.java:105)
> 22:38:20,432 INFO [STDOUT] at
>

org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:4

> 22)
> 22:38:20,432 INFO [STDOUT] ... 35 more
> 22:38:41,778 INFO [STDOUT]
> 22:38:41,779 INFO [STDOUT]
> 22:38:41,780 INFO [STDOUT]
> 22:38:41,780 INFO [STDOUT]
> 22:38:41,781 INFO [STDOUT]
> 22:38:41,791 INFO [STDOUT]
> 22:38:41,792 INFO [STDOUT]
> 22:38:41,793 INFO [STDOUT]
> 22:38:41,793 INFO [STDOUT]
> 22:38:41,794 INFO [STDOUT]
> 22:38:41,795 INFO [STDOUT]
> 22:38:41,795 INFO [STDOUT]
> 22:38:41,796 INFO [STDOUT]
>
>
>

--
Justin Deoliveira
The Open Planning Project
http://topp.openplans.org

-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server.
Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

----------------------------------------------------------
This mail sent through IMP: https://webmail.limegroup.com/

Chris,

The OGC WFS 1.1 Implementation Specification says:

"The <Delete> element is used to indicate that one or more feature instances
should be deleted. The scope of the operation is constrained by using the
<Filter> element as described in the Filter Encoding Implementation
Specification."

From reading the above paragraph, I can see that the spec is clear about the
usage of the <Filter> element. Hence, it is only used to constrain the
scope of the operation, but not necessary.

v/r,
Efren
-----Original Message-----
From: geoserver-devel-admin@lists.sourceforge.net
[mailto:geoserver-devel-admin@lists.sourceforge.net]On Behalf Of Chris
Holmes
Sent: Friday, November 11, 2005 11:46 AM
To: Justin Deoliveira
Cc: efren.serra.ctr@anonymised.com; Geoserver-devel
Subject: Re: [Geoserver-devel] Re: wfs:Delete failed!

You're wanting to delete all the features in the tables? I feel like we
should maybe not just allow a non-included filter to mangle a whole
database? Like force people to have a filter like 5=5. That said we
should give a better error message, that says something like 'if you
really want to delete all features in your table, then submit a filter
that is always true'.

Also should check behavior of updates to make sure it does the right
thing.

Oh, hold on, looking at the schemas from the spec:
' <xsd:complexTypename="DeleteElementType">
<xsd:sequence>
<xsd:elementref="ogc:Filter"minOccurs="1"maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
The Filter element is used to constrain the scope
of the delete operation to those features identified
by the filter.Feature instances can be specified
explicitlyandindividuallyusingtheidentifierof
eachfeatureinstanceORasetoffeaturestobe
operatedoncanbeidentifiedbyspecifyingspatial
andnon-spatialconstraintsinthefilter.
*****
If no filter is specified then an exception should
be raised since it is unlikely that a client application
intends to delete all feature instances.
*****
</xsd:documentation>

I love it when specs say things that make sense. So we're technically
following the spec, but we probably should give an error that is more
informative than a class cast exception.

Chris

Quoting Justin Deoliveira <jdeolive@anonymised.com>:

Hi Efren,

I think you have found a bug. When no filter is supplied the
PostgisFeatureStore doesn't handle it properly. I am going to make a
jira task about this one.

http://jira.codehaus.org/browse/GEOS-449

Justin

Efren Serra wrote:
> Hello Justin,
>
> I tried submitting the following wfs:Transaction to my WFS but it
failed
> with the exception below. I was wondering if you had any clues as
to the
> java.lang.ClassCastException that got thrown. Thank you.
>
> v/r,
> Efren
>
> <wfs:Transaction service="WFS" version="1.0.0"
> xmlns:cdf="http://www.opengis.net/cite/data&quot;
> xmlns:ogc="http://www.opengis.net/ogc&quot;
> xmlns:wfs="http://www.opengis.net/wfs&quot;&gt;
> xmlns:jillnic="http://www1.metnet.navy.mil/jillnic&quot;&gt;
> <wfs:Delete typeName="jillnic:pressure"/>
> <wfs:Delete typeName="jillnic:humidity"/>
> <wfs:Delete typeName="jillnic:temperature"/>
> <wfs:Delete typeName="jillnic:wind_speed"/>
> </wfs:Transaction>
>
> ------------XML POST END-----------
> 22:38:20,357 INFO [STDOUT]
> 22:38:20,358 INFO [STDOUT]
> 22:38:20,362 INFO [STDOUT]
> 22:38:20,364 INFO [STDOUT]
> 22:38:20,365 INFO [STDOUT]
> 22:38:20,366 INFO [STDOUT]
> 22:38:20,368 INFO [STDOUT]
> releaseAction: ALL
> handle: null
> Delete Feature Request
> feature type:jillnic:pressure
> filter:Filter.NONE
> release:true
> Delete Feature Request
> feature type:jillnic:humidity
> filter:Filter.NONE
> release:true
> Delete Feature Request
> feature type:jillnic:temperature
> filter:Filter.NONE
> release:true
> Delete Feature Request
> feature type:jillnic:wind_speed
> filter:Filter.NONE
> release:true
> 22:38:20,369 INFO [STDOUT]
> 22:38:20,384 INFO [STDOUT]
> releaseAction: ALL
> handle: null
> Delete Feature Request
> feature type:jillnic:pressure
> filter:Filter.NONE
> release:true
> Delete Feature Request
> feature type:jillnic:humidity
> filter:Filter.NONE
> release:true
> Delete Feature Request
> feature type:jillnic:temperature
> filter:Filter.NONE
> release:true
> Delete Feature Request
> feature type:jillnic:wind_speed
> filter:Filter.NONE
> release:true
> 22:38:20,389 INFO [STDOUT]
> 22:38:20,390 INFO [STDOUT]
> 22:38:20,391 INFO [STDOUT]
> 22:38:20,392 INFO [STDOUT]
> 22:38:20,392 INFO [STDOUT]
> 22:38:20,393 INFO [STDOUT]
> 22:38:20,394 INFO [STDOUT]
> 22:38:20,394 INFO [STDOUT]
> 22:38:20,395 INFO [STDOUT]
> 22:38:20,396 INFO [STDOUT]
> 22:38:20,397 INFO [STDOUT]
> 22:38:20,397 INFO [STDOUT]
> 22:38:20,398 INFO [STDOUT]
> 22:38:20,399 INFO [STDOUT]
> 22:38:20,400 INFO [STDOUT]
> 22:38:20,400 INFO [STDOUT]
> 22:38:20,401 INFO [STDOUT]
> 22:38:20,402 INFO [STDOUT]
> 22:38:20,403 INFO [STDOUT]
> 22:38:20,403 INFO [STDOUT]
> 22:38:20,407 INFO [STDOUT]
> 22:38:20,408 INFO [STDOUT]
> 22:38:20,412 INFO [STDOUT]
> 22:38:20,413 INFO [STDOUT]
> 22:38:20,413 INFO [STDOUT]
> 22:38:20,418 INFO [STDOUT]
> 22:38:20,419 INFO [STDOUT]
> 22:38:20,423 INFO [STDOUT]
> 22:38:20,425 INFO [STDOUT]
> StackTrace: java.lang.ClassCastException
> at
>

org.geotools.data.postgis.PostgisFeatureStore.removeFeatures(PostgisFeatureS

> tore.java:384)
> at
>

org.vfny.geoserver.global.GeoServerFeatureStore.removeFeatures(GeoServerFeat

> ureStore.java:87)
> at
>

org.vfny.geoserver.wfs.responses.TransactionResponse.execute(TransactionResp

> onse.java:381)
> at
>

org.vfny.geoserver.wfs.responses.TransactionResponse.execute(TransactionResp

> onse.java:105)
> at
>

org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:4

> 22)
> at
>

org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:360)

> at
>

org.vfny.geoserver.wfs.servlets.WfsDispatcher.doResponse(WfsDispatcher.java:

> 274)
> at
>

org.vfny.geoserver.wfs.servlets.WfsDispatcher.doPost(WfsDispatcher.java:163)

> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> at
>

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application

> FilterChain.java:237)
> at
>

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh

> ain.java:157)
> at
>

org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja

> va:214)
> at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:104)
> at
>

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

> at
>

org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContext

> Valve.java:198)
> at
>

org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja

> va:152)
> at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:104)
> at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Unknown
> Source)
> at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:102)
> at
org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(Unknown
> Source)
> at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:102)
> at
>

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

> at
>

org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137

> )
> at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:104)
> at
>

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117

> )
> at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:102)
> at
>

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

> at
>

org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java

> :109)
> at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:104)
> at
>

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

> at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> at

org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)

> at
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:297)
> at
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:371)
> at
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:731)
> at
>

org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:663)

> at
org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:859)
> at
>

org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav

> a:683)
> at java.lang.Thread.run(Thread.java:534)
> 22:38:20,426 INFO [STDOUT]
> <ServiceExceptionReport
> version="1.2.0"
> xmlns="http://www.opengis.net/ogc&quot;
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;
> xsi:schemaLocation="http://www.opengis.net/ogc
>

http://www1.metnet.navy.mil:80/geoserver/data/capabilities//wfs/1.0.0/OGC-ex

> ception.xsd">
> <ServiceException>
> java.lang.ClassCastException </ServiceException>
> </ServiceExceptionReport>
> 22:38:20,426 INFO [STDOUT] org.vfny.geoserver.wfs.WfsException:
> java.lang.ClassCastException
> 22:38:20,427 INFO [STDOUT] at
>

org.vfny.geoserver.wfs.WfsExceptionHandler.newServiceException(WfsExceptionH

> andler.java:65)
> 22:38:20,427 INFO [STDOUT] at
>

org.vfny.geoserver.servlets.AbstractService.sendError(AbstractService.java:7

> 22)
> 22:38:20,427 INFO [STDOUT] at
>

org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:4

> 34)
> 22:38:20,427 INFO [STDOUT] at
>

org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:360)

> 22:38:20,427 INFO [STDOUT] at
>

org.vfny.geoserver.wfs.servlets.WfsDispatcher.doResponse(WfsDispatcher.java:

> 274)
> 22:38:20,427 INFO [STDOUT] at
>

org.vfny.geoserver.wfs.servlets.WfsDispatcher.doPost(WfsDispatcher.java:163)

> 22:38:20,428 INFO [STDOUT] at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> 22:38:20,428 INFO [STDOUT] at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> 22:38:20,428 INFO [STDOUT] at
>

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application

> FilterChain.java:237)
> 22:38:20,428 INFO [STDOUT] at
>

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh

> ain.java:157)
> 22:38:20,428 INFO [STDOUT] at
>

org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja

> va:214)
> 22:38:20,428 INFO [STDOUT] at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:104)
> 22:38:20,428 INFO [STDOUT] at
>

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

> 22:38:20,428 INFO [STDOUT] at
>

org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContext

> Valve.java:198)
> 22:38:20,428 INFO [STDOUT] at
>

org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja

> va:152)
> 22:38:20,429 INFO [STDOUT] at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:104)
> 22:38:20,429 INFO [STDOUT] at
>
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Unknown
> Source)
> 22:38:20,429 INFO [STDOUT] at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:102)
> 22:38:20,429 INFO [STDOUT] at
> org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(Unknown
Source)
> 22:38:20,429 INFO [STDOUT] at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:102)
> 22:38:20,429 INFO [STDOUT] at
>

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

> 22:38:20,429 INFO [STDOUT] at
>

org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137

> )
> 22:38:20,429 INFO [STDOUT] at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:104)
> 22:38:20,429 INFO [STDOUT] at
>

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117

> )
> 22:38:20,430 INFO [STDOUT] at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:102)
> 22:38:20,430 INFO [STDOUT] at
>

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

> 22:38:20,430 INFO [STDOUT] at
>

org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java

> :109)
> 22:38:20,430 INFO [STDOUT] at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:104)
> 22:38:20,430 INFO [STDOUT] at
>

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

> 22:38:20,430 INFO [STDOUT] at
>
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> 22:38:20,430 INFO [STDOUT] at
>

org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)

> 22:38:20,430 INFO [STDOUT] at
>
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:297)
> 22:38:20,431 INFO [STDOUT] at
> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:371)
> 22:38:20,431 INFO [STDOUT] at
> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:731)
> 22:38:20,431 INFO [STDOUT] at
>

org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:663)

> 22:38:20,431 INFO [STDOUT] at
> org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:859)
> 22:38:20,431 INFO [STDOUT] at
>

org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav

> a:683)
> 22:38:20,431 INFO [STDOUT] at
java.lang.Thread.run(Thread.java:534)
> 22:38:20,431 INFO [STDOUT] Caused by: java.lang.ClassCastException
> 22:38:20,431 INFO [STDOUT] at
>

org.geotools.data.postgis.PostgisFeatureStore.removeFeatures(PostgisFeatureS

> tore.java:384)
> 22:38:20,431 INFO [STDOUT] at
>

org.vfny.geoserver.global.GeoServerFeatureStore.removeFeatures(GeoServerFeat

> ureStore.java:87)
> 22:38:20,432 INFO [STDOUT] at
>

org.vfny.geoserver.wfs.responses.TransactionResponse.execute(TransactionResp

> onse.java:381)
> 22:38:20,432 INFO [STDOUT] at
>

org.vfny.geoserver.wfs.responses.TransactionResponse.execute(TransactionResp

> onse.java:105)
> 22:38:20,432 INFO [STDOUT] at
>

org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:4

> 22)
> 22:38:20,432 INFO [STDOUT] ... 35 more
> 22:38:41,778 INFO [STDOUT]
> 22:38:41,779 INFO [STDOUT]
> 22:38:41,780 INFO [STDOUT]
> 22:38:41,780 INFO [STDOUT]
> 22:38:41,781 INFO [STDOUT]
> 22:38:41,791 INFO [STDOUT]
> 22:38:41,792 INFO [STDOUT]
> 22:38:41,793 INFO [STDOUT]
> 22:38:41,793 INFO [STDOUT]
> 22:38:41,794 INFO [STDOUT]
> 22:38:41,795 INFO [STDOUT]
> 22:38:41,795 INFO [STDOUT]
> 22:38:41,796 INFO [STDOUT]
>
>
>

--
Justin Deoliveira
The Open Planning Project
http://topp.openplans.org

-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server.
Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

----------------------------------------------------------
This mail sent through IMP: https://webmail.limegroup.com/

-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Chris,

I take it back; the complexType DeleteElementType does require there to be
an ogc:Filter element. The definition of ogc:FilterType is:

<xsd:element name="Filter" type="ogc:FilterType" />
<xsd:complexType name="FilterType">
<xsd:choice>
  <xsd:element ref="ogc:spatialOps" />
  <xsd:element ref="ogc:comparisonOps" />
  <xsd:element ref="ogc:logicOps" />
  <xsd:element ref="ogc:_Id" maxOccurs="unbounded" />
  </xsd:choice>
</xsd:complexType>

Therefore, some element must be specified in the <Filter> element for the
choice to apply. Thank you.

v/r,
Efren

-----Original Message-----
From: Chris Holmes [mailto:cholmes@anonymised.com]
Sent: Friday, November 11, 2005 11:46 AM
To: Justin Deoliveira
Cc: efren.serra.ctr@anonymised.com; Geoserver-devel
Subject: Re: [Geoserver-devel] Re: wfs:Delete failed!

You're wanting to delete all the features in the tables? I feel like we
should maybe not just allow a non-included filter to mangle a whole
database? Like force people to have a filter like 5=5. That said we
should give a better error message, that says something like 'if you
really want to delete all features in your table, then submit a filter
that is always true'.

Also should check behavior of updates to make sure it does the right
thing.

Oh, hold on, looking at the schemas from the spec:
' <xsd:complexTypename="DeleteElementType">
<xsd:sequence>
<xsd:elementref="ogc:Filter"minOccurs="1"maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
The Filter element is used to constrain the scope
of the delete operation to those features identified
by the filter.Feature instances can be specified
explicitlyandindividuallyusingtheidentifierof
eachfeatureinstanceORasetoffeaturestobe
operatedoncanbeidentifiedbyspecifyingspatial
andnon-spatialconstraintsinthefilter.
*****
If no filter is specified then an exception should
be raised since it is unlikely that a client application
intends to delete all feature instances.
*****
</xsd:documentation>

I love it when specs say things that make sense. So we're technically
following the spec, but we probably should give an error that is more
informative than a class cast exception.

Chris

Quoting Justin Deoliveira <jdeolive@anonymised.com>:

Hi Efren,

I think you have found a bug. When no filter is supplied the
PostgisFeatureStore doesn't handle it properly. I am going to make a
jira task about this one.

http://jira.codehaus.org/browse/GEOS-449

Justin

Efren Serra wrote:
> Hello Justin,
>
> I tried submitting the following wfs:Transaction to my WFS but it
failed
> with the exception below. I was wondering if you had any clues as
to the
> java.lang.ClassCastException that got thrown. Thank you.
>
> v/r,
> Efren
>
> <wfs:Transaction service="WFS" version="1.0.0"
> xmlns:cdf="http://www.opengis.net/cite/data&quot;
> xmlns:ogc="http://www.opengis.net/ogc&quot;
> xmlns:wfs="http://www.opengis.net/wfs&quot;&gt;
> xmlns:jillnic="http://www1.metnet.navy.mil/jillnic&quot;&gt;
> <wfs:Delete typeName="jillnic:pressure"/>
> <wfs:Delete typeName="jillnic:humidity"/>
> <wfs:Delete typeName="jillnic:temperature"/>
> <wfs:Delete typeName="jillnic:wind_speed"/>
> </wfs:Transaction>
>
> ------------XML POST END-----------
> 22:38:20,357 INFO [STDOUT]
> 22:38:20,358 INFO [STDOUT]
> 22:38:20,362 INFO [STDOUT]
> 22:38:20,364 INFO [STDOUT]
> 22:38:20,365 INFO [STDOUT]
> 22:38:20,366 INFO [STDOUT]
> 22:38:20,368 INFO [STDOUT]
> releaseAction: ALL
> handle: null
> Delete Feature Request
> feature type:jillnic:pressure
> filter:Filter.NONE
> release:true
> Delete Feature Request
> feature type:jillnic:humidity
> filter:Filter.NONE
> release:true
> Delete Feature Request
> feature type:jillnic:temperature
> filter:Filter.NONE
> release:true
> Delete Feature Request
> feature type:jillnic:wind_speed
> filter:Filter.NONE
> release:true
> 22:38:20,369 INFO [STDOUT]
> 22:38:20,384 INFO [STDOUT]
> releaseAction: ALL
> handle: null
> Delete Feature Request
> feature type:jillnic:pressure
> filter:Filter.NONE
> release:true
> Delete Feature Request
> feature type:jillnic:humidity
> filter:Filter.NONE
> release:true
> Delete Feature Request
> feature type:jillnic:temperature
> filter:Filter.NONE
> release:true
> Delete Feature Request
> feature type:jillnic:wind_speed
> filter:Filter.NONE
> release:true
> 22:38:20,389 INFO [STDOUT]
> 22:38:20,390 INFO [STDOUT]
> 22:38:20,391 INFO [STDOUT]
> 22:38:20,392 INFO [STDOUT]
> 22:38:20,392 INFO [STDOUT]
> 22:38:20,393 INFO [STDOUT]
> 22:38:20,394 INFO [STDOUT]
> 22:38:20,394 INFO [STDOUT]
> 22:38:20,395 INFO [STDOUT]
> 22:38:20,396 INFO [STDOUT]
> 22:38:20,397 INFO [STDOUT]
> 22:38:20,397 INFO [STDOUT]
> 22:38:20,398 INFO [STDOUT]
> 22:38:20,399 INFO [STDOUT]
> 22:38:20,400 INFO [STDOUT]
> 22:38:20,400 INFO [STDOUT]
> 22:38:20,401 INFO [STDOUT]
> 22:38:20,402 INFO [STDOUT]
> 22:38:20,403 INFO [STDOUT]
> 22:38:20,403 INFO [STDOUT]
> 22:38:20,407 INFO [STDOUT]
> 22:38:20,408 INFO [STDOUT]
> 22:38:20,412 INFO [STDOUT]
> 22:38:20,413 INFO [STDOUT]
> 22:38:20,413 INFO [STDOUT]
> 22:38:20,418 INFO [STDOUT]
> 22:38:20,419 INFO [STDOUT]
> 22:38:20,423 INFO [STDOUT]
> 22:38:20,425 INFO [STDOUT]
> StackTrace: java.lang.ClassCastException
> at
>

org.geotools.data.postgis.PostgisFeatureStore.removeFeatures(PostgisFeatureS

> tore.java:384)
> at
>

org.vfny.geoserver.global.GeoServerFeatureStore.removeFeatures(GeoServerFeat

> ureStore.java:87)
> at
>

org.vfny.geoserver.wfs.responses.TransactionResponse.execute(TransactionResp

> onse.java:381)
> at
>

org.vfny.geoserver.wfs.responses.TransactionResponse.execute(TransactionResp

> onse.java:105)
> at
>

org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:4

> 22)
> at
>

org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:360)

> at
>

org.vfny.geoserver.wfs.servlets.WfsDispatcher.doResponse(WfsDispatcher.java:

> 274)
> at
>

org.vfny.geoserver.wfs.servlets.WfsDispatcher.doPost(WfsDispatcher.java:163)

> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> at
>

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application

> FilterChain.java:237)
> at
>

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh

> ain.java:157)
> at
>

org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja

> va:214)
> at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:104)
> at
>

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

> at
>

org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContext

> Valve.java:198)
> at
>

org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja

> va:152)
> at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:104)
> at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Unknown
> Source)
> at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:102)
> at
org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(Unknown
> Source)
> at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:102)
> at
>

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

> at
>

org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137

> )
> at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:104)
> at
>

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117

> )
> at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:102)
> at
>

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

> at
>

org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java

> :109)
> at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:104)
> at
>

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

> at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> at

org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)

> at
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:297)
> at
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:371)
> at
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:731)
> at
>

org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:663)

> at
org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:859)
> at
>

org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav

> a:683)
> at java.lang.Thread.run(Thread.java:534)
> 22:38:20,426 INFO [STDOUT]
> <ServiceExceptionReport
> version="1.2.0"
> xmlns="http://www.opengis.net/ogc&quot;
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;
> xsi:schemaLocation="http://www.opengis.net/ogc
>

http://www1.metnet.navy.mil:80/geoserver/data/capabilities//wfs/1.0.0/OGC-ex

> ception.xsd">
> <ServiceException>
> java.lang.ClassCastException </ServiceException>
> </ServiceExceptionReport>
> 22:38:20,426 INFO [STDOUT] org.vfny.geoserver.wfs.WfsException:
> java.lang.ClassCastException
> 22:38:20,427 INFO [STDOUT] at
>

org.vfny.geoserver.wfs.WfsExceptionHandler.newServiceException(WfsExceptionH

> andler.java:65)
> 22:38:20,427 INFO [STDOUT] at
>

org.vfny.geoserver.servlets.AbstractService.sendError(AbstractService.java:7

> 22)
> 22:38:20,427 INFO [STDOUT] at
>

org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:4

> 34)
> 22:38:20,427 INFO [STDOUT] at
>

org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:360)

> 22:38:20,427 INFO [STDOUT] at
>

org.vfny.geoserver.wfs.servlets.WfsDispatcher.doResponse(WfsDispatcher.java:

> 274)
> 22:38:20,427 INFO [STDOUT] at
>

org.vfny.geoserver.wfs.servlets.WfsDispatcher.doPost(WfsDispatcher.java:163)

> 22:38:20,428 INFO [STDOUT] at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> 22:38:20,428 INFO [STDOUT] at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> 22:38:20,428 INFO [STDOUT] at
>

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application

> FilterChain.java:237)
> 22:38:20,428 INFO [STDOUT] at
>

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh

> ain.java:157)
> 22:38:20,428 INFO [STDOUT] at
>

org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja

> va:214)
> 22:38:20,428 INFO [STDOUT] at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:104)
> 22:38:20,428 INFO [STDOUT] at
>

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

> 22:38:20,428 INFO [STDOUT] at
>

org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContext

> Valve.java:198)
> 22:38:20,428 INFO [STDOUT] at
>

org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja

> va:152)
> 22:38:20,429 INFO [STDOUT] at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:104)
> 22:38:20,429 INFO [STDOUT] at
>
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Unknown
> Source)
> 22:38:20,429 INFO [STDOUT] at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:102)
> 22:38:20,429 INFO [STDOUT] at
> org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(Unknown
Source)
> 22:38:20,429 INFO [STDOUT] at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:102)
> 22:38:20,429 INFO [STDOUT] at
>

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

> 22:38:20,429 INFO [STDOUT] at
>

org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137

> )
> 22:38:20,429 INFO [STDOUT] at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:104)
> 22:38:20,429 INFO [STDOUT] at
>

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117

> )
> 22:38:20,430 INFO [STDOUT] at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:102)
> 22:38:20,430 INFO [STDOUT] at
>

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

> 22:38:20,430 INFO [STDOUT] at
>

org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java

> :109)
> 22:38:20,430 INFO [STDOUT] at
>

org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex

> t.java:104)
> 22:38:20,430 INFO [STDOUT] at
>

org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

> 22:38:20,430 INFO [STDOUT] at
>
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> 22:38:20,430 INFO [STDOUT] at
>

org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)

> 22:38:20,430 INFO [STDOUT] at
>
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:297)
> 22:38:20,431 INFO [STDOUT] at
> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:371)
> 22:38:20,431 INFO [STDOUT] at
> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:731)
> 22:38:20,431 INFO [STDOUT] at
>

org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:663)

> 22:38:20,431 INFO [STDOUT] at
> org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:859)
> 22:38:20,431 INFO [STDOUT] at
>

org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav

> a:683)
> 22:38:20,431 INFO [STDOUT] at
java.lang.Thread.run(Thread.java:534)
> 22:38:20,431 INFO [STDOUT] Caused by: java.lang.ClassCastException
> 22:38:20,431 INFO [STDOUT] at
>

org.geotools.data.postgis.PostgisFeatureStore.removeFeatures(PostgisFeatureS

> tore.java:384)
> 22:38:20,431 INFO [STDOUT] at
>

org.vfny.geoserver.global.GeoServerFeatureStore.removeFeatures(GeoServerFeat

> ureStore.java:87)
> 22:38:20,432 INFO [STDOUT] at
>

org.vfny.geoserver.wfs.responses.TransactionResponse.execute(TransactionResp

> onse.java:381)
> 22:38:20,432 INFO [STDOUT] at
>

org.vfny.geoserver.wfs.responses.TransactionResponse.execute(TransactionResp

> onse.java:105)
> 22:38:20,432 INFO [STDOUT] at
>

org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:4

> 22)
> 22:38:20,432 INFO [STDOUT] ... 35 more
> 22:38:41,778 INFO [STDOUT]
> 22:38:41,779 INFO [STDOUT]
> 22:38:41,780 INFO [STDOUT]
> 22:38:41,780 INFO [STDOUT]
> 22:38:41,781 INFO [STDOUT]
> 22:38:41,791 INFO [STDOUT]
> 22:38:41,792 INFO [STDOUT]
> 22:38:41,793 INFO [STDOUT]
> 22:38:41,793 INFO [STDOUT]
> 22:38:41,794 INFO [STDOUT]
> 22:38:41,795 INFO [STDOUT]
> 22:38:41,795 INFO [STDOUT]
> 22:38:41,796 INFO [STDOUT]
>
>
>

--
Justin Deoliveira
The Open Planning Project
http://topp.openplans.org

-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server.
Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

----------------------------------------------------------
This mail sent through IMP: https://webmail.limegroup.com/

On Mon, 14 Nov 2005, Efren Serra wrote:

Chris,

The OGC WFS 1.1 Implementation Specification says:

"The <Delete> element is used to indicate that one or more feature instances
should be deleted. The scope of the operation is constrained by using the
<Filter> element as described in the Filter Encoding Implementation
Specification."

>From reading the above paragraph, I can see that the spec is clear about the
usage of the <Filter> element. Hence, it is only used to constrain the
scope of the operation, but not necessary.

Ok, first off GeoServer only supports the 1.0 WFS spec. But the 1.1 spec
says the exact same thing that I posted in the schema, which is what
specifies exactly what elements should be there. The above paragraph says
nothing about the Filter constraint being necessary or not. If you look
at the schemas, which all requests must validate against it says this:

   <xsd:complexType name="DeleteElementType">
      <xsd:sequence>
         <xsd:element ref="ogc:Filter" minOccurs="1" maxOccurs="1">
            <xsd:annotation>
               <xsd:documentation>
                  The Filter element is used to constrain the scope
                  of the delete operation to those features identified
                  by the filter. Feature instances can be specified
                  explicitly and individually using the identifier of
                  each feature instance OR a set of features to be
                  operated on can be identified by specifying spatial
                  and non-spatial constraints in the filter.
                  If no filter is specified then an exception should
                  be raised since it is unlikely that a client application
                  intends to delete all feature instances.
               </xsd:documentation>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>

Note the minOccurs="1". This definitively states that a Filter element
must be present. And the comments further specify that an exception
should be raised. The schema is normative, indeed in many ways it's more
official than the spec itself, since it must be validated against. If you
must delete all features I'd recommend a filter that is always true.

But yes, GeoServer should give a more informative error.

best regards,

Chris

v/r,
Efren
-----Original Message-----
From: geoserver-devel-admin@lists.sourceforge.net
[mailto:geoserver-devel-admin@lists.sourceforge.net]On Behalf Of Chris
Holmes
Sent: Friday, November 11, 2005 11:46 AM
To: Justin Deoliveira
Cc: efren.serra.ctr@anonymised.com; Geoserver-devel
Subject: Re: [Geoserver-devel] Re: wfs:Delete failed!

You're wanting to delete all the features in the tables? I feel like we
should maybe not just allow a non-included filter to mangle a whole
database? Like force people to have a filter like 5=5. That said we
should give a better error message, that says something like 'if you
really want to delete all features in your table, then submit a filter
that is always true'.

Also should check behavior of updates to make sure it does the right
thing.

Oh, hold on, looking at the schemas from the spec:
' <xsd:complexTypename="DeleteElementType">
<xsd:sequence>
<xsd:elementref="ogc:Filter"minOccurs="1"maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
The Filter element is used to constrain the scope
of the delete operation to those features identified
by the filter.Feature instances can be specified
explicitlyandindividuallyusingtheidentifierof
eachfeatureinstanceORasetoffeaturestobe
operatedoncanbeidentifiedbyspecifyingspatial
andnon-spatialconstraintsinthefilter.
*****
If no filter is specified then an exception should
be raised since it is unlikely that a client application
intends to delete all feature instances.
*****
</xsd:documentation>

I love it when specs say things that make sense. So we're technically
following the spec, but we probably should give an error that is more
informative than a class cast exception.

Chris

Quoting Justin Deoliveira <jdeolive@anonymised.com>:

> Hi Efren,
>
> I think you have found a bug. When no filter is supplied the
> PostgisFeatureStore doesn't handle it properly. I am going to make a
> jira task about this one.
>
> http://jira.codehaus.org/browse/GEOS-449
>
> Justin
>
> Efren Serra wrote:
> > Hello Justin,
> >
> > I tried submitting the following wfs:Transaction to my WFS but it
> failed
> > with the exception below. I was wondering if you had any clues as
> to the
> > java.lang.ClassCastException that got thrown. Thank you.
> >
> > v/r,
> > Efren
> >
> > <wfs:Transaction service="WFS" version="1.0.0"
> > xmlns:cdf="http://www.opengis.net/cite/data&quot;
> > xmlns:ogc="http://www.opengis.net/ogc&quot;
> > xmlns:wfs="http://www.opengis.net/wfs&quot;&gt;
> > xmlns:jillnic="http://www1.metnet.navy.mil/jillnic&quot;&gt;
> > <wfs:Delete typeName="jillnic:pressure"/>
> > <wfs:Delete typeName="jillnic:humidity"/>
> > <wfs:Delete typeName="jillnic:temperature"/>
> > <wfs:Delete typeName="jillnic:wind_speed"/>
> > </wfs:Transaction>
> >
> > ------------XML POST END-----------
> > 22:38:20,357 INFO [STDOUT]
> > 22:38:20,358 INFO [STDOUT]
> > 22:38:20,362 INFO [STDOUT]
> > 22:38:20,364 INFO [STDOUT]
> > 22:38:20,365 INFO [STDOUT]
> > 22:38:20,366 INFO [STDOUT]
> > 22:38:20,368 INFO [STDOUT]
> > releaseAction: ALL
> > handle: null
> > Delete Feature Request
> > feature type:jillnic:pressure
> > filter:Filter.NONE
> > release:true
> > Delete Feature Request
> > feature type:jillnic:humidity
> > filter:Filter.NONE
> > release:true
> > Delete Feature Request
> > feature type:jillnic:temperature
> > filter:Filter.NONE
> > release:true
> > Delete Feature Request
> > feature type:jillnic:wind_speed
> > filter:Filter.NONE
> > release:true
> > 22:38:20,369 INFO [STDOUT]
> > 22:38:20,384 INFO [STDOUT]
> > releaseAction: ALL
> > handle: null
> > Delete Feature Request
> > feature type:jillnic:pressure
> > filter:Filter.NONE
> > release:true
> > Delete Feature Request
> > feature type:jillnic:humidity
> > filter:Filter.NONE
> > release:true
> > Delete Feature Request
> > feature type:jillnic:temperature
> > filter:Filter.NONE
> > release:true
> > Delete Feature Request
> > feature type:jillnic:wind_speed
> > filter:Filter.NONE
> > release:true
> > 22:38:20,389 INFO [STDOUT]
> > 22:38:20,390 INFO [STDOUT]
> > 22:38:20,391 INFO [STDOUT]
> > 22:38:20,392 INFO [STDOUT]
> > 22:38:20,392 INFO [STDOUT]
> > 22:38:20,393 INFO [STDOUT]
> > 22:38:20,394 INFO [STDOUT]
> > 22:38:20,394 INFO [STDOUT]
> > 22:38:20,395 INFO [STDOUT]
> > 22:38:20,396 INFO [STDOUT]
> > 22:38:20,397 INFO [STDOUT]
> > 22:38:20,397 INFO [STDOUT]
> > 22:38:20,398 INFO [STDOUT]
> > 22:38:20,399 INFO [STDOUT]
> > 22:38:20,400 INFO [STDOUT]
> > 22:38:20,400 INFO [STDOUT]
> > 22:38:20,401 INFO [STDOUT]
> > 22:38:20,402 INFO [STDOUT]
> > 22:38:20,403 INFO [STDOUT]
> > 22:38:20,403 INFO [STDOUT]
> > 22:38:20,407 INFO [STDOUT]
> > 22:38:20,408 INFO [STDOUT]
> > 22:38:20,412 INFO [STDOUT]
> > 22:38:20,413 INFO [STDOUT]
> > 22:38:20,413 INFO [STDOUT]
> > 22:38:20,418 INFO [STDOUT]
> > 22:38:20,419 INFO [STDOUT]
> > 22:38:20,423 INFO [STDOUT]
> > 22:38:20,425 INFO [STDOUT]
> > StackTrace: java.lang.ClassCastException
> > at
> >
>
org.geotools.data.postgis.PostgisFeatureStore.removeFeatures(PostgisFeatureS
> > tore.java:384)
> > at
> >
>
org.vfny.geoserver.global.GeoServerFeatureStore.removeFeatures(GeoServerFeat
> > ureStore.java:87)
> > at
> >
>
org.vfny.geoserver.wfs.responses.TransactionResponse.execute(TransactionResp
> > onse.java:381)
> > at
> >
>
org.vfny.geoserver.wfs.responses.TransactionResponse.execute(TransactionResp
> > onse.java:105)
> > at
> >
>
org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:4
> > 22)
> > at
> >
>
org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:360)
> > at
> >
>
org.vfny.geoserver.wfs.servlets.WfsDispatcher.doResponse(WfsDispatcher.java:
> > 274)
> > at
> >
>
org.vfny.geoserver.wfs.servlets.WfsDispatcher.doPost(WfsDispatcher.java:163)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> > at
> >
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> > FilterChain.java:237)
> > at
> >
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> > ain.java:157)
> > at
> >
>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
> > va:214)
> > at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:104)
> > at
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> > at
> >
>
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContext
> > Valve.java:198)
> > at
> >
>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
> > va:152)
> > at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:104)
> > at
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Unknown
> > Source)
> > at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:102)
> > at
> org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(Unknown
> > Source)
> > at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:102)
> > at
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> > at
> >
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137
> > )
> > at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:104)
> > at
> >
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117
> > )
> > at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:102)
> > at
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> > at
> >
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
> > :109)
> > at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:104)
> > at
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> > at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> > at
>
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
> > at
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:297)
> > at
> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:371)
> > at
> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:731)
> > at
> >
>
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:663)
> > at
> org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:859)
> > at
> >
>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
> > a:683)
> > at java.lang.Thread.run(Thread.java:534)
> > 22:38:20,426 INFO [STDOUT]
> > <ServiceExceptionReport
> > version="1.2.0"
> > xmlns="http://www.opengis.net/ogc&quot;
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;
> > xsi:schemaLocation="http://www.opengis.net/ogc
> >
>
http://www1.metnet.navy.mil:80/geoserver/data/capabilities//wfs/1.0.0/OGC-ex
> > ception.xsd">
> > <ServiceException>
> > java.lang.ClassCastException </ServiceException>
> > </ServiceExceptionReport>
> > 22:38:20,426 INFO [STDOUT] org.vfny.geoserver.wfs.WfsException:
> > java.lang.ClassCastException
> > 22:38:20,427 INFO [STDOUT] at
> >
>
org.vfny.geoserver.wfs.WfsExceptionHandler.newServiceException(WfsExceptionH
> > andler.java:65)
> > 22:38:20,427 INFO [STDOUT] at
> >
>
org.vfny.geoserver.servlets.AbstractService.sendError(AbstractService.java:7
> > 22)
> > 22:38:20,427 INFO [STDOUT] at
> >
>
org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:4
> > 34)
> > 22:38:20,427 INFO [STDOUT] at
> >
>
org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:360)
> > 22:38:20,427 INFO [STDOUT] at
> >
>
org.vfny.geoserver.wfs.servlets.WfsDispatcher.doResponse(WfsDispatcher.java:
> > 274)
> > 22:38:20,427 INFO [STDOUT] at
> >
>
org.vfny.geoserver.wfs.servlets.WfsDispatcher.doPost(WfsDispatcher.java:163)
> > 22:38:20,428 INFO [STDOUT] at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> > 22:38:20,428 INFO [STDOUT] at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> > 22:38:20,428 INFO [STDOUT] at
> >
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> > FilterChain.java:237)
> > 22:38:20,428 INFO [STDOUT] at
> >
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> > ain.java:157)
> > 22:38:20,428 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
> > va:214)
> > 22:38:20,428 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:104)
> > 22:38:20,428 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> > 22:38:20,428 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContext
> > Valve.java:198)
> > 22:38:20,428 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
> > va:152)
> > 22:38:20,429 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:104)
> > 22:38:20,429 INFO [STDOUT] at
> >
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Unknown
> > Source)
> > 22:38:20,429 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:102)
> > 22:38:20,429 INFO [STDOUT] at
> > org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(Unknown
> Source)
> > 22:38:20,429 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:102)
> > 22:38:20,429 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> > 22:38:20,429 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137
> > )
> > 22:38:20,429 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:104)
> > 22:38:20,429 INFO [STDOUT] at
> >
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117
> > )
> > 22:38:20,430 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:102)
> > 22:38:20,430 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> > 22:38:20,430 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
> > :109)
> > 22:38:20,430 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:104)
> > 22:38:20,430 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> > 22:38:20,430 INFO [STDOUT] at
> >
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> > 22:38:20,430 INFO [STDOUT] at
> >
>
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
> > 22:38:20,430 INFO [STDOUT] at
> >
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:297)
> > 22:38:20,431 INFO [STDOUT] at
> > org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:371)
> > 22:38:20,431 INFO [STDOUT] at
> > org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:731)
> > 22:38:20,431 INFO [STDOUT] at
> >
>
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:663)
> > 22:38:20,431 INFO [STDOUT] at
> > org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:859)
> > 22:38:20,431 INFO [STDOUT] at
> >
>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
> > a:683)
> > 22:38:20,431 INFO [STDOUT] at
> java.lang.Thread.run(Thread.java:534)
> > 22:38:20,431 INFO [STDOUT] Caused by: java.lang.ClassCastException
> > 22:38:20,431 INFO [STDOUT] at
> >
>
org.geotools.data.postgis.PostgisFeatureStore.removeFeatures(PostgisFeatureS
> > tore.java:384)
> > 22:38:20,431 INFO [STDOUT] at
> >
>
org.vfny.geoserver.global.GeoServerFeatureStore.removeFeatures(GeoServerFeat
> > ureStore.java:87)
> > 22:38:20,432 INFO [STDOUT] at
> >
>
org.vfny.geoserver.wfs.responses.TransactionResponse.execute(TransactionResp
> > onse.java:381)
> > 22:38:20,432 INFO [STDOUT] at
> >
>
org.vfny.geoserver.wfs.responses.TransactionResponse.execute(TransactionResp
> > onse.java:105)
> > 22:38:20,432 INFO [STDOUT] at
> >
>
org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:4
> > 22)
> > 22:38:20,432 INFO [STDOUT] ... 35 more
> > 22:38:41,778 INFO [STDOUT]
> > 22:38:41,779 INFO [STDOUT]
> > 22:38:41,780 INFO [STDOUT]
> > 22:38:41,780 INFO [STDOUT]
> > 22:38:41,781 INFO [STDOUT]
> > 22:38:41,791 INFO [STDOUT]
> > 22:38:41,792 INFO [STDOUT]
> > 22:38:41,793 INFO [STDOUT]
> > 22:38:41,793 INFO [STDOUT]
> > 22:38:41,794 INFO [STDOUT]
> > 22:38:41,795 INFO [STDOUT]
> > 22:38:41,795 INFO [STDOUT]
> > 22:38:41,796 INFO [STDOUT]
> >
> >
> >
>
>
> --
> Justin Deoliveira
> The Open Planning Project
> http://topp.openplans.org
>
>
> -------------------------------------------------------
> SF.Net email is sponsored by:
> Tame your development challenges with Apache's Geronimo App Server.
> Download
> it for free - -and be entered to win a 42" plasma tv or your very own
> Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
> _______________________________________________
> Geoserver-devel mailing list
> Geoserver-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>

----------------------------------------------------------
This mail sent through IMP: https://webmail.limegroup.com/

-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

--

Sorry, reading email serially, and glanced down the ones in my inbox, but
didn't see the next one from you.

apologies,

Chris

On Mon, 14 Nov 2005, Efren Serra wrote:

Chris,

I take it back; the complexType DeleteElementType does require there to be
an ogc:Filter element. The definition of ogc:FilterType is:

<xsd:element name="Filter" type="ogc:FilterType" />
<xsd:complexType name="FilterType">
<xsd:choice>
  <xsd:element ref="ogc:spatialOps" />
  <xsd:element ref="ogc:comparisonOps" />
  <xsd:element ref="ogc:logicOps" />
  <xsd:element ref="ogc:_Id" maxOccurs="unbounded" />
  </xsd:choice>
</xsd:complexType>

Therefore, some element must be specified in the <Filter> element for the
choice to apply. Thank you.

v/r,
Efren

-----Original Message-----
From: Chris Holmes [mailto:cholmes@anonymised.com]
Sent: Friday, November 11, 2005 11:46 AM
To: Justin Deoliveira
Cc: efren.serra.ctr@anonymised.com; Geoserver-devel
Subject: Re: [Geoserver-devel] Re: wfs:Delete failed!

You're wanting to delete all the features in the tables? I feel like we
should maybe not just allow a non-included filter to mangle a whole
database? Like force people to have a filter like 5=5. That said we
should give a better error message, that says something like 'if you
really want to delete all features in your table, then submit a filter
that is always true'.

Also should check behavior of updates to make sure it does the right
thing.

Oh, hold on, looking at the schemas from the spec:
' <xsd:complexTypename="DeleteElementType">
<xsd:sequence>
<xsd:elementref="ogc:Filter"minOccurs="1"maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
The Filter element is used to constrain the scope
of the delete operation to those features identified
by the filter.Feature instances can be specified
explicitlyandindividuallyusingtheidentifierof
eachfeatureinstanceORasetoffeaturestobe
operatedoncanbeidentifiedbyspecifyingspatial
andnon-spatialconstraintsinthefilter.
*****
If no filter is specified then an exception should
be raised since it is unlikely that a client application
intends to delete all feature instances.
*****
</xsd:documentation>

I love it when specs say things that make sense. So we're technically
following the spec, but we probably should give an error that is more
informative than a class cast exception.

Chris

Quoting Justin Deoliveira <jdeolive@anonymised.com>:

> Hi Efren,
>
> I think you have found a bug. When no filter is supplied the
> PostgisFeatureStore doesn't handle it properly. I am going to make a
> jira task about this one.
>
> http://jira.codehaus.org/browse/GEOS-449
>
> Justin
>
> Efren Serra wrote:
> > Hello Justin,
> >
> > I tried submitting the following wfs:Transaction to my WFS but it
> failed
> > with the exception below. I was wondering if you had any clues as
> to the
> > java.lang.ClassCastException that got thrown. Thank you.
> >
> > v/r,
> > Efren
> >
> > <wfs:Transaction service="WFS" version="1.0.0"
> > xmlns:cdf="http://www.opengis.net/cite/data&quot;
> > xmlns:ogc="http://www.opengis.net/ogc&quot;
> > xmlns:wfs="http://www.opengis.net/wfs&quot;&gt;
> > xmlns:jillnic="http://www1.metnet.navy.mil/jillnic&quot;&gt;
> > <wfs:Delete typeName="jillnic:pressure"/>
> > <wfs:Delete typeName="jillnic:humidity"/>
> > <wfs:Delete typeName="jillnic:temperature"/>
> > <wfs:Delete typeName="jillnic:wind_speed"/>
> > </wfs:Transaction>
> >
> > ------------XML POST END-----------
> > 22:38:20,357 INFO [STDOUT]
> > 22:38:20,358 INFO [STDOUT]
> > 22:38:20,362 INFO [STDOUT]
> > 22:38:20,364 INFO [STDOUT]
> > 22:38:20,365 INFO [STDOUT]
> > 22:38:20,366 INFO [STDOUT]
> > 22:38:20,368 INFO [STDOUT]
> > releaseAction: ALL
> > handle: null
> > Delete Feature Request
> > feature type:jillnic:pressure
> > filter:Filter.NONE
> > release:true
> > Delete Feature Request
> > feature type:jillnic:humidity
> > filter:Filter.NONE
> > release:true
> > Delete Feature Request
> > feature type:jillnic:temperature
> > filter:Filter.NONE
> > release:true
> > Delete Feature Request
> > feature type:jillnic:wind_speed
> > filter:Filter.NONE
> > release:true
> > 22:38:20,369 INFO [STDOUT]
> > 22:38:20,384 INFO [STDOUT]
> > releaseAction: ALL
> > handle: null
> > Delete Feature Request
> > feature type:jillnic:pressure
> > filter:Filter.NONE
> > release:true
> > Delete Feature Request
> > feature type:jillnic:humidity
> > filter:Filter.NONE
> > release:true
> > Delete Feature Request
> > feature type:jillnic:temperature
> > filter:Filter.NONE
> > release:true
> > Delete Feature Request
> > feature type:jillnic:wind_speed
> > filter:Filter.NONE
> > release:true
> > 22:38:20,389 INFO [STDOUT]
> > 22:38:20,390 INFO [STDOUT]
> > 22:38:20,391 INFO [STDOUT]
> > 22:38:20,392 INFO [STDOUT]
> > 22:38:20,392 INFO [STDOUT]
> > 22:38:20,393 INFO [STDOUT]
> > 22:38:20,394 INFO [STDOUT]
> > 22:38:20,394 INFO [STDOUT]
> > 22:38:20,395 INFO [STDOUT]
> > 22:38:20,396 INFO [STDOUT]
> > 22:38:20,397 INFO [STDOUT]
> > 22:38:20,397 INFO [STDOUT]
> > 22:38:20,398 INFO [STDOUT]
> > 22:38:20,399 INFO [STDOUT]
> > 22:38:20,400 INFO [STDOUT]
> > 22:38:20,400 INFO [STDOUT]
> > 22:38:20,401 INFO [STDOUT]
> > 22:38:20,402 INFO [STDOUT]
> > 22:38:20,403 INFO [STDOUT]
> > 22:38:20,403 INFO [STDOUT]
> > 22:38:20,407 INFO [STDOUT]
> > 22:38:20,408 INFO [STDOUT]
> > 22:38:20,412 INFO [STDOUT]
> > 22:38:20,413 INFO [STDOUT]
> > 22:38:20,413 INFO [STDOUT]
> > 22:38:20,418 INFO [STDOUT]
> > 22:38:20,419 INFO [STDOUT]
> > 22:38:20,423 INFO [STDOUT]
> > 22:38:20,425 INFO [STDOUT]
> > StackTrace: java.lang.ClassCastException
> > at
> >
>
org.geotools.data.postgis.PostgisFeatureStore.removeFeatures(PostgisFeatureS
> > tore.java:384)
> > at
> >
>
org.vfny.geoserver.global.GeoServerFeatureStore.removeFeatures(GeoServerFeat
> > ureStore.java:87)
> > at
> >
>
org.vfny.geoserver.wfs.responses.TransactionResponse.execute(TransactionResp
> > onse.java:381)
> > at
> >
>
org.vfny.geoserver.wfs.responses.TransactionResponse.execute(TransactionResp
> > onse.java:105)
> > at
> >
>
org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:4
> > 22)
> > at
> >
>
org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:360)
> > at
> >
>
org.vfny.geoserver.wfs.servlets.WfsDispatcher.doResponse(WfsDispatcher.java:
> > 274)
> > at
> >
>
org.vfny.geoserver.wfs.servlets.WfsDispatcher.doPost(WfsDispatcher.java:163)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> > at
> >
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> > FilterChain.java:237)
> > at
> >
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> > ain.java:157)
> > at
> >
>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
> > va:214)
> > at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:104)
> > at
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> > at
> >
>
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContext
> > Valve.java:198)
> > at
> >
>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
> > va:152)
> > at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:104)
> > at
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Unknown
> > Source)
> > at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:102)
> > at
> org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(Unknown
> > Source)
> > at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:102)
> > at
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> > at
> >
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137
> > )
> > at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:104)
> > at
> >
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117
> > )
> > at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:102)
> > at
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> > at
> >
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
> > :109)
> > at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:104)
> > at
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> > at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> > at
>
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
> > at
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:297)
> > at
> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:371)
> > at
> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:731)
> > at
> >
>
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:663)
> > at
> org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:859)
> > at
> >
>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
> > a:683)
> > at java.lang.Thread.run(Thread.java:534)
> > 22:38:20,426 INFO [STDOUT]
> > <ServiceExceptionReport
> > version="1.2.0"
> > xmlns="http://www.opengis.net/ogc&quot;
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;
> > xsi:schemaLocation="http://www.opengis.net/ogc
> >
>
http://www1.metnet.navy.mil:80/geoserver/data/capabilities//wfs/1.0.0/OGC-ex
> > ception.xsd">
> > <ServiceException>
> > java.lang.ClassCastException </ServiceException>
> > </ServiceExceptionReport>
> > 22:38:20,426 INFO [STDOUT] org.vfny.geoserver.wfs.WfsException:
> > java.lang.ClassCastException
> > 22:38:20,427 INFO [STDOUT] at
> >
>
org.vfny.geoserver.wfs.WfsExceptionHandler.newServiceException(WfsExceptionH
> > andler.java:65)
> > 22:38:20,427 INFO [STDOUT] at
> >
>
org.vfny.geoserver.servlets.AbstractService.sendError(AbstractService.java:7
> > 22)
> > 22:38:20,427 INFO [STDOUT] at
> >
>
org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:4
> > 34)
> > 22:38:20,427 INFO [STDOUT] at
> >
>
org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:360)
> > 22:38:20,427 INFO [STDOUT] at
> >
>
org.vfny.geoserver.wfs.servlets.WfsDispatcher.doResponse(WfsDispatcher.java:
> > 274)
> > 22:38:20,427 INFO [STDOUT] at
> >
>
org.vfny.geoserver.wfs.servlets.WfsDispatcher.doPost(WfsDispatcher.java:163)
> > 22:38:20,428 INFO [STDOUT] at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> > 22:38:20,428 INFO [STDOUT] at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> > 22:38:20,428 INFO [STDOUT] at
> >
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> > FilterChain.java:237)
> > 22:38:20,428 INFO [STDOUT] at
> >
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> > ain.java:157)
> > 22:38:20,428 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
> > va:214)
> > 22:38:20,428 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:104)
> > 22:38:20,428 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> > 22:38:20,428 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContext
> > Valve.java:198)
> > 22:38:20,428 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
> > va:152)
> > 22:38:20,429 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:104)
> > 22:38:20,429 INFO [STDOUT] at
> >
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Unknown
> > Source)
> > 22:38:20,429 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:102)
> > 22:38:20,429 INFO [STDOUT] at
> > org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(Unknown
> Source)
> > 22:38:20,429 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:102)
> > 22:38:20,429 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> > 22:38:20,429 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137
> > )
> > 22:38:20,429 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:104)
> > 22:38:20,429 INFO [STDOUT] at
> >
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117
> > )
> > 22:38:20,430 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:102)
> > 22:38:20,430 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> > 22:38:20,430 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
> > :109)
> > 22:38:20,430 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
> > t.java:104)
> > 22:38:20,430 INFO [STDOUT] at
> >
>
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
> > 22:38:20,430 INFO [STDOUT] at
> >
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
> > 22:38:20,430 INFO [STDOUT] at
> >
>
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
> > 22:38:20,430 INFO [STDOUT] at
> >
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:297)
> > 22:38:20,431 INFO [STDOUT] at
> > org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:371)
> > 22:38:20,431 INFO [STDOUT] at
> > org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:731)
> > 22:38:20,431 INFO [STDOUT] at
> >
>
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:663)
> > 22:38:20,431 INFO [STDOUT] at
> > org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:859)
> > 22:38:20,431 INFO [STDOUT] at
> >
>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
> > a:683)
> > 22:38:20,431 INFO [STDOUT] at
> java.lang.Thread.run(Thread.java:534)
> > 22:38:20,431 INFO [STDOUT] Caused by: java.lang.ClassCastException
> > 22:38:20,431 INFO [STDOUT] at
> >
>
org.geotools.data.postgis.PostgisFeatureStore.removeFeatures(PostgisFeatureS
> > tore.java:384)
> > 22:38:20,431 INFO [STDOUT] at
> >
>
org.vfny.geoserver.global.GeoServerFeatureStore.removeFeatures(GeoServerFeat
> > ureStore.java:87)
> > 22:38:20,432 INFO [STDOUT] at
> >
>
org.vfny.geoserver.wfs.responses.TransactionResponse.execute(TransactionResp
> > onse.java:381)
> > 22:38:20,432 INFO [STDOUT] at
> >
>
org.vfny.geoserver.wfs.responses.TransactionResponse.execute(TransactionResp
> > onse.java:105)
> > 22:38:20,432 INFO [STDOUT] at
> >
>
org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:4
> > 22)
> > 22:38:20,432 INFO [STDOUT] ... 35 more
> > 22:38:41,778 INFO [STDOUT]
> > 22:38:41,779 INFO [STDOUT]
> > 22:38:41,780 INFO [STDOUT]
> > 22:38:41,780 INFO [STDOUT]
> > 22:38:41,781 INFO [STDOUT]
> > 22:38:41,791 INFO [STDOUT]
> > 22:38:41,792 INFO [STDOUT]
> > 22:38:41,793 INFO [STDOUT]
> > 22:38:41,793 INFO [STDOUT]
> > 22:38:41,794 INFO [STDOUT]
> > 22:38:41,795 INFO [STDOUT]
> > 22:38:41,795 INFO [STDOUT]
> > 22:38:41,796 INFO [STDOUT]
> >
> >
> >
>
>
> --
> Justin Deoliveira
> The Open Planning Project
> http://topp.openplans.org
>
>
> -------------------------------------------------------
> SF.Net email is sponsored by:
> Tame your development challenges with Apache's Geronimo App Server.
> Download
> it for free - -and be entered to win a 42" plasma tv or your very own
> Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
> _______________________________________________
> Geoserver-devel mailing list
> Geoserver-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>

----------------------------------------------------------
This mail sent through IMP: https://webmail.limegroup.com/

--