RE: [Geoserver-devel] duplicate attribute types error when adding oracle spatial layer

Matthew,

You are spot on… so if a user has access to two different oracle tables of the same name via different schemas things break. this seems like a bug ? should the admin tool be prefixing the oracle layers as “GeoserverDatastore.OracleSchema.Tablename” instead of just “GeoserverDatastore.Tablename” ?

-ivan


From: geoserver-devel-admin@anonymised.comrge.net@anonymised.com On Behalf Of Matthew White <mgwhite@…25…>
Sent: Wednesday, 1 March 2006 11:12 PM
To: Ivan Price; geoserver-devel@lists.sourceforge.net
Subject: Re: [Geoserver-devel] duplicate attribute types error when adding oracle spatial layer

Ivan,
I believe that I may have seen his before, or at least something like it. From what I remember, the duplicate attribute error resulted from having two instances of the same table in Oracle owned by different schemas and the user connecting from GeoServer having access to both. For example, if two users have the same table defined and the user configured for GeoServer has the DBA Oracle role defined, the user will be able to see both tables and the error may occur. I could be completely incorrect as this being the problem, but I thought I would pass it along just in case it was. It should be easy to test by just changing the Oracle permissions in the user connecting from GeoServer.

Regards,
Matt
Matthew White
mgwhite@anonymised.com…25…
Ivan Price Ivan.Price@anonymised.com wrote:
Hi there,
we’re getting the following stack trace when trying to add a layer from
an Oracle Spatial 10g server.
other oracle layers from this database are working fine, but a decent
number … are giving this error.
running geoserver 1.3.0 on windows 2000…
Version of JVM: Sun Microsystems Inc. : 1.4.2; Apache Tomcat/4.1.27
any ideas ?
cheers,
-ivan
Ivan Price
Spatial Systems Manager
Northern Territory Land Information System
Department of Planning and Infrastructure
Northern Territory Government
Tel: (08) 8924 4024
Fax: (08) 8924 4045
Email: ivan.price@anonymised.com
SQL> describe cadastre;
Name Null? Type



