Merge branch 'SI-731_PLZ_bei_distr_group_members' of ssh://git.eclipse.org:29418/openk-usermodules/org.eclipse.openk-usermodules.gridFailureInformation.backend into DEVELOP
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 ae4196a7..6289873 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
@@ -97,12 +97,13 @@
         decideUpdated.connectOutputTo(PORT1, storeEditStatusUpdated);
         decideUpdated.connectOutputTo(PORT2, setEndDate);
         decideUpdated.connectOutputTo(PORT3, storeEditStatusCanceled);
-        setEndDate.connectOutputTo(rePublishToMailChannelsCompleted);
-        rePublishToMailChannelsCompleted.connectOutputTo(decidePublishedOnComplete);
+        setEndDate.connectOutputTo(decidePublishedOnComplete);
         decidePublishedOnComplete.connectOutputTo(YES, storePublicationStatusWithdrawn);
-        //for complete republishTask
+
+        //Benachrichtigungsemail bei Complete wenn schon einmal veröffentlicht
+        storePublicationStatusWithdrawn.connectOutputTo(rePublishToMailChannelsCompleted);
         decidePublishedOnComplete.connectOutputTo(NO, decideHasSubordinatedInfos);
-        storePublicationStatusWithdrawn.connectOutputTo(decideHasSubordinatedInfos);
+        rePublishToMailChannelsCompleted.connectOutputTo(decideHasSubordinatedInfos);
         decideHasSubordinatedInfos.connectOutputTo(NO, completedEndpoint);
         decideHasSubordinatedInfos.connectOutputTo(YES, storeEditStatusOfParentForChildren);
         storeEditStatusOfParentForChildren.connectOutputTo(completedEndpoint);
@@ -116,8 +117,9 @@
         storePublicationStatusPublished.connectOutputTo(updateMessage);
 
         storeEditStatusUpdated.connectOutputTo(resetPublishedFlagOnChannels);
+
+        //Benachrichtigungsemail bei Update
         resetPublishedFlagOnChannels.connectOutputTo(rePublishToMailChannelsUpdated);
-        //for updated republishTask
         rePublishToMailChannelsUpdated.connectOutputTo(qualifyMessage);
 
     }
