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 2020/01/16 11:09:37 UTC

[uima-uimaj] 01/01: Merge branch 'master-v2' into master-merge-v2

This is an automated email from the ASF dual-hosted git repository.

rec pushed a commit to branch master-merge-v2
in repository https://gitbox.apache.org/repos/asf/uima-uimaj.git

commit 04bb4c8fd996b7617deb2157eadb4d1a5cb2a86a
Merge: 91091c4 096aa4e
Author: Richard Eckart de Castilho <re...@apache.org>
AuthorDate: Thu Jan 16 12:09:27 2020 +0100

    Merge branch 'master-v2' into master-merge-v2
    
    - Bring master up-to-date with changes in master-v2. This includes primarily the changes for [UIMA-5936] as other changse have already been cherry-picked/merged otherwise
    
    * master-v2:
      [UIMA-5936] PearSpecifier should be able to store every parametertype that analysisEngines support
      [UIMA-5936] PearSpecifier should be able to store every parametertype that analysisEngines support
      [UIMA-5936] PearSpecifier should be able to store every parametertype that analysisEngines support
      [UIMA-5936] PearSpecifier should be able to store every parametertype that analysisEngines support
      [UIMA-6168] copy change from v3, add test
      [UIMA-6165] upgrade the eclipse pluging builds
      [UIMA-6146] remove <h1> from package.html, java 13 javadoc complains
      [UIMA-6141] add combine.self="override" back to <configuration> element
      [UIMA-6141] delete combine.self after close reading of the docs
      [UIMA-6143] point scm dev connection to git repo top level
      [UIMA-6141] move combine.self to proper element
      [UIMA-6138] change scm in pom for git
      [UIMA-6126] add gitattributes, and gitignore for 2 eclipse feature proj
      [UIMA-6126] Add .gitignore file to trunk
      move master-v2 to branches
      [UIMA-6115] rename trunk to master-v2
      [UIMA-5936] PearSpecifier should be able to store every parametertype that analysisEngines support
    
    % Conflicts:
    %	PearPackagingMavenPlugin/pom.xml
    %	aggregate-uimaj-docbooks/pom.xml
    %	aggregate-uimaj-eclipse-plugins/pom.xml
    %	aggregate-uimaj/pom.xml
    %	jVinci/pom.xml
    %	jcasgen-maven-plugin/pom.xml
    %	pom.xml
    %	uima-docbook-overview-and-setup/pom.xml
    %	uima-docbook-references/pom.xml
    %	uima-docbook-tools/pom.xml
    %	uima-docbook-tutorials-and-users-guides/pom.xml
    %	uimaj-adapter-soap/pom.xml
    %	uimaj-adapter-vinci/pom.xml
    %	uimaj-bootstrap/pom.xml
    %	uimaj-component-test-util/pom.xml
    %	uimaj-core/pom.xml
    %	uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java
    %	uimaj-core/src/main/java/org/apache/uima/cas/impl/FSsTobeAddedback.java
    %	uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/PearAnalysisEngineWrapperTest.java
    %	uimaj-cpe/pom.xml
    %	uimaj-document-annotation/pom.xml
    %	uimaj-eclipse-feature-runtime/pom.xml
    %	uimaj-eclipse-feature-tools/pom.xml
    %	uimaj-eclipse-update-site/pom.xml
    %	uimaj-ep-cas-editor-ide/pom.xml
    %	uimaj-ep-cas-editor/pom.xml
    %	uimaj-ep-configurator/pom.xml
    %	uimaj-ep-debug/pom.xml
    %	uimaj-ep-jcasgen/pom.xml
    %	uimaj-ep-launcher/pom.xml
    %	uimaj-ep-pear-packager/pom.xml
    %	uimaj-ep-runtime/pom.xml
    %	uimaj-examples/pom.xml
    %	uimaj-json/pom.xml
    %	uimaj-parent/pom.xml
    %	uimaj-test-util/pom.xml
    %	uimaj-tools/pom.xml

 uima-docbook-references/src/docbook/ref.pear.xml   |  25 +-
 .../src/docbook/ref.xml.component_descriptor.xml   |   2 +-
 .../impl/PearAnalysisEngineWrapper.java            |  13 +
 .../org/apache/uima/resource/PearSpecifier.java    |  53 +++-
 .../uima/resource/impl/PearSpecifier_impl.java     |  32 +--
 .../src/main/resources/resourceSpecifierSchema.xsd |   7 +
 .../impl/PearAnalysisEngineWrapperTest.java        | 313 +++++++++++----------
 .../uima/resource/impl/PearSpecifier_implTest.java |  51 ++--
 .../apache/uima/util/impl/XMLParser_implTest.java  |  19 +-
 .../resources/XmlParserTest/TestPearSpecifier.xml  |  58 ++--
 10 files changed, 347 insertions(+), 226 deletions(-)

