提交 d3613f32 编写于 作者: K Karthick Prabu 提交者: Oleg Nenashev

[JENKINS-59220] - Updated EnvVars to add a method that extends putAll functionality (#4194)

* Updated EnvVars to add a method that extends putAll functionality

* Updated method name

* Added test coverage
上级 58f8ac9b
......@@ -388,6 +388,15 @@ public class EnvVars extends TreeMap<String,String> {
if (value!=null)
put(key,value);
}
/**
* Add entire map but filter null values out.
* @since TODO
*/
public void putAllNonNull(Map<String, String> map) {
map.forEach(this::putIfNotNull);
}
/**
* Takes a string that looks like "a=b" and adds that to this map.
......
......@@ -23,19 +23,15 @@
*/
package hudson;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import hudson.EnvVars.OverrideOrderCalculator;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.*;
import com.google.common.collect.Sets;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* @author Kohsuke Kawaguchi
*/
......@@ -140,4 +136,25 @@ public class EnvVarsTest {
assertEquals(Arrays.asList("B", "A", "C"), order.subList(0, 3));
assertEquals(Sets.newHashSet("E", "D"), new HashSet<>(order.subList(3, order.size())));
}
@Test
public void putIfNotNull() {
EnvVars env = new EnvVars();
env.putIfNotNull("foo", null);
assertTrue(env.isEmpty());
env.putIfNotNull("foo", "bar");
assertFalse(env.isEmpty());
}
@Test
public void putAllNonNull() {
EnvVars env = new EnvVars();
TreeMap<String, String> map = new TreeMap<>();
map.put("A", "a");
map.put("B", null);
TreeMap<String, String> filteredMap = new TreeMap<>();
filteredMap.put("A", "a");
env.putAllNonNull(map);
assertEquals(filteredMap, env);
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册