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/12/19 17:34:36 UTC
svn commit: r1775142 - in /uima/ruta/trunk/ruta-core/src:
main/java/org/apache/uima/ruta/descriptor/
test/java/org/apache/uima/ruta/descriptor/
Author: pkluegl
Date: Mon Dec 19 17:34:36 2016
New Revision: 1775142
URL: http://svn.apache.org/viewvc?rev=1775142&view=rev
Log:
UIMA-5192
- set rules param
- added test
Modified:
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorFactory.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorInformation.java
uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/descriptor/GenerateDescriptorTest.java
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java?rev=1775142&r1=1775141&r2=1775142&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java Mon Dec 19 17:34:36 2016
@@ -308,10 +308,12 @@ public class RutaDescriptorBuilder {
String[] resourcePaths) throws InvalidXMLException, IOException {
TypeSystemDescription aets = uimaFactory.createTypeSystemDescription();
Import_impl import_impl = null;
+ boolean needToIncludeTypeSystemDescriptor = true;
if (options.isImportByName()) {
if (typeSystemDescription != null) {
import_impl = new Import_impl();
import_impl.setName(typeSystemDescription.getName());
+ needToIncludeTypeSystemDescriptor = false;
}
} else {
if (typeSystemOutput != null) {
@@ -319,11 +321,15 @@ public class RutaDescriptorBuilder {
engineOutput);
import_impl = new Import_impl();
import_impl.setLocation(relativeLocation);
+ needToIncludeTypeSystemDescriptor = false;
}
}
- return configureEngine(desc, engineOutput, options, scriptPaths, enginePaths, resourcePaths,
- import_impl, aets);
+ AnalysisEngineDescription analysisEngineDescription = configureEngine(desc, engineOutput, options, scriptPaths, enginePaths, resourcePaths, import_impl, aets);
+ if(needToIncludeTypeSystemDescriptor) {
+ analysisEngineDescription.getAnalysisEngineMetaData().setTypeSystem(typeSystemDescription);
+ }
+ return analysisEngineDescription;
}
@Deprecated
@@ -436,7 +442,8 @@ public class RutaDescriptorBuilder {
AnalysisEngineDescription analysisEngineDescription = UIMAFramework.getXMLParser()
.parseAnalysisEngineDescription(new XMLInputSource(defaultAnalysisEngine));
- if (import_impl != null && (import_impl.getName() != null || import_impl.getLocation() != null)) {
+ if (import_impl != null
+ && (import_impl.getName() != null || import_impl.getLocation() != null)) {
aets.setImports(new Import[] { import_impl });
}
analysisEngineDescription.getAnalysisEngineMetaData().setTypeSystem(aets);
@@ -465,12 +472,17 @@ public class RutaDescriptorBuilder {
analysisEngineDescription.getAnalysisEngineMetaData().setCapabilities(newArray);
}
- String mainScript = desc.getScriptName();
- if (!StringUtils.isBlank(desc.getPackageString())) {
- mainScript = desc.getPackageString().concat(".").concat(mainScript);
+ if (desc.getRules() != null) {
+ analysisEngineDescription.getAnalysisEngineMetaData().getConfigurationParameterSettings()
+ .setParameterValue(RutaEngine.PARAM_RULES, desc.getRules());
+ } else {
+ String mainScript = desc.getScriptName();
+ if (!StringUtils.isBlank(desc.getPackageString())) {
+ mainScript = desc.getPackageString().concat(".").concat(mainScript);
+ }
+ analysisEngineDescription.getAnalysisEngineMetaData().getConfigurationParameterSettings()
+ .setParameterValue(RutaEngine.PARAM_MAIN_SCRIPT, mainScript);
}
- analysisEngineDescription.getAnalysisEngineMetaData().getConfigurationParameterSettings()
- .setParameterValue(RutaEngine.PARAM_MAIN_SCRIPT, mainScript);
if (scriptPaths != null) {
analysisEngineDescription.getAnalysisEngineMetaData().getConfigurationParameterSettings()
.setParameterValue(RutaEngine.PARAM_SCRIPT_PATHS, scriptPaths);
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorFactory.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorFactory.java?rev=1775142&r1=1775141&r2=1775142&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorFactory.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorFactory.java Mon Dec 19 17:34:36 2016
@@ -171,6 +171,7 @@ public class RutaDescriptorFactory {
String name = "Anonymous";
descInfo.setScriptName(name);
parser.file_input(name);
+ descInfo.setRules(script);
return descInfo;
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorInformation.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorInformation.java?rev=1775142&r1=1775141&r2=1775142&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorInformation.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorInformation.java Mon Dec 19 17:34:36 2016
@@ -48,6 +48,8 @@ public class RutaDescriptorInformation {
private String packageString;
+ private String rules;
+
public RutaDescriptorInformation() {
super();
typeShortNames = new ArrayList<String>();
@@ -157,4 +159,12 @@ public class RutaDescriptorInformation {
this.packageString = packageString;
}
+ public String getRules() {
+ return rules;
+ }
+
+ public void setRules(String rules) {
+ this.rules = rules;
+ }
+
}
Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/descriptor/GenerateDescriptorTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/descriptor/GenerateDescriptorTest.java?rev=1775142&r1=1775141&r2=1775142&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/descriptor/GenerateDescriptorTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/descriptor/GenerateDescriptorTest.java Mon Dec 19 17:34:36 2016
@@ -21,6 +21,7 @@ package org.apache.uima.ruta.descriptor;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
import java.io.File;
import java.io.IOException;
@@ -30,7 +31,13 @@ import java.util.HashMap;
import java.util.Map;
import org.antlr.runtime.RecognitionException;
+import org.apache.commons.lang3.tuple.Pair;
+import org.apache.uima.UIMAFramework;
+import org.apache.uima.analysis_engine.AnalysisEngine;
import org.apache.uima.analysis_engine.AnalysisEngineDescription;
+import org.apache.uima.cas.CAS;
+import org.apache.uima.cas.Type;
+import org.apache.uima.fit.util.CasUtil;
import org.apache.uima.resource.ResourceInitializationException;
import org.apache.uima.resource.ResourceManager;
import org.apache.uima.resource.impl.ResourceManager_impl;
@@ -44,6 +51,7 @@ import org.apache.uima.util.InvalidXMLEx
import org.junit.BeforeClass;
import org.junit.Test;
+
public class GenerateDescriptorTest {
private static URL basicAEUrl;
@@ -86,7 +94,9 @@ public class GenerateDescriptorTest {
.getConfigurationParameterSettings();
String mainScript = (String) cps.getParameterValue(RutaEngine.PARAM_MAIN_SCRIPT);
- assertEquals("test.package.Anonymous", mainScript);
+ String rules = (String) cps.getParameterValue(RutaEngine.PARAM_RULES);
+ assertNull("mainScript param should be null", mainScript);
+ assertNotNull("rules param should not null", rules);
String[] additionalEngines = (String[]) cps.getParameterValue(RutaEngine.PARAM_ADDITIONAL_ENGINES);
assertNotNull(additionalEngines);
@@ -170,4 +180,23 @@ public class GenerateDescriptorTest {
}
+ @Test
+ public void testScriptOnly() throws Exception {
+ String script = "DECLARE Type; CW{-> Type};";
+
+ RutaDescriptorFactory rdf = new RutaDescriptorFactory(basicTSUrl, basicAEUrl);
+ RutaDescriptorInformation descriptorInformation = rdf.parseDescriptorInformation(script);
+ RutaBuildOptions options = new RutaBuildOptions();
+ Pair<AnalysisEngineDescription, TypeSystemDescription> descriptions = rdf.createDescriptions(null, null, descriptorInformation, options, null, null, null);
+ assertNotNull("Typesystem does not contain declaredtype!", descriptions.getValue().getType("Anonymous.Type"));
+ assertNotNull("AE typesystem does not contain declared type!", descriptions.getKey().getAnalysisEngineMetaData().getTypeSystem().getType("Anonymous.Type"));
+ AnalysisEngine ae = UIMAFramework.produceAnalysisEngine(descriptions.getKey());
+ CAS cas = ae.newCAS();
+ cas.setDocumentText("This is a test.");
+ ae.process(cas);
+ Type type = cas.getTypeSystem().getType("Anonymous.Type");
+ assertEquals(1, CasUtil.select(cas, type).size());
+ cas.release();
+ }
+
}