catch up with branch daily
Signed-off-by: Ralf Mollik <ramollik@compex-commerce.com>
diff --git a/org.eclipse.osbp.xtext.statemachine/src/org/eclipse/osbp/xtext/statemachine/jvmmodel/StatemachineDSLJvmModelInferrer.xtend b/org.eclipse.osbp.xtext.statemachine/src/org/eclipse/osbp/xtext/statemachine/jvmmodel/StatemachineDSLJvmModelInferrer.xtend
index afb8994..719075f 100644
--- a/org.eclipse.osbp.xtext.statemachine/src/org/eclipse/osbp/xtext/statemachine/jvmmodel/StatemachineDSLJvmModelInferrer.xtend
+++ b/org.eclipse.osbp.xtext.statemachine/src/org/eclipse/osbp/xtext/statemachine/jvmmodel/StatemachineDSLJvmModelInferrer.xtend
@@ -988,7 +988,7 @@
'''
pcs.firePropertyChange("«dto.name.toFirstLower»", this.«dto.name», this.«dto.name» = («dto.attributeType.attributeType.name»)«dto.name»);
«IF dto.hasEvent»
- if(statemachine != null) {
+ if(statemachine != null && !(this.«dto.name» == null && «dto.name» == null) && !(this.«dto.name».equals((«dto.attributeType.attributeType.name»)«dto.name»))) {
statemachine.processEvent(statemachine, new MessageEvent(MessageEvent.EventType.TRIGGER, "«dto.event.name»"));
}«ENDIF»
«IF dto.isAttached && dto.display !== null»
@@ -1317,14 +1317,18 @@
if(postFix.empty) {
append(
'''
+ if(«buttonName».longValue() != 0) {
«IF event instanceof FSMControlButtonAttributeEventKeyboard»
- statemachine.processEvent(statemachine, new MessageEvent(EventType.KEYBOARD, "«(event as FSMControlButtonAttributeEventKeyboard).
- keystroke»"));
+
+ statemachine.processEvent(statemachine, new MessageEvent(EventType.KEYBOARD, "«(event as FSMControlButtonAttributeEventKeyboard).keystroke»"));
«ELSEIF event instanceof FSMControlButtonAttributeEventIdentity»
+
statemachine.processEvent(statemachine, new MessageEvent(EventType.ID, "«(event as FSMControlButtonAttributeEventIdentity).identity»"));
«ELSEIF event instanceof FSMControlButtonAttributeEventEvent»
+
statemachine.processEvent(statemachine, new MessageEvent(EventType.TRIGGER, "«(event as FSMControlButtonAttributeEventEvent).event.name»"));
«ENDIF»
+ }
this.«buttonName» = «buttonName»;''')
} else {
append(
diff --git a/org.eclipse.osbp.xtext.statemachine/xtend-gen/org/eclipse/osbp/xtext/statemachine/jvmmodel/StatemachineDSLJvmModelInferrer.java b/org.eclipse.osbp.xtext.statemachine/xtend-gen/org/eclipse/osbp/xtext/statemachine/jvmmodel/StatemachineDSLJvmModelInferrer.java
index a03dcd9..8969d42 100644
--- a/org.eclipse.osbp.xtext.statemachine/xtend-gen/org/eclipse/osbp/xtext/statemachine/jvmmodel/StatemachineDSLJvmModelInferrer.java
+++ b/org.eclipse.osbp.xtext.statemachine/xtend-gen/org/eclipse/osbp/xtext/statemachine/jvmmodel/StatemachineDSLJvmModelInferrer.java
@@ -1929,12 +1929,27 @@
{
boolean _isHasEvent = dto.isHasEvent();
if (_isHasEvent) {
- _builder_3.append("if(statemachine != null) {");
- _builder_3.newLine();
+ _builder_3.append("if(statemachine != null && !(this.");
+ String _name_4 = dto.getName();
+ _builder_3.append(_name_4);
+ _builder_3.append(" == null && ");
+ String _name_5 = dto.getName();
+ _builder_3.append(_name_5);
+ _builder_3.append(" == null) && !(this.");
+ String _name_6 = dto.getName();
+ _builder_3.append(_name_6);
+ _builder_3.append(".equals((");
+ String _name_7 = dto.getAttributeType().getAttributeType().getName();
+ _builder_3.append(_name_7);
+ _builder_3.append(")");
+ String _name_8 = dto.getName();
+ _builder_3.append(_name_8);
+ _builder_3.append("))) {");
+ _builder_3.newLineIfNotEmpty();
_builder_3.append("\t");
_builder_3.append("statemachine.processEvent(statemachine, new MessageEvent(MessageEvent.EventType.TRIGGER, \"");
- String _name_4 = dto.getEvent().getName();
- _builder_3.append(_name_4, "\t");
+ String _name_9 = dto.getEvent().getName();
+ _builder_3.append(_name_9, "\t");
_builder_3.append("\"));");
_builder_3.newLineIfNotEmpty();
_builder_3.append("}");
@@ -1955,8 +1970,8 @@
String _firstUpper_5 = StringExtensions.toFirstUpper(match.getName());
_builder_3.append(_firstUpper_5);
_builder_3.append("(");
- String _name_5 = dto.getName();
- _builder_3.append(_name_5);
+ String _name_10 = dto.getName();
+ _builder_3.append(_name_10);
_builder_3.append(");");
}
}
@@ -1973,8 +1988,8 @@
String _firstUpper_7 = StringExtensions.toFirstUpper(match_1.getName());
_builder_3.append(_firstUpper_7);
_builder_3.append("(");
- String _name_6 = dto.getName();
- _builder_3.append(_name_6);
+ String _name_11 = dto.getName();
+ _builder_3.append(_name_11);
_builder_3.append(");");
}
}
@@ -2775,31 +2790,43 @@
boolean _isEmpty = postFix.isEmpty();
if (_isEmpty) {
StringConcatenation _builder_1 = new StringConcatenation();
+ _builder_1.append("if(");
+ _builder_1.append(buttonName);
+ _builder_1.append(".longValue() != 0) {");
+ _builder_1.newLineIfNotEmpty();
{
if ((event instanceof FSMControlButtonAttributeEventKeyboard)) {
+ _builder_1.newLine();
+ _builder_1.append("\t");
_builder_1.append("statemachine.processEvent(statemachine, new MessageEvent(EventType.KEYBOARD, \"");
String _keystroke = ((FSMControlButtonAttributeEventKeyboard) event).getKeystroke();
- _builder_1.append(_keystroke);
+ _builder_1.append(_keystroke, "\t");
_builder_1.append("\"));");
_builder_1.newLineIfNotEmpty();
} else {
if ((event instanceof FSMControlButtonAttributeEventIdentity)) {
+ _builder_1.newLine();
+ _builder_1.append("\t");
_builder_1.append("statemachine.processEvent(statemachine, new MessageEvent(EventType.ID, \"");
int _identity = ((FSMControlButtonAttributeEventIdentity) event).getIdentity();
- _builder_1.append(_identity);
+ _builder_1.append(_identity, "\t");
_builder_1.append("\"));");
_builder_1.newLineIfNotEmpty();
} else {
if ((event instanceof FSMControlButtonAttributeEventEvent)) {
+ _builder_1.newLine();
+ _builder_1.append("\t");
_builder_1.append("statemachine.processEvent(statemachine, new MessageEvent(EventType.TRIGGER, \"");
String _name = ((FSMControlButtonAttributeEventEvent) event).getEvent().getName();
- _builder_1.append(_name);
+ _builder_1.append(_name, "\t");
_builder_1.append("\"));");
_builder_1.newLineIfNotEmpty();
}
}
}
}
+ _builder_1.append("}");
+ _builder_1.newLine();
_builder_1.append("this.");
_builder_1.append(buttonName);
_builder_1.append(" = ");