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 209c336..70d97fa 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
@@ -174,6 +174,9 @@
import org.osgi.service.component.annotations.ReferenceCardinality
import org.osgi.service.component.annotations.ReferencePolicy
import org.slf4j.Logger
+import org.eclipse.osbp.dsl.semantic.entity.LBean
+import org.eclipse.osbp.xtext.statemachine.services.StatemachineDSLGrammarAccess.FSMControlElements
+import org.eclipse.osbp.xtext.statemachine.FSMEvent
/**
* <p>
@@ -225,6 +228,18 @@
packageName = pkgName
]
)
+ // create event emitter to be bound to components' events (focus, blur etc)
+ val eventCls = statemachinePkg.toClass("EventEmitter");
+ eventCls.simpleName = eventCls.simpleName.toFirstUpper
+ eventCls.superTypes.add(_typeReferenceBuilder.typeRef(AbstractEventSource))
+ acceptor.accept(
+ eventCls,
+ [
+ // events
+ it.generateEventEmitters(statemachine)
+ packageName = pkgName
+ ]
+ )
// collect display associated dtos
val associatedDtos = <FSMControlDTOAttribute>newArrayList
statemachine.controls.stream.filter[it instanceof FSMControlPeripheral].forEach[p|(p as FSMControlPeripheral).displays.forEach[associatedDtos.add(it.output)]]
@@ -292,6 +307,32 @@
}
}
+ def void generateEventEmitters(JvmGenericType eventCls, FSM statemachine) {
+ for (event : statemachine.events) {
+ var JvmField field = event.toField(event.name, _typeReferenceBuilder.typeRef(Number))
+ field.visibility = JvmVisibility::PRIVATE
+ eventCls.members += field
+ var JvmOperation operation = event.toMethod('''get«event.name.toFirstUpper»Event''', _typeReferenceBuilder.typeRef(Number)) [
+ body = [append('''return «event.name»;''')]
+ ]
+ operation.visibility = JvmVisibility::PUBLIC
+ eventCls.members += operation
+ operation = event.toMethod('''set«event.name.toFirstUpper»Event''',
+ _typeReferenceBuilder.typeRef(Void::TYPE)) [
+ visibility = JvmVisibility.PUBLIC
+ parameters += event.toParameter(event.name, _typeReferenceBuilder.typeRef(Number));
+ body = [
+ append(
+ '''
+ statemachine.processEvent(statemachine, new MessageEvent(EventType.TRIGGER, "«event.name»"));
+ this.«event.name» = «event.name»;''')
+ ]
+ ]
+ operation.visibility = JvmVisibility::PUBLIC
+ eventCls.members += operation
+ }
+ }
+
def generatePeripheral(JvmGenericType controlCls, FSMControlPeripheral peripheral) {
var JvmOperation init = peripheral.toMethod("initDevices", _typeReferenceBuilder.typeRef(boolean)) [
annotations += _annotationTypesBuilder.annotationRef(Override)
@@ -836,27 +877,57 @@
control.buildDTOAttribute(controlCls, dto, f.inheritedFeature, f, associatedDtos)
}
if (f instanceof LDtoReference) {
- operation = control.toMethod('''set«dto.name.toFirstUpper»«f.name.toFirstUpper»''',
- _typeReferenceBuilder.typeRef(Void::TYPE)) [
- visibility = JvmVisibility::PUBLIC
- parameters += control.toParameter(f.name, type)
- body = [
- append(
- '''
- if(«dto.name»!=null) {
- «dto.name».set«f.name.toFirstUpper»((«f.type.name.toString»)«f.name»);«dto.notifySlaveReference(f, associatedDtos)»
- }''')
+ val LDto targetDto = f.type
+ if (f.toMany) {
+ if (dtos !== null && dtos.exists[it.attributeType.attributeType.name == targetDto.name]) {
+ operation = control.
+ toMethod('''addTo«dto.name.toFirstUpper»«f.name.toFirstUpper»''',
+ _typeReferenceBuilder.typeRef(Void::TYPE)) [
+ visibility = JvmVisibility::PUBLIC
+ parameters +=
+ control.toParameter(f.name,
+ type)
+ body = [
+ append('''«dto.name».addTo«f.name.toFirstUpper»((«f.type.name.toString»)«f.name»);''')
+ ]
+ ]
+ controlCls.members += operation
+ operation = control.
+ toMethod('''removeFrom«dto.name.toFirstUpper»«f.name.toFirstUpper»''',
+ _typeReferenceBuilder.typeRef(Void::TYPE)) [
+ visibility = JvmVisibility::PUBLIC
+ parameters +=
+ control.toParameter(f.name,
+ type)
+ body = [
+ append('''«dto.name».removeFrom«f.name.toFirstUpper»((«f.type.name.toString»)«f.name»);''')
+ ]
+ ]
+ controlCls.members += operation
+ }
+ } else {
+ operation = control.toMethod('''set«dto.name.toFirstUpper»«f.name.toFirstUpper»''',
+ _typeReferenceBuilder.typeRef(Void::TYPE)) [
+ visibility = JvmVisibility::PUBLIC
+ parameters += control.toParameter(f.name, type)
+ body = [
+ append(
+ '''
+ if(«dto.name»!=null) {
+ «dto.name».set«f.name.toFirstUpper»((«f.type.name.toString»)«f.name»);«dto.notifySlaveReference(f, associatedDtos)»
+ }''')
+ ]
]
- ]
- controlCls.members += operation
- operation = control.toMethod('''get«dto.name.toFirstUpper»«f.name.toFirstUpper»''', type) [
- visibility = JvmVisibility::PUBLIC
- parameters += control.toParameter(f.name, type)
- body = [
- append('''return «dto.name».get«f.name.toFirstUpper»();''')
+ controlCls.members += operation
+ operation = control.toMethod('''get«dto.name.toFirstUpper»«f.name.toFirstUpper»''', type) [
+ visibility = JvmVisibility::PUBLIC
+ parameters += control.toParameter(f.name, type)
+ body = [
+ append('''return «dto.name».get«f.name.toFirstUpper»();''')
+ ]
]
- ]
- controlCls.members += operation
+ controlCls.members += operation
+ }
}
if (f instanceof LDtoInheritedReference) {
val LDto targetDto = f.type
@@ -1007,6 +1078,12 @@
typeRef = prop.toDtoTypeReference
}
}
+ LBean: {
+ st = f.type as LBean
+ if(prop !== null) {
+ typeRef = prop.toDtoTypeReference
+ }
+ }
}
if (isTimestamp) {
typeRef = _typeReferenceBuilder.typeRef("org.joda.time.DateTime")
@@ -1323,6 +1400,12 @@
@Override
public States process(final IStateMachine statemachine, final MessageEvent event) {
statemachine.dispatchMessages(event);
+ «IF state.functionalKeyEvent !== null»
+ if(event.getType()==EventType.FUNCTIONALKEYBOARD && "«state.functionalKeyCode.getName()»".equals(event.getId())) {
+ event.setType(EventType.TRIGGER);
+ event.setId("«state.functionalKeyEvent.name»");
+ }
+ «ENDIF»
switch (event.getType()) {
«IF state.keystroke !== null» case KEYBOARD:
statemachine.append("«state.keystroke.name»", event.getId());«IF state.hasKeyOperation»
@@ -1330,12 +1413,12 @@
«ENDIF»
break;
«ENDIF»
- «IF state.functionalKeyEvent !== null» case FUNCTIONALKEYBOARD:
- if("«state.functionalKeyCode.getName()»".equals(event.getId())) {
- statemachine.schedule(statemachine, 100, new MessageEvent(EventType.TRIGGER, "«state.functionalKeyEvent.name»"));
- }
- break;
- «ENDIF»
+««« «IF state.functionalKeyEvent !== null» case FUNCTIONALKEYBOARD:
+««« if("«state.functionalKeyCode.getName()»".equals(event.getId())) {
+««« statemachine.schedule(statemachine, 100, new MessageEvent(EventType.TRIGGER, "«state.functionalKeyEvent.name»"));
+««« }
+««« break;
+««« «ENDIF»
«IF state.identity !== null» case ID:
«state.identity.decodeOperation(true, 0)»
break;
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 1117420..ae9d1a0 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
@@ -52,6 +52,7 @@
import org.eclipse.osbp.dsl.semantic.dto.LDtoInheritedAttribute;
import org.eclipse.osbp.dsl.semantic.dto.LDtoInheritedReference;
import org.eclipse.osbp.dsl.semantic.dto.LDtoReference;
+import org.eclipse.osbp.dsl.semantic.entity.LBean;
import org.eclipse.osbp.dsl.semantic.entity.LBeanAttribute;
import org.eclipse.osbp.dsl.semantic.entity.LEntityAttribute;
import org.eclipse.osbp.dsl.semantic.entity.LEntityReference;
@@ -275,17 +276,25 @@
it.setPackageName(pkgName);
};
acceptor.<JvmGenericType>accept(cls, _function_1);
+ final JvmGenericType eventCls = this._jvmTypesBuilder.toClass(statemachinePkg, "EventEmitter");
+ eventCls.setSimpleName(StringExtensions.toFirstUpper(eventCls.getSimpleName()));
+ eventCls.getSuperTypes().add(this._typeReferenceBuilder.typeRef(AbstractEventSource.class));
+ final Procedure1<JvmGenericType> _function_2 = (JvmGenericType it) -> {
+ this.generateEventEmitters(it, statemachine);
+ it.setPackageName(pkgName);
+ };
+ acceptor.<JvmGenericType>accept(eventCls, _function_2);
final ArrayList<FSMControlDTOAttribute> associatedDtos = CollectionLiterals.<FSMControlDTOAttribute>newArrayList();
- final Predicate<FSMControl> _function_2 = (FSMControl it) -> {
+ final Predicate<FSMControl> _function_3 = (FSMControl it) -> {
return (it instanceof FSMControlPeripheral);
};
- final Consumer<FSMControl> _function_3 = (FSMControl p) -> {
- final Consumer<FSMPeripheralDeviceDisplay> _function_4 = (FSMPeripheralDeviceDisplay it) -> {
+ final Consumer<FSMControl> _function_4 = (FSMControl p) -> {
+ final Consumer<FSMPeripheralDeviceDisplay> _function_5 = (FSMPeripheralDeviceDisplay it) -> {
associatedDtos.add(it.getOutput());
};
- ((FSMControlPeripheral) p).getDisplays().forEach(_function_4);
+ ((FSMControlPeripheral) p).getDisplays().forEach(_function_5);
};
- statemachine.getControls().stream().filter(_function_2).forEach(_function_3);
+ statemachine.getControls().stream().filter(_function_3).forEach(_function_4);
EList<FSMControl> _controls = statemachine.getControls();
for (final FSMControl control : _controls) {
{
@@ -296,54 +305,54 @@
if (control instanceof FSMControlScheduler) {
_matched=true;
controlCls.getSuperTypes().add(this._typeReferenceBuilder.typeRef(AbstractEventSource.class));
- final Procedure1<JvmGenericType> _function_4 = (JvmGenericType it) -> {
+ final Procedure1<JvmGenericType> _function_5 = (JvmGenericType it) -> {
this.generateSchedulers(it, ((FSMControlScheduler)control));
it.setPackageName(pkgName);
};
- acceptor.<JvmGenericType>accept(controlCls, _function_4);
+ acceptor.<JvmGenericType>accept(controlCls, _function_5);
}
if (!_matched) {
if (control instanceof FSMControlButton) {
_matched=true;
controlCls.getSuperTypes().add(this._typeReferenceBuilder.typeRef(AbstractEventSource.class));
- final Procedure1<JvmGenericType> _function_4 = (JvmGenericType it) -> {
+ final Procedure1<JvmGenericType> _function_5 = (JvmGenericType it) -> {
this.generateButtons(it, ((FSMControlButton)control));
it.setPackageName(pkgName);
};
- acceptor.<JvmGenericType>accept(controlCls, _function_4);
+ acceptor.<JvmGenericType>accept(controlCls, _function_5);
}
}
if (!_matched) {
if (control instanceof FSMControlField) {
_matched=true;
controlCls.getSuperTypes().add(this._typeReferenceBuilder.typeRef(AbstractEventSource.class));
- final Procedure1<JvmGenericType> _function_4 = (JvmGenericType it) -> {
+ final Procedure1<JvmGenericType> _function_5 = (JvmGenericType it) -> {
this.generateFields(it, ((FSMControlField)control));
it.setPackageName(pkgName);
};
- acceptor.<JvmGenericType>accept(controlCls, _function_4);
+ acceptor.<JvmGenericType>accept(controlCls, _function_5);
}
}
if (!_matched) {
if (control instanceof FSMControlDTO) {
_matched=true;
controlCls.getSuperTypes().add(this._typeReferenceBuilder.typeRef(AbstractDataProvider.class));
- final Procedure1<JvmGenericType> _function_4 = (JvmGenericType it) -> {
+ final Procedure1<JvmGenericType> _function_5 = (JvmGenericType it) -> {
this.generateDTOs(it, ((FSMControlDTO)control), associatedDtos);
it.setPackageName(pkgName);
};
- acceptor.<JvmGenericType>accept(controlCls, _function_4);
+ acceptor.<JvmGenericType>accept(controlCls, _function_5);
}
}
if (!_matched) {
if (control instanceof FSMControlPeripheral) {
_matched=true;
controlCls.getSuperTypes().add(this._typeReferenceBuilder.typeRef(AbstractPeripheralService.class));
- final Procedure1<JvmGenericType> _function_4 = (JvmGenericType it) -> {
+ final Procedure1<JvmGenericType> _function_5 = (JvmGenericType it) -> {
this.generatePeripheral(it, ((FSMControlPeripheral)control));
it.setPackageName(pkgName);
};
- acceptor.<JvmGenericType>accept(controlCls, _function_4);
+ acceptor.<JvmGenericType>accept(controlCls, _function_5);
}
}
}
@@ -352,6 +361,71 @@
}
}
+ public void generateEventEmitters(final JvmGenericType eventCls, final FSM statemachine) {
+ EList<FSMEvent> _events = statemachine.getEvents();
+ for (final FSMEvent event : _events) {
+ {
+ JvmField field = this._jvmTypesBuilder.toField(event, event.getName(), this._typeReferenceBuilder.typeRef(Number.class));
+ field.setVisibility(JvmVisibility.PRIVATE);
+ EList<JvmMember> _members = eventCls.getMembers();
+ this._jvmTypesBuilder.<JvmField>operator_add(_members, field);
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("get");
+ String _firstUpper = StringExtensions.toFirstUpper(event.getName());
+ _builder.append(_firstUpper);
+ _builder.append("Event");
+ final Procedure1<JvmOperation> _function = (JvmOperation it) -> {
+ final Procedure1<ITreeAppendable> _function_1 = (ITreeAppendable it_1) -> {
+ StringConcatenation _builder_1 = new StringConcatenation();
+ _builder_1.append("return ");
+ String _name = event.getName();
+ _builder_1.append(_name);
+ _builder_1.append(";");
+ it_1.append(_builder_1);
+ };
+ this._jvmTypesBuilder.setBody(it, _function_1);
+ };
+ JvmOperation operation = this._jvmTypesBuilder.toMethod(event, _builder.toString(), this._typeReferenceBuilder.typeRef(Number.class), _function);
+ operation.setVisibility(JvmVisibility.PUBLIC);
+ EList<JvmMember> _members_1 = eventCls.getMembers();
+ this._jvmTypesBuilder.<JvmOperation>operator_add(_members_1, operation);
+ StringConcatenation _builder_1 = new StringConcatenation();
+ _builder_1.append("set");
+ String _firstUpper_1 = StringExtensions.toFirstUpper(event.getName());
+ _builder_1.append(_firstUpper_1);
+ _builder_1.append("Event");
+ final Procedure1<JvmOperation> _function_1 = (JvmOperation it) -> {
+ it.setVisibility(JvmVisibility.PUBLIC);
+ EList<JvmFormalParameter> _parameters = it.getParameters();
+ JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(event, event.getName(), this._typeReferenceBuilder.typeRef(Number.class));
+ this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
+ final Procedure1<ITreeAppendable> _function_2 = (ITreeAppendable it_1) -> {
+ StringConcatenation _builder_2 = new StringConcatenation();
+ _builder_2.append("statemachine.processEvent(statemachine, new MessageEvent(EventType.TRIGGER, \"");
+ String _name = event.getName();
+ _builder_2.append(_name);
+ _builder_2.append("\"));");
+ _builder_2.newLineIfNotEmpty();
+ _builder_2.append("this.");
+ String _name_1 = event.getName();
+ _builder_2.append(_name_1);
+ _builder_2.append(" = ");
+ String _name_2 = event.getName();
+ _builder_2.append(_name_2);
+ _builder_2.append(";");
+ it_1.append(_builder_2);
+ };
+ this._jvmTypesBuilder.setBody(it, _function_2);
+ };
+ operation = this._jvmTypesBuilder.toMethod(event, _builder_1.toString(),
+ this._typeReferenceBuilder.typeRef(Void.TYPE), _function_1);
+ operation.setVisibility(JvmVisibility.PUBLIC);
+ EList<JvmMember> _members_2 = eventCls.getMembers();
+ this._jvmTypesBuilder.<JvmOperation>operator_add(_members_2, operation);
+ }
+ }
+ }
+
public boolean generatePeripheral(final JvmGenericType controlCls, final FSMControlPeripheral peripheral) {
boolean _xblockexpression = false;
{
@@ -1559,163 +1633,165 @@
this.buildDTOAttribute(control, controlCls, dto, ((LDtoInheritedAttribute)f).getInheritedFeature(), ((LDtoInheritedAttribute)f), associatedDtos);
}
if ((f instanceof LDtoReference)) {
- StringConcatenation _builder_2 = new StringConcatenation();
- _builder_2.append("set");
- String _firstUpper_3 = StringExtensions.toFirstUpper(dto.getName());
- _builder_2.append(_firstUpper_3);
- String _firstUpper_4 = StringExtensions.toFirstUpper(((LDtoReference)f).getName());
- _builder_2.append(_firstUpper_4);
- final Procedure1<JvmOperation> _function_2 = (JvmOperation it) -> {
- it.setVisibility(JvmVisibility.PUBLIC);
- EList<JvmFormalParameter> _parameters = it.getParameters();
- JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(control, ((LDtoReference)f).getName(), type);
- this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
- final Procedure1<ITreeAppendable> _function_3 = (ITreeAppendable it_1) -> {
- StringConcatenation _builder_3 = new StringConcatenation();
- _builder_3.append("if(");
- String _name = dto.getName();
- _builder_3.append(_name);
- _builder_3.append("!=null) {");
- _builder_3.newLineIfNotEmpty();
- _builder_3.append("\t");
- String _name_1 = dto.getName();
- _builder_3.append(_name_1, "\t");
- _builder_3.append(".set");
- String _firstUpper_5 = StringExtensions.toFirstUpper(((LDtoReference)f).getName());
- _builder_3.append(_firstUpper_5, "\t");
- _builder_3.append("((");
- String _string = ((LDtoReference)f).getType().getName().toString();
- _builder_3.append(_string, "\t");
- _builder_3.append(")");
- String _name_2 = ((LDtoReference)f).getName();
- _builder_3.append(_name_2, "\t");
- _builder_3.append(");");
- CharSequence _notifySlaveReference = this.notifySlaveReference(dto, ((LDtoReference)f), associatedDtos);
- _builder_3.append(_notifySlaveReference, "\t");
- _builder_3.newLineIfNotEmpty();
- _builder_3.append("}");
- it_1.append(_builder_3);
- };
- this._jvmTypesBuilder.setBody(it, _function_3);
- };
- operation = this._jvmTypesBuilder.toMethod(control, _builder_2.toString(),
- this._typeReferenceBuilder.typeRef(Void.TYPE), _function_2);
- EList<JvmMember> _members_2 = controlCls.getMembers();
- this._jvmTypesBuilder.<JvmOperation>operator_add(_members_2, operation);
- StringConcatenation _builder_3 = new StringConcatenation();
- _builder_3.append("get");
- String _firstUpper_5 = StringExtensions.toFirstUpper(dto.getName());
- _builder_3.append(_firstUpper_5);
- String _firstUpper_6 = StringExtensions.toFirstUpper(((LDtoReference)f).getName());
- _builder_3.append(_firstUpper_6);
- final Procedure1<JvmOperation> _function_3 = (JvmOperation it) -> {
- it.setVisibility(JvmVisibility.PUBLIC);
- EList<JvmFormalParameter> _parameters = it.getParameters();
- JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(control, ((LDtoReference)f).getName(), type);
- this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
- final Procedure1<ITreeAppendable> _function_4 = (ITreeAppendable it_1) -> {
- StringConcatenation _builder_4 = new StringConcatenation();
- _builder_4.append("return ");
- String _name = dto.getName();
- _builder_4.append(_name);
- _builder_4.append(".get");
- String _firstUpper_7 = StringExtensions.toFirstUpper(((LDtoReference)f).getName());
- _builder_4.append(_firstUpper_7);
- _builder_4.append("();");
- it_1.append(_builder_4);
- };
- this._jvmTypesBuilder.setBody(it, _function_4);
- };
- operation = this._jvmTypesBuilder.toMethod(control, _builder_3.toString(), type, _function_3);
- EList<JvmMember> _members_3 = controlCls.getMembers();
- this._jvmTypesBuilder.<JvmOperation>operator_add(_members_3, operation);
- }
- if ((f instanceof LDtoInheritedReference)) {
- final LDto targetDto = ((LDtoInheritedReference)f).getType();
- boolean _isToMany = this._dtoModelExtensions.isToMany(((LDtoInheritedReference)f).getInheritedFeature());
+ final LDto targetDto = ((LDtoReference)f).getType();
+ boolean _isToMany = this._dtoModelExtensions.isToMany(f);
if (_isToMany) {
if (((dtos != null) && IterableExtensions.<FSMControlDTOAttribute>exists(dtos, ((Function1<FSMControlDTOAttribute, Boolean>) (FSMControlDTOAttribute it) -> {
String _name = it.getAttributeType().getAttributeType().getName();
String _name_1 = targetDto.getName();
return Boolean.valueOf(Objects.equal(_name, _name_1));
})))) {
- StringConcatenation _builder_4 = new StringConcatenation();
- _builder_4.append("addTo");
- String _firstUpper_7 = StringExtensions.toFirstUpper(dto.getName());
- _builder_4.append(_firstUpper_7);
- String _firstUpper_8 = StringExtensions.toFirstUpper(((LDtoInheritedReference)f).getInheritedFeature().getName());
- _builder_4.append(_firstUpper_8);
- final Procedure1<JvmOperation> _function_4 = (JvmOperation it) -> {
+ StringConcatenation _builder_2 = new StringConcatenation();
+ _builder_2.append("addTo");
+ String _firstUpper_3 = StringExtensions.toFirstUpper(dto.getName());
+ _builder_2.append(_firstUpper_3);
+ String _firstUpper_4 = StringExtensions.toFirstUpper(((LDtoReference)f).getName());
+ _builder_2.append(_firstUpper_4);
+ final Procedure1<JvmOperation> _function_2 = (JvmOperation it) -> {
it.setVisibility(JvmVisibility.PUBLIC);
EList<JvmFormalParameter> _parameters = it.getParameters();
- JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(control, ((LDtoInheritedReference)f).getInheritedFeature().getName(), type);
+ JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(control, ((LDtoReference)f).getName(), type);
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
- final Procedure1<ITreeAppendable> _function_5 = (ITreeAppendable it_1) -> {
- StringConcatenation _builder_5 = new StringConcatenation();
+ final Procedure1<ITreeAppendable> _function_3 = (ITreeAppendable it_1) -> {
+ StringConcatenation _builder_3 = new StringConcatenation();
String _name = dto.getName();
- _builder_5.append(_name);
- _builder_5.append(".addTo");
- String _firstUpper_9 = StringExtensions.toFirstUpper(((LDtoInheritedReference)f).getInheritedFeature().getName());
- _builder_5.append(_firstUpper_9);
- _builder_5.append("((");
- String _string = ((LDtoInheritedReference)f).getType().getName().toString();
- _builder_5.append(_string);
- _builder_5.append(")");
- String _name_1 = ((LDtoInheritedReference)f).getInheritedFeature().getName();
- _builder_5.append(_name_1);
- _builder_5.append(");");
- it_1.append(_builder_5);
+ _builder_3.append(_name);
+ _builder_3.append(".addTo");
+ String _firstUpper_5 = StringExtensions.toFirstUpper(((LDtoReference)f).getName());
+ _builder_3.append(_firstUpper_5);
+ _builder_3.append("((");
+ String _string = ((LDtoReference)f).getType().getName().toString();
+ _builder_3.append(_string);
+ _builder_3.append(")");
+ String _name_1 = ((LDtoReference)f).getName();
+ _builder_3.append(_name_1);
+ _builder_3.append(");");
+ it_1.append(_builder_3);
};
- this._jvmTypesBuilder.setBody(it, _function_5);
+ this._jvmTypesBuilder.setBody(it, _function_3);
};
- operation = this._jvmTypesBuilder.toMethod(control, _builder_4.toString(),
- this._typeReferenceBuilder.typeRef(Void.TYPE), _function_4);
- EList<JvmMember> _members_4 = controlCls.getMembers();
- this._jvmTypesBuilder.<JvmOperation>operator_add(_members_4, operation);
- StringConcatenation _builder_5 = new StringConcatenation();
- _builder_5.append("removeFrom");
- String _firstUpper_9 = StringExtensions.toFirstUpper(dto.getName());
- _builder_5.append(_firstUpper_9);
- String _firstUpper_10 = StringExtensions.toFirstUpper(((LDtoInheritedReference)f).getInheritedFeature().getName());
- _builder_5.append(_firstUpper_10);
- final Procedure1<JvmOperation> _function_5 = (JvmOperation it) -> {
+ operation = this._jvmTypesBuilder.toMethod(control, _builder_2.toString(),
+ this._typeReferenceBuilder.typeRef(Void.TYPE), _function_2);
+ EList<JvmMember> _members_2 = controlCls.getMembers();
+ this._jvmTypesBuilder.<JvmOperation>operator_add(_members_2, operation);
+ StringConcatenation _builder_3 = new StringConcatenation();
+ _builder_3.append("removeFrom");
+ String _firstUpper_5 = StringExtensions.toFirstUpper(dto.getName());
+ _builder_3.append(_firstUpper_5);
+ String _firstUpper_6 = StringExtensions.toFirstUpper(((LDtoReference)f).getName());
+ _builder_3.append(_firstUpper_6);
+ final Procedure1<JvmOperation> _function_3 = (JvmOperation it) -> {
it.setVisibility(JvmVisibility.PUBLIC);
EList<JvmFormalParameter> _parameters = it.getParameters();
- JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(control, ((LDtoInheritedReference)f).getInheritedFeature().getName(), type);
+ JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(control, ((LDtoReference)f).getName(), type);
this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
- final Procedure1<ITreeAppendable> _function_6 = (ITreeAppendable it_1) -> {
- StringConcatenation _builder_6 = new StringConcatenation();
+ final Procedure1<ITreeAppendable> _function_4 = (ITreeAppendable it_1) -> {
+ StringConcatenation _builder_4 = new StringConcatenation();
String _name = dto.getName();
- _builder_6.append(_name);
- _builder_6.append(".removeFrom");
- String _firstUpper_11 = StringExtensions.toFirstUpper(((LDtoInheritedReference)f).getInheritedFeature().getName());
- _builder_6.append(_firstUpper_11);
- _builder_6.append("((");
- String _string = ((LDtoInheritedReference)f).getType().getName().toString();
- _builder_6.append(_string);
- _builder_6.append(")");
- String _name_1 = ((LDtoInheritedReference)f).getInheritedFeature().getName();
- _builder_6.append(_name_1);
- _builder_6.append(");");
- it_1.append(_builder_6);
+ _builder_4.append(_name);
+ _builder_4.append(".removeFrom");
+ String _firstUpper_7 = StringExtensions.toFirstUpper(((LDtoReference)f).getName());
+ _builder_4.append(_firstUpper_7);
+ _builder_4.append("((");
+ String _string = ((LDtoReference)f).getType().getName().toString();
+ _builder_4.append(_string);
+ _builder_4.append(")");
+ String _name_1 = ((LDtoReference)f).getName();
+ _builder_4.append(_name_1);
+ _builder_4.append(");");
+ it_1.append(_builder_4);
};
- this._jvmTypesBuilder.setBody(it, _function_6);
+ this._jvmTypesBuilder.setBody(it, _function_4);
};
- operation = this._jvmTypesBuilder.toMethod(control, _builder_5.toString(),
- this._typeReferenceBuilder.typeRef(Void.TYPE), _function_5);
- EList<JvmMember> _members_5 = controlCls.getMembers();
- this._jvmTypesBuilder.<JvmOperation>operator_add(_members_5, operation);
+ operation = this._jvmTypesBuilder.toMethod(control, _builder_3.toString(),
+ this._typeReferenceBuilder.typeRef(Void.TYPE), _function_3);
+ EList<JvmMember> _members_3 = controlCls.getMembers();
+ this._jvmTypesBuilder.<JvmOperation>operator_add(_members_3, operation);
}
} else {
+ StringConcatenation _builder_4 = new StringConcatenation();
+ _builder_4.append("set");
+ String _firstUpper_7 = StringExtensions.toFirstUpper(dto.getName());
+ _builder_4.append(_firstUpper_7);
+ String _firstUpper_8 = StringExtensions.toFirstUpper(((LDtoReference)f).getName());
+ _builder_4.append(_firstUpper_8);
+ final Procedure1<JvmOperation> _function_4 = (JvmOperation it) -> {
+ it.setVisibility(JvmVisibility.PUBLIC);
+ EList<JvmFormalParameter> _parameters = it.getParameters();
+ JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(control, ((LDtoReference)f).getName(), type);
+ this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
+ final Procedure1<ITreeAppendable> _function_5 = (ITreeAppendable it_1) -> {
+ StringConcatenation _builder_5 = new StringConcatenation();
+ _builder_5.append("if(");
+ String _name = dto.getName();
+ _builder_5.append(_name);
+ _builder_5.append("!=null) {");
+ _builder_5.newLineIfNotEmpty();
+ _builder_5.append("\t");
+ String _name_1 = dto.getName();
+ _builder_5.append(_name_1, "\t");
+ _builder_5.append(".set");
+ String _firstUpper_9 = StringExtensions.toFirstUpper(((LDtoReference)f).getName());
+ _builder_5.append(_firstUpper_9, "\t");
+ _builder_5.append("((");
+ String _string = ((LDtoReference)f).getType().getName().toString();
+ _builder_5.append(_string, "\t");
+ _builder_5.append(")");
+ String _name_2 = ((LDtoReference)f).getName();
+ _builder_5.append(_name_2, "\t");
+ _builder_5.append(");");
+ CharSequence _notifySlaveReference = this.notifySlaveReference(dto, ((LDtoReference)f), associatedDtos);
+ _builder_5.append(_notifySlaveReference, "\t");
+ _builder_5.newLineIfNotEmpty();
+ _builder_5.append("}");
+ it_1.append(_builder_5);
+ };
+ this._jvmTypesBuilder.setBody(it, _function_5);
+ };
+ operation = this._jvmTypesBuilder.toMethod(control, _builder_4.toString(),
+ this._typeReferenceBuilder.typeRef(Void.TYPE), _function_4);
+ EList<JvmMember> _members_4 = controlCls.getMembers();
+ this._jvmTypesBuilder.<JvmOperation>operator_add(_members_4, operation);
+ StringConcatenation _builder_5 = new StringConcatenation();
+ _builder_5.append("get");
+ String _firstUpper_9 = StringExtensions.toFirstUpper(dto.getName());
+ _builder_5.append(_firstUpper_9);
+ String _firstUpper_10 = StringExtensions.toFirstUpper(((LDtoReference)f).getName());
+ _builder_5.append(_firstUpper_10);
+ final Procedure1<JvmOperation> _function_5 = (JvmOperation it) -> {
+ it.setVisibility(JvmVisibility.PUBLIC);
+ EList<JvmFormalParameter> _parameters = it.getParameters();
+ JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(control, ((LDtoReference)f).getName(), type);
+ this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
+ final Procedure1<ITreeAppendable> _function_6 = (ITreeAppendable it_1) -> {
+ StringConcatenation _builder_6 = new StringConcatenation();
+ _builder_6.append("return ");
+ String _name = dto.getName();
+ _builder_6.append(_name);
+ _builder_6.append(".get");
+ String _firstUpper_11 = StringExtensions.toFirstUpper(((LDtoReference)f).getName());
+ _builder_6.append(_firstUpper_11);
+ _builder_6.append("();");
+ it_1.append(_builder_6);
+ };
+ this._jvmTypesBuilder.setBody(it, _function_6);
+ };
+ operation = this._jvmTypesBuilder.toMethod(control, _builder_5.toString(), type, _function_5);
+ EList<JvmMember> _members_5 = controlCls.getMembers();
+ this._jvmTypesBuilder.<JvmOperation>operator_add(_members_5, operation);
+ }
+ }
+ if ((f instanceof LDtoInheritedReference)) {
+ final LDto targetDto_1 = ((LDtoInheritedReference)f).getType();
+ boolean _isToMany_1 = this._dtoModelExtensions.isToMany(((LDtoInheritedReference)f).getInheritedFeature());
+ if (_isToMany_1) {
if (((dtos != null) && IterableExtensions.<FSMControlDTOAttribute>exists(dtos, ((Function1<FSMControlDTOAttribute, Boolean>) (FSMControlDTOAttribute it) -> {
String _name = it.getAttributeType().getAttributeType().getName();
- String _name_1 = targetDto.getName();
+ String _name_1 = targetDto_1.getName();
return Boolean.valueOf(Objects.equal(_name, _name_1));
})))) {
- EList<JvmMember> _members_6 = controlCls.getMembers();
- this._jvmTypesBuilder.<JvmOperation>operator_add(_members_6, operation);
StringConcatenation _builder_6 = new StringConcatenation();
- _builder_6.append("set");
+ _builder_6.append("addTo");
String _firstUpper_11 = StringExtensions.toFirstUpper(dto.getName());
_builder_6.append(_firstUpper_11);
String _firstUpper_12 = StringExtensions.toFirstUpper(((LDtoInheritedReference)f).getInheritedFeature().getName());
@@ -1729,7 +1805,7 @@
StringConcatenation _builder_7 = new StringConcatenation();
String _name = dto.getName();
_builder_7.append(_name);
- _builder_7.append(".set");
+ _builder_7.append(".addTo");
String _firstUpper_13 = StringExtensions.toFirstUpper(((LDtoInheritedReference)f).getInheritedFeature().getName());
_builder_7.append(_firstUpper_13);
_builder_7.append("((");
@@ -1745,9 +1821,84 @@
};
operation = this._jvmTypesBuilder.toMethod(control, _builder_6.toString(),
this._typeReferenceBuilder.typeRef(Void.TYPE), _function_6);
+ EList<JvmMember> _members_6 = controlCls.getMembers();
+ this._jvmTypesBuilder.<JvmOperation>operator_add(_members_6, operation);
+ StringConcatenation _builder_7 = new StringConcatenation();
+ _builder_7.append("removeFrom");
+ String _firstUpper_13 = StringExtensions.toFirstUpper(dto.getName());
+ _builder_7.append(_firstUpper_13);
+ String _firstUpper_14 = StringExtensions.toFirstUpper(((LDtoInheritedReference)f).getInheritedFeature().getName());
+ _builder_7.append(_firstUpper_14);
+ final Procedure1<JvmOperation> _function_7 = (JvmOperation it) -> {
+ it.setVisibility(JvmVisibility.PUBLIC);
+ EList<JvmFormalParameter> _parameters = it.getParameters();
+ JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(control, ((LDtoInheritedReference)f).getInheritedFeature().getName(), type);
+ this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
+ final Procedure1<ITreeAppendable> _function_8 = (ITreeAppendable it_1) -> {
+ StringConcatenation _builder_8 = new StringConcatenation();
+ String _name = dto.getName();
+ _builder_8.append(_name);
+ _builder_8.append(".removeFrom");
+ String _firstUpper_15 = StringExtensions.toFirstUpper(((LDtoInheritedReference)f).getInheritedFeature().getName());
+ _builder_8.append(_firstUpper_15);
+ _builder_8.append("((");
+ String _string = ((LDtoInheritedReference)f).getType().getName().toString();
+ _builder_8.append(_string);
+ _builder_8.append(")");
+ String _name_1 = ((LDtoInheritedReference)f).getInheritedFeature().getName();
+ _builder_8.append(_name_1);
+ _builder_8.append(");");
+ it_1.append(_builder_8);
+ };
+ this._jvmTypesBuilder.setBody(it, _function_8);
+ };
+ operation = this._jvmTypesBuilder.toMethod(control, _builder_7.toString(),
+ this._typeReferenceBuilder.typeRef(Void.TYPE), _function_7);
EList<JvmMember> _members_7 = controlCls.getMembers();
this._jvmTypesBuilder.<JvmOperation>operator_add(_members_7, operation);
}
+ } else {
+ if (((dtos != null) && IterableExtensions.<FSMControlDTOAttribute>exists(dtos, ((Function1<FSMControlDTOAttribute, Boolean>) (FSMControlDTOAttribute it) -> {
+ String _name = it.getAttributeType().getAttributeType().getName();
+ String _name_1 = targetDto_1.getName();
+ return Boolean.valueOf(Objects.equal(_name, _name_1));
+ })))) {
+ EList<JvmMember> _members_8 = controlCls.getMembers();
+ this._jvmTypesBuilder.<JvmOperation>operator_add(_members_8, operation);
+ StringConcatenation _builder_8 = new StringConcatenation();
+ _builder_8.append("set");
+ String _firstUpper_15 = StringExtensions.toFirstUpper(dto.getName());
+ _builder_8.append(_firstUpper_15);
+ String _firstUpper_16 = StringExtensions.toFirstUpper(((LDtoInheritedReference)f).getInheritedFeature().getName());
+ _builder_8.append(_firstUpper_16);
+ final Procedure1<JvmOperation> _function_8 = (JvmOperation it) -> {
+ it.setVisibility(JvmVisibility.PUBLIC);
+ EList<JvmFormalParameter> _parameters = it.getParameters();
+ JvmFormalParameter _parameter = this._jvmTypesBuilder.toParameter(control, ((LDtoInheritedReference)f).getInheritedFeature().getName(), type);
+ this._jvmTypesBuilder.<JvmFormalParameter>operator_add(_parameters, _parameter);
+ final Procedure1<ITreeAppendable> _function_9 = (ITreeAppendable it_1) -> {
+ StringConcatenation _builder_9 = new StringConcatenation();
+ String _name = dto.getName();
+ _builder_9.append(_name);
+ _builder_9.append(".set");
+ String _firstUpper_17 = StringExtensions.toFirstUpper(((LDtoInheritedReference)f).getInheritedFeature().getName());
+ _builder_9.append(_firstUpper_17);
+ _builder_9.append("((");
+ String _string = ((LDtoInheritedReference)f).getType().getName().toString();
+ _builder_9.append(_string);
+ _builder_9.append(")");
+ String _name_1 = ((LDtoInheritedReference)f).getInheritedFeature().getName();
+ _builder_9.append(_name_1);
+ _builder_9.append(");");
+ it_1.append(_builder_9);
+ };
+ this._jvmTypesBuilder.setBody(it, _function_9);
+ };
+ operation = this._jvmTypesBuilder.toMethod(control, _builder_8.toString(),
+ this._typeReferenceBuilder.typeRef(Void.TYPE), _function_8);
+ EList<JvmMember> _members_9 = controlCls.getMembers();
+ this._jvmTypesBuilder.<JvmOperation>operator_add(_members_9, operation);
+ }
}
}
}
@@ -2076,6 +2227,16 @@
}
}
}
+ if (!_matched) {
+ if (_type instanceof LBean) {
+ _matched=true;
+ LScalarType _type_1 = f.getType();
+ st = ((LBean) _type_1);
+ if ((prop != null)) {
+ typeRef = this._dtoModelExtensions.toDtoTypeReference(prop);
+ }
+ }
+ }
if (isTimestamp) {
typeRef = this._typeReferenceBuilder.typeRef("org.joda.time.DateTime");
}
@@ -2791,19 +2952,45 @@
_builder.append("\t");
_builder.append("statemachine.dispatchMessages(event);");
_builder.newLine();
+ {
+ FSMEvent _functionalKeyEvent = state.getFunctionalKeyEvent();
+ boolean _tripleNotEquals = (_functionalKeyEvent != null);
+ if (_tripleNotEquals) {
+ _builder.append("\t");
+ _builder.append("if(event.getType()==EventType.FUNCTIONALKEYBOARD && \"");
+ String _name = state.getFunctionalKeyCode().getName();
+ _builder.append(_name, "\t");
+ _builder.append("\".equals(event.getId())) {");
+ _builder.newLineIfNotEmpty();
+ _builder.append("\t");
+ _builder.append("\t");
+ _builder.append("event.setType(EventType.TRIGGER);");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("\t");
+ _builder.append("event.setId(\"");
+ String _name_1 = state.getFunctionalKeyEvent().getName();
+ _builder.append(_name_1, "\t\t");
+ _builder.append("\");");
+ _builder.newLineIfNotEmpty();
+ _builder.append("\t");
+ _builder.append("}");
+ _builder.newLine();
+ }
+ }
_builder.append("\t");
_builder.append("switch (event.getType()) {");
_builder.newLine();
{
FSMControlFieldAttribute _keystroke = state.getKeystroke();
- boolean _tripleNotEquals = (_keystroke != null);
- if (_tripleNotEquals) {
+ boolean _tripleNotEquals_1 = (_keystroke != null);
+ if (_tripleNotEquals_1) {
_builder.append("\t\tcase KEYBOARD:");
_builder.newLineIfNotEmpty();
_builder.append("\t\t\t");
_builder.append("statemachine.append(\"");
- String _name = state.getKeystroke().getName();
- _builder.append(_name, "\t\t\t");
+ String _name_2 = state.getKeystroke().getName();
+ _builder.append(_name_2, "\t\t\t");
_builder.append("\", event.getId());");
{
boolean _isHasKeyOperation = state.isHasKeyOperation();
@@ -2820,32 +3007,6 @@
}
}
{
- FSMEvent _functionalKeyEvent = state.getFunctionalKeyEvent();
- boolean _tripleNotEquals_1 = (_functionalKeyEvent != null);
- if (_tripleNotEquals_1) {
- _builder.append("\t\tcase FUNCTIONALKEYBOARD:");
- _builder.newLineIfNotEmpty();
- _builder.append("\t\t\t");
- _builder.append("if(\"");
- String _name_1 = state.getFunctionalKeyCode().getName();
- _builder.append(_name_1, "\t\t\t");
- _builder.append("\".equals(event.getId())) {");
- _builder.newLineIfNotEmpty();
- _builder.append("\t\t\t\t");
- _builder.append("statemachine.schedule(statemachine, 100, new MessageEvent(EventType.TRIGGER, \"");
- String _name_2 = state.getFunctionalKeyEvent().getName();
- _builder.append(_name_2, "\t\t\t\t");
- _builder.append("\"));");
- _builder.newLineIfNotEmpty();
- _builder.append("\t\t\t");
- _builder.append("}");
- _builder.newLine();
- _builder.append("\t\t\t");
- _builder.append("break;");
- _builder.newLine();
- }
- }
- {
FSMOperation _identity = state.getIdentity();
boolean _tripleNotEquals_2 = (_identity != null);
if (_tripleNotEquals_2) {