]> git.argeo.org Git - gpl/argeo-slc.git/commitdiff
Add OverrideContextAwareTask
authorOlivier Capillon <olivier.capillon@gmail.com>
Thu, 26 Mar 2009 22:24:28 +0000 (22:24 +0000)
committerOlivier Capillon <olivier.capillon@gmail.com>
Thu, 26 Mar 2009 22:24:28 +0000 (22:24 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@2303 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

runtime/org.argeo.slc.osgiboot/src/main/java/org/argeo/slc/osgiboot/Activator.java
runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/core/execution/tasks/OverrideContextAwareTask.java [new file with mode: 0644]

index c4b06be060168721426524ea2a2f046cee4c54d1..0051c1b91264494ce15d5aee52700fb0a12b8c50 100644 (file)
@@ -222,7 +222,7 @@ public class Activator implements BundleActivator {
                                try {
                                        bundle.start();
                                } catch (Exception e) {
-                                       warn("Bundle name cannot be started: " + e.getMessage());
+                                       warn("Bundle " + name + " cannot be started: " + e.getMessage());
                                }
                        else
                                warn("Bundle " + name + " not installed.");
diff --git a/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/core/execution/tasks/OverrideContextAwareTask.java b/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/core/execution/tasks/OverrideContextAwareTask.java
new file mode 100644 (file)
index 0000000..45caa4b
--- /dev/null
@@ -0,0 +1,45 @@
+package org.argeo.slc.core.execution.tasks;\r
+\r
+import org.argeo.slc.SlcException;\r
+import org.argeo.slc.core.test.context.SimpleContextAware;\r
+import org.argeo.slc.core.test.context.SimpleParentContextAware;\r
+import org.argeo.slc.execution.Executable;\r
+import org.argeo.slc.test.context.ContextAware;\r
+\r
+public class OverrideContextAwareTask implements Executable {\r
+\r
+       private ContextAware source;\r
+\r
+       private SimpleContextAware target;\r
+       \r
+\r
+       public void setSource(ContextAware source) {\r
+               this.source = source;\r
+       }\r
+\r
+\r
+       public void setTarget(SimpleContextAware target) {\r
+               this.target = target;\r
+       }\r
+\r
+\r
+       public void execute() {\r
+               // override values\r
+               if(source.getValues() != null)\r
+                       for(String key : source.getValues().keySet()) {\r
+                               if(!target.getValues().containsKey(key)) {\r
+                                       throw new SlcException("No entry in target values for key '" + key + "'");\r
+                               }\r
+                               target.getValues().put(key, source.getValues().get(key));\r
+                       }\r
+               \r
+               // override expected values\r
+               if(source.getExpectedValues() != null)\r
+                       for(String key : source.getExpectedValues().keySet()) {\r
+                               if(!target.getExpectedValues().containsKey(key)) {\r
+                                       throw new SlcException("No entry in target expected values for key '" + key + "'");\r
+                               }\r
+                               target.getExpectedValues().put(key, source.getExpectedValues().get(key));\r
+                       }               \r
+       }       \r
+}\r