You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by pk...@apache.org on 2016/01/08 10:42:03 UTC
svn commit: r1723669 - in
/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/seed:
DefaultSeeder.java TextSeeder.java
Author: pkluegl
Date: Fri Jan 8 09:42:03 2016
New Revision: 1723669
URL: http://svn.apache.org/viewvc?rev=1723669&view=rev
Log:
UIMA-4729
- separated markup hotfix
Added:
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/seed/TextSeeder.java (with props)
Modified:
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/seed/DefaultSeeder.java
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/seed/DefaultSeeder.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/seed/DefaultSeeder.java?rev=1723669&r1=1723668&r2=1723669&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/seed/DefaultSeeder.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/seed/DefaultSeeder.java Fri Jan 8 09:42:03 2016
@@ -19,8 +19,6 @@
package org.apache.uima.ruta.seed;
-import java.io.BufferedReader;
-import java.io.StringReader;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
@@ -34,9 +32,8 @@ import org.apache.uima.cas.text.Annotati
import org.apache.uima.fit.util.CasUtil;
import org.apache.uima.jcas.JCas;
import org.apache.uima.ruta.type.MARKUP;
-import org.apache.uima.ruta.type.TokenSeed;
-public class DefaultSeeder implements RutaAnnotationSeeder {
+public class DefaultSeeder extends TextSeeder {
public static final String seedType = "org.apache.uima.ruta.type.TokenSeed";
@@ -44,36 +41,14 @@ public class DefaultSeeder implements Ru
.compile("</?\\w[\\w-]*((\\s+[\\w-]+(\\s*=\\s*(?:\".*?\"|'.*?'|[^'\">\\s]+))?)+\\s*|\\s*)/?>");
public Type seed(String text, CAS cas) {
- Type result = null;
+ Type result = super.seed(text, cas);
JCas jCas = null;
- int size = 0;
try {
jCas = cas.getJCas();
- size = jCas.getAnnotationIndex(TokenSeed.type).size();
- result = jCas.getTypeSystem().getType(seedType);
- } catch (CASException e1) {
+ } catch (CASException e) {
+ throw new RuntimeException(e);
}
- // do not apply seeding if there are already annotations of this seed type
- if (jCas == null || size != 0 || text == null) {
- return result;
- }
- BufferedReader reader = new BufferedReader(new StringReader(text));
- final SeedLexer sourceLexer = new SeedLexer(reader);
- sourceLexer.setJCas(jCas);
- AnnotationFS a = null;
-
- try {
- a = sourceLexer.yylex();
- } catch (Exception e) {
- }
- while (a != null) {
- cas.addFsToIndexes(a);
- try {
- a = sourceLexer.yylex();
- } catch (Exception e) {
- }
- }
-
+
// FIXME: lexer rules for html markup won't work. Therefore, those rules where removed in the
// grammar and the functionality is included directly with regex
Matcher matcher = markupPattern.matcher(text);
Added: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/seed/TextSeeder.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/seed/TextSeeder.java?rev=1723669&view=auto
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/seed/TextSeeder.java (added)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/seed/TextSeeder.java Fri Jan 8 09:42:03 2016
@@ -0,0 +1,70 @@
+/*
+ * 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.ruta.seed;
+
+import java.io.BufferedReader;
+import java.io.StringReader;
+
+import org.apache.uima.cas.CAS;
+import org.apache.uima.cas.CASException;
+import org.apache.uima.cas.Type;
+import org.apache.uima.cas.text.AnnotationFS;
+import org.apache.uima.jcas.JCas;
+import org.apache.uima.ruta.type.TokenSeed;
+
+public class TextSeeder implements RutaAnnotationSeeder {
+
+ public static final String seedType = "org.apache.uima.ruta.type.TokenSeed";
+
+ public Type seed(String text, CAS cas) {
+ Type result = null;
+ JCas jCas = null;
+ int size = 0;
+ try {
+ jCas = cas.getJCas();
+ size = jCas.getAnnotationIndex(TokenSeed.type).size();
+ result = jCas.getTypeSystem().getType(seedType);
+ } catch (CASException e) {
+ throw new RuntimeException(e);
+ }
+ // do not apply seeding if there are already annotations of this seed type
+ if (jCas == null || size != 0 || text == null) {
+ return result;
+ }
+ BufferedReader reader = new BufferedReader(new StringReader(text));
+ final SeedLexer sourceLexer = new SeedLexer(reader);
+ sourceLexer.setJCas(jCas);
+ AnnotationFS a = null;
+
+ try {
+ a = sourceLexer.yylex();
+ } catch (Exception e) {
+ }
+ while (a != null) {
+ cas.addFsToIndexes(a);
+ try {
+ a = sourceLexer.yylex();
+ } catch (Exception e) {
+ }
+ }
+
+ return result;
+ }
+}
Propchange: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/seed/TextSeeder.java
------------------------------------------------------------------------------
svn:eol-style = native