From 7beaa7b00689e51eabe523402c7571c4f2507f77 Mon Sep 17 00:00:00 2001 From: Olivier Capillon Date: Thu, 26 Mar 2009 22:24:28 +0000 Subject: [PATCH] Add OverrideContextAwareTask git-svn-id: https://svn.argeo.org/slc/trunk@2303 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../org/argeo/slc/osgiboot/Activator.java | 2 +- .../tasks/OverrideContextAwareTask.java | 45 +++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/core/execution/tasks/OverrideContextAwareTask.java diff --git a/runtime/org.argeo.slc.osgiboot/src/main/java/org/argeo/slc/osgiboot/Activator.java b/runtime/org.argeo.slc.osgiboot/src/main/java/org/argeo/slc/osgiboot/Activator.java index c4b06be06..0051c1b91 100644 --- a/runtime/org.argeo.slc.osgiboot/src/main/java/org/argeo/slc/osgiboot/Activator.java +++ b/runtime/org.argeo.slc.osgiboot/src/main/java/org/argeo/slc/osgiboot/Activator.java @@ -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 index 000000000..45caa4bec --- /dev/null +++ b/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/core/execution/tasks/OverrideContextAwareTask.java @@ -0,0 +1,45 @@ +package org.argeo.slc.core.execution.tasks; + +import org.argeo.slc.SlcException; +import org.argeo.slc.core.test.context.SimpleContextAware; +import org.argeo.slc.core.test.context.SimpleParentContextAware; +import org.argeo.slc.execution.Executable; +import org.argeo.slc.test.context.ContextAware; + +public class OverrideContextAwareTask implements Executable { + + private ContextAware source; + + private SimpleContextAware target; + + + public void setSource(ContextAware source) { + this.source = source; + } + + + public void setTarget(SimpleContextAware target) { + this.target = target; + } + + + public void execute() { + // override values + if(source.getValues() != null) + for(String key : source.getValues().keySet()) { + if(!target.getValues().containsKey(key)) { + throw new SlcException("No entry in target values for key '" + key + "'"); + } + target.getValues().put(key, source.getValues().get(key)); + } + + // override expected values + if(source.getExpectedValues() != null) + for(String key : source.getExpectedValues().keySet()) { + if(!target.getExpectedValues().containsKey(key)) { + throw new SlcException("No entry in target expected values for key '" + key + "'"); + } + target.getExpectedValues().put(key, source.getExpectedValues().get(key)); + } + } +} -- 2.39.5