[Geoserver-devel] GEOMETRYCOLLECTION Schema problem

I don't know how to map the GEOMETRYCOLLECTION postgis data type in the
feature type schema, i have this schema

<xs:complexType name="taxonomias_Type">

<xs:complexContent>

<xs:extension base="gml:AbstractFeatureType">

<xs:sequence>

<xs:element name="name" nillable="true" minOccurs="0" maxOccurs="1">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:maxLength value="30"/>

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="accesionnmbr" nillable="true" minOccurs="0" maxOccurs="1">

<xs:simpleType>

<xs:restriction base="xs:integer">

<xs:maxLength value="18"/>

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="the_geom" type="gml:MultiGeometryPropertyType"
nillable="false" minOccurs="1" maxOccurs="1"/>

</xs:sequence>

</xs:extension>

</xs:complexContent>

</xs:complexType>

when i try to make a geoserver request this is the result:

<?xml version="1.0" ?>

- <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://localhost:8081/geoserver/data/capabilities/wfs/1.0.0/OGC-exception.xs
d">
  <ServiceException>UNCAUGHT EXCEPTION: java.lang.NullPointerException at
java.lang.Class.isAssignableFrom(Native Method) at
org.geotools.feature.DefaultAttributeTypeFactory.createAttributeType(Default
AttributeTypeFactory.java:37) at
org.geotools.feature.AttributeTypeFactory.newAttributeType(AttributeTypeFact
ory.java:73) at
org.geotools.feature.AttributeTypeFactory.newAttributeType(AttributeTypeFact
ory.java:86) at
org.geotools.data.postgis.PostgisDataSource.getGeometryAttribute(PostgisData
Source.java:465) at
org.geotools.data.postgis.PostgisDataSource.makeSchema(PostgisDataSource.jav
a:278) at
org.geotools.data.postgis.PostgisDataSource.<init>(PostgisDataSource.java:17
4) at
org.geotools.data.postgis.PostgisDataSourceFactory.createDataSource(PostgisD
ataSourceFactory.java:134) at
org.geotools.data.DataSourceFinder.getDataSource(DataSourceFinder.java:38)
at
org.vfny.geoserver.config.TypeInfo.getTransactionDataSource(TypeInfo.java:22
5) at
org.vfny.geoserver.config.TypeInfo.getCapabilitiesXmlv14(TypeInfo.java:356)
at org.vfny.geoserver.config.TypeInfo.getCapabilitiesXml(TypeInfo.java:302)
at
org.vfny.geoserver.responses.CapabilitiesResponse.addFeatureTypeInfo(Capabil
itiesResponse.java:345) at
org.vfny.geoserver.responses.CapabilitiesResponse.getXmlResponse(Capabilitie
sResponse.java:145) at
org.vfny.geoserver.servlets.Capabilities.doGet(Capabilities.java:94) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at
org.vfny.geoserver.servlets.Dispatcher.doResponse(Dispatcher.java:191) at
org.vfny.geoserver.servlets.Dispatcher.doGet(Dispatcher.java:145) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:740) 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:256) 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:171) 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:594)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:392) at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:619) at java.lang.Thread.run(Thread.java:534)</ServiceException>
  </ServiceExceptionReport>

Please Help me

Bladimir Moreno

The schema should not affect anything. Instead you've discovered a bug in
PostgisDataSource, it wasn't recognizing Geometry Collections. It's now
fixed in geotools, the changes should roll in to geoserver relatively soon
and certainly by the 1.1.0 release. If you'd like an updated jar I can
provide one for 1.0.1 or 1.1beta, just let me know.

Chris

On Mon, 8 Dec 2003, Bladimir Moreno wrote:

I don't know how to map the GEOMETRYCOLLECTION postgis data type in the
feature type schema, i have this schema

<xs:complexType name="taxonomias_Type">

<xs:complexContent>

<xs:extension base="gml:AbstractFeatureType">

<xs:sequence>

<xs:element name="name" nillable="true" minOccurs="0" maxOccurs="1">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:maxLength value="30"/>

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="accesionnmbr" nillable="true" minOccurs="0" maxOccurs="1">

<xs:simpleType>

<xs:restriction base="xs:integer">

<xs:maxLength value="18"/>

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="the_geom" type="gml:MultiGeometryPropertyType"
nillable="false" minOccurs="1" maxOccurs="1"/>

</xs:sequence>

</xs:extension>

</xs:complexContent>

</xs:complexType>

when i try to make a geoserver request this is the result:

<?xml version="1.0" ?>

- <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://localhost:8081/geoserver/data/capabilities/wfs/1.0.0/OGC-exception.xs
d">
  <ServiceException>UNCAUGHT EXCEPTION: java.lang.NullPointerException at
java.lang.Class.isAssignableFrom(Native Method) at
org.geotools.feature.DefaultAttributeTypeFactory.createAttributeType(Default
AttributeTypeFactory.java:37) at
org.geotools.feature.AttributeTypeFactory.newAttributeType(AttributeTypeFact
ory.java:73) at
org.geotools.feature.AttributeTypeFactory.newAttributeType(AttributeTypeFact
ory.java:86) at
org.geotools.data.postgis.PostgisDataSource.getGeometryAttribute(PostgisData
Source.java:465) at
org.geotools.data.postgis.PostgisDataSource.makeSchema(PostgisDataSource.jav
a:278) at
org.geotools.data.postgis.PostgisDataSource.<init>(PostgisDataSource.java:17
4) at
org.geotools.data.postgis.PostgisDataSourceFactory.createDataSource(PostgisD
ataSourceFactory.java:134) at
org.geotools.data.DataSourceFinder.getDataSource(DataSourceFinder.java:38)
at
org.vfny.geoserver.config.TypeInfo.getTransactionDataSource(TypeInfo.java:22
5) at
org.vfny.geoserver.config.TypeInfo.getCapabilitiesXmlv14(TypeInfo.java:356)
at org.vfny.geoserver.config.TypeInfo.getCapabilitiesXml(TypeInfo.java:302)
at
org.vfny.geoserver.responses.CapabilitiesResponse.addFeatureTypeInfo(Capabil
itiesResponse.java:345) at
org.vfny.geoserver.responses.CapabilitiesResponse.getXmlResponse(Capabilitie
sResponse.java:145) at
org.vfny.geoserver.servlets.Capabilities.doGet(Capabilities.java:94) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at
org.vfny.geoserver.servlets.Dispatcher.doResponse(Dispatcher.java:191) at
org.vfny.geoserver.servlets.Dispatcher.doGet(Dispatcher.java:145) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:740) 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:256) 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:171) 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:594)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:392) at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:619) at java.lang.Thread.run(Thread.java:534)</ServiceException>
  </ServiceExceptionReport>

Please Help me

Bladimir Moreno

-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

--