LAISKEY NOT NULL CHAR(15)
LOCATION VARCHAR2(3)
LTOCODE CHAR(5)
PARCEL VARCHAR2(5)
PART_PARCEL CHAR(2)
PARCEL_TYPE CHAR(20)
AREA_M2 NUMBER(20)
ST_NUMBER NUMBER(10)
ST_PART CHAR(20)
ST_NAME VARCHAR2(20)
ST_TYPE CHAR(4)
ST_SUBURB VARCHAR2(20)
SURVEY VARCHAR2(10)
TEN_REF_TYPE CHAR(4)
TEN_REF_NUM NUMBER(20)
TEN_STATUS CHAR(1)
TEN_VOL_TYPE CHAR(4)
TEN_VOLUME NUMBER(20)
TEN_FOLIO NUMBER(20)
TP_ZONE CHAR(6)
GEOMETRY MDSYS.SDO_GEOMETRY
STATUS_CODE CHAR(1)
PFI NOT NULL NUMBER(8)
UFI NOT NULL NUMBER(10)
FEAT_NAME CHAR(8)
SQL>
javax.servlet.ServletException: Duplicate AttributeTypes
DefaultAttributeType [name=LAISKEY , type=class java.lang.String ,
nillable=true, min=1, max=1]
at
org.apache.struts.action.RequestProcessor.processException(RequestProces
sor.java:545)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr
ocessor.java:486)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
274)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
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(Applica
tionFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:193)
at
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharac
terEncodingFilter.java:122)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:213)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:256)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:241
6)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:180)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa
lve.java:171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:172)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
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.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
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:60
1)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC
onnection(Http11Protocol.java:392)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:56
5)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:619)
at java.lang.Thread.run(Thread.java:534)
root cause
java.lang.IllegalArgumentException: Duplicate AttributeTypes
DefaultAttributeType [name=LAISKEY , type=class java.lang.String ,
nillable=true, min=1, max=1]
at
org.geotools.feature.FeatureTypeBuilder.check(FeatureTypeBuilder.java:60
2)
at
org.geotools.feature.FeatureTypeBuilder.addType(FeatureTypeBuilder.java:
349)
at
org.geotools.feature.FeatureTypeBuilder.addTypes(FeatureTypeBuilder.java
:329)
at
org.geotools.feature.FeatureTypes.newFeatureType(FeatureTypes.java:219)
at
org.geotools.feature.FeatureTypes.newFeatureType(FeatureTypes.java:169)
at
org.geotools.feature.FeatureTypes.newFeatureType(FeatureTypes.java:248)
at
org.geotools.feature.FeatureTypes.newFeatureType(FeatureTypes.java:264)
at
org.geotools.data.jdbc.JDBC1DataStore.buildSchema(JDBC1DataStore.java:11
71)
at
org.geotools.data.jdbc.FeatureTypeHandler.getFeatureTypeInfo(FeatureType
Handler.java:200)
at
org.geotools.data.jdbc.FeatureTypeHandler.getSchema(FeatureTypeHandler.j
ava:168)
at
org.geotools.data.jdbc.JDBC1DataStore.getSchema(JDBC1DataStore.java:388)
at
org.vfny.geoserver.action.data.DataFeatureTypesNewAction.execute(DataFea
tureTypesNewAction.java:86)
at
org.vfny.geoserver.action.ConfigAction.execute(ConfigAction.java:98)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr
ocessor.java:484)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
274)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
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(Applica
tionFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:193)
at
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharac
terEncodingFilter.java:122)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:213)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:256)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:241
6)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:180)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa
lve.java:171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:172)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
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.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
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:60
1)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC
onnection(Http11Protocol.java:392)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:56
5)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:619)
at java.lang.Thread.run(Thread.java:534)

This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
[http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642](http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642)


Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Yahoo! Mail
Bring photos to life! New PhotoMail << File: http://pa.yahoo.com/*http://us.rd.yahoo.com/evt=39174/*http://photomail.mail.yahoo.com >> makes sharing a breeze.

Ivan,

I believe that you are correct that this may be a bug, or that at least it could be handled better. I don’t know if any of the other RDBMS-based datasource have a similar security model and therefore the same potential issue. If so, maybe the same naming convention or restrictions could be used for the Oracle datasource as well. Just a thought.

-Matt

Ivan Price Ivan.Price@anonymised.com wrote:

Matthew,
You are spot on… so if a user has access to two different oracle tables of the same name via different schemas things break. this seems like a bug ? should the admin tool be prefixing the oracle layers as “GeoserverDatastore.OracleSchema.Tablename” instead of just “GeoserverDatastore.Tablename” ?

-ivan


From: geoserver-devel-admin@lists.sourceforge.net@NTGEMAG On Behalf Of Matthew White mgwhite@anonymised.com
Sent: Wednesday, 1 March 2006 11:12 PM
To: Ivan Price; geoserver-devel@lists.sourceforge.net
Subject: Re: [Geoserver-devel] duplicate attribute types error when adding oracle spatial layer
Ivan,
I believe that I may have seen his before, or at least something like it. From what I remember, the duplicate attribute error resulted from having two instances of the same table in Oracle owned by different schemas and the user connecting from GeoServer having access to both. For example, if two users have the same table defined and the user configured for GeoServer has the DBA Oracle role defined, the user will be able to see both tables and the error may occur. I could be completely incorrect as this being the problem, but I thought I would pass it along just in case it was. It should be easy to test by just changing the Oracle permissions in the user connecting from GeoServer.
Regards,
Matt
Matthew White
mgwhite@anonymised.com
Ivan Price Ivan.Price@anonymised.com wrote:
Hi there,
we’re getting the following stack trace when trying to add a layer from
an Oracle Spatial 10g server.
other oracle layers from this database are working fine, but a decent
number … are giving this error.
running geoserver 1.3.0 on windows 2000…
Version of JVM: Sun Microsystems Inc. : 1.4.2; Apache Tomcat/4.1.27
any ideas ?
cheers,
-ivan
Ivan Price
Spatial Systems Manager
Northern Territory Land Information System
Department of Planning and Infrastructure
Northern Territory Government
Tel: (08) 8924 4024
Fax: (08) 8924 4045
Email: ivan.price@anonymised.com
SQL> describe cadastre;
Name Null? Type



