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 2015/05/24 02:59:05 UTC

svn commit: r1681410 - in /uima/uimafit/trunk/uimafit-core/src: main/java/org/apache/uima/fit/factory/JCasFactory.java test/java/org/apache/uima/fit/factory/JCasFactoryTest.java

Author: rec
Date: Sun May 24 00:59:05 2015
New Revision: 1681410

URL: http://svn.apache.org/r1681410
Log:
[UIMA-3583] More convenient way to create (J)Cas using text and language	

Modified:
    uima/uimafit/trunk/uimafit-core/src/main/java/org/apache/uima/fit/factory/JCasFactory.java
    uima/uimafit/trunk/uimafit-core/src/test/java/org/apache/uima/fit/factory/JCasFactoryTest.java

Modified: uima/uimafit/trunk/uimafit-core/src/main/java/org/apache/uima/fit/factory/JCasFactory.java
URL: http://svn.apache.org/viewvc/uima/uimafit/trunk/uimafit-core/src/main/java/org/apache/uima/fit/factory/JCasFactory.java?rev=1681410&r1=1681409&r2=1681410&view=diff
==============================================================================
--- uima/uimafit/trunk/uimafit-core/src/main/java/org/apache/uima/fit/factory/JCasFactory.java (original)
+++ uima/uimafit/trunk/uimafit-core/src/main/java/org/apache/uima/fit/factory/JCasFactory.java Sun May 24 00:59:05 2015
@@ -39,6 +39,37 @@ public final class JCasFactory {
   }
 
   /**
+   * Creates a new JCas with the given text and the automatically derived type system. 
+   * See {@link TypeSystemDescriptionFactory#createTypeSystemDescription()}
+   * 
+   * @return a new JCas
+   * @throws UIMAException
+   *           if the JCas could not be initialized
+   */
+  public static JCas createText(String aText) throws UIMAException {
+    return createText(aText, null);
+  }
+
+  /**
+   * Creates a new JCas with the given text and language and the automatically derived type system. 
+   * See {@link TypeSystemDescriptionFactory#createTypeSystemDescription()}
+   * 
+   * @return a new JCas
+   * @throws UIMAException
+   *           if the JCas could not be initialized
+   */
+  public static JCas createText(String aText, String aLanguage) throws UIMAException {
+    JCas jcas = createJCas();
+    if (aText != null) {
+      jcas.setDocumentText(aText);
+    }
+    if (aLanguage != null) {
+      jcas.setDocumentLanguage(aLanguage);
+    }
+    return jcas;
+  }
+  
+  /**
    * Creates a new JCas for the automatically derived type system. See
    * {@link TypeSystemDescriptionFactory#createTypeSystemDescription()}
    * 

Modified: uima/uimafit/trunk/uimafit-core/src/test/java/org/apache/uima/fit/factory/JCasFactoryTest.java
URL: http://svn.apache.org/viewvc/uima/uimafit/trunk/uimafit-core/src/test/java/org/apache/uima/fit/factory/JCasFactoryTest.java?rev=1681410&r1=1681409&r2=1681410&view=diff
==============================================================================
--- uima/uimafit/trunk/uimafit-core/src/test/java/org/apache/uima/fit/factory/JCasFactoryTest.java (original)
+++ uima/uimafit/trunk/uimafit-core/src/test/java/org/apache/uima/fit/factory/JCasFactoryTest.java Sun May 24 00:59:05 2015
@@ -68,4 +68,11 @@ public class JCasFactoryTest extends Com
     assertEquals("For", JCasUtil.selectByIndex(jCas, Token.class, 0).getCoveredText());
   }
 
+  @Test
+  public void testCreateText() throws UIMAException {
+    jCas = JCasFactory.createText("For great 20 minute talks, check out TED.com.", "en");
+    AnnotationFactory.createAnnotation(jCas, 0, 3, Token.class);
+    assertEquals("For", JCasUtil.selectByIndex(jCas, Token.class, 0).getCoveredText());
+    assertEquals("en", jCas.getDocumentLanguage());
+  }
 }