Hi Stefan, Good catch !
It would be fine if the problem could be catched earlier. I've not a clear view of what's happening but there are at least two places in Sextante binding where a FeatureSchema with a null type can be created : es.unex.sextante.openjump.core.OpenJUMPTable#create(String,Class[],String[],String) and es.unex.sextante.openjump.core.OpenJUMPVectorLayer#create(String,Class[],String[],String) If we patch these method, we must also take care of the attributes themselves in addRecord(final Object[]) and addFeature(Geometry,Object[]) Of course, there is still the question of the conversion (to int or to String) The best solution would probably be to eliminate Long.class attribute from Sextante algorithms. I found only two algo which create "Long.class" attributes FixedDistanceBufferAlgorithm VariableDistanceBufferAlgorithm The attribute is used to set an id to the features, but there is little chance to exceed 2^31 features in a Sextante process. Moreover, in the schema used for these algorithms, there seems to be a bug sFieldNames[0] = "ID"; sFieldNames[1] = "FROM"; sFieldNames[1] = "TO"; my 2 cents Michaël > Hi, > > as I wrote earlier I discovered that the fixed buffer tool from Sextante > results in an error message with OpenJUMP, when Sextante tries to write > a newly created vector dataset as shapefile. > > Note: When Sextante creates a new layer, it does not add the layer > in-memory/directly to OJ, but it writes the data into a shapefile first > (using OJs shapefile writer) and then re-loads the shapefiles into OJ. > > Now I figured that the exception is thrown because Sextante uses the > AttributeType long, which OJ does not know. > I have modified ShapefileWriter now to see if an attribute has a name in > case the AttributeType is null. If it has a name, then the attribute is > treated as String. This way we have at least some output from Sextante. > But it is not optimal and I wonder if there are more such things? > > The Long (64) values can not be safely converted to Int (32) values. So > it would not make sense to just set the type from Long to Int (in > AttributeType). > > Any ideas? or just leaving as is except my modifications to the > shapefile writer? > Not sure if it would have any value to implement AttributeType.LONG; I > doubt it. > > cheers, > stefan > > > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_d2d_nov > _______________________________________________ > Jump-pilot-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_nov _______________________________________________ Jump-pilot-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
