SI-3101 Wird eine Übergeordnete Meldung storniert, so müssen auch die untergeordneten Meldungen den Status "storniert" bekommen.
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/bpmn/impl/GfiGrid.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/bpmn/impl/GfiGrid.java
index 276f59c..358ac4b 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/bpmn/impl/GfiGrid.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/bpmn/impl/GfiGrid.java
@@ -20,12 +20,35 @@
 import org.eclipse.openk.gridfailureinformation.bpmn.base.ProcessGrid;
 import org.eclipse.openk.gridfailureinformation.bpmn.base.ProcessTask;
 import org.eclipse.openk.gridfailureinformation.bpmn.base.tasks.DecisionTask;
-import org.eclipse.openk.gridfailureinformation.bpmn.impl.tasks.*;
+import org.eclipse.openk.gridfailureinformation.bpmn.impl.tasks.DecideFailureInfoCanceled;
+import org.eclipse.openk.gridfailureinformation.bpmn.impl.tasks.DecideFailureInfoHasSubordinatedInfos;
+import org.eclipse.openk.gridfailureinformation.bpmn.impl.tasks.DecideFailureInfoPlanned;
+import org.eclipse.openk.gridfailureinformation.bpmn.impl.tasks.DecideFailureInfoPublished;
+import org.eclipse.openk.gridfailureinformation.bpmn.impl.tasks.DecideFailureInfoUpdated;
+import org.eclipse.openk.gridfailureinformation.bpmn.impl.tasks.PublishFailureToChannelsTask;
+import org.eclipse.openk.gridfailureinformation.bpmn.impl.tasks.RePublishFailureToMailChannelsTask;
+import org.eclipse.openk.gridfailureinformation.bpmn.impl.tasks.ResetPublishedFlagOnChannelsTask;
+import org.eclipse.openk.gridfailureinformation.bpmn.impl.tasks.SetEndDateTask;
+import org.eclipse.openk.gridfailureinformation.bpmn.impl.tasks.ShortcutTask;
+import org.eclipse.openk.gridfailureinformation.bpmn.impl.tasks.StoreEditStatusOfParentToChildrenTask;
+import org.eclipse.openk.gridfailureinformation.bpmn.impl.tasks.StorePublishStatusTask;
+import org.eclipse.openk.gridfailureinformation.bpmn.impl.tasks.UIStoreFailureInformationTask;
 import org.eclipse.openk.gridfailureinformation.constants.Constants;
 import org.springframework.stereotype.Component;
 
-import static org.eclipse.openk.gridfailureinformation.bpmn.base.tasks.DecisionTask.OutputPort.*;
-import static org.eclipse.openk.gridfailureinformation.bpmn.impl.GfiProcessState.*;
+import static org.eclipse.openk.gridfailureinformation.bpmn.base.tasks.DecisionTask.OutputPort.NO;
+import static org.eclipse.openk.gridfailureinformation.bpmn.base.tasks.DecisionTask.OutputPort.PORT1;
+import static org.eclipse.openk.gridfailureinformation.bpmn.base.tasks.DecisionTask.OutputPort.PORT2;
+import static org.eclipse.openk.gridfailureinformation.bpmn.base.tasks.DecisionTask.OutputPort.PORT3;
+import static org.eclipse.openk.gridfailureinformation.bpmn.base.tasks.DecisionTask.OutputPort.YES;
+import static org.eclipse.openk.gridfailureinformation.bpmn.impl.GfiProcessState.CANCELED;
+import static org.eclipse.openk.gridfailureinformation.bpmn.impl.GfiProcessState.CHECKED_FOR_PUBLISH_;
+import static org.eclipse.openk.gridfailureinformation.bpmn.impl.GfiProcessState.COMPLETED;
+import static org.eclipse.openk.gridfailureinformation.bpmn.impl.GfiProcessState.CREATED;
+import static org.eclipse.openk.gridfailureinformation.bpmn.impl.GfiProcessState.NEW;
+import static org.eclipse.openk.gridfailureinformation.bpmn.impl.GfiProcessState.PLANNED;
+import static org.eclipse.openk.gridfailureinformation.bpmn.impl.GfiProcessState.QUALIFIED;
+import static org.eclipse.openk.gridfailureinformation.bpmn.impl.GfiProcessState.UPDATED;
 
 @Log4j2
 @Component
