Forráskód Böngészése

Removed dependency of java.lang.timer from generated java statemachine. An exception is thrown if statemachine is started without timer.
Updated testcases.

markus.muehlbrandt@itemis.de 13 éve
szülő
commit
2de08ee1aa
22 módosított fájl, 31 hozzáadás és 30 törlés
  1. 1 1
      TestScenarios/.settings/org.eclipse.core.resources.prefs
  2. 1 2
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/CustomBaseStatemachine.xpt
  3. 1 1
      plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/CustomInterfaceImpl.xpt
  4. 1 1
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceDefaultImpl.java
  5. 1 1
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceOtherImpl.java
  6. 1 2
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceTestAbstractBaseStatemachine.java
  7. 1 1
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceThirdImpl.java
  8. 0 1
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_deephistory/InterfaceDefaultImpl.java
  9. 1 2
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_deephistory/Test_DeepHistoryAbstractBaseStatemachine.java
  10. 1 2
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_expression/Test_ExpressionAbstractBaseStatemachine.java
  11. 0 1
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_hierarchy/InterfaceDefaultImpl.java
  12. 1 2
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_hierarchy/Test_HierarchyAbstractBaseStatemachine.java
  13. 0 1
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_localactions/InterfaceDefaultImpl.java
  14. 1 2
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_localactions/Test_LocalActionsAbstractBaseStatemachine.java
  15. 0 1
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_parallelregions/InterfaceDefaultImpl.java
  16. 1 2
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_parallelregions/Test_ParallelRegionsAbstractBaseStatemachine.java
  17. 0 1
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_shallowhistory/InterfaceDefaultImpl.java
  18. 1 2
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_shallowhistory/Test_ShallowHistoryAbstractBaseStatemachine.java
  19. 1 1
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/InterfaceAImpl.java
  20. 1 1
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/InterfaceDefaultImpl.java
  21. 1 2
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/Test_TransitionAbstractBaseStatemachine.java
  22. 15 0
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src/org/yakindu/sct/generator/java/runtime/test/TestLocalActionsCycleBasedStatemachine.java

+ 1 - 1
TestScenarios/.settings/org.eclipse.core.resources.prefs

@@ -1,4 +1,4 @@
-#Thu Nov 10 17:36:25 CET 2011
+#Tue Nov 15 11:03:24 CET 2011
 eclipse.preferences.version=1
 encoding//TestModels/InterfaceTest.sct=UTF-8
 encoding//TestModels/Test_DeepHistory.sct=UTF-8

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

@@ -159,7 +159,6 @@ import 
 «ENDIF-»
 import «entry.getBasePackageName()».ITimedStatemachine;
 import «entry.getBasePackageName()».ITimerHandler;
-import «entry.getBasePackageName()».TimerHandler;
 import «entry.getBasePackageName()».EventNotification;
 import «entry.getBasePackageName()».Notification;
 «IF getInternalScopeValuedEvents().size > 0 -»
@@ -238,7 +237,7 @@ public abstract class 
 	@Override
 	public ITimerHandler getTimerHandler() {
 		if (timerHandler == null) {
-			timerHandler = new TimerHandler(this);
+			throw new NullPointerException("TimerHandler of statemachine \"+«name»+\" not set!");
 		}
 		return timerHandler;
 	}

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

@@ -21,11 +21,11 @@ Contributors:
 «getLicenseHeader()»
 package «getImplementationPackageName(entry)»;
 
-import «entry.getBasePackageName()».EventNotification;
 «IF hasEvents()-»
 import «entry.getBasePackageName()».Event;
 «ENDIF-»
 «IF hasOutgoingEvents()-»
+import «entry.getBasePackageName()».EventNotification;
 import «entry.getBasePackageName()».NotificationSender;
 «ENDIF-»
 «IF hasValuedEvents()-»

+ 1 - 1
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceDefaultImpl.java

@@ -10,8 +10,8 @@
  */
 package org.yakindu.sct.runtime.java.interfacetest;
 
-import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.Event;
+import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.NotificationSender;
 import org.yakindu.sct.runtime.java.ValuedEvent;
 

+ 1 - 1
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceOtherImpl.java

@@ -10,8 +10,8 @@
  */
 package org.yakindu.sct.runtime.java.interfacetest;
 
