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);