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

svn commit: r1464201 - in /uima/sandbox/uimafit/trunk/uimafit/src: main/java/org/apache/uima/fit/factory/CpeBuilder.java test/java/org/apache/uima/fit/factory/CpeBuilderTest.java

Author: rec
Date: Wed Apr  3 20:59:00 2013
New Revision: 1464201

URL: http://svn.apache.org/r1464201
Log:
[UIMA-2798] NPE when primitive AE is added to CpeBuilder 
- Fixed by using a non-empty delegate key

Added:
    uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/factory/CpeBuilderTest.java   (with props)
Modified:
    uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/factory/CpeBuilder.java

Modified: uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/factory/CpeBuilder.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/factory/CpeBuilder.java?rev=1464201&r1=1464200&r2=1464201&view=diff
==============================================================================
--- uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/factory/CpeBuilder.java (original)
+++ uima/sandbox/uimafit/trunk/uimafit/src/main/java/org/apache/uima/fit/factory/CpeBuilder.java Wed Apr  3 20:59:00 2013
@@ -92,7 +92,7 @@ public class CpeBuilder {
 
     if (aDesc.isPrimitive()) {
       // For a primitive AE we just add it.
-      CpeIntegratedCasProcessor proc = createProcessor("", aDesc);
+      CpeIntegratedCasProcessor proc = createProcessor("delegate", aDesc);
       cpeDesc.addCasProcessor(proc);
     } else {
       // For an aggregate AE we dive into the first aggregation level and add each of the
@@ -125,7 +125,9 @@ public class CpeBuilder {
       cpeDesc.setProcessingUnitThreadCount(maxProcessingUnitThreadCount);
     }
     CollectionProcessingEngine cpe = produceCollectionProcessingEngine(cpeDesc, resMgr, null);
-    cpe.addStatusCallbackListener(aListener);
+    if (aListener != null) {
+      cpe.addStatusCallbackListener(aListener);
+    }
     return cpe;
   }
 

Added: uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/factory/CpeBuilderTest.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/factory/CpeBuilderTest.java?rev=1464201&view=auto
==============================================================================
--- uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/factory/CpeBuilderTest.java (added)
+++ uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/factory/CpeBuilderTest.java Wed Apr  3 20:59:00 2013
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.uima.fit.factory;
+
+import org.apache.uima.analysis_engine.AnalysisEngineDescription;
+import org.apache.uima.collection.CollectionProcessingEngine;
+import org.apache.uima.collection.CollectionReaderDescription;
+import org.apache.uima.fit.component.NoOpAnnotator;
+import org.apache.uima.fit.factory.testCrs.SingleFileXReader;
+import org.junit.Test;
+import static org.apache.uima.fit.factory.CollectionReaderFactory.*;
+import static org.apache.uima.fit.factory.AnalysisEngineFactory.*;
+
+public class CpeBuilderTest {
+
+  @Test
+  public void testSinglePrimitiveAE() throws Exception
+  {
+    CollectionReaderDescription cr = createDescription(
+            SingleFileXReader.class,
+            SingleFileXReader.PARAM_XML_SCHEME, "XCAS",
+            SingleFileXReader.PARAM_FILE_NAME, "src/test/resources/data/docs/test.xcas");
+
+    AnalysisEngineDescription ae = createPrimitiveDescription(NoOpAnnotator.class);
+    
+    CpeBuilder builder = new CpeBuilder();
+    builder.setReader(cr);
+    builder.setAnalysisEngine(ae);
+    CollectionProcessingEngine cpe = builder.createCpe(null);
+  }  
+}

Propchange: uima/sandbox/uimafit/trunk/uimafit/src/test/java/org/apache/uima/fit/factory/CpeBuilderTest.java
------------------------------------------------------------------------------
    svn:eol-style = native