diff --git a/gfsBackendService/src/main/resources/db/migration/V0_55__automatischer_Meldungsversand_Texte.sql b/gfsBackendService/src/main/resources/db/migration/V0_55__automatischer_Meldungsversand_Texte.sql
new file mode 100644
index 0000000..960386f
--- /dev/null
+++ b/gfsBackendService/src/main/resources/db/migration/V0_55__automatischer_Meldungsversand_Texte.sql
@@ -0,0 +1,114 @@
+-----------------------------------------------------------------------------------
+-- *******************************************************************************
+-- * Copyright (c) 2019 Contributors to the Eclipse Foundation
+-- *
+-- * See the NOTICE file(s) distributed with this work for additional
+-- * information regarding copyright ownership.
+-- *
+-- * This program and the accompanying materials are made available under the
+-- * terms of the Eclipse Public License v. 2.0 which is available at
+-- * http://www.eclipse.org/legal/epl-2.0.
+-- *
+-- * SPDX-License-Identifier: EPL-2.0
+-- *******************************************************************************
+-----------------------------------------------------------------------------------
+
+-- Verteiler technisch - intern ###############################################################################################
+DO $$
+DECLARE DISTRIBUTION_TEXT TEXT;
+BEGIN
+  DISTRIBUTION_TEXT := 'Verteiler technisch [TEST]
+
+Sehr geehrte Damen und Herren,
+
+die im Betreff genannte Meldung ist über folgenden Link erreichbar:
+
+$Direkter_Link_zur_Störung$
+
+Mit freundlichen Grüßen
+Ihre Admin-Meister-Team der PTA GmbH' ;
+
+UPDATE public.tbl_distribution_group
+SET EMAIL_SUBJECT_PUBLISH = 'Die Störung (Sparte: $Sparte$) mit Beginn: $Störungsbeginn_gemeldet$ wurde in den Status veröffentlicht geändert.',
+	EMAIL_SUBJECT_UPDATE = 'Die Störung (Sparte: $Sparte$) mit Beginn: $Störungsbeginn_gemeldet$ wurde in den Status aktualisiert geändert.',
+	EMAIL_SUBJECT_COMPLETE = 'Die Störung (Sparte: $Sparte$) mit Beginn: $Störungsbeginn_gemeldet$ wurde in den Status beendet geändert.',
+    DISTRIBUTION_TEXT_PUBLISH = DISTRIBUTION_TEXT,
+	DISTRIBUTION_TEXT_UPDATE = DISTRIBUTION_TEXT,
+	DISTRIBUTION_TEXT_COMPLETE = DISTRIBUTION_TEXT
+WHERE UUID = '5f5017fe-887a-11ea-bc55-0242ac130003';
+END $$;
+
+
+-- Verteiler fachlich - intern ###############################################################################################
+DO $$
+DECLARE DISTRIBUTION_TEXT TEXT;
+BEGIN
+  DISTRIBUTION_TEXT := 'Verteiler fachlich [TEST]
+
+Sehr geehrte Damen und Herren,
+
+die im Betreff genannte Meldung ist über folgenden Link erreichbar:
+
+$Direkter_Link_zur_Störung$
+
+Mit freundlichen Grüßen
+Ihre Admin-Meister-Team der PTA GmbH' ;
+
+UPDATE public.tbl_distribution_group
+SET EMAIL_SUBJECT_PUBLISH = 'Die Störung (Sparte: $Sparte$) mit Beginn: $Störungsbeginn_gemeldet$ wurde in den Status veröffentlicht geändert.',
+	EMAIL_SUBJECT_UPDATE = 'Die Störung (Sparte: $Sparte$) mit Beginn: $Störungsbeginn_gemeldet$ wurde in den Status aktualisiert geändert.',
+	EMAIL_SUBJECT_COMPLETE = 'Die Störung (Sparte: $Sparte$) mit Beginn: $Störungsbeginn_gemeldet$ wurde in den Status beendet geändert.',
+    DISTRIBUTION_TEXT_PUBLISH = DISTRIBUTION_TEXT,
+	DISTRIBUTION_TEXT_UPDATE = DISTRIBUTION_TEXT,
+	DISTRIBUTION_TEXT_COMPLETE = DISTRIBUTION_TEXT
+WHERE UUID = '5f502046-887a-11ea-bc55-0242ac130003';
+END $$;
+
+
+-- Veröffentlicher ###############################################################################################
+UPDATE public.tbl_distribution_group
+SET EMAIL_SUBJECT_PUBLISH = 'Bitte Anpassen - Das geplannte Ende der Störung (Sparte: $Sparte$) wird demnächst erreicht. Der Statuswechsel erfolgt automatisch.',
+    DISTRIBUTION_TEXT_PUBLISH =
+'Veröffentlicher [TEST]
+
+Sehr geehrte Damen und Herren,
+
+die im Betreff genannte Meldung ist über folgenden Link erreichbar:
+
+$Direkter_Link_zur_Störung$
+
+Mit freundlichen Grüßen
+Ihre Admin-Meister-Team der PTA GmbH'
+WHERE UUID = 'f71660e2-aee1-11ea-b3de-0242ac130004';
+
+
+-- Test für alle Textbausteine ###############################################################################################
+DO $$
+DECLARE DISTRIBUTION_TEXT TEXT;
+BEGIN
+  DISTRIBUTION_TEXT := 'Beschreibung $Beschreibung$
+Direkter_Link_zur_Störung $Direkter_Link_zur_Störung$
+Druckstufe $Druckstufe$
+Hausnummer $Hausnummer$
+Interne_Bemerkungen $Interne_Bemerkungen$
+Klassifikation $Klassifikation$
+Ort $Ort$
+Ortsteil $Ortsteil$
+Postleitzahl $Postleitzahl$
+Radius $Radius$
+Spannungsebene $Spannungsebene$
+Sparte $Sparte$
+Station_Bezeichnung $Station_Bezeichnung$
+Status_extern $Status_extern$
+Status_intern $Status_intern$
+Störungsbeginn_gemeldet $Störungsbeginn_gemeldet$
+Störungsende_geplant $Störungsende_geplant$
+Störungsende_wiederversorgt $Störungsende_wiederversorgt$
+Straße $Straße$
+Veröffentlichungsstatus $Veröffentlichungsstatus$
+Voraussichtlicher_Grund $Voraussichtlicher_Grund$
+Zuständigkeit $Zuständigkeit$' ;
+  INSERT INTO public.tbl_distribution_group(UUID, NAME, EMAIL_SUBJECT_PUBLISH, DISTRIBUTION_TEXT_PUBLISH, EMAIL_SUBJECT_UPDATE, DISTRIBUTION_TEXT_UPDATE, EMAIL_SUBJECT_COMPLETE, DISTRIBUTION_TEXT_COMPLETE)
+  VALUES('a09140ea-ef06-4773-bb1d-dd7725b89570', 'Test für alle Textbausteine', 'Betreff: Test für alle Textbausteine Veröffentlicht', DISTRIBUTION_TEXT, 'Betreff: Test für alle Textbausteine Aktualisiert', DISTRIBUTION_TEXT,
+ 'Betreff: Test für alle Textbausteine Beendet', DISTRIBUTION_TEXT);
+END $$;
diff --git a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/util/GroupMemberPlzFilterTest.java b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/util/GroupMemberPlzFilterTest.java
index 88c88e1..d44cb03 100644
--- a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/util/GroupMemberPlzFilterTest.java
+++ b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/util/GroupMemberPlzFilterTest.java
@@ -11,7 +11,9 @@
 import org.junit.jupiter.api.Test;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
+import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
 import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.ActiveProfiles;
 
 import java.util.Arrays;
 import java.util.List;
@@ -21,6 +23,8 @@
 import static org.mockito.Mockito.when;
 
 @SpringBootTest
+@AutoConfigureMockMvc()
+@ActiveProfiles("test")
 class GroupMemberPlzFilterTest {
 
     @Mock