Merge branch 'SI-445-Konfigurierbarkeit-des-Tools' 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/config/ResourceConfig.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/config/ResourceConfig.java
index f4739ad..73c4f90 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/config/ResourceConfig.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/config/ResourceConfig.java
@@ -4,10 +4,8 @@
 import org.eclipse.openk.gridfailureinformation.service.DistributionTextPlaceholderService;
 import org.eclipse.openk.gridfailureinformation.viewmodel.DistributionTextPlaceholderDto;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.config.ConfigurableBeanFactory;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Scope;
 
 @Log4j2
 @Configuration
@@ -17,12 +15,6 @@
     DistributionTextPlaceholderService placeholderService;
 
     @Bean
-    public DistributionTextPlaceholderService placeholderService() {
-        return new DistributionTextPlaceholderService();
-    }
-
-    @Bean
-    @Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON)
     public DistributionTextPlaceholderDto placeholderLoader() {
         return placeholderService.getPlaceholder();
     }
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/DistributionTextPlaceholderService.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/DistributionTextPlaceholderService.java
index 4565da7..6dd1157 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/DistributionTextPlaceholderService.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/DistributionTextPlaceholderService.java
@@ -28,20 +28,20 @@
 @Log4j2
 public class DistributionTextPlaceholderService {
 
+    private final DistributionTextPlaceholderDto placeholderDto = initPlaceholderDto();
+
     @Autowired
-    ObjectMapper objectMapper;
-
-    public DistributionTextPlaceholderDto getPlaceholder() {
-
-        DistributionTextPlaceholderDto placeholderDto;
+    private DistributionTextPlaceholderDto initPlaceholderDto() {
         try {
             InputStream inputStream = new ClassPathResource("DistributionTextPlaceholder.json").getInputStream();
-            placeholderDto =  objectMapper.readValue(inputStream, DistributionTextPlaceholderDto.class);
+            return  new ObjectMapper().readValue(inputStream, DistributionTextPlaceholderDto.class);
         } catch (IOException e) {
-            log.warn("Error importing JSON-Message", e);
+            log.error("Error importing JSON-Message", e);
             return null;
         }
+    }
 
+    public DistributionTextPlaceholderDto getPlaceholder() {
         return placeholderDto;
     }
 
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/ExportService.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/ExportService.java
index f2f66a9..ffc3fa8 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/ExportService.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/ExportService.java
@@ -175,14 +175,55 @@
 
         this.contentReplaceMap = new HashMap<>();
 
-        String title = tblFailureInfo.getTitle();
-        if (title != null) {
-            contentReplaceMap.put(placeholderDto.getTitle(), title);
+        String failureClassification = tblFailureInfo.getRefFailureClassification().getClassification();
+        if (failureClassification != null) {
+            contentReplaceMap.put(placeholderDto.getFailureClassification(), failureClassification);
         }
 
-        //TODO:
-//        String directMeasureLink = getDirectMeasureLink(tblFailureInfo.getId());
-//        contentReplaceMap.put("$directFailureLink$", directMeasureLink);
+        String failureType = tblFailureInfo.getRefFailureType().getType();
+        if (failureType != null) {
+            contentReplaceMap.put(placeholderDto.getFailureClassification(), failureClassification);
+        }
+
+        String responsibility = tblFailureInfo.getResponsibility();
+        if (responsibility != null) {
+            contentReplaceMap.put(placeholderDto.getResponsibility(), responsibility);
+        }
+
+        String internExtern = tblFailureInfo.getInternExtern();
+        if (internExtern != null) {
+            contentReplaceMap.put(placeholderDto.getInternExtern(), internExtern);
+        }
+
+        String statusIntern = tblFailureInfo.getRefStatusIntern().getStatus();
+        if (statusIntern != null) {
+            contentReplaceMap.put(placeholderDto.getStatusIntern(), statusIntern);
+        }
+
+        String statusExtern = tblFailureInfo.getRefStatusExtern().getStatus();
+        if (statusExtern != null) {
+            contentReplaceMap.put(placeholderDto.getStatusExtern(), statusExtern);
+        }
+
+        String publicationStatus = tblFailureInfo.getPublicationStatus();
+        if (publicationStatus != null) {
+            contentReplaceMap.put(placeholderDto.getPublicationStatus(), publicationStatus);
+        }
+
+        String branch = tblFailureInfo.getRefBranch().getName();
+        if (branch != null) {
+            contentReplaceMap.put(placeholderDto.getBranch(), branch);
+        }
+
+        String voltageLevel = tblFailureInfo.getVoltageLevel();
+        if (voltageLevel != null) {
+            contentReplaceMap.put(placeholderDto.getVoltageLevel(), voltageLevel);
+        }
+
+        String pressureLevel = tblFailureInfo.getPressureLevel();
+        if (pressureLevel != null) {
+            contentReplaceMap.put(placeholderDto.getPressureLevel(), pressureLevel);
+        }
 
         Date failureBegin = tblFailureInfo.getFailureBegin();
         if(failureBegin != null) {
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/viewmodel/DistributionGroupMemberDto.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/viewmodel/DistributionGroupMemberDto.java
index cf28340..4269284 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/viewmodel/DistributionGroupMemberDto.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/viewmodel/DistributionGroupMemberDto.java
@@ -35,6 +35,11 @@
     private String mobileNumber;
     private String mainAddress;
 
+    private String salutationType;
+    private String personType;
+    private String department;
+
+
 }
 
 
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/viewmodel/DistributionTextPlaceholderDto.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/viewmodel/DistributionTextPlaceholderDto.java
index f0b3180..424fa46 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/viewmodel/DistributionTextPlaceholderDto.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/viewmodel/DistributionTextPlaceholderDto.java
@@ -21,8 +21,6 @@
 @Data
 public class DistributionTextPlaceholderDto implements Serializable {
 
-    private String title;
-    private String description;
     private String failureClassification;
     private String failureType;
     private String responsibility;
diff --git a/gfsBackendService/src/main/resources/DistributionTextPlaceholder.json b/gfsBackendService/src/main/resources/DistributionTextPlaceholder.json
index fa692e5..9d7b267 100644
--- a/gfsBackendService/src/main/resources/DistributionTextPlaceholder.json
+++ b/gfsBackendService/src/main/resources/DistributionTextPlaceholder.json
@@ -1,19 +1,17 @@
 {
-  "title": "$Title$",
-  "description": "$Description$",
-  "failureClassification": "$FailureClassification$",
-  "failureType": "$FailureType$",
-  "responsibility": "$Responsibility$",
-  "internExtern": "$InternExtern$",
-  "statusIntern": "$StatusIntern$",
-  "statusExtern": "$StatusExtern$",
-  "publicationStatus": "$PublicationStatus$",
-  "branch": "$Branch$",
-  "voltageLevel": "$VoltageLevel$",
-  "pressureLevel": "$PressureLevel$",
-  "failureBegin": "$FailureBegin$",
-  "failureEndPlanned": "$FailureEndPlanned$",
-  "failureEndResupplied": "$FailureEndResupplied$",
-  "expectedReason": "$ExpectedReason$",
-  "internalRemark": "$InternalRemark$"
+  "failureClassification": "$Klassifikation$",
+  "failureType": "$Typ$",
+  "responsibility": "$Zuständigkeit$",
+  "internExtern": "$Meldung_intern$",
+  "statusIntern": "$Status_intern$",
+  "statusExtern": "$Status_extern$",
+  "publicationStatus": "$Veröffentlichungsstatus$",
+  "branch": "$Sparte$",
+  "voltageLevel": "$Spannungsebene$",
+  "pressureLevel": "$Druckstufe$",
+  "failureBegin": "$Störungsbeginn_gemeldet$",
+  "failureEndPlanned": "$Störungsende_geplant$",
+  "failureEndResupplied": "$Störungsende_wiederversorgt$",
+  "expectedReason": "$Voraussichtlicher_Grund$",
+  "internalRemark": "$Interne_Bemerkungen$"
 }
diff --git a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/security/SecurityTest.java b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/security/SecurityTest.java
index b3ccd80..1dd5c0b 100644
--- a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/security/SecurityTest.java
+++ b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/security/SecurityTest.java
@@ -14,16 +14,13 @@
  */
 package org.eclipse.openk.gridfailureinformation.security;
 
-import org.eclipse.openk.gridfailureinformation.GridFailureInformationApplication;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Test;
 import org.reflections.Reflections;
 import org.reflections.scanners.MethodAnnotationsScanner;
 import org.reflections.scanners.SubTypesScanner;
 import org.reflections.scanners.TypeAnnotationsScanner;
-import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.security.access.annotation.Secured;
-import org.springframework.test.context.ActiveProfiles;
 import org.springframework.web.bind.annotation.*;
 
 import java.lang.reflect.Method;
@@ -40,29 +37,29 @@
 
         final String packageName = "org.eclipse.openk.gridfailureinformation";  // Package-Name from Main-Class (Root)
 
-        Set<String> setMethodsMappings = new HashSet<String>();        // Set for annotated Methods with @*Mapping
-        Set<String> setMethodsSecured = new HashSet<String>();         // Set for annotated Methods with @Secured
+        Set<String> setMethodsMappings = new HashSet<>();        // Set for annotated Methods with @*Mapping
+        Set<String> setMethodsSecured = new HashSet<>();         // Set for annotated Methods with @Secured
 
 
         Reflections reflMeth = new Reflections(packageName, new MethodAnnotationsScanner());
 
         Set<Method> methodsGetMapping = reflMeth.getMethodsAnnotatedWith(GetMapping.class);             // Methods annotated with @GetMapping
-        methodsGetMapping.stream().forEach(method -> setMethodsMappings.add(method.toString()));
+        methodsGetMapping.forEach(method -> setMethodsMappings.add(method.toString()));
         Set<Method> methodsRequestMapping = reflMeth.getMethodsAnnotatedWith(RequestMapping.class);     // Methods annotated with @RequestMapping
-        methodsRequestMapping.stream().forEach(method -> setMethodsMappings.add(method.toString()));
+        methodsRequestMapping.forEach(method -> setMethodsMappings.add(method.toString()));
         Set<Method> methodsPostMapping = reflMeth.getMethodsAnnotatedWith(PostMapping.class);           // Methods annotated with @PostMapping
-        methodsPostMapping.stream().forEach(method -> setMethodsMappings.add(method.toString()));
+        methodsPostMapping.forEach(method -> setMethodsMappings.add(method.toString()));
         Set<Method> methodsPutMapping = reflMeth.getMethodsAnnotatedWith(PutMapping.class);             // Methods annotated with @PutMapping
-        methodsPutMapping.stream().forEach(method -> setMethodsMappings.add(method.toString()));
+        methodsPutMapping.forEach(method -> setMethodsMappings.add(method.toString()));
         Set<Method> methodsDeleteMapping = reflMeth.getMethodsAnnotatedWith(DeleteMapping.class);       // Methods annotated with @DeleteMapping
-        methodsDeleteMapping.stream().forEach(method -> setMethodsMappings.add(method.toString()));
+        methodsDeleteMapping.forEach(method -> setMethodsMappings.add(method.toString()));
 
         Set<Method> methodsSecured = reflMeth.getMethodsAnnotatedWith(Secured.class);                   // Methods annotated with @Secured
-        methodsSecured.stream().forEach(method -> setMethodsSecured.add(method.toString()));
+        methodsSecured.forEach(method -> setMethodsSecured.add(method.toString()));
 
         Set<String> setMethodsMappingsFinal = checkForRestClasses(packageName, setMethodsMappings); // Proceed only with Mapping-Method which are in a class annotated with @RestController
 
-        setMethodsSecured.stream().forEach(secMeth -> setMethodsMappingsFinal.remove(secMeth)); // Alle Secured-Methoden aus der Mappings-Set-Final entfernen
+        setMethodsSecured.forEach(setMethodsMappingsFinal::remove); // Alle Secured-Methoden aus der Mappings-Set-Final entfernen
 
         assertEquals("Everything is @Secured", extractUnsecuredMethods(packageName, setMethodsMappingsFinal));
     }
@@ -95,8 +92,8 @@
      * */
     private Set<String> checkForRestClasses(String pPackageName, Set<String> pSetMappings){
 
-        Set<String> setClassesRc = new HashSet<String>();         // List for annotated Classes with @RestController
-        Set<String> setMethodMappingFinal = new HashSet<String>();         // List for all methods in @RestController-classes
+        Set<String> setClassesRc = new HashSet<>();         // List for annotated Classes with @RestController
+        Set<String> setMethodMappingFinal = new HashSet<>();         // List for all methods in @RestController-classes
 
         Reflections reflRstClss = new Reflections(pPackageName, new SubTypesScanner(false),
                 new TypeAnnotationsScanner());
diff --git a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/DistributionTextPlacehoderServiceTest.java b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/DistributionTextPlacehoderServiceTest.java
index 4e689ee..de80009 100644
--- a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/DistributionTextPlacehoderServiceTest.java
+++ b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/DistributionTextPlacehoderServiceTest.java
@@ -27,7 +27,6 @@
 //@RunWith(SpringRunner.class)
 @DataJpaTest
 @ContextConfiguration(classes = {TestConfiguration.class})
-
 public class DistributionTextPlacehoderServiceTest {
     @Qualifier("myDistributionTextPlaceholderService")
     @Autowired
@@ -38,12 +37,12 @@
 
         DistributionTextPlaceholderDto placeholderDto = placeholderService.getPlaceholder();
 
-        assertEquals(placeholderDto.getFailureClassification(), "$FailureClassification$");
-        assertEquals(placeholderDto.getFailureType(), "$FailureType$");
-        assertEquals(placeholderDto.getResponsibility(), "$Responsibility$");
-        assertEquals(placeholderDto.getVoltageLevel(), "$VoltageLevel$");
-        assertEquals(placeholderDto.getFailureBegin(), "$FailureBegin$");
-        assertEquals(placeholderDto.getExpectedReason(), "$ExpectedReason$");
+        assertEquals("$Klassifikation$", placeholderDto.getFailureClassification());
+        assertEquals("$Typ$", placeholderDto.getFailureType());
+        assertEquals("$Zuständigkeit$", placeholderDto.getResponsibility());
+        assertEquals("$Spannungsebene$", placeholderDto.getVoltageLevel());
+        assertEquals("$Störungsbeginn_gemeldet$", placeholderDto.getFailureBegin());
+        assertEquals("$Voraussichtlicher_Grund$", placeholderDto.getExpectedReason());
     }
 
 }