You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2016/12/16 20:09:58 UTC
svn commit: r1774658 -
/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/util/impl/Settings_impl.java
Author: schor
Date: Fri Dec 16 20:09:58 2016
New Revision: 1774658
URL: http://svn.apache.org/viewvc?rev=1774658&view=rev
Log:
[UIMA-5208] merge from trunk
Modified:
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/util/impl/Settings_impl.java (contents, props changed)
Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/util/impl/Settings_impl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/util/impl/Settings_impl.java?rev=1774658&r1=1774657&r2=1774658&view=diff
==============================================================================
--- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/util/impl/Settings_impl.java (original)
+++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/util/impl/Settings_impl.java Fri Dec 16 20:09:58 2016
@@ -19,10 +19,13 @@
package org.apache.uima.util.impl;
import java.io.BufferedReader;
+import java.io.File;
import java.io.FileInputStream;
+import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
+import java.net.URL;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
@@ -31,6 +34,7 @@ import java.util.regex.Pattern;
import org.apache.uima.UIMAFramework;
import org.apache.uima.resource.ResourceConfigurationException;
+import org.apache.uima.resource.impl.RelativePathResolver_impl;
import org.apache.uima.util.Level;
import org.apache.uima.util.Settings;
@@ -128,20 +132,35 @@ public class Settings_impl implements Se
/**
* Load properties from the comma-separated list of files specified in the system property
* UimaExternalOverrides
- * Files are loaded in order --- so in descending priority.
- * Any existing entries are removed first.
+ * Files are loaded in list order. Duplicate properties are ignored so entries in a file override any in following files.
+ * The filesystem is searched first, and if not found and a relative name the datapath and classpath are searched.
*
* @throws ResourceConfigurationException wraps IOException
*/
public void loadSystemDefaults() throws ResourceConfigurationException {
String fnames = System.getProperty("UimaExternalOverrides");
if (fnames != null) {
+ RelativePathResolver_impl relativePathResolver = new RelativePathResolver_impl();
for (String fname : fnames.split(",")) {
UIMAFramework.getLogger(this.getClass()).logrb(Level.CONFIG, this.getClass().getName(), "loadSystemDefaults",
LOG_RESOURCE_BUNDLE, "UIMA_external_overrides_load__CONFIG",
new Object[] { fname });
+ File f = new File(fname);
try {
- FileInputStream is = new FileInputStream(fname);
+ InputStream is = null;
+ if (f.exists()) {
+ is = new FileInputStream(fname);
+ } else if (f.isAbsolute()) {
+ throw new FileNotFoundException(fname + " - not in filesystem.");
+ } else { // Look in datapath & classpath if a relative entry not in the filesystem
+ URL relativeUrl = new URL("file", "", fname);
+ URL relPath = relativePathResolver.resolveRelativePath(relativeUrl);
+ if (relPath != null) {
+ is = relPath.openStream();
+ } else {
+ throw new FileNotFoundException(fname + " - not found in directory " + System.getProperty("user.dir") + " or in the datapath or classpath.");
+ }
+ }
try {
load(is);
} finally {
Propchange: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/util/impl/Settings_impl.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Fri Dec 16 20:09:58 2016
@@ -0,0 +1,8 @@
+/incubator/uima/uimaj/branches/mavenAlign/uimaj-core/src/main/java/org/apache/uima/util/impl/Settings_impl.java:932400-933272
+/uima/uimaj/branches/2.6.0-json/uimaj-core/src/main/java/org/apache/uima/util/impl/Settings_impl.java:1616936-1617592
+/uima/uimaj/branches/depend-on-july-9-build-tools/uimaj-core/src/main/java/org/apache/uima/util/impl/Settings_impl.java:963167-964468
+/uima/uimaj/branches/depend-on-parent-pom-4/uimaj-core/src/main/java/org/apache/uima/util/impl/Settings_impl.java:961329-961745
+/uima/uimaj/branches/filteredCompress-uima-2498/uimaj-core/src/main/java/org/apache/uima/util/impl/Settings_impl.java:1436573-1462257
+/uima/uimaj/branches/mavenAlign/uimaj-core/src/main/java/org/apache/uima/util/impl/Settings_impl.java:933273-944396
+/uima/uimaj/branches/test-parent-pom-6/uimaj-core/src/main/java/org/apache/uima/util/impl/Settings_impl.java:1024030
+/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/util/impl/Settings_impl.java:1690273-1774657