@@ -68,8 +91,11 @@
         ProcessTask storeEditStatusUpdated = new ShortcutTask( UPDATED );
         ProcessTask resetPublishedFlagOnChannels = new ResetPublishedFlagOnChannelsTask();
 
-        DecisionTask<GfiProcessSubject> decideHasSubordinatedInfos = new DecideFailureInfoHasSubordinatedInfos();
-        ProcessTask storeEditStatusOfParentForChildren = new StoreEditStatusOfParentToChildrenTask();
+        DecisionTask<GfiProcessSubject> decideHasSubordinatedInfosCompleted = new DecideFailureInfoHasSubordinatedInfos();
+        ProcessTask storeEditStatusOfParentForChildrenCompleted = new StoreEditStatusOfParentToChildrenTask();
+
+        DecisionTask<GfiProcessSubject> decideHasSubordinatedInfosCancelled = new DecideFailureInfoHasSubordinatedInfos();
+        ProcessTask storeEditStatusOfParentForChildrenCancelled = new StoreEditStatusOfParentToChildrenTask();
 
         ProcessTask completedEndpoint = register( COMPLETED,
                 new UIStoreFailureInformationTask( "State COMPETED UI Task", true));
@@ -105,16 +131,19 @@
         rePublishToMailChannelsCompleted.connectOutputTo(decidePublishedOnComplete);
         decidePublishedOnComplete.connectOutputTo(YES, storePublicationStatusWithdrawn);
 
-        decidePublishedOnComplete.connectOutputTo(NO, decideHasSubordinatedInfos);
-        storePublicationStatusWithdrawn.connectOutputTo(decideHasSubordinatedInfos);
-        decideHasSubordinatedInfos.connectOutputTo(NO, completedEndpoint);
-        decideHasSubordinatedInfos.connectOutputTo(YES, storeEditStatusOfParentForChildren);
-        storeEditStatusOfParentForChildren.connectOutputTo(completedEndpoint);
+        decidePublishedOnComplete.connectOutputTo(NO, decideHasSubordinatedInfosCompleted);
+        storePublicationStatusWithdrawn.connectOutputTo(decideHasSubordinatedInfosCompleted);
+        decideHasSubordinatedInfosCompleted.connectOutputTo(NO, completedEndpoint);
+        decideHasSubordinatedInfosCompleted.connectOutputTo(YES, storeEditStatusOfParentForChildrenCompleted);
+        storeEditStatusOfParentForChildrenCompleted.connectOutputTo(completedEndpoint);
 
         storeEditStatusCanceled.connectOutputTo(decidePublished);
         decidePublished.connectOutputTo( YES, storePubStatusWithdrawnOnCancel);
-        decidePublished.connectOutputTo( NO, canceledEndpoint);
-        storePubStatusWithdrawnOnCancel.connectOutputTo( canceledEndpoint );
+        decidePublished.connectOutputTo( NO, decideHasSubordinatedInfosCancelled );
+        storePubStatusWithdrawnOnCancel.connectOutputTo( decideHasSubordinatedInfosCancelled );
+        decideHasSubordinatedInfosCancelled.connectOutputTo(YES, storeEditStatusOfParentForChildrenCancelled );
+        decideHasSubordinatedInfosCancelled.connectOutputTo(NO, canceledEndpoint );
+        storeEditStatusOfParentForChildrenCancelled.connectOutputTo( canceledEndpoint );
 
         publishMessageToChannels.connectOutputTo(storePublicationStatusPublished);
         storePublicationStatusPublished.connectOutputTo(updateMessage);