Andrea Aime wrote:
> Gabriel Roldán ha scritto:
>   
>> Andrea, Justin,
>>
>> I'm comming to you as the creators of KMLTest cause I'm finding hard to 
>> diagnose why reenabling the remote ows tests makes it fail.
>>
>> The situation is, the patch attached to 
>> <http://jira.codehaus.org/browse/GEOS-1547> enables ows remote tests and 
>> they 
>> work for the tests other than KMLTest that use it. That's only on trunk, 
>> where 
>> the WFS 1.1 datastore work has been happening.
>>
>> btw, the one failing test is testVectorWithRemoteLayer().
>>
>> in the patch I've changed RemoteOWSTestSupport.WFS_SERVER_URL to 
>> "http://demo.opengeo.org/geoserver/wfs?"; because sigma keeps being unusable.
>>
>> If some of you could take a look and see what's going wrong that'd be really 
>> cool.
>>     
>
> Looked into it. What's going on is that the kml code is looking for the
> feature heigh template for a feature type that is not local, but is
> provided by a remote WFS as part of our "feature portrayal" support
> which we developed in OWS5.
>
> The exception is logged at a level lower than usual and cannot be
> seen, but here it is:
>
> java.lang.NullPointerException
>       at 
> org.geoserver.template.GeoServerTemplateLoader.findTemplateSource(GeoServerTemplateLoader.java:140)
>       at 
> freemarker.cache.TemplateCache.acquireTemplateSource(TemplateCache.java:600)
>       at 
> freemarker.cache.TemplateCache.findTemplateSource(TemplateCache.java:576)
>       at freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:347)
>       at freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:235)
>       at freemarker.template.Configuration.getTemplate(Configuration.java:487)
>       at freemarker.template.Configuration.getTemplate(Configuration.java:452)
>       at 
> org.vfny.geoserver.wms.responses.featureInfo.FeatureTemplate.lookupTemplate(FeatureTemplate.java:295)
>       at 
> org.vfny.geoserver.wms.responses.featureInfo.FeatureTemplate.execute(FeatureTemplate.java:263)
>       at 
> org.vfny.geoserver.wms.responses.featureInfo.FeatureTemplate.template(FeatureTemplate.java:214)
>       at 
> org.vfny.geoserver.wms.responses.featureInfo.FeatureTemplate.template(FeatureTemplate.java:251)
>       at 
> org.vfny.geoserver.wms.responses.featureInfo.FeatureHeightTemplate.execute(FeatureHeightTemplate.java:39)
>       at 
> org.vfny.geoserver.wms.responses.map.kml.KMLMapTransformer$KMLMapTranslatorSupport.featureGeometry(KMLMapTransformer.java:1183)
>       at 
> org.vfny.geoserver.wms.responses.map.kml.KMLMapTransformer$KMLMapTranslatorSupport.encodePlacemark(KMLMapTransformer.java:818)
>       at 
> org.vfny.geoserver.wms.responses.map.kml.KMLMapTransformer$KMLMapTranslatorSupport.encodePlacemark(KMLMapTransformer.java:810)
>       at 
> org.vfny.geoserver.wms.responses.map.kml.KMLVectorTransformer$KMLTranslator.encode(KMLVectorTransformer.java:223)
>       at 
> org.vfny.geoserver.wms.responses.map.kml.KMLVectorTransformer$KMLTranslator.encode(KMLVectorTransformer.java:146)
>       at 
> org.vfny.geoserver.wms.responses.map.kml.KMLTransformer$KMLTranslator.encodeVectorLayer(KMLTransformer.java:203)
>       at 
> org.vfny.geoserver.wms.responses.map.kml.KMLTransformer$KMLTranslator.encode(KMLTransformer.java:133)
>       at 
> org.geotools.xml.transform.TransformerBase$XMLReaderSupport.parse(TransformerBase.java:714)
>       at 
> org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:484)
>       at 
> org.geotools.xml.transform.TransformerBase$Task.run(TransformerBase.java:296)
>       at 
> org.geotools.xml.transform.TransformerBase.transform(TransformerBase.java:129)
>       at 
> org.geotools.xml.transform.TransformerBase.transform(TransformerBase.java:108)
>       at 
> org.vfny.geoserver.wms.responses.map.kml.KMLMapProducer.writeTo(KMLMapProducer.java:121)
>       at 
> org.vfny.geoserver.wms.responses.GetMapResponse.writeTo(GetMapResponse.java:572)
>       at 
> org.geoserver.ows.adapters.ResponseAdapter.write(ResponseAdapter.java:60)
>       at org.geoserver.ows.Dispatcher.response(Dispatcher.java:702)
>       at 
> org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:215)
>       at 
> org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
>       at 
> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
>       at 
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
>       at 
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
>       at 
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
>       at 
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>       at 
> org.geoserver.test.GeoServerAbstractTestSupport.dispatch(GeoServerAbstractTestSupport.java:984)
>       at 
> org.geoserver.test.GeoServerAbstractTestSupport.dispatch(GeoServerAbstractTestSupport.java:951)
>       at 
> org.geoserver.test.GeoServerAbstractTestSupport.getAsServletResponse(GeoServerAbstractTestSupport.java:447)
>       at 
> org.geoserver.test.GeoServerAbstractTestSupport.get(GeoServerAbstractTestSupport.java:428)
>       at 
> org.geoserver.test.GeoServerAbstractTestSupport.getAsDOM(GeoServerAbstractTestSupport.java:660)
>       at 
> org.geoserver.test.GeoServerAbstractTestSupport.getAsDOM(GeoServerAbstractTestSupport.java:641)
>       at 
> org.vfny.geoserver.wms.responses.map.kml.KMLTest.testVectorWithRemoteLayer(KMLTest.java:61)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:585)
>       at junit.framework.TestCase.runTest(TestCase.java:164)
>       at 
> org.geoserver.test.GeoServerAbstractTestSupport.runTest(GeoServerAbstractTestSupport.java:129)
>       at junit.framework.TestCase.runBare(TestCase.java:130)
>       at junit.framework.TestResult$1.protect(TestResult.java:106)
>       at junit.framework.TestResult.runProtected(TestResult.java:124)
>       at junit.framework.TestResult.run(TestResult.java:109)
>       at junit.framework.TestCase.run(TestCase.java:120)
>       at 
> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
>       at 
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
>
> Basically the template lookup code assumes feature types can only come
> from within GeoServer, but with feature portrayal that's not the case,
> they can also come from a remote WFS that's provided as part of the
> request parameters (as opposed to being registered as a WFS datastore).
>
> I could fix that easily... I'm just wondering what's up about the
> kml code, it seems to me the code on trunk is "old" compared
> to the one on 1.7.x? Was the merge from the kml merge forward ported
> to trunk?
>
> Cheers
> Andrea
>
>   
Yes, the merge was done on both 1.7.x and trunk; however, some more 
changes have been done on 1.7.x and I have yet to forward port those.  I 
have reviewed the template loading code and there is nothing to be 
forward ported there; I am working on the KML package now. 

-d


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to