You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by ma...@apache.org on 2017/10/12 17:57:28 UTC
[04/50] [abbrv] oodt git commit: Fix for OODT-929: EnvUtilities
should only load environment variables one time and statically cache them.
Fix for OODT-929: EnvUtilities should only load environment variables one time and statically cache them.
Project: http://git-wip-us.apache.org/repos/asf/oodt/repo
Commit: http://git-wip-us.apache.org/repos/asf/oodt/commit/26116853
Tree: http://git-wip-us.apache.org/repos/asf/oodt/tree/26116853
Diff: http://git-wip-us.apache.org/repos/asf/oodt/diff/26116853
Branch: refs/heads/master
Commit: 261168532b918eacb41a3689b20f1fe196b3411b
Parents: e55f2cd
Author: Chris Mattmann <ma...@apache.org>
Authored: Tue Jul 5 10:57:46 2016 -0700
Committer: Lewis John McGibbney <le...@gmail.com>
Committed: Thu Mar 9 21:09:17 2017 -0800
----------------------------------------------------------------------
CHANGES.txt | 9 ++++++++-
.../org/apache/oodt/commons/exec/EnvUtilities.java | 16 ++++++++++------
.../apache/oodt/commons/exec/TestEnvUtilities.java | 9 +++++++++
3 files changed, 27 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/oodt/blob/26116853/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index d88b954..7d0b1b2 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,6 +1,13 @@
Apache OODT Change Log
======================
-Release 0.13 - 06/21/2016
+
+Release 1.1 - Current Development
+
+* OODT-929 EnvUtilities should only load environment variables one time and
+ statically cache them (mattmann)
+
+
+Release 1.0 - 06/21/2016
* OODT-925 - Update schema.xml field defs for SOLR 5.x
* OODT-926 - Fix pom versioning
http://git-wip-us.apache.org/repos/asf/oodt/blob/26116853/commons/src/main/java/org/apache/oodt/commons/exec/EnvUtilities.java
----------------------------------------------------------------------
diff --git a/commons/src/main/java/org/apache/oodt/commons/exec/EnvUtilities.java b/commons/src/main/java/org/apache/oodt/commons/exec/EnvUtilities.java
index 5e630a7..18fbf39 100644
--- a/commons/src/main/java/org/apache/oodt/commons/exec/EnvUtilities.java
+++ b/commons/src/main/java/org/apache/oodt/commons/exec/EnvUtilities.java
@@ -48,6 +48,14 @@ public final class EnvUtilities {
private EnvUtilities() throws InstantiationException {
throw new InstantiationException("Don't construct utility classes!");
}
+
+ private final static Properties environment = new Properties();
+ static{
+ System.getenv().entrySet();
+ for (Map.Entry<String, String> entry : System.getenv().entrySet()) {
+ environment.setProperty(entry.getKey(), entry.getValue());
+ }
+ }
/**
* This method returns a particular named environment variable from the user's
@@ -57,7 +65,7 @@ public final class EnvUtilities {
* @return The environment variable value, as a String.
*/
public static String getEnv(String envVarName) {
- return System.getenv(envVarName);
+ return environment.getProperty(envVarName);
}
/**
@@ -67,11 +75,7 @@ public final class EnvUtilities {
* @return The user's current environment, in a {@link Properties} object.
*/
public static Properties getEnv() {
- Properties envProps = new Properties();
- for (Map.Entry<String, String> entry : System.getenv().entrySet()) {
- envProps.setProperty(entry.getKey(), entry.getValue());
- }
- return envProps;
+ return environment;
}
/**
http://git-wip-us.apache.org/repos/asf/oodt/blob/26116853/commons/src/test/java/org/apache/oodt/commons/exec/TestEnvUtilities.java
----------------------------------------------------------------------
diff --git a/commons/src/test/java/org/apache/oodt/commons/exec/TestEnvUtilities.java b/commons/src/test/java/org/apache/oodt/commons/exec/TestEnvUtilities.java
index 61d02dc..eaef9d9 100644
--- a/commons/src/test/java/org/apache/oodt/commons/exec/TestEnvUtilities.java
+++ b/commons/src/test/java/org/apache/oodt/commons/exec/TestEnvUtilities.java
@@ -124,4 +124,13 @@ public class TestEnvUtilities extends TestCase {
assertEquals(userNameTest1,userNameTest2);
}
}
+
+ public void testStaticEnvironment(){
+ if(SystemUtils.IS_OS_UNIX){
+ Properties env = EnvUtilities.getEnv();
+ Properties env2 = EnvUtilities.getEnv();
+
+ assertEquals(env, env2);
+ }
+ }
}