[2/8] oozie git commit: OOZIE-3078 PasswordMasker throws NPE with null arguments (asasvari)

2018-01-07 Thread satishsaley
OOZIE-3078 PasswordMasker throws NPE with null arguments (asasvari)

(cherry picked from commit be293c046d7d83765c65140921c3de5ca3d7b55a)


sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/PasswordMasker.java


Project: http://git-wip-us.apache.org/repos/asf/oozie/repo
Commit: http://git-wip-us.apache.org/repos/asf/oozie/commit/f409c2d8
Tree: http://git-wip-us.apache.org/repos/asf/oozie/tree/f409c2d8
Diff: http://git-wip-us.apache.org/repos/asf/oozie/diff/f409c2d8

Branch: refs/heads/branch-4.3
Commit: f409c2d8af1ea2868d8c505059dc52e8acfe5dc8
Parents: a979185
Author: Attila Sasvari 
Authored: Mon Oct 9 16:55:44 2017 +0200
Committer: satishsaley 
Committed: Mon Dec 18 16:12:33 2017 -0800

--
 release-log.txt   |  1 +
 .../org/apache/oozie/action/hadoop/PasswordMasker.java|  7 +++
 .../apache/oozie/action/hadoop/TestPasswordMasker.java| 10 ++
 3 files changed, 14 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/oozie/blob/f409c2d8/release-log.txt
--
diff --git a/release-log.txt b/release-log.txt
index 455f527..c682dfa 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -1,5 +1,6 @@
 -- Oozie 4.3.1 release
 
+OOZIE-3078 PasswordMasker throws NPE with null arguments (asasvari)
 OOZIE-3127 Remove redundant check for user (satishsaley)
 OOZIE-2885 Running Spark actions should not need Hive on the classpath 
(satishsaley)
 OOZIE-3058 nocleanup option is missing in oozie-coordinator-0.5.xsd 
(satishsaley)

http://git-wip-us.apache.org/repos/asf/oozie/blob/f409c2d8/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/PasswordMasker.java
--
diff --git 
a/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/PasswordMasker.java
 
