You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by bu...@apache.org on 2012/03/22 21:30:28 UTC
svn commit: r1304033 - in /uima/uimaj/trunk/uimaj-core/src:
main/java/org/apache/uima/ main/java/org/apache/uima/impl/
main/java/org/apache/uima/resource/impl/
main/java/org/apache/uima/resource/metadata/impl/
test/java/org/apache/uima/analysis_engine/...
Author: burn
Date: Thu Mar 22 20:30:27 2012
New Revision: 1304033
URL: http://svn.apache.org/viewvc?rev=1304033&view=rev
Log:
[UIMA-2378] Add getExternalParameterValue to UimaContext so annotators can directly access the external override
settings. Fix import by name of settings files. Added JUnit tests.
Added:
uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/AggregateWithExternalOverrides.xml (with props)
uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/testExternalOverrideSettings
Modified:
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/UimaContext.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/impl/UimaContext_ImplBase.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/impl/ConfigurationManager_impl.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/ConfigurationParameter_impl.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/ExternalOverrideSettings_impl.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/Import_impl.java
uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/AnalysisEngine_implTest.java
uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/TestAnnotator.java
uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/TestAnnotator2.java
uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/AnnotatorWithExternalOverrides.xml
uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/testExternalOverride.settings
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/UimaContext.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/UimaContext.java?rev=1304033&r1=1304032&r2=1304033&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/UimaContext.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/UimaContext.java Thu Mar 22 20:30:27 2012
@@ -115,6 +115,20 @@ public interface UimaContext {
public String[] getConfigParameterNames();
/**
+ * Retrieves the value for an external parameter defined in the External Override Settings
+ * as specified in the top-level descriptor's operationalProperties section, or via the
+ * -DUimaExternalOverrides value.
+ *
+ * @param aParamName
+ * the name of the parameter to look up
+ *
+ * @return the value of the parameter with the given name, as a String.
+ * Returns <code>null</code> if the parameter does not exist.
+ * Returns an empty string (<code>""</code>) if the parameter was not assigned a value.
+ */
+ public String getExternalParameterValue(String aParamName);
+
+ /**
* Gets the <code>Logger</code> to which log output will be sent. UIMA components should use
* this facility rather than writing to their own log files (or to stdout).
*
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/impl/UimaContext_ImplBase.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/impl/UimaContext_ImplBase.java?rev=1304033&r1=1304032&r2=1304033&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/impl/UimaContext_ImplBase.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/impl/UimaContext_ImplBase.java Thu Mar 22 20:30:27 2012
@@ -52,6 +52,7 @@ import org.apache.uima.jcas.JCas;
import org.apache.uima.resource.CasManager;
import org.apache.uima.resource.ResourceAccessException;
import org.apache.uima.resource.ResourceInitializationException;
+import org.apache.uima.resource.impl.ConfigurationManager_impl;
import org.apache.uima.resource.metadata.ConfigurationGroup;
import org.apache.uima.resource.metadata.ConfigurationParameter;
import org.apache.uima.util.Level;
@@ -475,6 +476,15 @@ public abstract class UimaContext_ImplBa
}
/**
+ * Lookup and evaluate an arbitrary (string) parameter from the External Override Settings
+ * Lets annotator configuration bypass the descriptor parameters.
+ */
+ public String getExternalParameterValue(String name) {
+ ConfigurationManager_impl cfgmgr = (ConfigurationManager_impl) getConfigurationManager();
+ return cfgmgr.getExternalParameter(mQualifiedContextName, name);
+ }
+
+ /**
* Changes here should also be made in UimaContext_ImplBase.mapToSofaID (non-Javadoc)
*
* @see org.apache.uima.UimaContext#mapToSofaID(java.lang.String)
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/impl/ConfigurationManager_impl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/impl/ConfigurationManager_impl.java?rev=1304033&r1=1304032&r2=1304033&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/impl/ConfigurationManager_impl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/impl/ConfigurationManager_impl.java Thu Mar 22 20:30:27 2012
@@ -263,4 +263,8 @@ public class ConfigurationManager_impl e
return mSettingsMap.get(aContextName);
}
+ public String getExternalParameter(String context, String name) {
+ ExternalOverrideSettings settings = getExternalOverrideSettings(context);
+ return settings == null ? null : settings.resolveExternalName(name);
+ }
}
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/ConfigurationParameter_impl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/ConfigurationParameter_impl.java?rev=1304033&r1=1304032&r2=1304033&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/ConfigurationParameter_impl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/ConfigurationParameter_impl.java Thu Mar 22 20:30:27 2012
@@ -335,8 +335,8 @@ public class ConfigurationParameter_impl
static final private XmlizationInfo XMLIZATION_INFO = new XmlizationInfo(
"configurationParameter", new PropertyXmlInfo[] { new PropertyXmlInfo("name"),
+ new PropertyXmlInfo("externalOverrideName"),
new PropertyXmlInfo("description"), new PropertyXmlInfo("type"),
new PropertyXmlInfo("multiValued"), new PropertyXmlInfo("mandatory"),
- new PropertyXmlInfo("externalOverrideName"),
new PropertyXmlInfo("overrides", "overrides", true, "parameter"), });
}
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/ExternalOverrideSettings_impl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/ExternalOverrideSettings_impl.java?rev=1304033&r1=1304032&r2=1304033&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/ExternalOverrideSettings_impl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/ExternalOverrideSettings_impl.java Thu Mar 22 20:30:27 2012
@@ -162,6 +162,7 @@ public class ExternalOverrideSettings_im
InputStream stream = null;
for (int i = imports.length - 1; i >= 0; --i) {
try {
+ ((Import_impl)imports[i]).hasNoSuffix(); // Disable usual append of ".xml"
URL url = imports[i].findAbsoluteUrl(aResourceManager);
stream = url.openStream();
mProperties = new Properties(mProperties);
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/Import_impl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/Import_impl.java?rev=1304033&r1=1304032&r2=1304033&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/Import_impl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/Import_impl.java Thu Mar 22 20:30:27 2012
@@ -44,6 +44,8 @@ public class Import_impl extends MetaDat
private String mName;
private String mLocation;
+
+ private String byNameSuffix = ".xml";
/*
* (non-Javadoc)
@@ -82,6 +84,13 @@ public class Import_impl extends MetaDat
}
/*
+ * Called when importing by name without an implied ".xml" suffix
+ */
+ public void hasNoSuffix() {
+ byNameSuffix = "";
+ }
+
+ /*
* (non-Javadoc)
*
* @see org.apache.uima.resource.metadata.Import#findAbsoluteUrl(org.apache.uima.resource.ResourceManager)
@@ -95,7 +104,7 @@ public class Import_impl extends MetaDat
getLocation(), getSourceUrlString() }, e);
}
} else if (getName() != null) {
- String filename = getName().replace('.', '/') + ".xml";
+ String filename = getName().replace('.', '/') + byNameSuffix;
URL url;
try {
url = aResourceManager.resolveRelativePath(filename);
Modified: uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/AnalysisEngine_implTest.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/AnalysisEngine_implTest.java?rev=1304033&r1=1304032&r2=1304033&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/AnalysisEngine_implTest.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/AnalysisEngine_implTest.java Thu Mar 22 20:30:27 2012
@@ -301,17 +301,18 @@ public class AnalysisEngine_implTest ext
ae.destroy();
// try a descriptor with configuration parameter external overrides - should work
- in = new XMLInputSource(JUnitExtension
- .getFile("TextAnalysisEngineImplTest/AnnotatorWithExternalOverrides.xml"));
+ // Use an aggregate so the annotator can run tests based on the context.
+ in = new XMLInputSource(JUnitExtension.getFile("TextAnalysisEngineImplTest/AggregateWithExternalOverrides.xml"));
desc = UIMAFramework.getXMLParser().parseAnalysisEngineDescription(in);
- ae1 = new PrimitiveAnalysisEngine_impl();
- ae1.initialize(desc, null);
- String[] arrayParam = (String[]) ae1.getUimaContext().getConfigParameterValue("StringArrayParam");
+ ae = new AggregateAnalysisEngine_impl();
+ ae.initialize(desc, null);
+ delegate1 = (PrimitiveAnalysisEngine_impl) ae._getASB().getComponentAnalysisEngines().get("ExternalOverrides");
+ String[] arrayParam = (String[]) delegate1.getUimaContext().getConfigParameterValue("StringArrayParam");
Assert.assertNotNull(arrayParam);
Assert.assertEquals(5, arrayParam.length);
- String[] expectedResult = {"prefix_from_import", "-", "suffix_from_inline", "->", "prefix_from_import-suffix_from_inline"};
- Assert.assertTrue(Arrays.equals(expectedResult, arrayParam));
- Integer[] intArr = (Integer[]) ae1.getUimaContext().getConfigParameterValue("IntegerArrayParam");
+ String[] expect = { "prefix_from_import", "-", "suffix_from_inline", "->", "prefix_from_import-suffix_from_inline" };
+ Assert.assertTrue(Arrays.equals(expect, arrayParam));
+ Integer[] intArr = (Integer[]) delegate1.getUimaContext().getConfigParameterValue("IntegerArrayParam");
Assert.assertEquals(4, intArr.length);
ae1.destroy();
Modified: uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/TestAnnotator.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/TestAnnotator.java?rev=1304033&r1=1304032&r2=1304033&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/TestAnnotator.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/TestAnnotator.java Thu Mar 22 20:30:27 2012
@@ -31,7 +31,7 @@ import org.apache.uima.cas.CAS;
import org.apache.uima.cas.TypeSystem;
/**
- * Annotator class used for testing
+ * Annotator class used for testing.
*
*/
public class TestAnnotator extends Annotator_ImplBase implements TextAnnotator {
Modified: uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/TestAnnotator2.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/TestAnnotator2.java?rev=1304033&r1=1304032&r2=1304033&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/TestAnnotator2.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/TestAnnotator2.java Thu Mar 22 20:30:27 2012
@@ -19,53 +19,50 @@
package org.apache.uima.analysis_engine.impl;
+import junit.framework.Assert;
+
+import org.apache.uima.UimaContext;
+import org.apache.uima.analysis_component.CasAnnotator_ImplBase;
import org.apache.uima.analysis_engine.ResultSpecification;
-import org.apache.uima.analysis_engine.annotator.AnnotatorConfigurationException;
import org.apache.uima.analysis_engine.annotator.AnnotatorContext;
-import org.apache.uima.analysis_engine.annotator.AnnotatorContextException;
-import org.apache.uima.analysis_engine.annotator.AnnotatorInitializationException;
-import org.apache.uima.analysis_engine.annotator.AnnotatorProcessException;
-import org.apache.uima.analysis_engine.annotator.Annotator_ImplBase;
-import org.apache.uima.analysis_engine.annotator.TextAnnotator;
import org.apache.uima.cas.CAS;
import org.apache.uima.cas.TypeSystem;
+import org.apache.uima.impl.UimaContext_ImplBase;
+import org.apache.uima.resource.ResourceInitializationException;
/**
* Annotator class used for testing.
*
*/
-public class TestAnnotator2 extends Annotator_ImplBase implements TextAnnotator {
+public class TestAnnotator2 extends CasAnnotator_ImplBase {
// Process method saves information to these static fields,
// which are queried by the unit test.
public static String lastDocument;
public static String stringParamValue;
- public static ResultSpecification lastResultSpec;
-
public static boolean typeSystemInitCalled;
public static synchronized String getLastDocument() {
return lastDocument;
}
-
- public static synchronized ResultSpecification getLastResultSpec() {
- return lastResultSpec;
- }
-
+
/**
- * @see org.apache.uima.analysis_engine.annotator.Annotator#initialize(CAS, AnnotatorContext)
+ * @throws ResourceInitializationException
+ * @see org.apache.uima.analysis_engine.annotator.Annotator#initialize(AnnotatorContext)
*/
- public void initialize(AnnotatorContext aContext) throws AnnotatorConfigurationException,
- AnnotatorInitializationException {
+ public void initialize(UimaContext aContext) throws ResourceInitializationException {
super.initialize(aContext);
typeSystemInitCalled = false;
- lastResultSpec = null;
lastDocument = null;
- try {
- stringParamValue = (String) getContext().getConfigParameterValue("StringParam");
- } catch (AnnotatorContextException e) {
- throw new AnnotatorInitializationException(e);
+ stringParamValue = (String) aContext.getConfigParameterValue("StringParam");
+
+ // Check if can get an arbitrary external parameter from the override settings
+ String contextName = ((UimaContext_ImplBase) aContext).getQualifiedContextName();
+ if ("/ExternalOverrides/".equals(contextName)) {
+ String actual = aContext.getExternalParameterValue("test.externalStringArray");
+ String expected = "prefix_from_import,-,suffix_from_inline,->,prefix_from_import-suffix_from_inline";
+ Assert.assertEquals(expected, actual);
}
}
@@ -76,10 +73,9 @@ public class TestAnnotator2 extends Anno
/**
* @see org.apache.uima.analysis_engine.annotator.TextAnnotator#process(CAS,ResultSpecification)
*/
- public void process(CAS aCAS, ResultSpecification aResultSpec) throws AnnotatorProcessException {
+ public void process(CAS aCAS) {
// set static fields to contain document text, result spec,
// and value of StringParam configuration parameter.
lastDocument = aCAS.getDocumentText();
- lastResultSpec = aResultSpec;
}
}
Added: uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/AggregateWithExternalOverrides.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/AggregateWithExternalOverrides.xml?rev=1304033&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/AggregateWithExternalOverrides.xml (added)
+++ uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/AggregateWithExternalOverrides.xml Thu Mar 22 20:30:27 2012
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+ -->
+<!-- Descriptor for testing external overrides. -->
+<analysisEngineDescription xmlns="http://uima.apache.org/resourceSpecifier">
+ <frameworkImplementation>org.apache.uima.java</frameworkImplementation>
+ <primitive>false</primitive>
+ <delegateAnalysisEngineSpecifiers>
+ <delegateAnalysisEngine key="ExternalOverrides">
+ <import location="AnnotatorWithExternalOverrides.xml"/>
+ </delegateAnalysisEngine>
+ </delegateAnalysisEngineSpecifiers>
+ <analysisEngineMetaData>
+ <name>Aggregate With External Overrides</name>
+ <description/>
+ <version>1.0</version>
+ <vendor/>
+ <configurationParameters searchStrategy="language_fallback"/>
+ <configurationParameterSettings/>
+ <flowConstraints>
+ <fixedFlow>
+ <node>ExternalOverrides</node>
+ </fixedFlow>
+ </flowConstraints>
+ <fsIndexCollection/>
+ <capabilities>
+ <capability>
+ <inputs/>
+ <outputs/>
+ <languagesSupported/>
+ </capability>
+ </capabilities>
+ <operationalProperties>
+ <modifiesCas>true</modifiesCas>
+ <multipleDeploymentAllowed>true</multipleDeploymentAllowed>
+ <outputsNewCASes>false</outputsNewCASes>
+ <externalOverrideSettings>
+ <settings>
+ inline-suffix suffix_from_inline
+ inline-value ${import-prefix}-suffix_from_inline
+ test.externalStringArray = ${import-prefix},-,${inline-suffix},->,${import-value}
+ test.externalIntegerArray : 1 , 22 , 333,4444
+ </settings>
+ <imports>
+ <import location="testExternalOverride.settings"/>
+ <import name="TextAnalysisEngineImplTest.testExternalOverrideSettings"/>
+ </imports>
+ </externalOverrideSettings>
+ </operationalProperties>
+ </analysisEngineMetaData>
+ <resourceManagerConfiguration/>
+</analysisEngineDescription>
Propchange: uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/AggregateWithExternalOverrides.xml
------------------------------------------------------------------------------
svn:eol-style = native
Modified: uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/AnnotatorWithExternalOverrides.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/AnnotatorWithExternalOverrides.xml?rev=1304033&r1=1304032&r2=1304033&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/AnnotatorWithExternalOverrides.xml (original)
+++ uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/AnnotatorWithExternalOverrides.xml Thu Mar 22 20:30:27 2012
@@ -17,106 +17,131 @@
* specific language governing permissions and limitations
* under the License.
-->
-<!-- Descriptor for testing configuration groups. -->
+<!-- Descriptor for testing external overrides. -->
<taeDescription xmlns="http://uima.apache.org/resourceSpecifier">
-<frameworkImplementation>org.apache.uima.java</frameworkImplementation>
-<primitive>true</primitive>
-<annotatorImplementationName>org.apache.uima.analysis_engine.impl.TestAnnotator</annotatorImplementationName>
+ <frameworkImplementation>org.apache.uima.java</frameworkImplementation>
+ <primitive>true</primitive>
+ <annotatorImplementationName>org.apache.uima.analysis_engine.impl.TestAnnotator2</annotatorImplementationName>
-<analysisEngineMetaData>
-<name>Annotator With Configuration Parameters</name>
-<description>For testing configuration parameters.</description>
-<version>1.0</version>
-<vendor>The Apache Software Foundation</vendor>
+ <analysisEngineMetaData>
+ <name>Annotator With External Overrides</name>
+ <description>For testing configuration parameters.</description>
+ <version>1.0</version>
+ <vendor>The Apache Software Foundation</vendor>
-<!-- Configuration Parameter Definitions -->
-<configurationParameters>
- <configurationParameter>
- <name>StringParam</name>
- <externalOverrideName>inline-value</externalOverrideName>
- <description/>
- <type>String</type>
- <multiValued>false</multiValued><mandatory>false</mandatory></configurationParameter>
- <configurationParameter>
- <name>StringArrayParam</name>
- <externalOverrideName>test.externalStringArray</externalOverrideName>
- <description/>
- <type>String</type>
- <multiValued>true</multiValued>
- <mandatory>false</mandatory></configurationParameter>
- <configurationParameter>
- <name>IntegerParam</name>
- <description/>
- <type>Integer</type>
- <multiValued>false</multiValued><mandatory>false</mandatory></configurationParameter>
- <configurationParameter>
- <name>IntegerArrayParam</name>
- <externalOverrideName>test.externalIntegerArray</externalOverrideName>
- <description/>
- <type>Integer</type>
- <multiValued>true</multiValued>
- <mandatory>false</mandatory></configurationParameter>
- <configurationParameter>
- <name>FloatParam</name>
- <description/>
- <type>Float</type>
- <multiValued>false</multiValued><mandatory>false</mandatory></configurationParameter>
- <configurationParameter>
- <name>FloatArrayParam</name>
- <description/>
- <type>Float</type>
- <multiValued>true</multiValued>
- <mandatory>false</mandatory></configurationParameter>
- <configurationParameter>
- <name>RequiredParam</name>
- <description/>
- <type>String</type>
- <multiValued>false</multiValued>
- <mandatory>true</mandatory>
- </configurationParameter>
-</configurationParameters>
-
-
-<!-- Values for the configuration parameters -->
-<configurationParameterSettings>
- <nameValuePair>
- <name>StringParam</name>
- <value><string>myString</string></value>
- </nameValuePair>
- <nameValuePair>
- <name>StringArrayParam</name>
- <value><array><string>one</string><string>two</string></array></value>
- </nameValuePair>
- <nameValuePair>
- <name>IntegerParam</name>
- <value><integer>42</integer></value>
- </nameValuePair>
- <nameValuePair>
- <name>IntegerArrayParam</name>
- <value><array><integer>1</integer><integer>2</integer><integer>3</integer></array></value>
- </nameValuePair>
- <nameValuePair>
- <name>FloatParam</name>
- <value><float>3.14</float></value>
- </nameValuePair>
- <nameValuePair>
- <name>RequiredParam</name>
- <value><string>RequiredValue</string></value>
- </nameValuePair>
-</configurationParameterSettings>
-
-<typeSystemDescription>
-</typeSystemDescription>
-
-<!-- Capabilities: Inputs and Outputs -->
-<capabilities>
-<capability>
-<inputs/>
-<outputs/>
-<languagesSupported/>
-</capability>
-</capabilities>
-
+ <!-- Configuration Parameter Definitions -->
+ <configurationParameters>
+ <configurationParameter>
+ <name>StringParam</name>
+ <externalOverrideName>inline-value</externalOverrideName>
+ <description/>
+ <type>String</type>
+ <multiValued>false</multiValued>
+ <mandatory>false</mandatory>
+ </configurationParameter>
+ <configurationParameter>
+ <name>StringArrayParam</name>
+ <externalOverrideName>test.externalStringArray</externalOverrideName>
+ <description/>
+ <type>String</type>
+ <multiValued>true</multiValued>
+ <mandatory>false</mandatory>
+ </configurationParameter>
+ <configurationParameter>
+ <name>IntegerParam</name>
+ <description/>
+ <type>Integer</type>
+ <multiValued>false</multiValued>
+ <mandatory>false</mandatory>
+ </configurationParameter>
+ <configurationParameter>
+ <name>IntegerArrayParam</name>
+ <externalOverrideName>test.externalIntegerArray</externalOverrideName>
+ <description/>
+ <type>Integer</type>
+ <multiValued>true</multiValued>
+ <mandatory>false</mandatory>
+ </configurationParameter>
+ <configurationParameter>
+ <name>FloatParam</name>
+ <description/>
+ <type>Float</type>
+ <multiValued>false</multiValued>
+ <mandatory>false</mandatory>
+ </configurationParameter>
+ <configurationParameter>
+ <name>FloatArrayParam</name>
+ <description/>
+ <type>Float</type>
+ <multiValued>true</multiValued>
+ <mandatory>false</mandatory>
+ </configurationParameter>
+ <configurationParameter>
+ <name>RequiredParam</name>
+ <description/>
+ <type>String</type>
+ <multiValued>false</multiValued>
+ <mandatory>true</mandatory>
+ </configurationParameter>
+ </configurationParameters>
+
+
+ <!-- Values for the configuration parameters -->
+ <configurationParameterSettings>
+ <nameValuePair>
+ <name>StringParam</name>
+ <value><string>myString</string></value>
+ </nameValuePair>
+ <nameValuePair>
+ <name>StringArrayParam</name>
+ <value>
+ <array>
+ <string>one</string>
+ <string>two</string>
+ </array>
+ </value>
+ </nameValuePair>
+ <nameValuePair>
+ <name>IntegerParam</name>
+ <value>
+ <integer>42</integer>
+ </value>
+ </nameValuePair>
+ <nameValuePair>
+ <name>IntegerArrayParam</name>
+ <value>
+ <array>
+ <integer>1</integer>
+ <integer>2</integer>
+ <integer>3</integer>
+ </array>
+ </value>
+ </nameValuePair>
+ <nameValuePair>
+ <name>FloatParam</name>
+ <value>
+ <float>3.14</float>
+ </value>
+ </nameValuePair>
+ <nameValuePair>
+ <name>RequiredParam</name>
+ <value>
+ <string>RequiredValue</string>
+ </value>
+ </nameValuePair>
+ </configurationParameterSettings>
+
+ <typeSystemDescription>
+ </typeSystemDescription>
+
+ <!-- Capabilities: Inputs and Outputs -->
+ <capabilities>
+ <capability>
+ <inputs/>
+ <outputs/>
+ <languagesSupported/>
+ </capability>
+ </capabilities>
<operationalProperties>
<modifiesCas>true</modifiesCas>
<multipleDeploymentAllowed>true</multipleDeploymentAllowed>
@@ -125,14 +150,12 @@
<settings>
inline-suffix suffix_from_inline
inline-value ${import-prefix}-suffix_from_inline
- test.externalStringArray = ${import-prefix},-,${inline-suffix},->,${import-value}
- test.externalIntegerArray : 1 , 22 , 333,4444
</settings>
<imports>
<import location="testExternalOverride.settings"/>
+ <import name="TextAnalysisEngineImplTest.testExternalOverrideSettings"/>
</imports>
</externalOverrideSettings>
</operationalProperties>
-
-</analysisEngineMetaData>
+ </analysisEngineMetaData>
</taeDescription>
Modified: uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/testExternalOverride.settings
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/testExternalOverride.settings?rev=1304033&r1=1304032&r2=1304033&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/testExternalOverride.settings (original)
+++ uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/testExternalOverride.settings Thu Mar 22 20:30:27 2012
@@ -1,2 +1,2 @@
import-prefix prefix_from_import
-import-value prefix_from_import-${inline-suffix}
+
Added: uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/testExternalOverrideSettings
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/testExternalOverrideSettings?rev=1304033&view=auto
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/testExternalOverrideSettings (added)
+++ uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/testExternalOverrideSettings Thu Mar 22 20:30:27 2012
@@ -0,0 +1,2 @@
+# Note: since this is imported by name its name cannot contain any periods (.) as they are converted to slash (/)
+import-value prefix_from_import-${inline-suffix}