bugfix for incorrect parameter handling in multi-rules
Change-Id: I0526d65071c0a9113cea8d68495fb8431504a1ea
Signed-off-by: Christian Krause <henshin.ck@gmail.com>
diff --git a/plugins/org.eclipse.emf.henshin.interpreter/src/org/eclipse/emf/henshin/interpreter/impl/EngineImpl.java b/plugins/org.eclipse.emf.henshin.interpreter/src/org/eclipse/emf/henshin/interpreter/impl/EngineImpl.java
index 5fb276b..3c610c6 100644
--- a/plugins/org.eclipse.emf.henshin.interpreter/src/org/eclipse/emf/henshin/interpreter/impl/EngineImpl.java
+++ b/plugins/org.eclipse.emf.henshin.interpreter/src/org/eclipse/emf/henshin/interpreter/impl/EngineImpl.java
@@ -762,9 +762,14 @@
RuleChangeInfo ruleChange = getRuleInfo(rule).getChangeInfo();
List<Change> changes= complexChange.getChanges();
+ // Set parameters:
for (Parameter param : rule.getParameters()) {
Object value = completeMatch.getParameterValue(param);
- resultMatch.setParameterValue(param, value);
+ if (value != null) {
+ resultMatch.setParameterValue(param, value);
+ } else {
+ value = resultMatch.getParameterValue(param);
+ }
scriptEngine.getEngine().put(param.getName(), value);
}