ArcSDE bug fixes

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

ArcSDE bug fixes

jericks
I was using the GeoTools ArcSDE extension to create a new feature class and then write features to it when I discovered a couple bugs.

First, in the ArcSDE dummy api, the SeLayer object doesn't have a public void setGridSizes(int i, int j, int k) {} method (at least in 9.1 or 9.2).  Removing this method requires a change to the org.geotools.arcsde.data.ArcSDEAdapter class.  Int the createSeLayer method layer.setGridSizes(1100, 0, 0); needs to be changed to layer.setGridSizes(1100.0, 0.0, 0.0);

Second, also in the ArcSDE dummy api, the SeColumnDefinition object doesn't have a public int getScale() { return 0; } method it has a public short getScale() { return 0; } method.

Finally, the ArcSDEAdapter class has another bug when constructing the table name with provided user name.  Instead of adding the connection's user name onto the featureType.getTypeName(), we should add the already parsed unqualifiedTypeName.

So, qualifiedName = connection.getUser() + "." + featureType.getTypeName(); should become qualifiedName = connection.getUser() + "." + unqualifiedTypeName;

Something, that tripped me up for a couple of hours is that in order to get a FeatureStore from the ArcSDEDataStore for a layer you just created you need to pass in some hints:

Map hints = new HashMap();
hints.put("rowid.column.name","OBJECTID");
hints.put("rowid.column.type","SDE");
((ArcSDEDataStore)dataStore).createSchema(featureType,hints);

otherwise you will only get a FeatureSource (which you can't write to).

Can I submit all of the above changes as one patch or would you prefer individual patches?

Thanks,
Jared Erickson
Reply | Threaded
Open this post in threaded view
|

Re: ArcSDE bug fixes

Gabriel Roldan
Hey thanks for catching up those defects.


As they're all related to the createSchema functionality I'd say please just create a single jira issue and attach a patch to it.


TIA,
Gabriel


On Tuesday 03 March 2009 15:08:47 jericks wrote:
> I was using the GeoTools ArcSDE extension to create a new feature class and
> then write features to it when I discovered a couple bugs.
>
> First, in the ArcSDE dummy api, the SeLayer object doesn't have a public
> void setGridSizes(int i, int j, int k) {} method (at least in 9.1 or 9.2).
> Removing this method requires a change to the
> org.geotools.arcsde.data.ArcSDEAdapter class. Int the createSeLayer method
> layer.setGridSizes(1100, 0, 0); needs to be changed to
> layer.setGridSizes(1100.0, 0.0, 0.0);
>
> Second, also in the ArcSDE dummy api, the SeColumnDefinition object doesn't
> have a public int getScale() { return 0; } method it has a public short
> getScale() { return 0; } method.
>
> Finally, the ArcSDEAdapter class has another bug when constructing the
> table name with provided user name. Instead of adding the connection's
> user name onto the featureType.getTypeName(), we should add the already
> parsed unqualifiedTypeName.
>
> So, qualifiedName = connection.getUser() + "." + featureType.getTypeName();
> should become qualifiedName = connection.getUser() + "." +
> unqualifiedTypeName;
>
> Something, that tripped me up for a couple of hours is that in order to get
> a FeatureStore from the ArcSDEDataStore for a layer you just created you
> need to pass in some hints:
>
> Map hints = new HashMap();
> hints.put("rowid.column.name","OBJECTID");
> hints.put("rowid.column.type","SDE");
> ((ArcSDEDataStore)dataStore).createSchema(featureType,hints);
>
> otherwise you will only get a FeatureSource (which you can't write to).
>
> Can I submit all of the above changes as one patch or would you prefer
> individual patches?
>
> Thanks,
> Jared Erickson


--
Gabriel Roldan
http://www.opengeo.org


------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Geotools-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geotools-devel