You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by cw...@apache.org on 2009/09/08 17:29:45 UTC

svn commit: r812554 - /incubator/uima/uimaj/trunk/uimaj-cpe/src/main/java/org/apache/uima/collection/impl/cpm/engine/CPMEngine.java

Author: cwiklik
Date: Tue Sep  8 15:29:44 2009
New Revision: 812554

URL: http://svn.apache.org/viewvc?rev=812554&view=rev
Log:
UIMA-1560 Added null check in setCollectionReader() before dereferencing collectionReader var

Modified:
    incubator/uima/uimaj/trunk/uimaj-cpe/src/main/java/org/apache/uima/collection/impl/cpm/engine/CPMEngine.java

Modified: incubator/uima/uimaj/trunk/uimaj-cpe/src/main/java/org/apache/uima/collection/impl/cpm/engine/CPMEngine.java
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uimaj-cpe/src/main/java/org/apache/uima/collection/impl/cpm/engine/CPMEngine.java?rev=812554&r1=812553&r2=812554&view=diff
==============================================================================
--- incubator/uima/uimaj/trunk/uimaj-cpe/src/main/java/org/apache/uima/collection/impl/cpm/engine/CPMEngine.java (original)
+++ incubator/uima/uimaj/trunk/uimaj-cpe/src/main/java/org/apache/uima/collection/impl/cpm/engine/CPMEngine.java Tue Sep  8 15:29:44 2009
@@ -1592,32 +1592,31 @@
    */
   public void setCollectionReader(BaseCollectionReader aCollectionReader) {
     collectionReader = aCollectionReader;
-
-    if (collectionReader.getProcessingResourceMetaData().getConfigurationParameterSettings()
-            .getParameterValue("fetchSize") != null) {
-      try {
-        readerFetchSize = ((Integer) collectionReader.getProcessingResourceMetaData()
-                .getConfigurationParameterSettings().getParameterValue("fetchSize")).intValue();
-      } catch (NumberFormatException nfe) {
-        readerFetchSize = 1; // restore default
+    if ( collectionReader != null ) {
+      if (collectionReader.getProcessingResourceMetaData().getConfigurationParameterSettings()
+              .getParameterValue("fetchSize") != null) {
+        try {
+          readerFetchSize = ((Integer) collectionReader.getProcessingResourceMetaData()
+                  .getConfigurationParameterSettings().getParameterValue("fetchSize")).intValue();
+        } catch (NumberFormatException nfe) {
+          readerFetchSize = 1; // restore default
+        }
       }
-    }
-    if (checkpointData != null && checkpointData.getSynchPoint() != null
-            && collectionReader != null) {
-      if (collectionReader instanceof RecoverableCollectionReader) {
+      if (checkpointData != null && checkpointData.getSynchPoint() != null ) {
         try {
-          // Let the CollectionReader do the synchronization to the last known (good) read point
-          ((RecoverableCollectionReader) collectionReader).moveTo(checkpointData.getSynchPoint());
-          String readerName = collectionReader.getProcessingResourceMetaData().getName();
-          if (readerName != null) {
-            restoreFromCheckpoint(readerName, "COLLECTION READER PROCESSING TIME");
+          if (collectionReader instanceof RecoverableCollectionReader) {
+            // Let the CollectionReader do the synchronization to the last known (good) read point
+            ((RecoverableCollectionReader) collectionReader).moveTo(checkpointData.getSynchPoint());
+            String readerName = collectionReader.getProcessingResourceMetaData().getName();
+            if (readerName != null) {
+              restoreFromCheckpoint(readerName, "COLLECTION READER PROCESSING TIME");
+            }
           }
         } catch (Exception e) {
           e.printStackTrace();
         }
       }
     }
-
   }
 
   /**
@@ -1680,7 +1679,7 @@
         Class[] args = new Class[] { int.class, String.class, CPMEngine.class };
         Class cpClass = Class.forName(outputQueueClass);
         Constructor constructor = cpClass.getConstructor(args);
-        Object[] oArgs = new Object[] { new Integer(aQueueSize), "Sequenced Output Queue", this };
+        Object[] oArgs = new Object[] { Integer.valueOf(aQueueSize), "Sequenced Output Queue", this };
         outputQueue = (BoundedWorkQueue) constructor.newInstance(oArgs);
       }
     } else {