]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.core/src/main/java/org/argeo/slc/core/execution/tasks/OverrideContextAware.java
Add security
[gpl/argeo-slc.git] / runtime / org.argeo.slc.core / src / main / java / org / argeo / slc / core / execution / tasks / OverrideContextAware.java
1 package org.argeo.slc.core.execution.tasks;
2
3 import org.argeo.slc.SlcException;
4 import org.argeo.slc.core.test.context.SimpleContextAware;
5 import org.argeo.slc.test.context.ContextAware;
6
7 public class OverrideContextAware implements Runnable {
8
9 private ContextAware source;
10
11 private SimpleContextAware target;
12
13
14 public void setSource(ContextAware source) {
15 this.source = source;
16 }
17
18
19 public void setTarget(SimpleContextAware target) {
20 this.target = target;
21 }
22
23
24 public void run() {
25 // override values
26 if(source.getValues() != null)
27 for(String key : source.getValues().keySet()) {
28 if(!target.getValues().containsKey(key)) {
29 throw new SlcException("No entry in target values for key '" + key + "'");
30 }
31 target.getValues().put(key, source.getValues().get(key));
32 }
33
34 // override expected values
35 if(source.getExpectedValues() != null)
36 for(String key : source.getExpectedValues().keySet()) {
37 if(!target.getExpectedValues().containsKey(key)) {
38 throw new SlcException("No entry in target expected values for key '" + key + "'");
39 }
40 target.getExpectedValues().put(key, source.getExpectedValues().get(key));
41 }
42 }
43 }