@@ -136,10 +136,17 @@ def maptype(namespace, data_type, boxed=True):
136
136
if data_type .name in type_map :
137
137
return type_map [data_type .name ]
138
138
assert is_composite_type (data_type ), data_type
139
- prefix = ""
140
- if data_type .namespace != namespace :
141
- prefix = classname (data_type .namespace .name ) + '.'
142
- return prefix + classname (data_type .name )
139
+ return type_ref (namespace , data_type )
140
+
141
+
142
+ def type_ref (namespace , dt ):
143
+ ref = classname (dt .name )
144
+ if dt .namespace != namespace :
145
+ ref = namespace_ref (dt .namespace ) + '.' + ref
146
+ return ref
147
+
148
+ def namespace_ref (ns ):
149
+ return "Dbx" + classname (ns .name )
143
150
144
151
145
152
def mapreader (namespace , data_type ):
@@ -301,7 +308,7 @@ def generate(self, api):
301
308
302
309
def generate_namespace_wrapper (self , namespace , package_relpath , package_name ):
303
310
out = self .emit
304
- class_name = classname (namespace . name )
311
+ class_name = namespace_ref (namespace )
305
312
file_name = os .path .join (package_relpath , class_name + '.java' )
306
313
with self .output_to_relative_path (file_name ):
307
314
out ('/* DO NOT EDIT */' )
@@ -325,18 +332,6 @@ def generate_namespace_wrapper(self, namespace, package_relpath, package_name):
325
332
out ('import com.dropbox.core.json.JsonReadException;' )
326
333
out ('import com.dropbox.core.json.JsonWriter;' )
327
334
328
- namespace_data_types = namespace .get_route_io_data_types ()
329
- if namespace_data_types :
330
- to_import = []
331
- for data_type in namespace_data_types :
332
- if data_type .namespace != namespace :
333
- to_import .append ((data_type .namespace .name , data_type .name ))
334
- if to_import :
335
- out ('' )
336
- for ns_name , dt_name in to_import :
337
- out ('import %s.%s.%s;' %
338
- (package_name , classname (ns_name ), classname (dt_name )))
339
-
340
335
out ('' )
341
336
self .generate_doc ('Classes and routes in namespace "%s".' % namespace .name )
342
337
with self .block ('public final class %s' % class_name ):
@@ -626,7 +621,7 @@ def generate_field_assignment(self, namespace, field):
626
621
def generate_data_type_class (self , namespace , data_type ):
627
622
"""Generate a class definition for a datatype (a struct or a union)."""
628
623
out = self .emit
629
- class_name = classname ( data_type . name )
624
+ class_name = type_ref ( namespace , data_type )
630
625
self .generate_doc (data_type .doc )
631
626
if is_union_type (data_type ):
632
627
if has_value_fields (data_type ):
@@ -638,7 +633,7 @@ def generate_data_type_class(self, namespace, data_type):
638
633
assert is_struct_type (data_type )
639
634
decl = 'public static class %s' % class_name
640
635
if data_type .parent_type :
641
- decl += ' extends %s ' % classname ( data_type .parent_type . name )
636
+ decl += ' extends %s ' % type_ref ( namespace , data_type .parent_type )
642
637
with self .block (decl ):
643
638
out ('// struct %s' % class_name )
644
639
# Generate fields declarations.
@@ -863,7 +858,7 @@ def doit(dt):
863
858
not dt .has_enumerated_subtypes ()):
864
859
# Collapse struct into union.
865
860
out ('%s._writer.writeFields(%s, g);' % (
866
- classname ( dt . name ), vn ))
861
+ type_ref ( namespace , dt ), vn ))
867
862
else :
868
863
self .generate_write_field (namespace , field , vn )
869
864
@@ -1022,7 +1017,7 @@ def generate_json_writer(self, namespace, class_name, data_type):
1022
1017
if tags :
1023
1018
out ('g.writeStringField(".tag", "%s");' % '.' .join (tags ))
1024
1019
for _ , dt in ancestors :
1025
- out ('%s._writer.writeFields(x, g);' % classname ( dt . name ))
1020
+ out ('%s._writer.writeFields(x, g);' % type_ref ( namespace , dt ))
1026
1021
out ('g.writeEndObject();' )
1027
1022
1028
1023
out ('public final void writeFields(%s x, JsonGenerator g)' % class_name )
@@ -1120,7 +1115,7 @@ def generate_json_reader(self, namespace, class_name, data_type):
1120
1115
for field in data_type .get_enumerated_subtypes ():
1121
1116
with self .block ('if ("%s".equals(tags[%d]))' % (field .name , depth )):
1122
1117
out ('return %s._reader.readFromTags(tags, parser);' %
1123
- classname ( field .data_type . name ))
1118
+ type_ref ( namespace , field .data_type ))
1124
1119
out ('// If no match, fall back to base class' )
1125
1120
out ('return readFields(parser);' )
1126
1121
0 commit comments