Skip to content

Commit

Permalink
Java 8: computeIfAbsent()
Browse files Browse the repository at this point in the history
  • Loading branch information
jsoref committed Feb 21, 2019
1 parent 9213e6f commit 1eaeae9
Show file tree
Hide file tree
Showing 6 changed files with 7 additions and 25 deletions.
6 changes: 1 addition & 5 deletions core/src/main/java/hudson/model/DependencyGraph.java
Expand Up @@ -334,11 +334,7 @@ private Set<AbstractProject> getTransitive(Map<AbstractProject, List<DependencyG
}

private void add(Map<AbstractProject, List<DependencyGroup>> map, AbstractProject key, Dependency dep) {
List<DependencyGroup> set = map.get(key);
if(set==null) {
set = new ArrayList<>();
map.put(key,set);
}
List<DependencyGroup> set = map.computeIfAbsent(key, k -> new ArrayList<>());
for (DependencyGroup d : set) {
// Check for existing edge that connects the same two projects:
if (d.getUpstreamProject() == dep.getUpstreamProject() && d.getDownstreamProject() == dep.getDownstreamProject()) {
Expand Down
3 changes: 1 addition & 2 deletions core/src/main/java/hudson/model/RunnerStack.java
Expand Up @@ -42,8 +42,7 @@ final class RunnerStack {

synchronized void push(RunExecution r) {
Executor e = Executor.currentExecutor();
Stack<RunExecution> s = stack.get(e);
if(s==null) stack.put(e,s= new Stack<>());
Stack<RunExecution> s = stack.computeIfAbsent(e, k -> new Stack<>());
s.push(r);
}

Expand Down
8 changes: 2 additions & 6 deletions core/src/main/java/hudson/model/queue/MappingWorksheet.java
Expand Up @@ -325,9 +325,7 @@ public MappingWorksheet(BuildableItem item, List<? extends ExecutorSlot> offers,
Map<Computer,List<ExecutorSlot>> j = new HashMap<>();
for (ExecutorSlot o : offers) {
Computer c = o.getExecutor().getOwner();
List<ExecutorSlot> l = j.get(c);
if (l==null)
j.put(c,l= new ArrayList<>());
List<ExecutorSlot> l = j.computeIfAbsent(c, k -> new ArrayList<>());
l.add(o);
}

Expand Down Expand Up @@ -378,9 +376,7 @@ public MappingWorksheet(BuildableItem item, List<? extends ExecutorSlot> offers,
Object c = meu.getSameNodeConstraint();
if (c==null) c = new Object();

List<SubTask> l = m.get(c);
if (l==null)
m.put(c,l= new ArrayList<>());
List<SubTask> l = m.computeIfAbsent(c, k -> new ArrayList<>());
l.add(meu);
}

Expand Down
5 changes: 1 addition & 4 deletions core/src/main/java/hudson/tools/InstallerTranslator.java
Expand Up @@ -58,10 +58,7 @@ public String getToolHome(Node node, ToolInstallation tool, TaskListener log) th
if (installer.appliesTo(node)) {
Semaphore semaphore;
synchronized (mutexByNode) {
Map<ToolInstallation, Semaphore> mutexByTool = mutexByNode.get(node);
if (mutexByTool == null) {
mutexByNode.put(node, mutexByTool = new WeakHashMap<>());
}
Map<ToolInstallation, Semaphore> mutexByTool = mutexByNode.computeIfAbsent(node, k -> new WeakHashMap<>());
semaphore = mutexByTool.get(tool);
if (semaphore == null) {
mutexByTool.put(tool, semaphore = new Semaphore(1));
Expand Down
4 changes: 1 addition & 3 deletions core/src/main/java/hudson/util/QueryParameterMap.java
Expand Up @@ -61,9 +61,7 @@ public QueryParameterMap(String queryString) {
String[] kv = param.split("=");
String key = URLDecoder.decode(kv[0], "UTF-8");
String value = URLDecoder.decode(kv[1], "UTF-8");
List<String> values = store.get(key);
if (values == null)
store.put(key, values = new ArrayList<>());
List<String> values = store.computeIfAbsent(key, k -> new ArrayList<>());
values.add(value);
}
} catch (UnsupportedEncodingException e) {
Expand Down
6 changes: 1 addition & 5 deletions core/src/main/java/jenkins/triggers/ReverseBuildTrigger.java
Expand Up @@ -266,11 +266,7 @@ private Map<Job,Collection<ReverseBuildTrigger>> calculateCache() {
if (upstream instanceof AbstractProject && downstream instanceof AbstractProject) {
continue; // handled specially
}
Collection<ReverseBuildTrigger> triggers = result.get(upstream);
if (triggers == null) {
triggers = new LinkedList<>();
result.put(upstream, triggers);
}
Collection<ReverseBuildTrigger> triggers = result.computeIfAbsent(upstream, k -> new LinkedList<>());
triggers.remove(trigger);
triggers.add(trigger);
}
Expand Down

0 comments on commit 1eaeae9

Please sign in to comment.