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