You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2013/04/26 22:23:25 UTC

svn commit: r1476384 - in /uima/uimaj/trunk: jVinci/src/main/java/org/apache/vinci/transport/document/ uimaj-core/ uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/ uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/wizard...

Author: schor
Date: Fri Apr 26 20:23:23 2013
New Revision: 1476384

URL: http://svn.apache.org/r1476384
Log:
[UIMA-2844] findbugs issues: have skipped bytes calls be cognizant of number of bytes skipped; prepare pom (commented out for now) for supporting selective overrides of particular findbug rules, Reduce large static final identical string replication in multiple classes, use Integer.valueOf

Modified:
    uima/uimaj/trunk/jVinci/src/main/java/org/apache/vinci/transport/document/XMLToXTalk.java
    uima/uimaj/trunk/uimaj-core/pom.xml
    uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/RsLang.java
    uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/RsLangs.java
    uima/uimaj/trunk/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/wizards/AbstractNewWizard.java
    uima/uimaj/trunk/uimaj-ep-jcasgen/src/main/java/org/apache/uima/jcas/jcasgenp/JgPlugin.java
    uima/uimaj/trunk/uimaj-ep-jcasgen/src/main/java/org/apache/uima/jcas/jcasgenp/JgPluginRunner.java

Modified: uima/uimaj/trunk/jVinci/src/main/java/org/apache/vinci/transport/document/XMLToXTalk.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/jVinci/src/main/java/org/apache/vinci/transport/document/XMLToXTalk.java?rev=1476384&r1=1476383&r2=1476384&view=diff
==============================================================================
--- uima/uimaj/trunk/jVinci/src/main/java/org/apache/vinci/transport/document/XMLToXTalk.java (original)
+++ uima/uimaj/trunk/jVinci/src/main/java/org/apache/vinci/transport/document/XMLToXTalk.java Fri Apr 26 20:23:23 2013
@@ -279,9 +279,13 @@ public class XMLToXTalk {
   }
 
   static private void skipString(RandomAccessFile raf) throws IOException {
-    int count = raf.readInt();
+    final int count = raf.readInt();
     // Debug.p("Skipping string of size: " + count);
-    raf.skipBytes(count);
+    final int skipped = raf.skipBytes(count); 
+    if (count != skipped) {
+      throw new RuntimeException(String.format("%d bytes skipped when %d was requested, while reading from stream %s",
+          skipped, count, raf));
+    }
   }
 
   public static void main(String[] args) throws Exception {

Modified: uima/uimaj/trunk/uimaj-core/pom.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/pom.xml?rev=1476384&r1=1476383&r2=1476384&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/pom.xml (original)
+++ uima/uimaj/trunk/uimaj-core/pom.xml Fri Apr 26 20:23:23 2013
@@ -73,6 +73,17 @@
 			<version>${project.parent.version}</version>
 			<scope>test</scope>
 		</dependency>
+		
+		<!-- This next dependency is used to enable findbug rule suppression annotations
+		     Currently commented out - till more thought given to this. 
+		     For instance, we don't want to accidentally distribute this dependency in builds
+		<dependency>
+			<groupId>com.google.code.findbugs</groupId>
+			<artifactId>annotations</artifactId>
+			<version>2.0.0</version>
+			<scope>compile</scope>
+		</dependency>
+		 -->
 	</dependencies>
 	<build>
 		<finalName>uima-core</finalName>

Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/RsLang.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/RsLang.java?rev=1476384&r1=1476383&r2=1476384&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/RsLang.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/RsLang.java Fri Apr 26 20:23:23 2013
@@ -38,7 +38,7 @@ public class RsLang {
    * @param language
    * @return x-unspecified if lang is null or a canonical version of the lang string
    */
-  @edu.umd.cs.findbugs.annotations.SuppressWarnings("DM_STRING_CTOR")
+//  @edu.umd.cs.findbugs.annotations.SuppressWarnings("DM_STRING_CTOR")
   static String getCanonicalLanguageString(String language) {
     if (language == null || language.equals(Language.UNSPECIFIED_LANGUAGE)) {  // represents x-unspecified
       return Language.UNSPECIFIED_LANGUAGE;

Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/RsLangs.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/RsLangs.java?rev=1476384&r1=1476383&r2=1476384&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/RsLangs.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/RsLangs.java Fri Apr 26 20:23:23 2013
@@ -121,7 +121,7 @@ public class RsLangs {
    * @return true if any of the rsLangs subsumes the param lang
    */
 
-  @edu.umd.cs.findbugs.annotations.SuppressWarnings("ES_COMPARING_PARAMETER_STRING_WITH_EQ")
+//  @edu.umd.cs.findbugs.annotations.SuppressWarnings("ES_COMPARING_PARAMETER_STRING_WITH_EQ")
   static boolean subsumesCanonical(RsLangs rsl, String lang) {
     if (null == rsl || null == rsl.languages) {  // don't test for size() == 0 - that's used by replace to indicate empty, not x-unspec
       return true;  // x-unspecified subsumes all
@@ -154,7 +154,7 @@ public class RsLangs {
     return false;
   }
   
-  @edu.umd.cs.findbugs.annotations.SuppressWarnings("ES_COMPARING_PARAMETER_STRING_WITH_EQ")  
+//  @edu.umd.cs.findbugs.annotations.SuppressWarnings("ES_COMPARING_PARAMETER_STRING_WITH_EQ")  
   private static boolean subsumesCanonical(String containingLang, String langToTest, String langToTestBase) {
     return containingLang == langToTest || containingLang == langToTestBase; 
   }

Modified: uima/uimaj/trunk/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/wizards/AbstractNewWizard.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/wizards/AbstractNewWizard.java?rev=1476384&r1=1476383&r2=1476384&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/wizards/AbstractNewWizard.java (original)
+++ uima/uimaj/trunk/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/wizards/AbstractNewWizard.java Fri Apr 26 20:23:23 2013
@@ -73,19 +73,24 @@ public abstract class AbstractNewWizard 
   // 4 = implname element name (implementationName or annotatorImplementationName
   // 5 = "<primitive>true</primitive>\n"
   
-  public final static String XMLNS_PART = "xmlns=\"http://uima.apache.org/resourceSpecifier\"";
+  // for explanation of this strange code, see JDK bug 6447475   found by findbugs
+  public final static String XMLNS_PART;
+  static {XMLNS_PART = "xmlns=\"http://uima.apache.org/resourceSpecifier\"";}
 
-  public final static String COMMON_HEADER = 
+  public final static String COMMON_HEADER;
+  static {COMMON_HEADER = 
     "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" 
-    + "<{2} " + XMLNS_PART + ">\n" ;
+    + "<{2} " + XMLNS_PART + ">\n";}
 
-  public final static String COMMON_NDVV = 
+  public final static String COMMON_NDVV;
+  static {COMMON_NDVV = 
       "    <name>{0}</name>\n"    // 1 = name of component (e.g. type name, type priority name, ae descriptor name)
     + "    <description></description>\n"
     + "    <version>1.0</version>\n"
-    + "    <vendor></vendor>\n";
+    + "    <vendor></vendor>\n";}
   
-  public final static String COMMON_FULL_DESCRIPTOR =
+  public final static String COMMON_FULL_DESCRIPTOR;
+  static {COMMON_FULL_DESCRIPTOR =
       COMMON_HEADER 
     + "  <frameworkImplementation>org.apache.uima.java</frameworkImplementation>\n"
     + "{5}"                       // 5 = "" or "<primitive>true</primitive>\n"
@@ -108,13 +113,14 @@ public abstract class AbstractNewWizard 
     + "  <externalResourceDependencies></externalResourceDependencies>\n"
     + "  <resourceManagerConfiguration></resourceManagerConfiguration>\n"
     + "</{2}>"
-    ;
+    ;}
   
-  public static String COMMON_PARTIAL_DESCRIPTOR =
+  public static String COMMON_PARTIAL_DESCRIPTOR;
+  static {COMMON_PARTIAL_DESCRIPTOR =
       COMMON_HEADER 
     + COMMON_NDVV
     + "{1}" 
-    + "</{2}>\n";
+    + "</{2}>\n";}
     
   protected AbstractNewWizardPage page;
 

Modified: uima/uimaj/trunk/uimaj-ep-jcasgen/src/main/java/org/apache/uima/jcas/jcasgenp/JgPlugin.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-ep-jcasgen/src/main/java/org/apache/uima/jcas/jcasgenp/JgPlugin.java?rev=1476384&r1=1476383&r2=1476384&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-ep-jcasgen/src/main/java/org/apache/uima/jcas/jcasgenp/JgPlugin.java (original)
+++ uima/uimaj/trunk/uimaj-ep-jcasgen/src/main/java/org/apache/uima/jcas/jcasgenp/JgPlugin.java Fri Apr 26 20:23:23 2013
@@ -36,6 +36,7 @@ public class JgPlugin extends Plugin {
   /**
    * The constructor.
    */
+//  @edu.umd.cs.findbugs.annotations.SuppressWarnings("ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD")
   public JgPlugin(IPluginDescriptor descriptor) {
     super(descriptor);
     plugin = this;

Modified: uima/uimaj/trunk/uimaj-ep-jcasgen/src/main/java/org/apache/uima/jcas/jcasgenp/JgPluginRunner.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-ep-jcasgen/src/main/java/org/apache/uima/jcas/jcasgenp/JgPluginRunner.java?rev=1476384&r1=1476383&r2=1476384&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-ep-jcasgen/src/main/java/org/apache/uima/jcas/jcasgenp/JgPluginRunner.java (original)
+++ uima/uimaj/trunk/uimaj-ep-jcasgen/src/main/java/org/apache/uima/jcas/jcasgenp/JgPluginRunner.java Fri Apr 26 20:23:23 2013
@@ -49,12 +49,12 @@ public class JgPluginRunner implements I
         }
       };
       workspace.run(runnable, null);
-      return new Integer(0);
+      return Integer.valueOf(0);
     } catch (Exception exception) {
       exception.printStackTrace();
     }
 
-    return new Integer(1);
+    return Integer.valueOf(1);
 
   }