Skip to content

Commit e9d814a

Browse files
committed
resolve java type(s) in GeoScript::Schema
1 parent e88fefd commit e9d814a

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

lib/geoscript/feature/schema.rb

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,14 @@ def initialize(name = nil, fields = [], type = nil, uri = 'http://geoscript.org/
3333
end
3434
end
3535
type_builder.crs proj if proj
36-
type_builder.add name, type.to_java.java_class
36+
37+
if type.name.match /GeoScript::Geom/
38+
type = type.superclass.java_class
39+
else
40+
type = type.to_java.java_class
41+
end
42+
43+
type_builder.add name, type
3744
end
3845
@feature_type = type_builder.build_feature_type
3946
else
@@ -71,7 +78,10 @@ def fields
7178
end
7279

7380
def get(name)
74-
@feature_type.get_descriptor name
81+
ad = @feature_type.get_descriptor name
82+
GeoScript::Field.new(ad.local_name, ad.type.binding, ad.coordinate_reference_system)
83+
rescue NoMethodError
84+
return nil
7585
end
7686
end
77-
end
87+
end

0 commit comments

Comments
 (0)