[ https://issues.apache.org/jira/browse/THRIFT-1019?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bryan Duxbury updated THRIFT-1019: ---------------------------------- Fix Version/s: (was: 0.7) > java backend should use fully qualified names for domain types > -------------------------------------------------------------- > > Key: THRIFT-1019 > URL: https://issues.apache.org/jira/browse/THRIFT-1019 > Project: Thrift > Issue Type: Bug > Components: Java - Compiler > Reporter: Peter Schuller > Priority: Minor > > This is a follow-up to THRIFT-1013. The left-overs from that is to also do > fully qualified names for the domain classes (for example even with the > changes in THRIFT-1013, our 'State' still conflicted because an inner class > used for asynch method calls extended the TAsynchMethodCall, bringing State > into scope). > Simply changing type_name() to always generate fully qualified names (not > just when program differs) was very simple, but unfortunately was not enough. > This exposes the issues that inner classes are not accessible by > "package.classname" but rather as "package.outerclass.classname". > I found no trivial way to fix this because it requires maintaining some new > state that is specific to the Java backend, and it affects code (particularly > the client bit) that I'm not in a good position to test (currently using it > only for server-side). I'm having to drop this for time reasons and instead > rename the structure in our thrift spec for now, but I wanted to file the > issue anyway even though i don't expect to submit a patch. > Briefly, what I would have started doing (though I'm not comfortable saying > it's the cleanest way to do it), was to add a map member to the generator > where one would put the information that maps a t_struct to its enclosing > t_struct. This could be filled in while looping in > generate_service_helpers(), and looked at in whenever type_name() is used to > refer to a type. I'm not sure whether this is enough or not since I haven't > tried it. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira