diff --git a/de.fhmuenster.masterthesis.textgeneratordsl/src/de/fhmuenster/masterthesis/TestgeneratorDSL.xtext b/de.fhmuenster.masterthesis.textgeneratordsl/src/de/fhmuenster/masterthesis/TestgeneratorDSL.xtext index 198f3783a267d86f5c68effe8179d44114998edf..c57dff05bae49aa99ba52e0d4d9a652f23428ca5 100644 --- a/de.fhmuenster.masterthesis.textgeneratordsl/src/de/fhmuenster/masterthesis/TestgeneratorDSL.xtext +++ b/de.fhmuenster.masterthesis.textgeneratordsl/src/de/fhmuenster/masterthesis/TestgeneratorDSL.xtext @@ -25,8 +25,7 @@ FlowElement: StartFlowElement: "FlowElement" name=ID ASSOCIATION "StartEvent" - ('with' 'hardcoded' 'inputs' ASSOCIATION LIST_OPEN (hardcodedInputs+=VariableDeclaration (SEPARATOR hardcodedInputs+=VariableDeclaration)*)? LIST_CLOSED)? - ('with' 'startVariables' ASSOCIATION LIST_OPEN (startVariables+=VariableReference (SEPARATOR startVariables+=VariableReference)*)? LIST_CLOSED)? + ('with' 'inputVariables' ASSOCIATION LIST_OPEN (inputVariables+=VariableReference (SEPARATOR inputVariables+=VariableReference)*)? LIST_CLOSED)? DECLARATION_FINISHED; EndFlowElement: @@ -62,6 +61,8 @@ ServiceTaskFlowElement: DelegateServiceTaskFlowElement: "FlowElement" name=ID ASSOCIATION "ServiceTask" 'with' 'delegate' ASSOCIATION delegate=STRING + ('with' 'inputVariables' ASSOCIATION LIST_OPEN (inputVariables+=VariableReference (SEPARATOR inputVariables+=VariableReference)*)? LIST_CLOSED)? + ('with' 'outputVariables' ASSOCIATION LIST_OPEN (outputVariables+=VariableReference (SEPARATOR outputVariables+=VariableReference)*)? LIST_CLOSED)? ('and' 'label' ASSOCIATION label=STRING)? DECLARATION_FINISHED; diff --git a/de.fhmuenster.masterthesis.textgeneratordsl/src/de/fhmuenster/masterthesis/serialization/TestgeneratorDSLObjectCreator.java b/de.fhmuenster.masterthesis.textgeneratordsl/src/de/fhmuenster/masterthesis/serialization/TestgeneratorDSLObjectCreator.java index 7530d4ea0d2d806e3d87411d2061c0b68eab2bf4..e8d74ca3285201bf0d84534eca6b777e3847a11d 100644 --- a/de.fhmuenster.masterthesis.textgeneratordsl/src/de/fhmuenster/masterthesis/serialization/TestgeneratorDSLObjectCreator.java +++ b/de.fhmuenster.masterthesis.textgeneratordsl/src/de/fhmuenster/masterthesis/serialization/TestgeneratorDSLObjectCreator.java @@ -95,7 +95,7 @@ public class TestgeneratorDSLObjectCreator { for (Variable startVar : startVariables) { VariableReference variableReference = TestgeneratorDSLFactory.eINSTANCE.createVariableReference(); variableReference.setRef(startVar); - element.getStartVariables().add(variableReference); + element.getInputVariables().add(variableReference); } return element; @@ -148,10 +148,22 @@ public class TestgeneratorDSLObjectCreator { return element; } - public static ScriptTaskFlowElement createScriptTaskFlowElement(String name, String label) { + public static ScriptTaskFlowElement createScriptTaskFlowElement(String name, List<Variable> inputVariables, List<Variable> outputVariables, String label) { ScriptTaskFlowElement element = TestgeneratorDSLFactory.eINSTANCE.createScriptTaskFlowElement(); element.setName(name); element.setLabel(label); + + for (Variable inputVariable : inputVariables) { + VariableReference variableReference = TestgeneratorDSLFactory.eINSTANCE.createVariableReference(); + variableReference.setRef(inputVariable); + element.getInputVariables().add(variableReference); + } + + for (Variable outputVariable : outputVariables) { + VariableReference variableReference = TestgeneratorDSLFactory.eINSTANCE.createVariableReference(); + variableReference.setRef(outputVariable); + element.getOutputVariables().add(variableReference); + } return element; } @@ -159,15 +171,27 @@ public class TestgeneratorDSLObjectCreator { public static ServiceTaskFlowElement createServiceTaskFlowElement(String name) { ServiceTaskFlowElement element = TestgeneratorDSLFactory.eINSTANCE.createServiceTaskFlowElement(); element.setName(name); - + return element; } - public static ServiceTaskFlowElement createDelegateServiceTaskFlowElement(String name, String delegate, String label) { + public static ServiceTaskFlowElement createDelegateServiceTaskFlowElement(String name, String delegate, List<Variable> inputVariables, List<Variable> outputVariables, String label) { DelegateServiceTaskFlowElement element = TestgeneratorDSLFactory.eINSTANCE.createDelegateServiceTaskFlowElement(); element.setName(name); element.setLabel(label); element.setDelegate(delegate); + + for (Variable inputVariable : inputVariables) { + VariableReference variableReference = TestgeneratorDSLFactory.eINSTANCE.createVariableReference(); + variableReference.setRef(inputVariable); + element.getInputVariables().add(variableReference); + } + + for (Variable outputVariable : outputVariables) { + VariableReference variableReference = TestgeneratorDSLFactory.eINSTANCE.createVariableReference(); + variableReference.setRef(outputVariable); + element.getOutputVariables().add(variableReference); + } return element; } @@ -196,12 +220,24 @@ public class TestgeneratorDSLObjectCreator { return element; } - public static BusinessRuleTaskFlowElement createBusinessRuleTaskFlowElement(String name, String resultVariable, String label) { + public static BusinessRuleTaskFlowElement createBusinessRuleTaskFlowElement(String name, String resultVariable, List<Variable> inputVariables, List<Variable> outputVariables, String label) { BusinessRuleTaskFlowElement element = TestgeneratorDSLFactory.eINSTANCE.createBusinessRuleTaskFlowElement(); element.setName(name); element.setResultVariable(resultVariable); element.setLabel(label); - + + for (Variable inputVariable : inputVariables) { + VariableReference variableReference = TestgeneratorDSLFactory.eINSTANCE.createVariableReference(); + variableReference.setRef(inputVariable); + element.getInputVariables().add(variableReference); + } + + for (Variable outputVariable : outputVariables) { + VariableReference variableReference = TestgeneratorDSLFactory.eINSTANCE.createVariableReference(); + variableReference.setRef(outputVariable); + element.getOutputVariables().add(variableReference); + } + return element; }