[ 
https://issues.apache.org/jira/browse/THRIFT-3301?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14705794#comment-14705794
 ] 

Alexander Volanis commented on THRIFT-3301:
-------------------------------------------

For the sake of completeness I retested this with the latest stable 0.9.2 and 
it fails the same way. It is possible that the most likely to have a conflict 
is the Logger class reference but the rest may cause issues. Thrift definitions 
created without Java in mind would lead to such issues. In our case the Thrift 
definition predated the requirement to bind with Java and thus the Logger 
struct was used.

> Java generated code uses imports and can lead to class name collisions
> ----------------------------------------------------------------------
>
>                 Key: THRIFT-3301
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3301
>             Project: Thrift
>          Issue Type: Bug
>          Components: Java - Compiler
>    Affects Versions: 0.8
>         Environment: Tested on Linux (Ubuntu 14) with Oracle JDK 8
>            Reporter: Alexander Volanis
>         Attachments: thrift-issue-3301.tgz
>
>
> The Java generator will produce Java classes with the following set of imports
> {code}
> import org.apache.thrift.scheme.IScheme;
> import org.apache.thrift.scheme.SchemeFactory;
> import org.apache.thrift.scheme.StandardScheme;
> import org.apache.thrift.scheme.TupleScheme;
> import org.apache.thrift.protocol.TTupleProtocol;
> import java.util.List;
> import java.util.ArrayList;
> import java.util.Map;
> import java.util.HashMap;
> import java.util.EnumMap;
> import java.util.Set;
> import java.util.HashSet;
> import java.util.EnumSet;
> import java.util.Collections;
> import java.util.BitSet;
> import java.nio.ByteBuffer;
> import java.util.Arrays;
> import org.slf4j.Logger;
> import org.slf4j.LoggerFactory;
> {code}
> Any one of the imported classes may cause a name conflict with generated code 
> that happens to define a same name class and uses such class as argument or 
> result to methods.
> The generated code should always use fully qualified references to the 
> classes when necessary and avoid all use of imports.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to