浏览代码

Refactorings and bug fixing.

markus.muehlbrandt@itemis.de 13 年之前
父节点
当前提交
c93ddc6911
共有 19 个文件被更改,包括 35 次插入28 次删除
  1. 5 1
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/CustomBaseStatemachine.xpt
  2. 1 1
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/CustomCycleBasedStatemachine.xpt
  3. 1 1
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/CustomEventBasedStatemachine.xpt
  4. 1 1
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/CustomInterface.xpt
  5. 1 1
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/CustomInterfaceImpl.xpt
  6. 1 1
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/Event.xpt
  7. 1 1
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/EventNotification.xpt
  8. 8 8
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/Expression.ext
  9. 1 1
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/INotificationListener.xpt
  10. 1 1
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/INotificationSender.xpt
  11. 1 1
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/IStatemachine.xpt
  12. 1 1
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/ITimedStatemachine.xpt
  13. 1 1
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/ITimerHandler.xpt
  14. 6 3
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/Naming.ext
  15. 1 1
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/Notification.xpt
  16. 1 1
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/NotificationSender.xpt
  17. 1 1
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/NotificationType.xpt
  18. 1 1
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/TimeEvent.xpt
  19. 1 1
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/TimerHandler.xpt

+ 5 - 1
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/CustomBaseStatemachine.xpt

@@ -145,7 +145,7 @@ else {
 «ENDDEFINE»
 
 «DEFINE file FOR ExecutionFlow-»
-«FILE getBaseStatemachineName()+'.java'-»
+«FILE getCustomPackage()+getBaseStatemachineName()+'.java'-»
 «getLicenseHeader()»
 package org.yakindu.sct.runtime.java.«getStatemachineName().toLowerCase()»;
 
@@ -249,6 +249,10 @@ public abstract class 
 		}
 	}
 	