b/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/PasswordMasker.java
index eb60aac..a755672 100644
--- 
a/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/PasswordMasker.java
+++ 
b/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/PasswordMasker.java
@@ -25,8 +25,6 @@ import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import static com.google.common.base.Preconditions.checkNotNull;
-
 /**
  * A generic password masker that masks {@code Map} values 
given that its keys are considered password keys.
  * 
@@ -82,8 +80,6 @@ public class PasswordMasker {
 return Maps.transformEntries(unmasked, new 
Maps.EntryTransformer() {
 @Override
 public String transformEntry(@Nonnull String key, @Nonnull String 
value) {
-checkNotNull(key, "key has to be set");
-checkNotNull(value, "value has to be set");
 
 if (isPasswordKey(key)) {
 return PASSWORD_MASK;
@@ -116,6 +112,9 @@ public class PasswordMasker {
 }
 
 private boolean containsPasswordFragment(String maybePasswordFragments) {
+if (maybePasswordFragments == null || maybePasswordFragments.length() 
== 0) {
+return false;
+}
 return PASSWORD_CONTAINING_PATTERN
 .matcher(maybePasswordFragments)
 .matches();

http://git-wip-us.apache.org/repos/asf/oozie/blob/f409c2d8/sharelib/oozie/src/test/java/org/apache/oozie/action/hadoop/TestPasswordMasker.java
--
diff --git 
a/sharelib/oozie/src/test/java/org/apache/oozie/action/hadoop/TestPasswordMasker.java
 
b/sharelib/oozie/src/test/java/org/apache/oozie/action/hadoop/TestPasswordMasker.java
index 08e55e1..e362759 100644
--- 
a/sharelib/oozie/src/test/java/org/apache/oozie/action/hadoop/TestPasswordMasker.java
+++ 
b/sharelib/oozie/src/test/java/org/apache/oozie/action/hadoop/TestPasswordMasker.java
@@ -102,6 +102,16 @@ public class TestPasswordMasker {
 passwordMasker.maskPasswordsIfNecessary("aa 
-Djava.sysprop.password=1234 bb DUMMY_PASSWORD=dummy cc"));
 }
 
+@Test
+public void testMaskNullArgument() {
+assertEquals(null, passwordMasker.maskPasswordsIfNecessary(null));
+}
+
+@Test
+public void testMaskEmptyArgument() {
+assertEquals("", passwordMasker.maskPasswordsIfNecessary(""));
+}
+
 @SuppressWarnings("unchecked")
 private Map jsonToMap(String jsonPath) throws IOException {
 return new 
ObjectMapper().readValue(getClass().getResourceAsStream(jsonPath), 
HashMap.class);



oozie git commit: OOZIE-3078 PasswordMasker throws NPE with null arguments (asasvari)

2017-10-09 Thread asasvari
Repository: oozie
Updated Branches:
  refs/heads/master 7bda35784 -> be293c046


OOZIE-3078 PasswordMasker throws NPE with null arguments (asasvari)


Project: http://git-wip-us.apache.org/repos/asf/oozie/repo
Commit: http://git-wip-us.apache.org/repos/asf/oozie/commit/be293c04
Tree: http://git-wip-us.apache.org/repos/asf/oozie/tree/be293c04
Diff: http://git-wip-us.apache.org/repos/asf/oozie/diff/be293c04

Branch: refs/heads/master
Commit: be293c046d7d83765c65140921c3de5ca3d7b55a
Parents: 7bda357
Author: Attila Sasvari 
Authored: Mon Oct 9 16:55:44 2017 +0200
Committer: Attila Sasvari 
Committed: Mon Oct 9 16:55:44 2017 +0200

--
 release-log.txt   |  1 +
 .../org/apache/oozie/action/hadoop/PasswordMasker.java| 10 ++
 .../apache/oozie/action/hadoop/TestPasswordMasker.java| 10 ++
 3 files changed, 17 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/oozie/blob/be293c04/release-log.txt
--
diff --git a/release-log.txt b/release-log.txt
index 600a732..13d3a97 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -1,5 +1,6 @@
 -- Oozie 5.0.0 release (trunk - unreleased)
 
+OOZIE-3078 PasswordMasker throws NPE with null arguments (asasvari)
 OOZIE-3075 Follow-up on OOZIE-3054: create the lib directory if it doesn't 
exist (pbacsko)
 OOZIE-3072 oozie.service.HadoopAccessorService.action.configurations   should 
overwrite default values set in Hadoop's configuration files (gezapeti)
 OOZIE-2963 Use net.hydromatic instead of org.pentaho aggdesigner-algorithmin 
pomfilesi (dbist13 via gezapeti)

http://git-wip-us.apache.org/repos/asf/oozie/blob/be293c04/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/PasswordMasker.java
--
diff --git 
a/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/PasswordMasker.java
 
b/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/PasswordMasker.java
index fd265e8..b5f7a86 100644
--- 
a/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/PasswordMasker.java
+++ 
b/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/PasswordMasker.java
@@ -25,8 +25,6 @@ import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import static com.google.common.base.Preconditions.checkNotNull;
-
 /**
  * A generic password masker that masks {@code Map} values 
given that its keys are considered password keys.
  * 
@@ -116,8 +114,9 @@ public class PasswordMasker {
  * @return The value of the entry changed based on the replace algorithm 
described above
  */
 private String mask(String key, String value) {
-checkNotNull(key, "key has to be set");
-checkNotNull(value, "value has to be set");
+if (key == null || value == null || value.isEmpty()) {
+return value;
+}
 
 if (isPasswordKey(key)) {
 return PASSWORD_MASK;
@@ -147,6 +146,9 @@ public class PasswordMasker {
 }
 
 private boolean containsPasswordFragment(String maybePasswordFragments) {
+if (maybePasswordFragments == null || maybePasswordFragments.length() 
== 0) {
+return false;
+}
 return PASSWORD_CONTAINING_PATTERN
 .matcher(maybePasswordFragments)
 .matches();

http://git-wip-us.apache.org/repos/asf/oozie/blob/be293c04/sharelib/oozie/src/test/java/org/apache/oozie/action/hadoop/TestPasswordMasker.java
--
diff --git 
a/sharelib/oozie/src/test/java/org/apache/oozie/action/hadoop/TestPasswordMasker.java
 
b/sharelib/oozie/src/test/java/org/apache/oozie/action/hadoop/TestPasswordMasker.java
index 08e55e1..e362759 100644
--- 
a/sharelib/oozie/src/test/java/org/apache/oozie/action/hadoop/TestPasswordMasker.java
+++ 
b/sharelib/oozie/src/test/java/org/apache/oozie/action/hadoop/TestPasswordMasker.java
@@ -102,6 +102,16 @@ public class TestPasswordMasker {
 passwordMasker.maskPasswordsIfNecessary("aa 
-Djava.sysprop.password=1234 bb DUMMY_PASSWORD=dummy cc"));
 }
 
+@Test
+public void testMaskNullArgument() {
+assertEquals(null, passwordMasker.maskPasswordsIfNecessary(null));
+}
+
+@Test
+public void testMaskEmptyArgument() {
+assertEquals("", passwordMasker.maskPasswordsIfNecessary(""));
+}
+
 @SuppressWarnings("unchecked")
 private Map jsonToMap(String jsonPath) throws IOException {
 return new 
ObjectMapper().readValue(getClass().getResourceAsStream(jsonPath), 
HashMap.class);