LAISKEY NOT NULL CHAR(15)
LOCATION VARCHAR2(3)
LTOCODE CHAR(5)
PARCEL VARCHAR2(5)
PART_PARCEL CHAR(2)
PARCEL_TYPE CHAR(20)
AREA_M2 NUMBER(20)
ST_NUMBER NUMBER(10)
ST_PART CHAR(20)
ST_NAME VARCHAR2(20)
ST_TYPE CHAR(4)
ST_SUBURB VARCHAR2(20)
SURVEY VARCHAR2(10)
TEN_REF_TYPE CHAR(4)
TEN_REF_NUM NUMBER(20)
TEN_STATUS CHAR(1)
TEN_VOL_TYPE CHAR(4)
TEN_VOLUME NUMBER(20)
TEN_FOLIO NUMBER(20)
TP_ZONE CHAR(6)
GEOMETRY MDSYS.SDO_GEOMETRY
STATUS_CODE CHAR(1)
PFI NOT NULL NUMBER(8)
UFI NOT NULL NUMBER(10)
FEAT_NAME CHAR(8)
SQL>
javax.servlet.ServletException: Duplicate AttributeTypes
DefaultAttributeType [name=LAISKEY , type=class java.lang.String ,
nillable=true, min=1, max=1]
at
org.apache.struts.action.RequestProcessor.processException(RequestProces
sor.java:545)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr
ocessor.java:486)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
274)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
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(Applica
tionFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:193)
at
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharac
terEncodingFilter.java:122)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:213)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:256)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:241
6)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:180)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa
lve.java:171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:172)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
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.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
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:60
1)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC
onnection(Http11Protocol.java:392)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:56
5)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:619)
at java.lang.Thread.run(Thread.java:534)
root cause
java.lang.IllegalArgumentException: Duplicate AttributeTypes
DefaultAttributeType [name=LAISKEY , type=class java.lang.String ,
nillable=true, min=1, max=1]
at
org.geotools.feature.FeatureTypeBuilder.check(FeatureTypeBuilder.java:60
2)
at
org.geotools.feature.FeatureTypeBuilder.addType(FeatureTypeBuilder.java:
349)
at
org.geotools.feature.FeatureTypeBuilder.addTypes(FeatureTypeBuilder.java
:329)
at
org.geotools.feature.FeatureTypes.newFeatureType(FeatureTypes.java:219)
at
org.geotools.feature.FeatureTypes.newFeatureType(FeatureTypes.java:169)
at
org.geotools.feature.FeatureTypes.newFeatureType(FeatureTypes.java:248)
at
org.geotools.feature.FeatureTypes.newFeatureType(FeatureTypes.java:264)
at
org.geotools.data.jdbc.JDBC1DataStore.buildSchema(JDBC1DataStore.java:11
71)
at
org.geotools.data.jdbc.FeatureTypeHandler.getFeatureTypeInfo(FeatureType
Handler.java:200)
at
org.geotools.data.jdbc.FeatureTypeHandler.getSchema(FeatureTypeHandler.j
ava:168)
at
org.geotools.data.jdbc.JDBC1DataStore.getSchema(JDBC1DataStore.java:388)
at
org.vfny.geoserver.action.data.DataFeatureTypesNewAction.execute(DataFea
tureTypesNewAction.java:86)
at
org.vfny.geoserver.action.ConfigAction.execute(ConfigAction.java:98)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr
ocessor.java:484)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
274)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
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(Applica
tionFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:193)
at
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharac
terEncodingFilter.java:122)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:213)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:256)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:241
6)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:180)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa
lve.java:171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:172)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i
nvokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
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.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
80)
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:60
1)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC
onnection(Http11Protocol.java:392)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:56
5)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:619)
at java.lang.Thread.run(Thread.java:534)