diff --cc uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/PearAnalysisEngineWrapperTest.java
index 9df9401,ffc10fe..a11e8ee
--- a/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/PearAnalysisEngineWrapperTest.java
+++ b/uimaj-core/src/test/java/org/apache/uima/analysis_engine/impl/PearAnalysisEngineWrapperTest.java
@@@ -1,148 -1,166 +1,165 @@@
- /*
-  * 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.analysis_engine.impl;
- 
- import java.io.File;
- import java.io.IOException;
- import java.util.HashMap;
- 
- import org.apache.uima.pear.tools.PackageBrowser;
- import org.apache.uima.pear.tools.PackageInstaller;
- import org.apache.uima.pear.util.FileUtil;
- import org.apache.uima.resource.Parameter;
- import org.apache.uima.resource.PearSpecifier;
- import org.apache.uima.resource.impl.Parameter_impl;
- import org.apache.uima.resource.impl.PearSpecifier_impl;
- import org.apache.uima.test.junit_extension.JUnitExtension;
- import org.junit.Assert;
- 
- import junit.framework.TestCase;
- 
- public class PearAnalysisEngineWrapperTest extends TestCase {
- 
-   private final static String PARAMETER_NAME = "StringParam";
- 
-   private final static String PARAMETER_VALUE = "test";
- 
-   private final static String PARAMETER_VALUE_OVERRIDE = "testOverride";
- 
-   private PearAnalysisEngineWrapper pearAnalysisEngineWrapper;
- 
-   private File tempInstallDirectory = null;
- 
-   private PackageBrowser installedPearPackage;
- 
-   public PearAnalysisEngineWrapperTest(String arg0) {
- 
-     super(arg0);
-   }
- 
-   @Override
-   protected void setUp() throws Exception {
- 
-     this.pearAnalysisEngineWrapper = new PearAnalysisEngineWrapper();
- 
-     this.tempInstallDirectory = this.createInstallationDirectory();
- 
-     this.installedPearPackage = this.installPearPackage();
-   }
- 
-   @Override
-   protected void tearDown() throws Exception {
-     this.removeInstallationDirectory();
-   }
- 
-   public void testInitializeWithOverride() throws Exception {
- 
-     PearSpecifier pearSpecifier = this.createPearSpecifierWithParameters();
- 
-     boolean initialized = this.pearAnalysisEngineWrapper.initialize(pearSpecifier,
-         new HashMap<>());
- 
-     Assert.assertTrue("Pear was not initialized", initialized);
- 
-     String stringParamValue = (String) this.pearAnalysisEngineWrapper
-             .getConfigParameterValue(PearAnalysisEngineWrapperTest.PARAMETER_NAME);
- 
-     Assert.assertEquals("The value of StringParam was not overridden",
-             PearAnalysisEngineWrapperTest.PARAMETER_VALUE_OVERRIDE, stringParamValue);
-   }
- 
-   private PearSpecifier createPearSpecifierWithParameters() {
- 
-     Parameter parameterStringParam = new Parameter_impl();
-     parameterStringParam.setName(PearAnalysisEngineWrapperTest.PARAMETER_NAME);
-     parameterStringParam.setValue(PearAnalysisEngineWrapperTest.PARAMETER_VALUE_OVERRIDE);
- 
-     PearSpecifier_impl pearSpecifier_impl = new PearSpecifier_impl();
-     pearSpecifier_impl.setPearPath(this.installedPearPackage.getRootDirectory().toString());
-     pearSpecifier_impl.setParameters(new Parameter[] { parameterStringParam });
-     return pearSpecifier_impl;
-   }
- 
-   public void testInitializeWithoutOverride() throws Exception {
- 
-     PearSpecifier pearSpecifier = this.createPearSpecifierWithoutParameters();
- 
-     boolean initialized = this.pearAnalysisEngineWrapper.initialize(pearSpecifier,
-         new HashMap<>());
- 
-     Assert.assertTrue("Pear was not initialized", initialized);
- 
-     String stringParamValue = (String) this.pearAnalysisEngineWrapper
-             .getConfigParameterValue(PearAnalysisEngineWrapperTest.PARAMETER_NAME);
- 
-     Assert.assertEquals("The value of StringParam has changed",
-             PearAnalysisEngineWrapperTest.PARAMETER_VALUE, stringParamValue);
-   }
- 
-   private PearSpecifier createPearSpecifierWithoutParameters() {
- 
-     PearSpecifier_impl pearSpecifier_impl = new PearSpecifier_impl();
-     pearSpecifier_impl.setPearPath(this.installedPearPackage.getRootDirectory().toString());
-     return pearSpecifier_impl;
-   }
- 
-   private File createInstallationDirectory() throws IOException {
- 
-     File tempDirectory = File.createTempFile("pear_verification_test_", "tmp");
-     if (tempDirectory.delete()) {
- 
-       if (!tempDirectory.mkdirs()) {
-         throw new IllegalStateException(
-                 "Tmp directory (" + tempDirectory + ") could not be created");
-       }
-     }
- 
-     return tempDirectory;
-   }
- 
-   private PackageBrowser installPearPackage() {
-     File pearFile = JUnitExtension.getFile("pearTests/analysisEngineWithParameters.pear");
-     Assert.assertNotNull("analysisEngine.pear file not found", pearFile);
- 
-     return PackageInstaller.installPackage(this.tempInstallDirectory, pearFile, false);
-   }
- 
-   private void removeInstallationDirectory() throws IOException {
-     if (this.tempInstallDirectory != null) {
-       FileUtil.deleteDirectory(this.tempInstallDirectory);
-     }
-   }
- }
+ /*
+  * 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.analysis_engine.impl;
+ 
+ import static org.assertj.core.api.Assertions.assertThat;
+ 
+ import java.io.File;
+ import java.io.IOException;
+ import java.util.HashMap;
+ 
+ import org.apache.uima.pear.tools.PackageBrowser;
+ import org.apache.uima.pear.tools.PackageInstaller;
+ import org.apache.uima.pear.util.FileUtil;
+ import org.apache.uima.resource.PearSpecifier;
+ import org.apache.uima.resource.impl.Parameter_impl;
+ import org.apache.uima.resource.impl.PearSpecifier_impl;
+ import org.apache.uima.resource.metadata.impl.NameValuePair_impl;
+ import org.apache.uima.test.junit_extension.JUnitExtension;
+ import org.junit.Assert;
+ 
+ import junit.framework.TestCase;
+ 
+ public class PearAnalysisEngineWrapperTest extends TestCase {
+ 
+   // This parameter is defined in the PEAR specifier file!
+   private final static String PARAMETER_NAME = "StringParam";
+ 
+   private final static String PARAMETER_VALUE = "test";
+ 
+   private final static String PARAMETER_VALUE_OVERRIDE = "testOverride";
+ 
+   private PearAnalysisEngineWrapper pearAnalysisEngineWrapper;
+ 
+   private File tempInstallDirectory = null;
+ 
+   private PackageBrowser installedPearPackage;
+ 
+   public PearAnalysisEngineWrapperTest(String arg0) {
+ 
+     super(arg0);
+   }
+ 
+   @Override
+   protected void setUp() throws Exception {
+ 
+     this.pearAnalysisEngineWrapper = new PearAnalysisEngineWrapper();
+ 
+     this.tempInstallDirectory = this.createInstallationDirectory();
+ 
+     this.installedPearPackage = this.installPearPackage();
+   }
+ 
+   @Override
+   protected void tearDown() throws Exception {
+     this.removeInstallationDirectory();
+   }
+ 
+   public void testInitializeWithOverride() throws Exception {
+ 
+     PearSpecifier_impl pearSpecifier = new PearSpecifier_impl();
+     pearSpecifier.setPearPath(this.installedPearPackage.getRootDirectory().toString());
+     pearSpecifier.setPearParameters(new NameValuePair_impl(PARAMETER_NAME, PARAMETER_VALUE_OVERRIDE));
+ 
+     boolean initialized = this.pearAnalysisEngineWrapper.initialize(pearSpecifier, new HashMap<>());
+ 
+     assertThat(initialized).isTrue().as("Pear was initialized");
+     assertThat(pearAnalysisEngineWrapper.getConfigParameterValue(PARAMETER_NAME))
+         .isEqualTo(PARAMETER_VALUE_OVERRIDE)
+         .as("The value of StringParam was overridden");
+   }
+ 
+   public void testInitializeWithOverrideLegacy() throws Exception {
+ 
+     PearSpecifier_impl pearSpecifier = new PearSpecifier_impl();
+     pearSpecifier.setPearPath(this.installedPearPackage.getRootDirectory().toString());
+     pearSpecifier.setParameters(new Parameter_impl(PARAMETER_NAME, PARAMETER_VALUE_OVERRIDE));
+ 
+     boolean initialized = this.pearAnalysisEngineWrapper.initialize(pearSpecifier, new HashMap<>());
+ 
+     assertThat(initialized).isTrue().as("Pear was initialized");
+     assertThat(pearAnalysisEngineWrapper.getConfigParameterValue(PARAMETER_NAME))
+         .isEqualTo(PARAMETER_VALUE_OVERRIDE)
+         .as("The value of StringParam was overridden");
+   }
+ 
+   public void testInitializeWithOverrideModernTakingPrecedenceOverLegacy() throws Exception {
+ 
+     PearSpecifier_impl pearSpecifier = new PearSpecifier_impl();
+     pearSpecifier.setPearPath(this.installedPearPackage.getRootDirectory().toString());
+     pearSpecifier.setParameters(new Parameter_impl(PARAMETER_NAME, "legacy"));
+     pearSpecifier.setPearParameters(new NameValuePair_impl(PARAMETER_NAME, "modern"));
+ 
+     boolean initialized = this.pearAnalysisEngineWrapper.initialize(pearSpecifier, new HashMap<>());
+ 
+     assertThat(initialized).isTrue().as("Pear was initialized");
+     assertThat(pearAnalysisEngineWrapper.getConfigParameterValue(PARAMETER_NAME))
+         .isEqualTo("modern")
+         .as("The value of StringParam was overridden");
+   }
+ 
+   public void testInitializeWithoutOverride() throws Exception {
+ 
+     PearSpecifier pearSpecifier = this.createPearSpecifierWithoutParameters();
+ 
 -    boolean initialized = this.pearAnalysisEngineWrapper.initialize(pearSpecifier,
 -            new HashMap<String, Object>());
++    boolean initialized = this.pearAnalysisEngineWrapper.initialize(pearSpecifier, new HashMap<>());
+ 
+     Assert.assertTrue("Pear was not initialized", initialized);
+ 
+     String stringParamValue = (String) this.pearAnalysisEngineWrapper
+             .getConfigParameterValue(PearAnalysisEngineWrapperTest.PARAMETER_NAME);
+ 
+     Assert.assertEquals("The value of StringParam has changed",
+             PearAnalysisEngineWrapperTest.PARAMETER_VALUE, stringParamValue);
+   }
+ 
+   private PearSpecifier createPearSpecifierWithoutParameters() {
+ 
+     PearSpecifier_impl pearSpecifier_impl = new PearSpecifier_impl();
+     pearSpecifier_impl.setPearPath(this.installedPearPackage.getRootDirectory().toString());
+     return pearSpecifier_impl;
+   }
+ 
+   private File createInstallationDirectory() throws IOException {
+ 
+     File tempDirectory = File.createTempFile("pear_verification_test_", "tmp");
+     if (tempDirectory.delete()) {
+ 
+       if (!tempDirectory.mkdirs()) {
+         throw new IllegalStateException(
+                 "Tmp directory (" + tempDirectory + ") could not be created");
+       }
+     }
+ 
+     return tempDirectory;
+   }
+ 
+   private PackageBrowser installPearPackage() {
+     File pearFile = JUnitExtension.getFile("pearTests/analysisEngineWithParameters.pear");
+     Assert.assertNotNull("analysisEngine.pear file not found", pearFile);
+ 
+     return PackageInstaller.installPackage(this.tempInstallDirectory, pearFile, false);
+   }
+ 
+   private void removeInstallationDirectory() throws IOException {
+     if (this.tempInstallDirectory != null) {
+       FileUtil.deleteDirectory(this.tempInstallDirectory);
+     }
+   }
+ }