[Geoserver-devel] Tests on latest version

Hi,

Just build the latest CVS version and tested it. Very impressive !

Here are a few issues that don't seems to be very critical :

2004-04-19 22:07:45 ApplicationDispatcher[/geoserver] "Servlet.service()"
pour la servlet jsp a lancé une exception
org.apache.jasper.JasperException: Property namespaces returned a null value
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:2
48)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
...
----- Root Cause -----
javax.servlet.ServletException: Property namespaces returned a null value

This one seems to be caused by :

<html:options property="namespaces"/>

in pages/data/namespaces/Select.jsp

Another one :

2004-04-19 22:11:22 StandardWrapperValve[action]: "Servlet.service()" pour
la servlet action a généré une exception
javax.servlet.ServletException: Action must be a MessageResource key value
of either 'label.edit' or 'label.delete'
at
org.vfny.geoserver.action.validation.ValidationTestSuiteSelectAction.execute
(ValidationTestSuiteSelectAction.java:75)
at org.vfny.geoserver.action.ConfigAction.execute(ConfigAction.java:98)

This one seems to be caused by :

throw new ServletException(
           "Action must be a MessageResource key value of either
'label.edit' or 'label.delete'");

in org/vfny/geoserver/action/validation/ValidationTestSuiteSelectAction.java

Note that there are 2 other similar files :

org/vfny/geoserver/action/data/ValidationTestSelectAction.java
org/vfny/geoserver/action/validation/DataFeatureTypesSelectAction.java

Other comments coming soon...

Cheers,

p.b.

Hi again,

Other comments coming soon...

Here they are :

The files :

cite/conf/userBasic/demo/describe.xml
cite/conf/userBasic/demo/getCapabilities.xml
cite/conf/userBasic/demo/getFeature.xml

Have the following attribute :

xsi:schemaLocation="http://www.opengis.net/wfs../wfs/1.0.0/WFS-basic.xsd&quot;

Given http://interops.esri.com/help/wfs_dft.htm, isn't it rather :

xsi:schemaLocation='http://www.opengis.net/wfs
../schema/wfs/1.0.0/WFS-basic.xsd'

(with a space) ? If so, maybe :

String wfsSchemaLoc = request.getSchemaBaseUrl()
            + "wfs/1.0.0/WFS-basic.xsd";

... should be changed in
org/vfny/geoserver/responses/wfs/GML2FeatureResponseDelegate.java

Now, trying : transactionUpdate.xml. Yeah !

But, when I repost this request (using reload in my browser), I get :

<wfs:WFS_TransactionResponse version="1.0.0"
xmlns:wfs="http://www.opengis.net/wfs&quot;
xmlns:ogc="http://www.opengis.net/ogc&quot;
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;
xsi:schemaLocation="http://www.opengis.net/wfs
http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd&quot;&gt;
  <wfs:TransactionResult handle="">
    <wfs:Status>
      <wfs:FAILED />
    </wfs:Status>
    <wfs:Message>null topp:bc_roads 1: java.io.IOException: No feature
available to write at
org.geotools.data.DiffFeatureWriter.write(DiffFeatureWriter.java:150) at
org.geotools.data.InProcessLockingManager$1.write(InProcessLockingManager.ja
va:329) at
org.geotools.data.FilteringFeatureWriter.write(FilteringFeatureWriter.java:1
05) at
org.geotools.data.AbstractFeatureStore.modifyFeatures(AbstractFeatureStore.j
ava:145) at
org.geotools.data.AbstractFeatureStore.modifyFeatures(AbstractFeatureStore.j
ava:84) at
org.vfny.geoserver.global.GeoServerFeatureStore.modifyFeatures(GeoServerFeat
ureStore.java:122) at
org.vfny.geoserver.responses.wfs.TransactionResponse.execute(TransactionResp
onse.java:407) at
org.vfny.geoserver.responses.wfs.TransactionResponse.execute(TransactionResp
onse.java:99) at
org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:3
65) at
org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:296)
at
org.vfny.geoserver.servlets.wfs.WfsDispatcher.doResponse(WfsDispatcher.java:
220) at
org.vfny.geoserver.servlets.wfs.WfsDispatcher.doPost(WfsDispatcher.java:110)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:260) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643) at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:170) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641) at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:386) at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:530) at java.lang.Thread.run(Thread.java:534)</wfs:Message>
  </wfs:TransactionResult>
</wfs:WFS_TransactionResponse>

Well. It is quite normal but can't this big stack trace be shortened to get
something more human-readable ? Reciprocally, this big stack trace would
certainly be useful in the logs. Or maybe this behaviour is log-level
dependant ?

A basic question : In what transactionUpdateBad.xml is "bad" ? On the first
attempt, it returns a SUCCESS.

In the style editor, the file name is in the form :
C:\tomcat4\bin\..\webapps\geoserver\data\styles\blue.sld. Wouldn't it be
better to have a (absolutized) URL here ? Remember that
file:///C:\tomcat4\webapps\geoserver\data\styles\blue.sld *is* actually a
URL.

On a similar topic, the datastore editor displays a URL of the form :
file:data/featureTypes/bc_roads/bc_roads.shp. Well... I wonder if this one
conforms the to canonical URL scheme.

The last one is more cosmetic : where do the WFS description whitespaces
come from ? BTW : correct the typo "modificaiton".

Good night :slight_smile:

p.b.