This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642


Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel
Yahoo! Mail
Bring photos to life! New PhotoMail << File: http://pa.yahoo.com/*http://us.rd.yahoo.com/evt=39174/*http://photomail.mail.yahoo.com >> makes sharing a breeze.


Yahoo! Mail
Use Photomail to share photos without annoying attachments.

Could one of you report this as a bug to our task tracker: http://jira.codehaus.org/browse/GEOS ?
It sounds like a bug that shouldn't be too hard to fix.

And in the meantime add a note to the troubleshooting section of the Oracle DataStore documentation (it's a wiki, see http://docs.codehaus.org/display/GEOSDOC/Guide+to+Documenting+GeoServer)
Oracle docs at:
http://docs.codehaus.org/display/GEOSDOC/Oracle+DataStore

best regards,

Chris

Matthew White wrote:

Ivan,

I believe that you are correct that this may be a bug, or that at least it could be handled better. I don't know if any of the other RDBMS-based datasource have a similar security model and therefore the same potential issue. If so, maybe the same naming convention or restrictions could be used for the Oracle datasource as well. Just a thought.

-Matt

Ivan Price <Ivan.Price@anonymised.com> wrote: RE: [Geoserver-devel] duplicate attribute types error when adding oracle spatial layer Matthew, You are spot on.. so if a user has access to two different oracle tables of the same name via different schemas things break. this seems like a bug ? should the admin tool be prefixing the oracle layers as "GeoserverDatastore.OracleSchema.Tablename" instead of just "GeoserverDatastore.Tablename" ?
   -ivan
   _____________________________________________ From: geoserver-devel-admin@lists.sourceforge.net@NTGEMAG On Behalf Of Matthew White <mgwhite@anonymised.com> Sent: Wednesday, 1 March 2006 11:12 PM To: Ivan Price; geoserver-devel@lists.sourceforge.net Subject: Re: [Geoserver-devel] duplicate attribute types error when adding oracle spatial layer Ivan, I believe that I may have seen his before, or at least something like it. From what I remember, the duplicate attribute error resulted from having two instances of the same table in Oracle owned by different schemas and the user connecting from GeoServer having access to both. For example, if two users have the same table defined and the user configured for GeoServer has the DBA Oracle role defined, the user will be able to see both tables and the error may occur. I could be completely incorrect as this being the problem, but I thought I would pass it along just in case it was. It should be easy to test by just changing the Oracle permissions in the user connecting from GeoServer.
  Regards, Matt Matthew White mgwhite@anonymised.com Ivan Price <Ivan.Price@anonymised.com> wrote: Hi there, we're getting the following stack trace when trying to add a layer from an Oracle Spatial 10g server. other oracle layers from this database are working fine, but a decent number .. are giving this error. running geoserver 1.3.0 on windows 2000... Version of JVM: Sun Microsystems Inc. : 1.4.2; Apache Tomcat/4.1.27 any ideas ? cheers, -ivan Ivan Price Spatial Systems Manager Northern Territory Land Information System Department of Planning and Infrastructure Northern Territory Government Tel: (08) 8924 4024 Fax: (08) 8924 4045 Email: ivan.price@anonymised.com SQL> describe cadastre; Name Null? Type ----------------------------------------- -------- ---------------------------- LAISKEY NOT NULL CHAR(15) LOCATION VARCHAR2(3) LTOCODE CHAR(5) PARCEL VARCHAR2(5) PART_PARCEL CHAR(2) PARCEL_TYPE CHAR(20) AREA_M2 NUMBER(20) ST_NUMBER NUMBER(10) ST_PART CHAR(20) ST_NAME VARCHAR2(20) ST_TYPE CHAR(4) ST_SUBURB VARCHAR2(20) SURVEY VARCHAR2(10) TEN_REF_TYPE CHAR(4) TEN_REF_NUM NUMBER(20) TEN_STATUS CHAR(1) TEN_VOL_TYPE CHAR(4) TEN_VOLUME NUMBER(20) TEN_FOLIO NUMBER(20) TP_ZONE CHAR(6) GEOMETRY MDSYS.SDO_GEOMETRY STATUS_CODE CHAR(1) PFI NOT NULL NUMBER(8) UFI NOT NULL NUMBER(10) FEAT_NAME CHAR(8) SQL> javax.servlet.ServletException: Duplicate AttributeTypes DefaultAttributeType [name=LAISKEY , type=class java.lang.String , nillable=true, min=1, max=1] at org.apache.struts.action.RequestProcessor.processException(RequestProces sor.java:545) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr ocessor.java:486) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 274) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525) 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(Applica tionFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:193) at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharac terEncodingFilter.java:122) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv e.java:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv e.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:241 6) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java :180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa lve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java :172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 80) 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.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 80) 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:60 1) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC onnection(Http11Protocol.java:392) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:56 5) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool .java:619) at java.lang.Thread.run(Thread.java:534) root cause java.lang.IllegalArgumentException: Duplicate AttributeTypes DefaultAttributeType [name=LAISKEY , type=class java.lang.String , nillable=true, min=1, max=1] at org.geotools.feature.FeatureTypeBuilder.check(FeatureTypeBuilder.java:60 2) at org.geotools.feature.FeatureTypeBuilder.addType(FeatureTypeBuilder.java: 349) at org.geotools.feature.FeatureTypeBuilder.addTypes(FeatureTypeBuilder.java :329) at org.geotools.feature.FeatureTypes.newFeatureType(FeatureTypes.java:219) at org.geotools.feature.FeatureTypes.newFeatureType(FeatureTypes.java:169) at org.geotools.feature.FeatureTypes.newFeatureType(FeatureTypes.java:248) at org.geotools.feature.FeatureTypes.newFeatureType(FeatureTypes.java:264) at org.geotools.data.jdbc.JDBC1DataStore.buildSchema(JDBC1DataStore.java:11 71) at org.geotools.data.jdbc.FeatureTypeHandler.getFeatureTypeInfo(FeatureType Handler.java:200) at org.geotools.data.jdbc.FeatureTypeHandler.getSchema(FeatureTypeHandler.j ava:168) at org.geotools.data.jdbc.JDBC1DataStore.getSchema(JDBC1DataStore.java:388) at org.vfny.geoserver.action.data.DataFeatureTypesNewAction.execute(DataFea tureTypesNewAction.java:86) at org.vfny.geoserver.action.ConfigAction.execute(ConfigAction.java:98) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr ocessor.java:484) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 274) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525) 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(Applica tionFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:193) at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharac terEncodingFilter.java:122) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv e.java:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv e.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:241 6) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java :180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa lve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java :172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 80) 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.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 80) 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:60 1) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC onnection(Http11Protocol.java:392) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:56 5) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool .java:619) at java.lang.Thread.run(Thread.java:534) ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642 _______________________________________________ Geoserver-devel mailing list Geoserver-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geoserver-devel Yahoo! Mail Bring photos to life! New PhotoMail << File: http://pa.yahoo.com/*http://us.rd.yahoo.com/evt=39174/*http://photomail.mail.yahoo.com >> makes sharing a breeze.
  
---------------------------------
Yahoo! Mail
Use Photomail to share photos without annoying attachments.

--
Chris Holmes
The Open Planning Project
thoughts at: http://cholmes.wordpress.com