You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "György Szarvas (JIRA)" <de...@uima.apache.org> on 2014/10/29 17:56:34 UTC

[jira] [Created] (UIMA-4073) JCasGen generated code causes findbugs to complain

György Szarvas created UIMA-4073:
------------------------------------

             Summary: JCasGen generated code causes findbugs to complain
                 Key: UIMA-4073
                 URL: https://issues.apache.org/jira/browse/UIMA-4073
             Project: UIMA
          Issue Type: Bug
          Components: jcasgen-maven-plugin
    Affects Versions: 2.6.0SDK
            Reporter: György Szarvas
            Priority: Trivial


There is an issue with UIMA's JCasGen & FindBugs 2.0.3

Whenever a Type is defined and JCasGen generates the Java bindings for it, findbugs will report a high importance issue with the generated code, pertaining to the lines: 

/** @generated 
   * @return the generator for this type
   */
  @Override
  protected FSGenerator getFSGenerator() {return fsGenerator;}

The error is the one below.

In short, getFSGenerator() is called in the constructor of the superclass of the generated *_Type.java class, and getFSGenerator() is overridden in the subclass. This is a findbugs trigger in the above version.
Superclass is Annotation_Type.java, see here: http://grepcode.com/file/repo1.maven.org/maven2/org.apache.uima/uimaj-core/2.6.0/org/apache/uima/jcas/cas/AnnotationBase_Type.java#AnnotationBase_Type.getFSGenerator%28%29

Line 76 is the place where the call is made that triggers the findbug.

However, getFSGenerator() in superclass is : 
   protected FSGenerator getFSGenerator() {
     return fsGenerator;
   }

and this is overridden to 
protected FSGenerator getFSGenerator() {return fsGenerator;} in *_Type.java

Since this is the exact same code, I see no problems in removing this (the lines commented out in the diff), which fixes findbugs:
http://grepcode.com/file/repo1.maven.org/maven2/org.apache.uima/uimaj-tools/2.6.0/org/apache/uima/tools/jcasgen/JCas_TypeTemplate.java?av=f#68
remove from the String literal this part:
"/** @generated \n   * @return the generator for this type\n   */\n  @Override\n  protected FSGenerator getFSGenerator() {return fsGenerator;}\n"




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