-import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.Event;
+import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.NotificationSender;
 
 public class InterfaceOtherImpl extends NotificationSender implements InterfaceOther {

+ 1 - 2
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceTestAbstractBaseStatemachine.java

@@ -17,7 +17,6 @@ import java.util.Set;
 import org.yakindu.sct.runtime.java.Event;
 import org.yakindu.sct.runtime.java.ITimedStatemachine;
 import org.yakindu.sct.runtime.java.ITimerHandler;
-import org.yakindu.sct.runtime.java.TimerHandler;
 import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.Notification;
 
@@ -86,7 +85,7 @@ public abstract class InterfaceTestAbstractBaseStatemachine implements ITimedSta
 	@Override
 	public ITimerHandler getTimerHandler() {
 		if (timerHandler == null) {
-			timerHandler = new TimerHandler(this);
+			throw new NullPointerException("TimerHandler of statemachine \"+InterfaceTest+\" not set!");
 		}
 		return timerHandler;
 	}

+ 1 - 1
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceThirdImpl.java

@@ -10,8 +10,8 @@
  */
 package org.yakindu.sct.runtime.java.interfacetest;
 
-import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.Event;
+import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.NotificationSender;
 import org.yakindu.sct.runtime.java.ValuedEvent;
 

+ 0 - 1
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_deephistory/InterfaceDefaultImpl.java

@@ -10,7 +10,6 @@
  */
 package org.yakindu.sct.runtime.java.test_deephistory;
 
-import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.Event;
 
 public class InterfaceDefaultImpl implements InterfaceDefault {

+ 1 - 2
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_deephistory/Test_DeepHistoryAbstractBaseStatemachine.java

@@ -17,7 +17,6 @@ import java.util.Set;
 import org.yakindu.sct.runtime.java.Event;
 import org.yakindu.sct.runtime.java.ITimedStatemachine;
 import org.yakindu.sct.runtime.java.ITimerHandler;
-import org.yakindu.sct.runtime.java.TimerHandler;
 import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.Notification;
 
@@ -87,7 +86,7 @@ public abstract class Test_DeepHistoryAbstractBaseStatemachine implements ITimed
 	@Override
 	public ITimerHandler getTimerHandler() {
 		if (timerHandler == null) {
-			timerHandler = new TimerHandler(this);
+			throw new NullPointerException("TimerHandler of statemachine \"+Test_DeepHistory+\" not set!");
 		}
 		return timerHandler;
 	}

+ 1 - 2
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_expression/Test_ExpressionAbstractBaseStatemachine.java

@@ -17,7 +17,6 @@ import java.util.Set;
 import org.yakindu.sct.runtime.java.Event;
 import org.yakindu.sct.runtime.java.ITimedStatemachine;
 import org.yakindu.sct.runtime.java.ITimerHandler;
-import org.yakindu.sct.runtime.java.TimerHandler;
 import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.Notification;
 
@@ -80,7 +79,7 @@ public abstract class Test_ExpressionAbstractBaseStatemachine implements ITimedS
 	@Override
 	public ITimerHandler getTimerHandler() {
 		if (timerHandler == null) {
-			timerHandler = new TimerHandler(this);
+			throw new NullPointerException("TimerHandler of statemachine \"+Test_Expression+\" not set!");
 		}
 		return timerHandler;
 	}

+ 0 - 1
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_hierarchy/InterfaceDefaultImpl.java

@@ -10,7 +10,6 @@
  */
 package org.yakindu.sct.runtime.java.test_hierarchy;
 
-import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.Event;
 
 public class InterfaceDefaultImpl implements InterfaceDefault {

+ 1 - 2
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_hierarchy/Test_HierarchyAbstractBaseStatemachine.java

@@ -17,7 +17,6 @@ import java.util.Set;
 import org.yakindu.sct.runtime.java.Event;
 import org.yakindu.sct.runtime.java.ITimedStatemachine;
 import org.yakindu.sct.runtime.java.ITimerHandler;
-import org.yakindu.sct.runtime.java.TimerHandler;
 import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.Notification;
 
@@ -89,7 +88,7 @@ public abstract class Test_HierarchyAbstractBaseStatemachine implements ITimedSt
 	@Override
 	public ITimerHandler getTimerHandler() {
 		if (timerHandler == null) {
-			timerHandler = new TimerHandler(this);
+			throw new NullPointerException("TimerHandler of statemachine \"+Test_Hierarchy+\" not set!");
 		}
 		return timerHandler;
 	}

+ 0 - 1
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_localactions/InterfaceDefaultImpl.java

@@ -10,7 +10,6 @@
  */
 package org.yakindu.sct.runtime.java.test_localactions;
 
-import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.Event;
 
 public class InterfaceDefaultImpl implements InterfaceDefault {

+ 1 - 2
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_localactions/Test_LocalActionsAbstractBaseStatemachine.java

@@ -18,7 +18,6 @@ import org.yakindu.sct.runtime.java.Event;
 import org.yakindu.sct.runtime.java.TimeEvent;
 import org.yakindu.sct.runtime.java.ITimedStatemachine;
 import org.yakindu.sct.runtime.java.ITimerHandler;
-import org.yakindu.sct.runtime.java.TimerHandler;
 import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.Notification;
 
@@ -84,7 +83,7 @@ public abstract class Test_LocalActionsAbstractBaseStatemachine implements ITime
 	@Override
 	public ITimerHandler getTimerHandler() {
 		if (timerHandler == null) {
-			timerHandler = new TimerHandler(this);
+			throw new NullPointerException("TimerHandler of statemachine \"+Test_LocalActions+\" not set!");
 		}
 		return timerHandler;
 	}

+ 0 - 1
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_parallelregions/InterfaceDefaultImpl.java

@@ -10,7 +10,6 @@
  */
 package org.yakindu.sct.runtime.java.test_parallelregions;
 
-import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.Event;
 
 public class InterfaceDefaultImpl implements InterfaceDefault {

+ 1 - 2
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_parallelregions/Test_ParallelRegionsAbstractBaseStatemachine.java

@@ -17,7 +17,6 @@ import java.util.Set;
 import org.yakindu.sct.runtime.java.Event;
 import org.yakindu.sct.runtime.java.ITimedStatemachine;
 import org.yakindu.sct.runtime.java.ITimerHandler;
-import org.yakindu.sct.runtime.java.TimerHandler;
 import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.Notification;
 
@@ -87,7 +86,7 @@ public abstract class Test_ParallelRegionsAbstractBaseStatemachine implements IT
 	@Override
 	public ITimerHandler getTimerHandler() {
 		if (timerHandler == null) {
-			timerHandler = new TimerHandler(this);
+			throw new NullPointerException("TimerHandler of statemachine \"+Test_ParallelRegions+\" not set!");
 		}
 		return timerHandler;
 	}

+ 0 - 1
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_shallowhistory/InterfaceDefaultImpl.java

@@ -10,7 +10,6 @@
  */
 package org.yakindu.sct.runtime.java.test_shallowhistory;
 
-import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.Event;
 
 public class InterfaceDefaultImpl implements InterfaceDefault {

+ 1 - 2
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_shallowhistory/Test_ShallowHistoryAbstractBaseStatemachine.java

@@ -17,7 +17,6 @@ import java.util.Set;
 import org.yakindu.sct.runtime.java.Event;
 import org.yakindu.sct.runtime.java.ITimedStatemachine;
 import org.yakindu.sct.runtime.java.ITimerHandler;
-import org.yakindu.sct.runtime.java.TimerHandler;
 import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.Notification;
 
@@ -87,7 +86,7 @@ public abstract class Test_ShallowHistoryAbstractBaseStatemachine implements ITi
 	@Override
 	public ITimerHandler getTimerHandler() {
 		if (timerHandler == null) {
-			timerHandler = new TimerHandler(this);
+			throw new NullPointerException("TimerHandler of statemachine \"+Test_ShallowHistory+\" not set!");
 		}
 		return timerHandler;
 	}

+ 1 - 1
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/InterfaceAImpl.java

@@ -10,8 +10,8 @@
  */
 package org.yakindu.sct.runtime.java.test_transition;
 
-import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.Event;
+import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.NotificationSender;
 import org.yakindu.sct.runtime.java.ValuedEvent;
 

+ 1 - 1
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/InterfaceDefaultImpl.java

@@ -10,8 +10,8 @@
  */
 package org.yakindu.sct.runtime.java.test_transition;
 
-import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.Event;
+import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.NotificationSender;
 import org.yakindu.sct.runtime.java.ValuedEvent;
 

+ 1 - 2
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/Test_TransitionAbstractBaseStatemachine.java

@@ -18,7 +18,6 @@ import org.yakindu.sct.runtime.java.Event;
 import org.yakindu.sct.runtime.java.TimeEvent;
 import org.yakindu.sct.runtime.java.ITimedStatemachine;
 import org.yakindu.sct.runtime.java.ITimerHandler;
-import org.yakindu.sct.runtime.java.TimerHandler;
 import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.Notification;
 import org.yakindu.sct.runtime.java.ValuedEvent;
@@ -88,7 +87,7 @@ public abstract class Test_TransitionAbstractBaseStatemachine implements ITimedS
 	@Override
 	public ITimerHandler getTimerHandler() {
 		if (timerHandler == null) {
-			timerHandler = new TimerHandler(this);
+			throw new NullPointerException("TimerHandler of statemachine \"+Test_Transition+\" not set!");
 		}
 		return timerHandler;
 	}

+ 15 - 0
test-plugins/org.yakindu.sct.generator.java.runtime.test/src/org/yakindu/sct/generator/java/runtime/test/TestLocalActionsCycleBasedStatemachine.java

@@ -12,10 +12,12 @@ package org.yakindu.sct.generator.java.runtime.test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
+import org.yakindu.sct.runtime.java.TimerHandler;
 import org.yakindu.sct.runtime.java.test_localactions.Test_LocalActionsAbstractBaseStatemachine.State;
 import org.yakindu.sct.runtime.java.test_localactions.Test_LocalActionsCyleBasedStatemachine;
 
@@ -36,6 +38,7 @@ public class TestLocalActionsCycleBasedStatemachine {
 	@Before
 	public void setUp() {
 		statemachine = new Test_LocalActionsCyleBasedStatemachine();
+		statemachine.setTimerHandler(new TimerHandler(statemachine));
 		statemachine.entry();
 	}
 
@@ -43,6 +46,18 @@ public class TestLocalActionsCycleBasedStatemachine {
 	public void tearDown() {
 		statemachine = null;
 	}
+	
+	@Test
+	public void testExceptionHandling(){
+		try {
+			Test_LocalActionsCyleBasedStatemachine statemachine = new Test_LocalActionsCyleBasedStatemachine();
+			statemachine.entry();
+			fail("Statemachine should throw a NullPointerException if entered without TimerHandler set before");
+		}
+		catch (NullPointerException exception) {
+			
+		}
+	}
 
 	@Test
 	public void testStatemachineEntry() {