+	public Set<State> getActiveStates(){
+		return EnumSet.copyOf(activeStates);
+	}
+	
 	«FOREACH scopes.typeSelect(InterfaceScope) AS interface-»
 	public «interface.getInterfaceName()» get«interface.getInterfaceName()»() {
 		return «interface.getInterfaceName().toFirstLower()»;

+ 1 - 1
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/CustomCycleBasedStatemachine.xpt

@@ -18,7 +18,7 @@ Contributors:
 «EXTENSION org::yakindu::sct::generator::java::templates::Naming»
 
 «DEFINE file FOR ExecutionFlow»
-«FILE getCycleBasedStatemachineName() + '.java'»
+«FILE getCustomPackage()+getCycleBasedStatemachineName() + '.java'»
 «getLicenseHeader()»
 package org.yakindu.sct.runtime.java.«getStatemachineName().toLowerCase()»;
 

+ 1 - 1
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/CustomEventBasedStatemachine.xpt

@@ -18,7 +18,7 @@ Contributors:
 «EXTENSION org::yakindu::sct::generator::java::templates::Naming»
 
 «DEFINE file FOR ExecutionFlow»
-«FILE getEventBasedStatemachineName()+'.java'-»
+«FILE getCustomPackage()+getEventBasedStatemachineName()+'.java'-»
 «getLicenseHeader()»
 package org.yakindu.sct.runtime.java.«getStatemachineName().toLowerCase()»;
 

+ 1 - 1
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/CustomInterface.xpt

@@ -16,7 +16,7 @@ Contributors:
 «EXTENSION org::yakindu::sct::generator::java::templates::Naming»
 
 «DEFINE file FOR InterfaceScope-»
-«FILE getInterfaceName() + '.java'-»
+«FILE getCustomPackage()+getInterfaceName() + '.java'-»
 «getLicenseHeader()»
 package org.yakindu.sct.runtime.java.«getStatemachineName((ExecutionFlow)eContainer).toLowerCase()»;
 

+ 1 - 1
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/CustomInterfaceImpl.xpt

@@ -17,7 +17,7 @@ Contributors:
 «EXTENSION org::yakindu::sct::generator::java::templates::Expression»
 
 «DEFINE file FOR InterfaceScope»
-«FILE getInterfaceImplName() + '.java'-»
+«FILE getCustomPackage()+getInterfaceImplName() + '.java'-»
 «getLicenseHeader()»
 package org.yakindu.sct.runtime.java.«getStatemachineName((ExecutionFlow)eContainer).toLowerCase()»;
 

+ 1 - 1
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/Event.xpt

@@ -17,7 +17,7 @@ Contributors:
 
 «DEFINE file FOR ExecutionFlow-»
 «IF name != null-»
-«FILE 'Event.java'-»
+«FILE 'org/yakindu/sct/runtime/java/base/Event.java'-»
 «getLicenseHeader()»
 package org.yakindu.sct.runtime.java.base;
 

+ 1 - 1
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/EventNotification.xpt

@@ -17,7 +17,7 @@ Contributors:
 
 «DEFINE file FOR ExecutionFlow-»
 «IF name != null-»
-«FILE 'EventNotification.java'-»
+«FILE 'org/yakindu/sct/runtime/java/base/notification/EventNotification.java'-»
 «getLicenseHeader()»
 package org.yakindu.sct.runtime.java.base.notification;
 

+ 8 - 8
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/Expression.ext

@@ -58,31 +58,31 @@ String toCode(Assignment this) :
 
 /* Logical Expressions */
 String toCode(LogicalOrExpression expression) :
-  	expression.leftOperand.toCode() + " || " + expression.rightOperand.toCode();
+  	"("+expression.leftOperand.toCode() + " || " + expression.rightOperand.toCode()+")";
   	
 String toCode(LogicalAndExpression expression) :
-  	expression.leftOperand.toCode() + " && " + expression.rightOperand.toCode();
+  	"("+expression.leftOperand.toCode() + " && " + expression.rightOperand.toCode()+")";
 
 String toCode(LogicalNotExpression expression) :
   	" ^" + expression.operand.toCode();
 
 String toCode(LogicalRelationExpression expression) :
-   expression.leftOperand.toCode() + getOperator(expression.operator) + expression.rightOperand.toCode();
+   "("+expression.leftOperand.toCode() + getOperator(expression.operator) + expression.rightOperand.toCode()+")";
     
 String toCode(BitwiseAndExpression expression) :
-  	expression.leftOperand.toCode() + " & " + expression.rightOperand.toCode();
+  	"("+expression.leftOperand.toCode() + " & " + expression.rightOperand.toCode()+")";
 
 String toCode(BitwiseOrExpression expression) :
-  	expression.leftOperand.toCode() + " | " + expression.rightOperand.toCode();
+  	"("+expression.leftOperand.toCode() + " | " + expression.rightOperand.toCode()+")";
 
 String toCode(BitwiseXorExpression expression) :
-  	expression.leftOperand.toCode() + " ^ " + expression.rightOperand.toCode();
+  	"("+expression.leftOperand.toCode() + " ^ " + expression.rightOperand.toCode()+")";
 
 String toCode(NumericalAddSubtractExpression expression) :
-  	expression.leftOperand.toCode() + getOperator(expression.operator) + expression.rightOperand.toCode();
+  	"("+expression.leftOperand.toCode() + getOperator(expression.operator) + expression.rightOperand.toCode()+")";
   	
 String toCode(NumericalMultiplyDivideExpression expression) :
-  	expression.leftOperand.toCode() + getOperator(expression.operator) + expression.rightOperand.toCode();
+  	"("+expression.leftOperand.toCode() + getOperator(expression.operator) + expression.rightOperand.toCode()+")";
 
 String toCode(ElementReferenceExpression exp) :
     if (EventDefinition.isInstance(exp.value)) then

+ 1 - 1
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/INotificationListener.xpt

@@ -17,7 +17,7 @@ Contributors:
 
 «DEFINE file FOR ExecutionFlow-»
 «IF name != null-»
-«FILE 'INotificationListener.java'-»
+«FILE 'org/yakindu/sct/runtime/java/base/notification/INotificationListener.java'-»
 «getLicenseHeader()»
 package org.yakindu.sct.runtime.java.base.notification;
 

+ 1 - 1
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/INotificationSender.xpt

@@ -17,7 +17,7 @@ Contributors:
 
 «DEFINE file FOR ExecutionFlow-»
 «IF name != null-»
-«FILE 'INotificationSender.java'-»
+«FILE 'org/yakindu/sct/runtime/java/base/notification/INotificationSender.java'-»
 «getLicenseHeader()»
 package org.yakindu.sct.runtime.java.base.notification;
 

+ 1 - 1
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/IStatemachine.xpt

@@ -16,7 +16,7 @@ Contributors:
 «EXTENSION org::yakindu::sct::generator::java::templates::Naming»
 
 «DEFINE file FOR ExecutionFlow-»
-«FILE 'IStatemachine.java'-»
+«FILE 'org/yakindu/sct/runtime/java/base/IStatemachine.java'-»
 «getLicenseHeader()»
 package org.yakindu.sct.runtime.java.base;
 

+ 1 - 1
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/ITimedStatemachine.xpt

@@ -15,7 +15,7 @@ Contributors:
 «EXTENSION org::yakindu::sct::generator::java::templates::Naming»
 
 «DEFINE file FOR ExecutionFlow-»
-«FILE 'ITimedStatemachine.java'-»
+«FILE 'org/yakindu/sct/runtime/java/base/ITimedStatemachine.java'-»
 «getLicenseHeader()»
 package org.yakindu.sct.runtime.java.base;
 

+ 1 - 1
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/ITimerHandler.xpt

@@ -16,7 +16,7 @@ Contributors:
 «EXTENSION org::yakindu::sct::generator::java::templates::Naming»
 
 «DEFINE file FOR ExecutionFlow-»
-«FILE 'ITimerHandler.java'-»
+«FILE 'org/yakindu/sct/runtime/java/base/ITimerHandler.java'-»
 «getLicenseHeader()»
 package org.yakindu.sct.runtime.java.base;
 

+ 6 - 3
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/Naming.ext

@@ -50,6 +50,9 @@ String getBaseStatemachineName(ExecutionFlow this) : name.toFirstUpper() + "Abst
 String getEventBasedStatemachineName(ExecutionFlow this) : name.toFirstUpper() + "EventBasedStatemachine";
 String getCycleBasedStatemachineName(ExecutionFlow this) : name.toFirstUpper() + "CyleBasedStatemachine";
 
+String getCustomPackage(ExecutionFlow this) : "org/yakindu/sct/runtime/java/"+getStatemachineName().toLowerCase()+"/";
+String getCustomPackage(InterfaceScope this) : "org/yakindu/sct/runtime/java/"+getStatemachineName((ExecutionFlow)eContainer).toLowerCase()+"/";
+
 String getInterfaceName(InterfaceScope this) :  
 	if name!=null then
 		"Interface" + name.toFirstUpper()
@@ -113,7 +116,7 @@ String setterValueVisibility(VariableDefinition this) :
 
 String getJavaType(Type type) :
 		switch (type) {
-		case (Type::real) : "float"
+		case (Type::real) : "double"
 		case (Type::integer) : "int"
 		case (Type::boolean) : "boolean"
 		case (Type::string) : "string"
@@ -122,7 +125,7 @@ String getJavaType(Type type) :
 
 String getJavaClassType(Type type) :
 		switch (type) {
-		case (Type::real) : "Float"
+		case (Type::real) : "Double"
 		case (Type::integer) : "Integer"
 		case (Type::boolean) : "Boolean"
 		case (Type::string) : "String"
@@ -159,7 +162,7 @@ ExecutionState state(Step this) : (ExecutionState) eContainer;
 
 String getContext(Variable this) : 
 	if (InterfaceScope.isInstance(eContainer)) then  
-		getInterfaceName((InterfaceScope)eContainer)+"."
+		getInterfaceName((InterfaceScope)eContainer).toFirstLower()+"."
 	else 
 		"";
 		

+ 1 - 1
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/Notification.xpt

@@ -17,7 +17,7 @@ Contributors:
 
 «DEFINE file FOR ExecutionFlow-»
 «IF name != null-»
-«FILE 'Notification.java'-»
+«FILE 'org/yakindu/sct/runtime/java/base/notification/Notification.java'-»
 «getLicenseHeader()»
 package org.yakindu.sct.runtime.java.base.notification;
 

+ 1 - 1
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/NotificationSender.xpt

@@ -17,7 +17,7 @@ Contributors:
 
 «DEFINE file FOR ExecutionFlow-»
 «IF name != null-»
-«FILE 'NotificationSender.java'-»
+«FILE 'org/yakindu/sct/runtime/java/base/notification/NotificationSender.java'-»
 «getLicenseHeader()»
 package org.yakindu.sct.runtime.java.base.notification;
 

+ 1 - 1
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/NotificationType.xpt

@@ -17,7 +17,7 @@ Contributors:
 
 «DEFINE file FOR ExecutionFlow-»
 «IF name != null-»
-«FILE 'NotificationType.java'-»
+«FILE 'org/yakindu/sct/runtime/java/base/notification/NotificationType.java'-»
 «getLicenseHeader()»
 package org.yakindu.sct.runtime.java.base.notification;
 

+ 1 - 1
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/TimeEvent.xpt

@@ -17,7 +17,7 @@ Contributors:
 
 «DEFINE file FOR ExecutionFlow-»
 «IF name != null-»
-«FILE 'TimeEvent.java'-»
+«FILE 'org/yakindu/sct/runtime/java/base/TimeEvent.java'-»
 «getLicenseHeader()»
 package org.yakindu.sct.runtime.java.base;
 

+ 1 - 1
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/TimerHandler.xpt

@@ -16,7 +16,7 @@ Contributors:
 «EXTENSION org::yakindu::sct::generator::java::templates::Naming»
 
 «DEFINE file FOR ExecutionFlow-»
-«FILE 'TimerHandler.java'-»
+«FILE 'org/yakindu/sct/runtime/java/base/TimerHandler.java'-»
 «getLicenseHeader()»
 package org.yakindu.sct.runtime.java.base;