Merge branch 'DEVELOP' of ssh://git.eclipse.org:29418/openk-usermodules/org.eclipse.openk-usermodules.gridFailureInformation.backend into SI-352_Meldungen_fuer_Qualifizierer

# Conflicts:
#	gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationServiceTest.java
diff --git a/.idea/libraries/Maven__commons_io_commons_io_2_2.xml b/.idea/libraries/Maven__commons_io_commons_io_2_2.xml
deleted file mode 100644
index f8084ec..0000000
--- a/.idea/libraries/Maven__commons_io_commons_io_2_2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<component name="libraryTable">
-  <library name="Maven: commons-io:commons-io:2.2">
-    <CLASSES>
-      <root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/2.2/commons-io-2.2.jar!/" />
-    </CLASSES>
-    <JAVADOC>
-      <root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/2.2/commons-io-2.2-javadoc.jar!/" />
-    </JAVADOC>
-    <SOURCES>
-      <root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/2.2/commons-io-2.2-sources.jar!/" />
-    </SOURCES>
-  </library>
-</component>
\ No newline at end of file
diff --git a/gfsBackendService/Dockerfile_Branch b/gfsBackendService/Dockerfile_Branch
new file mode 100644
index 0000000..a821b54
--- /dev/null
+++ b/gfsBackendService/Dockerfile_Branch
@@ -0,0 +1,5 @@
+FROM openjdk:8-jre-alpine
+COPY /emailConfiguration /usr/src/cbd/emailConfiguration
+COPY /target/grid-failure-information.backend.service.jar /usr/src/cbd/
+WORKDIR usr/src/cbd
+CMD ["java", "-jar", "-Dspring.config.name=application_localdev", "grid-failure-information.backend.service.jar"]
\ No newline at end of file
diff --git a/gfsBackendService/Dockerfile_DevServer b/gfsBackendService/Dockerfile_DevServer
index 2282cf7..1bdb01c 100644
--- a/gfsBackendService/Dockerfile_DevServer
+++ b/gfsBackendService/Dockerfile_DevServer
@@ -1,4 +1,5 @@
 FROM openjdk:8-jre-alpine
+COPY /emailConfiguration /usr/src/cbd/emailConfiguration
 COPY /target/grid-failure-information.backend.service.jar /usr/src/cbd/
 WORKDIR usr/src/cbd
 CMD ["java", "-jar", "-Dspring.profiles.active=devserver", "grid-failure-information.backend.service.jar"]
\ No newline at end of file
diff --git a/gfsBackendService/Dockerfile_DevServerUnsecure b/gfsBackendService/Dockerfile_DevServerUnsecure
index f92d502..1cca45a 100644
--- a/gfsBackendService/Dockerfile_DevServerUnsecure
+++ b/gfsBackendService/Dockerfile_DevServerUnsecure
@@ -1,4 +1,5 @@
 FROM openjdk:8-jre-alpine
+COPY /emailConfiguration /usr/src/cbd/emailConfiguration
 COPY /target/grid-failure-information.backend.service.jar /usr/src/cbd/
 WORKDIR usr/src/cbd
 CMD ["java", "-jar", "-Dspring.profiles.active=devserver-unsecure", "grid-failure-information.backend.service.jar"]
\ No newline at end of file
diff --git a/gfsBackendService/deploy/keycloak/addKeycloakUsersGFI.bat b/gfsBackendService/deploy/keycloak/addKeycloakUsersGFI.bat
index a5fa623..ccc2d90 100644
--- a/gfsBackendService/deploy/keycloak/addKeycloakUsersGFI.bat
+++ b/gfsBackendService/deploy/keycloak/addKeycloakUsersGFI.bat
@@ -9,12 +9,12 @@
 call kcadm add-roles --uusername %usernameVar% --rolename grid-failure-access --rolename grid-failure-creator -r Elogbook
 echo roles set
 REM ***************** CREATING NEW USER *****************
-SET usernameVar=marie_b
+SET usernameVar=marie_q
 echo ------- Creating User: %usernameVar% -------
-call kcadm create users -s username=%usernameVar% -s firstName=Marie -s lastName=Bearbeiter  -s enabled=true -r Elogbook
+call kcadm create users -s username=%usernameVar% -s firstName=Marie -s lastName=Qualifizierer  -s enabled=true -r Elogbook
 call kcadm set-password -r Elogbook --username %usernameVar% --new-password %usernameVar%
 echo pwd set
-call kcadm add-roles --uusername %usernameVar% --rolename grid-failure-access --rolename grid-failure-processor -r Elogbook
+call kcadm add-roles --uusername %usernameVar% --rolename grid-failure-access --rolename grid-failure-qualifier -r Elogbook
 echo roles set
 REM ***************** CREATING NEW USER *****************
 SET usernameVar=laura_p
@@ -22,7 +22,7 @@
 call kcadm create users -s username=%usernameVar% -s firstName=Laura -s lastName=Öffentlichkeitsarbeit  -s enabled=true -r Elogbook
 call kcadm set-password -r Elogbook --username %usernameVar% --new-password %usernameVar%
 echo pwd set
-call kcadm add-roles --uusername %usernameVar% --rolename grid-failure-access --rolename grid-failure-public-relations -r Elogbook
+call kcadm add-roles --uusername %usernameVar% --rolename grid-failure-access --rolename grid-failure-publisher -r Elogbook
 echo roles set
 REM ***************** CREATING NEW USER *****************
 SET usernameVar=liam_e
@@ -33,12 +33,12 @@
 call kcadm add-roles --uusername %usernameVar% --rolename grid-failure-access --rolename grid-failure-creator -r Elogbook
 echo roles set
 REM ***************** CREATING NEW USER *****************
-SET usernameVar=theo_b
+SET usernameVar=theo_q
 echo ------- Creating User: %usernameVar% -------
-call kcadm create users -s username=%usernameVar% -s firstName=Theo -s lastName=Bearbeiter  -s enabled=true -r Elogbook
+call kcadm create users -s username=%usernameVar% -s firstName=Theo -s lastName=Qualifizierer  -s enabled=true -r Elogbook
 call kcadm set-password -r Elogbook --username %usernameVar% --new-password %usernameVar%
 echo pwd set
-call kcadm add-roles --uusername %usernameVar% --rolename grid-failure-access --rolename grid-failure-processor -r Elogbook
+call kcadm add-roles --uusername %usernameVar% --rolename grid-failure-access --rolename grid-failure-qualifier -r Elogbook
 echo roles set
 REM ***************** CREATING NEW USER *****************
 SET usernameVar=tom_p
@@ -46,7 +46,7 @@
 call kcadm create users -s username=%usernameVar% -s firstName=Tom -s lastName=Öffentlichkeitsarbeit  -s enabled=true -r Elogbook
 call kcadm set-password -r Elogbook --username %usernameVar% --new-password %usernameVar%
 echo pwd set
-call kcadm add-roles --uusername %usernameVar% --rolename grid-failure-access --rolename grid-failure-public-relations -r Elogbook
+call kcadm add-roles --uusername %usernameVar% --rolename grid-failure-access --rolename grid-failure-publisher -r Elogbook
 echo roles set
 
 echo ------- Finished -------
diff --git a/gfsBackendService/deploy/keycloak/addKeycloakUsersGFI.sh b/gfsBackendService/deploy/keycloak/addKeycloakUsersGFI.sh
index 8109c4e..08c8231 100644
--- a/gfsBackendService/deploy/keycloak/addKeycloakUsersGFI.sh
+++ b/gfsBackendService/deploy/keycloak/addKeycloakUsersGFI.sh
@@ -5,50 +5,50 @@
 # ***************** CREATING NEW USER *****************
 usernameVar="leonie_e"
 echo ------- Creating User: $usernameVar -------
-sh kcadm.sh create users -s username=$usernameVar -s firstName=Leonie -s lastName=Erfasser  -s enabled=true -r $realmVar
+sh kcadm.sh create users -s username=$usernameVar -s firstName=Leonie -s lastName=Erfasser -s enabled=true -r $realmVar
 sh kcadm.sh set-password -r $realmVar --username $usernameVar --new-password $usernameVar
 echo pwd set
 sh kcadm.sh add-roles --uusername $usernameVar --rolename grid-failure-access --rolename grid-failure-creator -r $realmVar
 echo roles set
 # ***************** CREATING NEW USER *****************
-usernameVar="marie_b"
+usernameVar="marie_q"
 echo ------- Creating User: $usernameVar -------
-sh kcadm.sh create users -s username=$usernameVar -s firstName=Marie -s lastName=Bearbeiter  -s enabled=true -r $realmVar
+sh kcadm.sh create users -s username=$usernameVar -s firstName=Marie -s lastName=Qualifizierer -s enabled=true -r $realmVar
 sh kcadm.sh set-password -r $realmVar --username $usernameVar --new-password $usernameVar
 echo pwd set
-sh kcadm.sh add-roles --uusername $usernameVar --rolename grid-failure-access --rolename grid-failure-processor -r $realmVar
+sh kcadm.sh add-roles --uusername $usernameVar --rolename grid-failure-access --rolename grid-failure-qualifier -r $realmVar
 echo roles set
 # ***************** CREATING NEW USER *****************
 usernameVar="laura_p"
 echo ------- Creating User: $usernameVar -------
-sh kcadm.sh create users -s username=$usernameVar -s firstName=Laura -s lastName=Öffentlichkeitsarbeit  -s enabled=true -r $realmVar
+sh kcadm.sh create users -s username=$usernameVar -s firstName=Laura -s lastName=Öffentlichkeitsarbeit -s enabled=true -r $realmVar
 sh kcadm.sh set-password -r $realmVar --username $usernameVar --new-password $usernameVar
 echo pwd set
-sh kcadm.sh add-roles --uusername $usernameVar --rolename grid-failure-access --rolename grid-failure-public-relations -r $realmVar
+sh kcadm.sh add-roles --uusername $usernameVar --rolename grid-failure-access --rolename grid-failure-publisher -r $realmVar
 echo roles set
 # ***************** CREATING NEW USER *****************
 usernameVar="liam_e"
 echo ------- Creating User: $usernameVar -------
-sh kcadm.sh create users -s username=$usernameVar -s firstName=Liam -s lastName=Erfasser  -s enabled=true -r $realmVar
+sh kcadm.sh create users -s username=$usernameVar -s firstName=Liam -s lastName=Erfasser -s enabled=true -r $realmVar
 sh kcadm.sh set-password -r $realmVar --username $usernameVar --new-password $usernameVar
 echo pwd set
 sh kcadm.sh add-roles --uusername $usernameVar --rolename grid-failure-access --rolename grid-failure-creator -r $realmVar
 echo roles set
 # ***************** CREATING NEW USER *****************
-usernameVar="theo_b"
+usernameVar="theo_q"
 echo ------- Creating User: $usernameVar -------
-sh kcadm.sh create users -s username=$usernameVar -s firstName=Theo -s lastName=Bearbeiter  -s enabled=true -r $realmVar
+sh kcadm.sh create users -s username=$usernameVar -s firstName=Theo -s lastName=Qualifizierer -s enabled=true -r $realmVar
 sh kcadm.sh set-password -r $realmVar --username $usernameVar --new-password $usernameVar
 echo pwd set
-sh kcadm.sh add-roles --uusername $usernameVar --rolename grid-failure-access --rolename grid-failure-processor -r $realmVar
+sh kcadm.sh add-roles --uusername $usernameVar --rolename grid-failure-access --rolename grid-failure-qualifier -r $realmVar
 echo roles set
 # ***************** CREATING NEW USER *****************
 usernameVar="tom_p"
 echo ------- Creating User: $usernameVar -------
-sh kcadm.sh create users -s username=$usernameVar -s firstName=Tom -s lastName=Öffentlichkeitsarbeit  -s enabled=true -r $realmVar
+sh kcadm.sh create users -s username=$usernameVar -s firstName=Tom -s lastName=Öffentlichkeitsarbeit -s enabled=true -r $realmVar
 sh kcadm.sh set-password -r $realmVar --username $usernameVar --new-password $usernameVar
 echo pwd set
-sh kcadm.sh add-roles --uusername $usernameVar --rolename grid-failure-access --rolename grid-failure-public-relations -r $realmVar
+sh kcadm.sh add-roles --uusername $usernameVar --rolename grid-failure-access --rolename grid-failure-publisher -r $realmVar
 echo roles set
 
 echo ------- Finished -------
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/controller/PublicationTextController.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/controller/PublicationTextController.java
new file mode 100644
index 0000000..6bd7339
--- /dev/null
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/controller/PublicationTextController.java
@@ -0,0 +1,46 @@
+/*
+ *******************************************************************************
+ * 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
+ *******************************************************************************
+ */
+package org.eclipse.openk.gridfailureinformation.controller;
+
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import lombok.extern.log4j.Log4j2;
+import org.eclipse.openk.gridfailureinformation.service.PublicationTextService;
+import org.eclipse.openk.gridfailureinformation.viewmodel.PublicationTextDto;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@Log4j2
+@RestController
+@RequestMapping("/publication-texts")
+public class PublicationTextController {
+
+    @Autowired
+    private PublicationTextService publicationTextService;
+
+    @ApiOperation(value = "Anzeigen aller Veröffentlichungstexte")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "Erfolgreich durchgeführt")})
+    @GetMapping
+    public List<PublicationTextDto> findPublicationTexts() { return publicationTextService.getPublicationTexts();  }
+
+
+
+
+}
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/controller/RadiusController.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/controller/RadiusController.java
new file mode 100644
index 0000000..be01199
--- /dev/null
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/controller/RadiusController.java
@@ -0,0 +1,47 @@
+/*
+ *******************************************************************************
+ * 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
+ *******************************************************************************
+ */
+package org.eclipse.openk.gridfailureinformation.controller;
+
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import lombok.extern.log4j.Log4j2;
+import org.eclipse.openk.gridfailureinformation.service.RadiusService;
+import org.eclipse.openk.gridfailureinformation.viewmodel.RadiusDto;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@Log4j2
+@RestController
+@RequestMapping("/radii")
+public class RadiusController {
+
+    @Autowired
+    private RadiusService radiusService;
+
+    @ApiOperation(value = "Anzeigen aller Radien")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "Erfolgreich durchgeführt")})
+    @GetMapping
+    public List<RadiusDto> findRadii() { return radiusService.getRadii();
+    }
+
+
+
+
+}
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/mapper/FailureInformationMapper.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/mapper/FailureInformationMapper.java
index 36e47c3..b178ec5 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/mapper/FailureInformationMapper.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/mapper/FailureInformationMapper.java
@@ -34,7 +34,11 @@
             @Mapping(source = "refStatusExtern.status", target = "statusExtern"),
             @Mapping(source = "refBranch.uuid", target = "branchId"),
             @Mapping(source = "refBranch.name", target = "branch"),
-            @Mapping(source = "refBranch.colorCode", target = "branchColorCode")
+            @Mapping(source = "refBranch.colorCode", target = "branchColorCode"),
+            @Mapping(source = "refRadius.uuid", target = "radiusId"),
+            @Mapping(source = "refRadius.radius", target = "radius"),
+            @Mapping(source = "refPublicationText.uuid", target = "publicationTextId"),
+            @Mapping(source = "refPublicationText.text", target = "publicationText")
     })
     FailureInformationDto toFailureInformationDto(TblFailureInformation tblFailureInformation);
 
@@ -49,7 +53,11 @@
             @Mapping(target = "refStatusExtern.status", source = "statusExtern"),
             @Mapping(target = "refBranch.uuid", source = "branchId"),
             @Mapping(target = "refBranch.name", source = "branch"),
-            @Mapping(target = "refBranch.colorCode", source = "branchColorCode")
+            @Mapping(target = "refBranch.colorCode", source = "branchColorCode"),
+            @Mapping(target = "refRadius.uuid", source = "radiusId"),
+            @Mapping(target = "refRadius.radius", source = "radius"),
+            @Mapping(target = "refPublicationText.uuid", source = "publicationTextId"),
+            @Mapping(target = "refPublicationText.text", source = "publicationText")
     })
     TblFailureInformation toTblFailureInformation(FailureInformationDto failureInformationDto);
 
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/mapper/PublicationTextMapper.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/mapper/PublicationTextMapper.java
new file mode 100644
index 0000000..e8afdf4
--- /dev/null
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/mapper/PublicationTextMapper.java
@@ -0,0 +1,25 @@
+/*
+ *******************************************************************************
+ * 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
+ *******************************************************************************
+ */
+package org.eclipse.openk.gridfailureinformation.mapper;
+
+import org.eclipse.openk.gridfailureinformation.model.RefPublicationText;
+import org.eclipse.openk.gridfailureinformation.viewmodel.PublicationTextDto;
+import org.mapstruct.Mapper;
+import org.mapstruct.ReportingPolicy;
+
+@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE)
+public interface PublicationTextMapper {
+    PublicationTextDto toPublicationTextDto(RefPublicationText refPublicationText);
+}
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/mapper/RadiusMapper.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/mapper/RadiusMapper.java
new file mode 100644
index 0000000..a61be48
--- /dev/null
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/mapper/RadiusMapper.java
@@ -0,0 +1,25 @@
+/*
+ *******************************************************************************
+ * 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
+ *******************************************************************************
+ */
+package org.eclipse.openk.gridfailureinformation.mapper;
+
+import org.eclipse.openk.gridfailureinformation.model.RefRadius;
+import org.eclipse.openk.gridfailureinformation.viewmodel.RadiusDto;
+import org.mapstruct.Mapper;
+import org.mapstruct.ReportingPolicy;
+
+@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE)
+public interface RadiusMapper {
+    RadiusDto toRadiusDto(RefRadius refRadius);
+}
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/HtblFailureInformation.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/HtblFailureInformation.java
index a39325e..a4326dd 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/HtblFailureInformation.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/HtblFailureInformation.java
@@ -57,11 +57,14 @@
     private String district;
     private String street;
     private String housenumber;
+    private String stationId;
     private String stationDescription;
     private String stationCoords;
-    private String radius;
     private BigDecimal longitude;
     private BigDecimal latitude;
+    private String objectReferenceExternalSystem;
+    private String publicationStatus;
+    private String publicationFreetext;
 
     @CreatedDate
     @Column(name = "create_date")
@@ -99,4 +102,12 @@
     @JoinColumn( name = "fk_ref_branch")
     private RefBranch refBranch;
 
+    @ManyToOne
+    @JoinColumn( name = "fk_ref_radius")
+    private RefRadius refRadius;
+
+    @ManyToOne
+    @JoinColumn( name = "fk_ref_publication_text")
+    private RefPublicationText refPublicationText;
+
 }
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/RefPublicationText.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/RefPublicationText.java
new file mode 100644
index 0000000..45897e0
--- /dev/null
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/RefPublicationText.java
@@ -0,0 +1,33 @@
+/*
+ *******************************************************************************
+ * 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
+ *******************************************************************************
+*/
+package org.eclipse.openk.gridfailureinformation.model;
+
+import lombok.Data;
+
+import javax.persistence.*;
+import java.util.UUID;
+
+@Data
+@Entity
+public class RefPublicationText {
+    @Id
+    @GeneratedValue(strategy = GenerationType.SEQUENCE,  generator = "ref_publication_text_id_seq")
+    @SequenceGenerator(name = "ref_publication_text_id_seq", sequenceName = "ref_publication_text_id_seq", allocationSize = 1)
+    @Column(name = "id", updatable = false)
+    private Long id;
+    private UUID uuid;
+    private String text;
+    private String description;
+}
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/RefRadius.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/RefRadius.java
new file mode 100644
index 0000000..9592f6d
--- /dev/null
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/RefRadius.java
@@ -0,0 +1,32 @@
+/*
+ *******************************************************************************
+ * 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
+ *******************************************************************************
+*/
+package org.eclipse.openk.gridfailureinformation.model;
+
+import lombok.Data;
+
+import javax.persistence.*;
+import java.util.UUID;
+
+@Data
+@Entity
+public class RefRadius {
+    @Id
+    @GeneratedValue(strategy = GenerationType.SEQUENCE,  generator = "ref_radius_id_seq")
+    @SequenceGenerator(name = "ref_radius_id_seq", sequenceName = "ref_radius_id_seq", allocationSize = 1)
+    @Column(name = "id", updatable = false)
+    private Long id;
+    private UUID uuid;
+    private String radius;
+}
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailureInformation.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailureInformation.java
index df01801..d42d324 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailureInformation.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailureInformation.java
@@ -57,11 +57,14 @@
     private String district;
     private String street;
     private String housenumber;
+    private String stationId;
     private String stationDescription;
     private String stationCoords;
-    private String radius;
     private BigDecimal longitude;
     private BigDecimal latitude;
+    private String objectReferenceExternalSystem;
+    private String publicationStatus;
+    private String publicationFreetext;
 
     @CreatedDate
     @Column(name = "create_date")
@@ -99,4 +102,13 @@
     @JoinColumn( name = "fk_ref_branch")
     private RefBranch refBranch;
 
+    @ManyToOne
+    @JoinColumn( name = "fk_ref_radius")
+    private RefRadius refRadius;
+
+    @ManyToOne
+    @JoinColumn( name = "fk_ref_publication_text")
+    private RefPublicationText refPublicationText;
+
+
 }
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/PublicationTextRepository.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/PublicationTextRepository.java
new file mode 100644
index 0000000..052939b
--- /dev/null
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/PublicationTextRepository.java
@@ -0,0 +1,32 @@
+/*
+ *******************************************************************************
+ * 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
+ *******************************************************************************
+ */
+
+package org.eclipse.openk.gridfailureinformation.repository;
+
+import org.eclipse.openk.gridfailureinformation.model.RefPublicationText;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Optional;
+import java.util.UUID;
+
+@Repository
+public interface PublicationTextRepository extends JpaRepository<RefPublicationText, Long > {
+
+    List<RefPublicationText> findAll();
+
+    Optional<RefPublicationText> findByUuid(UUID uuid);
+}
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/RadiusRepository.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/RadiusRepository.java
new file mode 100644
index 0000000..cf7b51a
--- /dev/null
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/repository/RadiusRepository.java
@@ -0,0 +1,32 @@
+/*
+ *******************************************************************************
+ * 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
+ *******************************************************************************
+ */
+
+package org.eclipse.openk.gridfailureinformation.repository;
+
+import org.eclipse.openk.gridfailureinformation.model.RefRadius;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Optional;
+import java.util.UUID;
+
+@Repository
+public interface RadiusRepository extends JpaRepository<RefRadius, Long > {
+
+    List<RefRadius> findAll();
+
+    Optional<RefRadius> findByUuid(UUID uuid);
+}
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/EmailService.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/EmailService.java
index c657cb6..6674d5c 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/EmailService.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/EmailService.java
@@ -31,7 +31,7 @@
     EmailConfig emailConfig;
 
     public boolean sendTestMail() throws MessagingException {
-        EmailManager emailManager = new GfiEmail(null, "emailConfigurationTest/emailTemplates/appliedEmailTemplateTest.txt", false, emailConfig);
+        EmailManager emailManager = new GfiEmail(null, "emailConfiguration/emailTemplates/appliedEmailTemplate.txt", false, emailConfig);
         return emailManager.sendEmail();
     }
 
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationService.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationService.java
index b9cc662..a318fb8 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationService.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationService.java
@@ -59,6 +59,13 @@
     private FailureTypeRepository failureTypeRepository;
 
     @Autowired
+    private RadiusRepository radiusRepository;
+
+    @Autowired
+    private PublicationTextRepository publicationTextRepository;
+
+
+    @Autowired
     private StatusRepository statusRepository;
 
     @Autowired
@@ -180,6 +187,23 @@
             destTblFailureInformation.setRefStatusExtern(null);
         }
 
+        if( sourceDto.getRadiusId() != null ) {
+            destTblFailureInformation.setRefRadius( radiusRepository
+                    .findByUuid(sourceDto.getRadiusId())
+                    .orElseThrow(() -> new NotFoundException("radius.uuid.not.existing")));
+        }
+        else {
+            destTblFailureInformation.setRefRadius(null);
+        }
+
+        if( sourceDto.getPublicationTextId() != null ) {
+            destTblFailureInformation.setRefPublicationText( publicationTextRepository
+                    .findByUuid(sourceDto.getPublicationTextId())
+                    .orElseThrow(() -> new NotFoundException("publicationText.uuid.not.existing")));
+        }
+        else {
+            destTblFailureInformation.setRefPublicationText(null);
+        }
     }
 
 }
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/PublicationTextService.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/PublicationTextService.java
new file mode 100644
index 0000000..0611455
--- /dev/null
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/PublicationTextService.java
@@ -0,0 +1,43 @@
+/*
+ *******************************************************************************
+ * 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
+ *******************************************************************************
+*/
+package org.eclipse.openk.gridfailureinformation.service;
+
+import org.eclipse.openk.gridfailureinformation.mapper.PublicationTextMapper;
+import org.eclipse.openk.gridfailureinformation.repository.PublicationTextRepository;
+import org.eclipse.openk.gridfailureinformation.viewmodel.PublicationTextDto;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Service
+public class PublicationTextService {
+
+    @Autowired
+    private PublicationTextRepository publicationTextRepository;
+
+    @Autowired
+    private PublicationTextMapper publicationTextMapper;
+
+
+    public List<PublicationTextDto> getPublicationTexts() {
+
+        return publicationTextRepository.findAll().stream()
+                .map( publicationTextMapper::toPublicationTextDto )
+                .collect(Collectors.toList());
+    }
+
+}
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/RadiusService.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/RadiusService.java
new file mode 100644
index 0000000..9c27e5e
--- /dev/null
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/RadiusService.java
@@ -0,0 +1,43 @@
+/*
+ *******************************************************************************
+ * 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
+ *******************************************************************************
+*/
+package org.eclipse.openk.gridfailureinformation.service;
+
+import org.eclipse.openk.gridfailureinformation.mapper.RadiusMapper;
+import org.eclipse.openk.gridfailureinformation.repository.RadiusRepository;
+import org.eclipse.openk.gridfailureinformation.viewmodel.RadiusDto;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Service
+public class RadiusService {
+
+    @Autowired
+    private RadiusRepository radiusRepository;
+
+    @Autowired
+    private RadiusMapper radiusMapper;
+
+
+    public List<RadiusDto> getRadii() {
+
+        return radiusRepository.findAll().stream()
+                .map( radiusMapper::toRadiusDto )
+                .collect(Collectors.toList());
+    }
+
+}
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/viewmodel/FailureInformationDto.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/viewmodel/FailureInformationDto.java
index 2c546ed..055b2fd 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/viewmodel/FailureInformationDto.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/viewmodel/FailureInformationDto.java
@@ -51,11 +51,14 @@
     private String district;
     private String street;
     private String housenumber;
+    private String stationId;
     private String stationDescription;
     private String stationCoords;
-    private String radius;
     private BigDecimal longitude;
     private BigDecimal latitude;
+    private String objectReferenceExternalSystem;
+    private String publicationStatus;
+    private String publicationFreetext;
 
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
     private Date createDate;
@@ -80,4 +83,10 @@
     private UUID branchId;
     private String branch;
     private String branchColorCode;
+
+    private UUID radiusId;
+    private String radius;
+
+    private UUID publicationTextId;
+    private String publicationText;
 }
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/viewmodel/PublicationTextDto.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/viewmodel/PublicationTextDto.java
new file mode 100644
index 0000000..0a8455f
--- /dev/null
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/viewmodel/PublicationTextDto.java
@@ -0,0 +1,29 @@
+/*
+ *******************************************************************************
+ * 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
+ *******************************************************************************
+ */
+package org.eclipse.openk.gridfailureinformation.viewmodel;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.UUID;
+
+@Data
+public class PublicationTextDto implements Serializable {
+    @JsonProperty("id")
+    private UUID uuid;
+    private String text;
+    private String description;
+}
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/viewmodel/RadiusDto.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/viewmodel/RadiusDto.java
new file mode 100644
index 0000000..56742a5
--- /dev/null
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/viewmodel/RadiusDto.java
@@ -0,0 +1,28 @@
+/*
+ *******************************************************************************
+ * 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
+ *******************************************************************************
+ */
+package org.eclipse.openk.gridfailureinformation.viewmodel;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.UUID;
+
+@Data
+public class RadiusDto implements Serializable {
+    @JsonProperty("id")
+    private UUID uuid;
+    private String radius;
+}
diff --git a/gfsBackendService/src/main/resources/application.yml b/gfsBackendService/src/main/resources/application.yml
index 96ac1b5..b09ac32 100644
--- a/gfsBackendService/src/main/resources/application.yml
+++ b/gfsBackendService/src/main/resources/application.yml
@@ -166,4 +166,9 @@
     listOfServers: http://localhost:8080
 
 cors:
-  corsEnabled: true
\ No newline at end of file
+  corsEnabled: true
+
+email:
+  sender: sender@olaf.senderson
+  smtpHost: localhost
+  port: 1025
\ No newline at end of file
diff --git a/gfsBackendService/src/main/resources/db/migration/V0_8__CREATE_GFI_DB.sql b/gfsBackendService/src/main/resources/db/migration/V0_8__CREATE_GFI_DB.sql
new file mode 100644
index 0000000..f0f45ac
--- /dev/null
+++ b/gfsBackendService/src/main/resources/db/migration/V0_8__CREATE_GFI_DB.sql
@@ -0,0 +1,568 @@
+-----------------------------------------------------------------------------------
+-- *******************************************************************************
+-- * 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
+-- *******************************************************************************
+-----------------------------------------------------------------------------------
+-- CREATE ROLE GFI_SERVICE LOGIN
+-- NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
+-- ALTER ROLE GFI_SERVICE with password 'gfi_service';
+
+DROP TABLE IF EXISTS public.VERSION CASCADE;
+DROP TABLE IF EXISTS public.TBL_FAILURE_INFORMATION CASCADE;
+DROP SEQUENCE IF EXISTS public.TBL_FAILURE_INFORMATION_ID_SEQ;
+
+DROP TABLE IF EXISTS public.REF_STATUS CASCADE;
+DROP SEQUENCE IF EXISTS public.REF_STATUS_ID_SEQ;
+
+DROP TABLE IF EXISTS public.REF_BRANCH CASCADE;
+DROP SEQUENCE IF EXISTS public.REF_BRANCH_ID_SEQ;
+
+DROP TABLE IF EXISTS public.REF_FAILURE_CLASSIFICATION CASCADE;
+DROP SEQUENCE IF EXISTS public.REF_FAILURE_CLASSIFICATION_ID_SEQ;
+
+DROP TABLE IF EXISTS public.REF_FAILURE_TYPE CASCADE;
+DROP SEQUENCE IF EXISTS public.REF_FAILURE_TYPE_ID_SEQ;
+
+DROP TABLE IF EXISTS public.REF_RADIUS CASCADE;
+DROP SEQUENCE IF EXISTS public.REF_RADIUS_ID_SEQ;
+
+DROP TABLE IF EXISTS public.REF_PUBLICATION_TEXT CASCADE;
+DROP SEQUENCE IF EXISTS public.REF_PUBLICATION_TEXT_ID_SEQ;
+
+DROP TABLE IF EXISTS public.TBL_IMPORT_DATA CASCADE;
+DROP SEQUENCE IF EXISTS public.TBL_IMPORT_DATA_ID_SEQ;
+
+-- ---------------------------------------------
+-- TABLE VERSION
+-- ---------------------------------------------
+CREATE TABLE public.VERSION
+(
+  ID integer NOT NULL,
+  VERSION character varying(50) NOT NULL,
+  CONSTRAINT REF_VERSION_PKEY PRIMARY KEY (id)
+);
+
+ALTER TABLE public.VERSION
+  OWNER TO GFI_SERVICE;
+GRANT ALL ON TABLE public.VERSION TO GFI_SERVICE;
+
+INSERT INTO public.VERSION (ID, VERSION) VALUES ( 1, '00-DEV' );
+
+-- ---------------------------------------------
+-- TABLE REF_STATUS
+-- ---------------------------------------------
+CREATE SEQUENCE public.ref_status_id_seq
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.ref_status_id_seq
+  OWNER TO GFI_SERVICE;
+
+CREATE TABLE public.REF_STATUS
+(
+  ID integer NOT NULL  DEFAULT nextval('REF_STATUS_ID_SEQ'::regclass),
+  UUID uuid NOT NULL,
+  STATUS character varying(50) NOT NULL,
+  IS_INTERNAL boolean NOT NULL,
+  IS_EXTERNAL boolean NOT NULL,
+  CONSTRAINT REF_STATUS_PKEY PRIMARY KEY (id)
+);
+
+ALTER TABLE public.REF_STATUS
+  OWNER TO GFI_SERVICE;
+GRANT ALL ON TABLE public.REF_STATUS TO GFI_SERVICE;
+
+INSERT INTO public.REF_STATUS (UUID, STATUS, IS_INTERNAL, IS_EXTERNAL) VALUES ( 'acabc8f6-2cf3-485a-a4f8-68d178c7df45', 'neu', TRUE, TRUE );
+INSERT INTO public.REF_STATUS (UUID, STATUS, IS_INTERNAL, IS_EXTERNAL) VALUES ( 'a6cda99d-9f41-4637-9d9b-04f95ea352ec', 'bestätigt', TRUE, TRUE );
+INSERT INTO public.REF_STATUS (UUID, STATUS, IS_INTERNAL, IS_EXTERNAL) VALUES ( '23fc0254-cc3d-4371-97ad-54ef733008ae', 'aktiv', TRUE, FALSE );
+INSERT INTO public.REF_STATUS (UUID, STATUS, IS_INTERNAL, IS_EXTERNAL) VALUES ( '9374219a-7419-4b72-899d-cd0576d85cdb', 'geschlossen', TRUE, TRUE );
+
+
+-- ---------------------------------------------
+-- TABLE REF_FAILURE_CLASSIFICATION
+-- ---------------------------------------------
+CREATE SEQUENCE public.ref_failure_classification_id_seq
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.ref_failure_classification_id_seq
+  OWNER TO GFI_SERVICE;
+
+CREATE TABLE public.REF_FAILURE_CLASSIFICATION
+(
+  ID integer NOT NULL  DEFAULT nextval('REF_FAILURE_CLASSIFICATION_ID_SEQ'::regclass),
+  UUID uuid NOT NULL,
+  CLASSIFICATION character varying(50) NOT NULL,
+  DESCRIPTION character varying(255) NULL,
+  CONSTRAINT REF_FAILURE_CLASSIFICATION_PKEY PRIMARY KEY (id)
+);
+
+ALTER TABLE public.REF_FAILURE_CLASSIFICATION
+  OWNER TO GFI_SERVICE;
+GRANT ALL ON TABLE public.REF_FAILURE_CLASSIFICATION TO GFI_SERVICE;
+
+INSERT INTO public.REF_FAILURE_CLASSIFICATION (UUID, CLASSIFICATION, DESCRIPTION) VALUES ( '9255fb79-c57a-4448-a69c-5d57994f0c91', 'Störung', NULL );
+INSERT INTO public.REF_FAILURE_CLASSIFICATION (UUID, CLASSIFICATION, DESCRIPTION) VALUES ( '8db5a71b-9676-45ca-ae1d-161c6a2dc305', 'Ereignis', NULL );
+INSERT INTO public.REF_FAILURE_CLASSIFICATION (UUID, CLASSIFICATION, DESCRIPTION) VALUES ( '8ec1e144-5230-4d43-a3df-f62dd64bb855', 'geplante Maßnahme', NULL );
+
+
+-- ---------------------------------------------
+-- TABLE REF_FAILURE_TYPE
+-- ---------------------------------------------
+CREATE SEQUENCE public.ref_failure_type_id_seq
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.ref_failure_type_id_seq
+  OWNER TO GFI_SERVICE;
+
+CREATE TABLE public.REF_FAILURE_TYPE
+(
+  ID integer NOT NULL DEFAULT nextval('REF_FAILURE_TYPE_ID_SEQ'::regclass),
+  UUID uuid NOT NULL,
+  TYPE character varying(50) NOT NULL,
+  DESCRIPTION character varying(255) NULL,
+  CONSTRAINT REF_FAILURE_TYPE_PKEY PRIMARY KEY (id)
+);
+
+ALTER TABLE public.REF_FAILURE_TYPE
+  OWNER TO GFI_SERVICE;
+GRANT ALL ON TABLE public.REF_FAILURE_TYPE TO GFI_SERVICE;
+
+
+INSERT INTO public.REF_FAILURE_TYPE (UUID, TYPE, DESCRIPTION) VALUES ( '44a2aaed-8910-4116-b0c4-0855f8d3c28d', 'Information', NULL );
+INSERT INTO public.REF_FAILURE_TYPE (UUID, TYPE, DESCRIPTION) VALUES ( '94e880c4-3127-47d5-aaee-5f778462ab0c', 'zu veröffentliche Meldung', 'Standardwert' );
+INSERT INTO public.REF_FAILURE_TYPE (UUID, TYPE, DESCRIPTION) VALUES ( '658245bd-bdc4-47dd-bc90-0336f9471410', 'unterlagerte Störung', 'Nicht zu veröffentlichen' );
+
+-- ---------------------------------------------
+-- TABLE REF_BRANCH
+-- ---------------------------------------------
+CREATE SEQUENCE public.ref_branch_id_seq
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.ref_branch_id_seq
+  OWNER TO GFI_SERVICE;
+
+CREATE TABLE public.REF_BRANCH
+(
+  ID integer NOT NULL DEFAULT nextval('REF_BRANCH_ID_SEQ'::regclass),
+  UUID uuid NOT NULL,
+  NAME character varying(50) NOT NULL,
+  DESCRIPTION character varying(255),
+  COLOR_CODE character varying(20),
+  CONSTRAINT REF_BRANCH_PKEY PRIMARY KEY (id)
+);
+
+ALTER TABLE public.REF_BRANCH
+  OWNER TO GFI_SERVICE;
+GRANT ALL ON TABLE public.REF_BRANCH TO GFI_SERVICE;
+
+INSERT INTO public.ref_branch(uuid, name, description, color_code) VALUES ('535b4beb-9b17-4247-bb8b-26bd01b48f9a', 'S', 'Strom', '#fc6042');
+INSERT INTO public.ref_branch(uuid, name, description, color_code) VALUES ('d41f54e5-c4df-440e-b334-40e8f3a6854a', 'G', 'Gas', '#fdea64');
+INSERT INTO public.ref_branch(uuid, name, description, color_code) VALUES ('62c6d361-96a0-41cc-bda1-4e58ad16f21a', 'F', 'Fernwärme', '#2cc990');
+INSERT INTO public.ref_branch(uuid, name, description, color_code) VALUES ('d8d93e0e-5c8c-4ab8-9625-f820de55ee7c', 'W', 'Wasser', '#2c82c9');
+
+
+-- ---------------------------------------------
+-- TABLE REF_PUBLICATION_TEXT
+-- ---------------------------------------------
+CREATE SEQUENCE public.ref_publication_text_id_seq
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.ref_publication_text_id_seq
+  OWNER TO GFI_SERVICE;
+
+CREATE TABLE public.REF_PUBLICATION_TEXT
+(
+  ID integer NOT NULL DEFAULT nextval('REF_PUBLICATION_TEXT_ID_SEQ'::regclass),
+  UUID uuid NOT NULL,
+  TEXT character varying(100) NOT NULL,
+  DESCRIPTION character varying(255) NULL,
+  CONSTRAINT REF_PUBLICATION_TEXT_PKEY PRIMARY KEY (id)
+);
+
+ALTER TABLE public.REF_PUBLICATION_TEXT
+  OWNER TO GFI_SERVICE;
+GRANT ALL ON TABLE public.REF_PUBLICATION_TEXT TO GFI_SERVICE;
+
+INSERT INTO public.ref_publication_text(uuid, text, description) VALUES ('27a07918-6aa0-11ea-bc55-0242ac130003', 'Defekt technische Anlage', 'Dies ist die Beschreibung für: Defekt technische Anlage');
+INSERT INTO public.ref_publication_text(uuid, text, description) VALUES ('27a07c42-6aa0-11ea-bc55-0242ac130003', 'Kabelfehler Mittelspannung', 'Dies ist die Beschreibung für: Kabelfehler Mittelspannung');
+INSERT INTO public.ref_publication_text(uuid, text, description) VALUES ('27a07d50-6aa0-11ea-bc55-0242ac130003', 'Kabelfehler Niederspannung', 'Dies ist die Beschreibung für: Kabelfehler Niederspannung');
+INSERT INTO public.ref_publication_text(uuid, text, description) VALUES ('27a07e22-6aa0-11ea-bc55-0242ac130003', 'Leitung beschädigt', 'Dies ist die Beschreibung für: Leitung beschädigt');
+INSERT INTO public.ref_publication_text(uuid, text, description) VALUES ('27a07eea-6aa0-11ea-bc55-0242ac130003', 'noch nicht bekannt', 'Dies ist die Beschreibung für: noch nicht bekannt');
+INSERT INTO public.ref_publication_text(uuid, text, description) VALUES ('27a07fbc-6aa0-11ea-bc55-0242ac130003', 'Wasserrohrbruch', 'Dies ist die Beschreibung für: Wasserrohrbruch');
+INSERT INTO public.ref_publication_text(uuid, text, description) VALUES ('27a08160-6aa0-11ea-bc55-0242ac130003', 'Überregionale Störung', 'Dies ist die Beschreibung für: Überregionale Störung');
+
+-- ---------------------------------------------
+-- TABLE REF_RADIUS
+-- ---------------------------------------------
+CREATE SEQUENCE public.ref_radius_id_seq
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.ref_radius_id_seq
+  OWNER TO GFI_SERVICE;
+
+CREATE TABLE public.REF_RADIUS
+(
+  ID integer NOT NULL DEFAULT nextval('REF_RADIUS_ID_SEQ'::regclass),
+  UUID uuid NOT NULL,
+  RADIUS character varying(20) NOT NULL,
+  CONSTRAINT REF_RADIUS_PKEY PRIMARY KEY (id)
+);
+
+ALTER TABLE public.REF_RADIUS
+  OWNER TO GFI_SERVICE;
+GRANT ALL ON TABLE public.REF_RADIUS TO GFI_SERVICE;
+
+INSERT INTO public.REF_RADIUS(uuid, radius) VALUES ('36671000-6aa6-11ea-bc55-0242ac130003', '50m');
+INSERT INTO public.REF_RADIUS(uuid, radius) VALUES ('366712a8-6aa6-11ea-bc55-0242ac130003', '100m');
+INSERT INTO public.REF_RADIUS(uuid, radius) VALUES ('366713c0-6aa6-11ea-bc55-0242ac130003', '250m');
+INSERT INTO public.REF_RADIUS(uuid, radius) VALUES ('3667150a-6aa6-11ea-bc55-0242ac130003', '500m');
+INSERT INTO public.REF_RADIUS(uuid, radius) VALUES ('36671780-6aa6-11ea-bc55-0242ac130003', '1000m');
+INSERT INTO public.REF_RADIUS(uuid, radius) VALUES ('3667187a-6aa6-11ea-bc55-0242ac130003', '1500m');
+INSERT INTO public.REF_RADIUS(uuid, radius) VALUES ('36671ad2-6aa6-11ea-bc55-0242ac130003', '2000m');
+
+-- ---------------------------------------------
+-- TABLE TBL_FAILURE_INFORMATION
+-- ---------------------------------------------
+CREATE SEQUENCE public.tbl_failure_information_id_seq
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.tbl_failure_information_id_seq
+  OWNER TO GFI_SERVICE;
+
+CREATE TABLE public.TBL_FAILURE_INFORMATION
+(
+  ID integer NOT NULL DEFAULT nextval('TBL_FAILURE_INFORMATION_ID_SEQ'::regclass),
+  UUID uuid NOT NULL,
+  VERSION_NUMBER integer NOT NULL,
+  FK_REF_FAILURE_CLASSIFICATION integer,
+  FK_REF_FAILURE_TYPE integer,
+  TITLE character varying(255) NULL,
+  DESCRIPTION character varying(255) NULL,
+  RESPONSIBILITY character varying(255),
+  INTERN_EXTERN character varying(1),
+  FK_REF_STATUS_INTERN integer NOT NULL,
+  FK_REF_STATUS_EXTERN integer NOT NULL,
+  FK_REF_BRANCH integer NOT NULL,
+  VOLTAGE_LEVEL character varying(2),
+  PRESSURE_LEVEL character varying(2),
+  FAILURE_BEGIN timestamp NOT NULL,
+  FAILURE_END_PLANNED timestamp,
+  FAILURE_END_RESUPPLIED timestamp,
+  PROBABLE_REASON character varying(1024),
+  INTERNAL_REMARK character varying(1024),
+  POSTCODE character varying(30),
+  CITY character varying(255),
+  DISTRICT character varying(255),
+  STREET character varying(255),
+  HOUSENUMBER character varying(30),
+  STATION_ID character varying (30),
+  STATION_DESCRIPTION character varying (255),
+  STATION_COORDS character varying (255),
+  FK_REF_RADIUS integer NOT NULL,
+  LONGITUDE numeric(9,6),
+  LATITUDE numeric(9,6),
+  OBJECT_REFERENCE_EXTERNAL_SYSTEM character varying (255),
+  PUBLICATION_STATUS character varying (40),
+  PUBLICATION_FREETEXT character varying (1024),
+  FK_REF_PUBLICATION_TEXT integer,
+  CREATE_DATE timestamp without time zone NOT NULL,
+  CREATE_USER character varying(100) NOT NULL,
+  MOD_DATE timestamp without time zone NOT NULL,
+  MOD_USER character varying(100),
+  CONSTRAINT TBL_FAILURE_INFORMATION_PKEY PRIMARY KEY (id)
+);
+
+ALTER TABLE public.TBL_FAILURE_INFORMATION
+  OWNER TO GFI_SERVICE;
+GRANT ALL ON TABLE public.TBL_FAILURE_INFORMATION TO GFI_SERVICE;
+
+INSERT INTO public.tbl_failure_information(UUID, VERSION_NUMBER, FK_REF_FAILURE_CLASSIFICATION, FK_REF_FAILURE_TYPE, TITLE, DESCRIPTION,  RESPONSIBILITY, INTERN_EXTERN, FK_REF_STATUS_INTERN, FK_REF_STATUS_EXTERN, FK_REF_BRANCH, VOLTAGE_LEVEL, PRESSURE_LEVEL, FAILURE_BEGIN, FAILURE_END_PLANNED, FAILURE_END_RESUPPLIED, PROBABLE_REASON, INTERNAL_REMARK, POSTCODE, CITY, DISTRICT, STREET, HOUSENUMBER, STATION_ID, STATION_DESCRIPTION, STATION_COORDS, FK_REF_RADIUS, LONGITUDE, LATITUDE, OBJECT_REFERENCE_EXTERNAL_SYSTEM, PUBLICATION_STATUS, PUBLICATION_FREETEXT, FK_REF_PUBLICATION_TEXT, CREATE_DATE, CREATE_USER, MOD_DATE, MOD_USER)
+VALUES ('6432a9c9-0384-44af-9bb8-34f2878d7b49',1, 1, 1, 'Stromausfall Murr', 'Es gibt einen Stromausfall im Bereich Murr/Westbezirk', 'Rolf Rudis', 'I', 1, 1, 1, 'NS', null, '2021-01-19 00:00:00', '2021-01-22 00:00:00', '2021-01-22 12:00:00', 'Stromausfall durch Bagger', 'Der Bagger grub zu tief', '71711', 'Murr', 'Westbezirk', 'Ferdinand-Porsche-Straße', '2', '52863a', 'Trafo 1', '124,2323', 2, 9.247952, 48.955700, 'Link - extenes System', 'veröffentlicht', 'Freitext für die Veröffentlichung: Defekt an Trafostation', 1, '2020-01-22 15:32:15', 'schmidth', '2020-01-24 08:02:44', 'meyers');
+
+INSERT INTO public.tbl_failure_information(UUID, VERSION_NUMBER, FK_REF_FAILURE_CLASSIFICATION, FK_REF_FAILURE_TYPE, TITLE, DESCRIPTION,  RESPONSIBILITY, INTERN_EXTERN, FK_REF_STATUS_INTERN, FK_REF_STATUS_EXTERN, FK_REF_BRANCH, VOLTAGE_LEVEL, PRESSURE_LEVEL, FAILURE_BEGIN, FAILURE_END_PLANNED, FAILURE_END_RESUPPLIED, PROBABLE_REASON, INTERNAL_REMARK, POSTCODE, CITY, DISTRICT, STREET, HOUSENUMBER, STATION_ID, STATION_DESCRIPTION, STATION_COORDS, FK_REF_RADIUS, LONGITUDE, LATITUDE, OBJECT_REFERENCE_EXTERNAL_SYSTEM, PUBLICATION_STATUS, PUBLICATION_FREETEXT, FK_REF_PUBLICATION_TEXT, CREATE_DATE, CREATE_USER, MOD_DATE, MOD_USER)
+VALUES ('37aef635-d0d4-4c47-ac25-c0d16c29e35c', 1,3, 2, 'Gasleck Oldenburg', 'Es gibt ein Gasleck in Oldenburg', 'Bernd Britzel', 'E', 2, 2, 3, null, 'HD', '2021-05-19 00:00:00', '2021-05-22 00:00:00', '2021-05-22 12:00:00', 'Leck in Gasleitung', 'HD betroffen', '26133', 'Oldenburg', null, 'Cloppenburger Str.', '302', '1234863-b234', 'ertf', '124,2323', 4, 8.210150, 53.111820, 'Link - extenes System', 'nicht veröffentlicht', 'Freitext: Eine Gasleitung wurde beschädigt', 4, '2020-02-03 15:15:15', 'schulzek', '2020-02-24 20:08:41', 'muellert');
+
+-- ---------------------------------------------
+-- TABLE TBL_IMPORT_DATA
+-- ---------------------------------------------
+CREATE SEQUENCE public.tbl_import_data_id_seq
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+ALTER TABLE public.tbl_import_data_id_seq
+  OWNER TO GFI_SERVICE;
+
+CREATE TABLE public.TBL_IMPORT_DATA
+(
+  ID integer NOT NULL DEFAULT nextval('TBL_IMPORT_DATA_ID_SEQ'::regclass),
+  UUID uuid NOT NULL,
+  META_ID character varying(255) NOT NULL,
+  DESCRIPTION character varying(255) NULL,
+  SOURCE character varying(255) NULL,
+  MESSAGE_CONTENT character varying(1024) NOT NULL,
+  CONSTRAINT TBL_IMPORT_DATA_PKEY PRIMARY KEY (id)
+);
+
+ALTER TABLE public.TBL_IMPORT_DATA
+  OWNER TO GFI_SERVICE;
+GRANT ALL ON TABLE public.TBL_IMPORT_DATA TO GFI_SERVICE;
+
+INSERT INTO public.tbl_import_data(uuid, meta_id, description, source, message_content)
+VALUES ('355b4beb-9b17-4247-bb8b-36bd01b48f9a', 'StoeDE_10.03.2020 10:31:000 XYZ', 'Gasleck im Haus', 'Stoerungen.de', '{ "Quelle": "Stoerungen.de", "Eigenschaften": {"Branch": "Gas", "Ort": "Worms", "Datum": "2020-03-10T10:31.000Z"}}');
+INSERT INTO public.tbl_import_data(uuid, meta_id, description, source, message_content)
+VALUES ('d61f54e5-c4df-440e-b334-22e8f3a6854a', 'StoeDE_10.03.2020 10:31:000 XYZ', 'Gasleck im Haus', 'Stoerungen.de', '{ "Quelle": "Stoerungen.de", "Eigenschaften": {"Branch": "Gas", "Ort": "Worms", "Datum": "2020-03-10T10:31.000Z"}}');
+INSERT INTO public.tbl_import_data(uuid, meta_id, description, source, message_content)
+VALUES ('26c6d361-96a0-41cc-bda1-4e85ad16f21a', 'email_10.03.2020 23:45:000 ABC', 'Stromausfall im Haus', 'email', '{ "Quelle": "email", "Eigenschaften": {"Branch": "Strom", "Ort": "Kassel", "Datum": "2020-06-11T23:45.000Z"}}');
+INSERT INTO public.tbl_import_data(uuid, meta_id, description, source, message_content)
+VALUES ('d7d93e0e-5c8c-4ab8-9625-f910de55ee7c', 'Intern_04.09.2020 13:12:110 BLA', 'Wasserrohrbruch in der Straße', 'Intern', '{ "Quelle": "Intern", "Eigenschaften": {"Branch": "Wasser", "Ort": "Kassel", "Datum": "2020-09-04T13:12.110Z"}}');
+
+
+-- ----------------------------------------------------------------------------
+-- ----------------------------------------------------------------------------
+-- HISTORY-TABLES
+-- ----------------------------------------------------------------------------
+-- ----------------------------------------------------------------------------
+
+
+-- PUBLIC.HTBL_FAILURE_INFORMATION Automatic generanted History Table DDL --
+-- <GENERATED CODE!>
+
+DROP TABLE IF EXISTS PUBLIC.HTBL_FAILURE_INFORMATION;
+DROP SEQUENCE IF EXISTS PUBLIC.HTBL_FAILURE_INFORMATION_ID_SEQ;
+
+CREATE SEQUENCE PUBLIC.HTBL_FAILURE_INFORMATION_ID_SEQ
+  INCREMENT 1
+  MINVALUE 1
+  MAXVALUE 9223372036854775807
+  START 1
+  CACHE 1;
+
+ALTER TABLE PUBLIC.HTBL_FAILURE_INFORMATION_ID_SEQ
+  OWNER TO gfi_service;
+
+CREATE TABLE PUBLIC.HTBL_FAILURE_INFORMATION
+(
+  HID integer NOT NULL DEFAULT nextval('HTBL_FAILURE_INFORMATION_ID_SEQ'::regclass),
+  HACTION integer NOT NULL,
+  HDATE timestamp without time zone NOT NULL,
+  HUSER character varying(100),
+
+  ID integer,
+  UUID uuid,
+  VERSION_NUMBER integer,
+  FK_REF_FAILURE_CLASSIFICATION integer,
+  FK_REF_FAILURE_TYPE integer,
+  TITLE character varying(255) NULL,
+  DESCRIPTION character varying(255) NULL,
+  RESPONSIBILITY character varying (255),
+  INTERN_EXTERN character varying (1),
+  FK_REF_STATUS_INTERN integer,
+  FK_REF_STATUS_EXTERN integer,
+  FK_REF_BRANCH integer,
+  VOLTAGE_LEVEL character varying (2),
+  PRESSURE_LEVEL character varying (2),
+  FAILURE_BEGIN timestamp without time zone,
+  FAILURE_END_PLANNED timestamp without time zone,
+  FAILURE_END_RESUPPLIED timestamp without time zone,
+  PROBABLE_REASON character varying (1024),
+  INTERNAL_REMARK character varying (1024),
+  POSTCODE character varying (30),
+  CITY character varying (255),
+  DISTRICT character varying (255),
+  STREET character varying (255),
+  HOUSENUMBER character varying (30),
+  STATION_ID character varying (30),
+  STATION_DESCRIPTION character varying (255),
+  STATION_COORDS character varying (255),
+  FK_REF_RADIUS integer,
+  LONGITUDE numeric(9,6),
+  LATITUDE numeric(9,6),
+  OBJECT_REFERENCE_EXTERNAL_SYSTEM character varying (255),
+  PUBLICATION_STATUS character varying (40),
+  PUBLICATION_FREETEXT character varying (1024),
+  FK_REF_PUBLICATION_TEXT integer,
+  CREATE_USER character varying(100),
+  CREATE_DATE timestamp without time zone,
+  MOD_USER character varying(100),
+  MOD_DATE timestamp without time zone,
+  CONSTRAINT HTBL_FAILURE_INFORMATION_PKEY PRIMARY KEY (HID)
+)
+WITH (
+  OIDS=FALSE
+);
+
+ALTER TABLE PUBLIC.HTBL_FAILURE_INFORMATION
+  OWNER TO gfi_service;
+GRANT ALL ON TABLE PUBLIC.HTBL_FAILURE_INFORMATION TO gfi_service;
+
+INSERT INTO public.htbl_failure_information(HACTION, HDATE, HUSER, ID, UUID, VERSION_NUMBER, FK_REF_FAILURE_CLASSIFICATION, FK_REF_FAILURE_TYPE, TITLE, DESCRIPTION, RESPONSIBILITY, INTERN_EXTERN, FK_REF_STATUS_INTERN, FK_REF_STATUS_EXTERN, FK_REF_BRANCH, VOLTAGE_LEVEL, PRESSURE_LEVEL, FAILURE_BEGIN, FAILURE_END_PLANNED, FAILURE_END_RESUPPLIED, PROBABLE_REASON, INTERNAL_REMARK, POSTCODE, CITY, DISTRICT, STREET, HOUSENUMBER, STATION_ID, STATION_DESCRIPTION, STATION_COORDS, FK_REF_RADIUS, LONGITUDE, LATITUDE, OBJECT_REFERENCE_EXTERNAL_SYSTEM, PUBLICATION_STATUS, PUBLICATION_FREETEXT, FK_REF_PUBLICATION_TEXT, CREATE_DATE, CREATE_USER, MOD_DATE, MOD_USER)
+VALUES (1, '2020-03-13 00:00:00', 'SCRIPT', 1, '6432a9c9-0384-44af-9bb8-34f2878d7b49', 1, 1, 1, 'Stromausfall Murr', 'Es gibt einen Stromausfall im Bereich Murr/Westbezirk', 'Rolf Rudis', 'I', 1, 1, 1, 'NS', null, '2021-01-19 00:00:00', '2021-01-22 00:00:00', '2021-01-22 12:00:00', 'Stromausfall durch Bagger', 'Der Bagger grub zu tief', '71711', 'Murr', 'Westbezirk', 'Ferdinand-Porsche-Straße', '2', '52863a', 'Trafo 1', '124,2323', 2, 9.247952, 48.955700, 'Link - extenes System', 'veröffentlicht', 'Freitext für die Veröffentlichung: Defekt an Trafostation', 1, '2020-01-22 15:32:15', 'schmidth', '2020-01-24 08:02:44', 'meyers');
+
+INSERT INTO public.htbl_failure_information(HACTION, HDATE, HUSER, ID, UUID, VERSION_NUMBER, FK_REF_FAILURE_CLASSIFICATION, FK_REF_FAILURE_TYPE, TITLE, DESCRIPTION, RESPONSIBILITY, INTERN_EXTERN, FK_REF_STATUS_INTERN, FK_REF_STATUS_EXTERN, FK_REF_BRANCH, VOLTAGE_LEVEL, PRESSURE_LEVEL, FAILURE_BEGIN, FAILURE_END_PLANNED, FAILURE_END_RESUPPLIED, PROBABLE_REASON, INTERNAL_REMARK, POSTCODE, CITY, DISTRICT, STREET, HOUSENUMBER, STATION_ID, STATION_DESCRIPTION, STATION_COORDS, FK_REF_RADIUS, LONGITUDE, LATITUDE, OBJECT_REFERENCE_EXTERNAL_SYSTEM, PUBLICATION_STATUS, PUBLICATION_FREETEXT, FK_REF_PUBLICATION_TEXT, CREATE_DATE, CREATE_USER, MOD_DATE, MOD_USER)
+VALUES (2, '2020-03-13 00:00:00', 'SCRIPT', 1, '6432a9c9-0384-44af-9bb8-34f2878d7b49', 2, 1, 1, 'Stromausfall Murr', 'Es gibt einen Stromausfall im Bereich Murr/Westbezirk', 'Rolf Rudis', 'I', 1, 1, 1, 'NS', null, '2021-01-19 00:00:00', '2021-01-22 00:00:00', '2021-01-22 12:00:00', 'Stromausfall durch Bagger', 'Der Bagger grub tiefer', '71711', 'Murr', 'Westbezirk', 'Ferdinand-Porsche-Straße', '2', '52863a', 'Trafo 1', '124,2323', 2, 9.247952, 48.955700, 'Link - extenes System', 'veröffentlicht', 'Freitext für die Veröffentlichung: Defekt an Trafostation', 1, '2020-01-22 15:32:15', 'schmidth', '2020-01-24 08:02:44', 'meyers');
+
+INSERT INTO public.htbl_failure_information(HACTION, HDATE, HUSER, ID, UUID, VERSION_NUMBER, FK_REF_FAILURE_CLASSIFICATION, FK_REF_FAILURE_TYPE, TITLE, DESCRIPTION, RESPONSIBILITY, INTERN_EXTERN, FK_REF_STATUS_INTERN, FK_REF_STATUS_EXTERN, FK_REF_BRANCH, VOLTAGE_LEVEL, PRESSURE_LEVEL, FAILURE_BEGIN, FAILURE_END_PLANNED, FAILURE_END_RESUPPLIED, PROBABLE_REASON, INTERNAL_REMARK, POSTCODE, CITY, DISTRICT, STREET, HOUSENUMBER, STATION_ID, STATION_DESCRIPTION, STATION_COORDS, FK_REF_RADIUS, LONGITUDE, LATITUDE, OBJECT_REFERENCE_EXTERNAL_SYSTEM, PUBLICATION_STATUS, PUBLICATION_FREETEXT, FK_REF_PUBLICATION_TEXT, CREATE_DATE, CREATE_USER, MOD_DATE, MOD_USER)
+VALUES (1, '2020-03-13 00:00:00', 'SCRIPT', 1, '6432a9c9-0384-44af-9bb8-34f2878d7b49', 3, 1, 1, 'Stromausfall Murr', 'Es gibt einen Stromausfall im Bereich Murr/Westbezirk', 'Rolf Rudis', 'I', 1, 1, 1, 'NS', null, '2021-01-19 00:00:00', '2021-01-22 00:00:00', '2021-01-22 12:00:00', 'Stromausfall durch Bagger', 'Der Bagger grub noch tiefer', '71711', 'Murr', 'Westbezirk', 'Ferdinand-Porsche-Straße', '52863a', '2', 'Trafo 1', '124,2323', 2, 9.247952, 48.955700, 'Link - extenes System', 'veröffentlicht', 'Freitext für die Veröffentlichung: Defekt an Trafostation', 1, '2020-01-22 15:32:15', 'schmidth', '2020-01-24 08:02:44', 'meyers');
+
+INSERT INTO public.htbl_failure_information(HACTION, HDATE, HUSER, ID, UUID, VERSION_NUMBER, FK_REF_FAILURE_CLASSIFICATION, FK_REF_FAILURE_TYPE, TITLE, DESCRIPTION, RESPONSIBILITY, INTERN_EXTERN, FK_REF_STATUS_INTERN, FK_REF_STATUS_EXTERN, FK_REF_BRANCH, VOLTAGE_LEVEL, PRESSURE_LEVEL, FAILURE_BEGIN, FAILURE_END_PLANNED, FAILURE_END_RESUPPLIED, PROBABLE_REASON, INTERNAL_REMARK, POSTCODE, CITY, DISTRICT, STREET, HOUSENUMBER, STATION_ID, STATION_DESCRIPTION, STATION_COORDS, FK_REF_RADIUS, LONGITUDE, LATITUDE, OBJECT_REFERENCE_EXTERNAL_SYSTEM, PUBLICATION_STATUS, PUBLICATION_FREETEXT, FK_REF_PUBLICATION_TEXT, CREATE_DATE, CREATE_USER, MOD_DATE, MOD_USER)
+VALUES (2, '2020-03-13 00:00:00', 'SCRIPT', 2, '37aef635-d0d4-4c47-ac25-c0d16c29e35c', 1,3, 2, 'Gasleck Oldenburg', 'Es gibt ein Gasleck in Oldenburg', 'Bernd Britzel', 'E', 2, 2, 3, null, 'HD', '2021-05-19 00:00:00', '2021-05-22 00:00:00', '2021-05-22 12:00:00', 'Leck in Gasleitung', 'HD betroffen', '26133', 'Oldenburg', null, 'Cloppenburger Str.', '302', '1234863-b234', 'ertf', '124,2323', 4, 8.210150, 53.111820, 'Link - extenes System', 'nicht veröffentlicht', 'Freitext: Eine Gasleitung wurde beschädigt', 4, '2020-02-03 15:15:15', 'schulzek', '2020-02-24 20:08:41', 'muellert');
+
+-- ----------------------------------------------------------------------------
+-- ----------------------------------------------------------------------------
+-- TRIGGER
+-- ----------------------------------------------------------------------------
+-- ----------------------------------------------------------------------------
+
+
+-- PUBLIC.TBL_FAILURE_INFORMATION INSERT TRIGGER --
+-- <GENERATED CODE!>
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_FAILURE_INFORMATION_INSERT_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HTBL_FAILURE_INFORMATION (
+						  ID,UUID,VERSION_NUMBER,FK_REF_FAILURE_CLASSIFICATION,FK_REF_FAILURE_TYPE,TITLE, DESCRIPTION,RESPONSIBILITY,INTERN_EXTERN,FK_REF_STATUS_INTERN,FK_REF_STATUS_EXTERN,FK_REF_BRANCH,VOLTAGE_LEVEL,PRESSURE_LEVEL,FAILURE_BEGIN,FAILURE_END_PLANNED,FAILURE_END_RESUPPLIED,PROBABLE_REASON,INTERNAL_REMARK,POSTCODE,CITY,DISTRICT,STREET,HOUSENUMBER,STATION_ID,STATION_DESCRIPTION,STATION_COORDS,FK_REF_RADIUS,LONGITUDE,LATITUDE,OBJECT_REFERENCE_EXTERNAL_SYSTEM,PUBLICATION_STATUS,PUBLICATION_FREETEXT,FK_REF_PUBLICATION_TEXT,CREATE_DATE,CREATE_USER,MOD_DATE,MOD_USER,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				 (
+
+						  NEW.ID,NEW.UUID,NEW.VERSION_NUMBER,NEW.FK_REF_FAILURE_CLASSIFICATION,NEW.FK_REF_FAILURE_TYPE,NEW.TITLE,NEW.DESCRIPTION,NEW.RESPONSIBILITY,NEW.INTERN_EXTERN,NEW.FK_REF_STATUS_INTERN,NEW.FK_REF_STATUS_EXTERN,NEW.FK_REF_BRANCH,NEW.VOLTAGE_LEVEL,NEW.PRESSURE_LEVEL,NEW.FAILURE_BEGIN,NEW.FAILURE_END_PLANNED,NEW.FAILURE_END_RESUPPLIED,NEW.PROBABLE_REASON,NEW.INTERNAL_REMARK,NEW.POSTCODE,NEW.CITY,NEW.DISTRICT,NEW.STREET,NEW.HOUSENUMBER,NEW.STATION_ID,NEW.STATION_DESCRIPTION,NEW.STATION_COORDS,NEW.FK_REF_RADIUS,NEW.LONGITUDE,NEW.LATITUDE,NEW.OBJECT_REFERENCE_EXTERNAL_SYSTEM,NEW.PUBLICATION_STATUS,NEW.PUBLICATION_FREETEXT,NEW.FK_REF_PUBLICATION_TEXT,NEW.CREATE_DATE,NEW.CREATE_USER,NEW.MOD_DATE,NEW.MOD_USER,
+
+                          1,
+						  current_timestamp,
+					      NEW.CREATE_USER );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_FAILURE_INFORMATION_INSERT_TRG()
+  OWNER TO gfi_service;
+
+
+DROP TRIGGER IF EXISTS TBL_FAILURE_INFORMATION_INSERT_TRG ON PUBLIC.TBL_FAILURE_INFORMATION;
+
+CREATE TRIGGER TBL_FAILURE_INFORMATION_INSERT_TRG
+  BEFORE INSERT
+  ON PUBLIC.TBL_FAILURE_INFORMATION
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_FAILURE_INFORMATION_INSERT_TRG();
+
+
+
+-- PUBLIC.TBL_FAILURE_INFORMATION UPDATE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_FAILURE_INFORMATION_UPDATE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+	INSERT INTO HTBL_FAILURE_INFORMATION (
+						  ID,UUID,VERSION_NUMBER,FK_REF_FAILURE_CLASSIFICATION,FK_REF_FAILURE_TYPE,RESPONSIBILITY,INTERN_EXTERN,FK_REF_STATUS_INTERN,FK_REF_STATUS_EXTERN,FK_REF_BRANCH,VOLTAGE_LEVEL,PRESSURE_LEVEL,FAILURE_BEGIN,FAILURE_END_PLANNED,FAILURE_END_RESUPPLIED,PROBABLE_REASON,INTERNAL_REMARK,POSTCODE,CITY,DISTRICT,STREET,HOUSENUMBER,STATION_ID,STATION_DESCRIPTION,STATION_COORDS,FK_REF_RADIUS,LONGITUDE,LATITUDE,OBJECT_REFERENCE_EXTERNAL_SYSTEM,PUBLICATION_STATUS,PUBLICATION_FREETEXT,FK_REF_PUBLICATION_TEXT,CREATE_DATE,CREATE_USER,MOD_DATE,MOD_USER,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 			    (
+	                      NEW.ID,NEW.UUID,NEW.VERSION_NUMBER,NEW.FK_REF_FAILURE_CLASSIFICATION,NEW.FK_REF_FAILURE_TYPE,NEW.RESPONSIBILITY,NEW.INTERN_EXTERN,NEW.FK_REF_STATUS_INTERN,NEW.FK_REF_STATUS_EXTERN,NEW.FK_REF_BRANCH,NEW.VOLTAGE_LEVEL,NEW.PRESSURE_LEVEL,NEW.FAILURE_BEGIN,NEW.FAILURE_END_PLANNED,NEW.FAILURE_END_RESUPPLIED,NEW.PROBABLE_REASON,NEW.INTERNAL_REMARK,NEW.POSTCODE,NEW.CITY,NEW.DISTRICT,NEW.STREET,NEW.HOUSENUMBER,NEW.STATION_ID,NEW.STATION_DESCRIPTION,NEW.STATION_COORDS,NEW.FK_REF_RADIUS,NEW.LONGITUDE,NEW.LATITUDE,NEW.OBJECT_REFERENCE_EXTERNAL_SYSTEM,NEW.PUBLICATION_STATUS,NEW.PUBLICATION_FREETEXT,NEW.FK_REF_PUBLICATION_TEXT,NEW.CREATE_DATE,NEW.CREATE_USER,NEW.MOD_DATE,NEW.MOD_USER,
+                          2,
+						  current_timestamp,
+					      NEW.MOD_USER
+					    );
+
+        RETURN NEW;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_FAILURE_INFORMATION_UPDATE_TRG()
+  OWNER TO gfi_service;
+
+DROP TRIGGER IF EXISTS TBL_FAILURE_INFORMATION_UPDATE_TRG ON PUBLIC.TBL_FAILURE_INFORMATION;
+
+CREATE TRIGGER TBL_FAILURE_INFORMATION_UPDATE_TRG
+  BEFORE UPDATE
+  ON PUBLIC.TBL_FAILURE_INFORMATION
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_FAILURE_INFORMATION_UPDATE_TRG();
+
+
+
+-- PUBLIC.TBL_FAILURE_INFORMATION DELETE TRIGGER --
+-- <GENERATED CODE!>
+
+CREATE OR REPLACE FUNCTION PUBLIC.TBL_FAILURE_INFORMATION_DELETE_TRG()
+  RETURNS trigger AS
+$BODY$
+    BEGIN
+    IF TG_OP = 'DELETE' THEN
+	INSERT INTO HTBL_FAILURE_INFORMATION (
+
+						  ID,UUID,VERSION_NUMBER,FK_REF_FAILURE_CLASSIFICATION,FK_REF_FAILURE_TYPE,RESPONSIBILITY,INTERN_EXTERN,FK_REF_STATUS_INTERN,FK_REF_STATUS_EXTERN,FK_REF_BRANCH,VOLTAGE_LEVEL,PRESSURE_LEVEL,FAILURE_BEGIN,FAILURE_END_PLANNED,FAILURE_END_RESUPPLIED,PROBABLE_REASON,INTERNAL_REMARK,POSTCODE,CITY,DISTRICT,STREET,HOUSENUMBER,STATION_ID,STATION_DESCRIPTION,STATION_COORDS,FK_REF_RADIUS,LONGITUDE,LATITUDE,OBJECT_REFERENCE_EXTERNAL_SYSTEM,PUBLICATION_STATUS,PUBLICATION_FREETEXT,FK_REF_PUBLICATION_TEXT,CREATE_DATE,CREATE_USER,MOD_DATE,MOD_USER,
+
+						  HACTION,
+						  HDATE,
+						  HUSER
+						 )
+	VALUES 				(
+						  OLD.ID,OLD.UUID,OLD.VERSION_NUMBER,OLD.FK_REF_FAILURE_CLASSIFICATION,OLD.FK_REF_FAILURE_TYPE,OLD.RESPONSIBILITY,OLD.INTERN_EXTERN,OLD.FK_REF_STATUS_INTERN,OLD.FK_REF_STATUS_EXTERN,OLD.FK_REF_BRANCH,OLD.VOLTAGE_LEVEL,OLD.PRESSURE_LEVEL,OLD.FAILURE_BEGIN,OLD.FAILURE_END_PLANNED,OLD.FAILURE_END_RESUPPLIED,OLD.PROBABLE_REASON,OLD.INTERNAL_REMARK,OLD.POSTCODE,OLD.CITY,OLD.DISTRICT,OLD.STREET,OLD.HOUSENUMBER,OLD.STATION_ID,OLD.STATION_DESCRIPTION,OLD.STATION_COORDS,OLD.FK_REF_RADIUS,OLD.LONGITUDE,OLD.LATITUDE,OLD.OBJECT_REFERENCE_EXTERNAL_SYSTEM,OLD.PUBLICATION_STATUS,OLD.PUBLICATION_FREETEXT,OLD.FK_REF_PUBLICATION_TEXT,OLD.CREATE_DATE,OLD.CREATE_USER,OLD.MOD_DATE,OLD.MOD_USER,
+
+                          3,
+						  current_timestamp,
+					      OLD.MOD_USER );
+	END IF;
+
+        RETURN OLD;
+    END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+ALTER FUNCTION PUBLIC.TBL_FAILURE_INFORMATION_DELETE_TRG()
+  OWNER TO gfi_service;
+
+DROP TRIGGER IF EXISTS TBL_FAILURE_INFORMATION_DELETE_TRG ON PUBLIC.TBL_FAILURE_INFORMATION;
+
+CREATE TRIGGER TBL_FAILURE_INFORMATION_DELETE_TRG
+  BEFORE DELETE
+  ON PUBLIC.TBL_FAILURE_INFORMATION
+  FOR EACH ROW
+  EXECUTE PROCEDURE PUBLIC.TBL_FAILURE_INFORMATION_DELETE_TRG();
+
+
+
diff --git a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/config/TestConfiguration.java b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/config/TestConfiguration.java
index cb14d80..a22ab63 100644
--- a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/config/TestConfiguration.java
+++ b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/config/TestConfiguration.java
@@ -69,6 +69,14 @@
     }
 
     @Bean
+    RadiusMapper radiusMapper() {
+        return new RadiusMapperImpl();
+    }
+
+    @Bean
+    PublicationTextMapper publicationTextMapper() { return new PublicationTextMapperImpl(); }
+
+    @Bean
     ImportDataMapper importDataMapper() { return new ImportDataMapperImpl(); }
 
     @Bean
@@ -126,5 +134,15 @@
     }
 
     @Bean
+    public RadiusService myRadiusService() {
+        return new RadiusService();
+    }
+
+    @Bean
+    public PublicationTextService myPublicationTextService() {
+        return new PublicationTextService();
+    }
+
+    @Bean
     public ImportDataService myImportDataService() {return new ImportDataService(); }
 }
diff --git a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/controller/FailureInformationControllerTest.java b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/controller/FailureInformationControllerTest.java
index 162f6dc..1ebaa73 100644
--- a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/controller/FailureInformationControllerTest.java
+++ b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/controller/FailureInformationControllerTest.java
@@ -129,11 +129,17 @@
                 .andExpect(jsonPath("$.district", is(failureInfoDto.getDistrict())))
                 .andExpect(jsonPath("$.street", is(failureInfoDto.getStreet())))
                 .andExpect(jsonPath("$.housenumber", is(failureInfoDto.getHousenumber())))
+                .andExpect(jsonPath("$.stationId", is(failureInfoDto.getStationId())))
                 .andExpect(jsonPath("$.stationDescription", is(failureInfoDto.getStationDescription())))
                 .andExpect(jsonPath("$.stationCoords", is(failureInfoDto.getStationCoords())))
+                .andExpect(jsonPath("$.radiusId", is(failureInfoDto.getRadiusId().toString())))
                 .andExpect(jsonPath("$.radius", is(failureInfoDto.getRadius())))
-                .andExpect(jsonPath("$.longitude", is(failureInfoDto.getLongitude())))
-                .andExpect(jsonPath("$.latitude", is(failureInfoDto.getLatitude())))
+                .andExpect(jsonPath("$.longitude", is(failureInfoDto.getLongitude().doubleValue())))
+                .andExpect(jsonPath("$.latitude", is(failureInfoDto.getLatitude().doubleValue())))
+                .andExpect(jsonPath("$.publicationStatus", is(failureInfoDto.getPublicationStatus())))
+                .andExpect(jsonPath("$.publicationFreetext", is(failureInfoDto.getPublicationFreetext())))
+                .andExpect(jsonPath("$.publicationTextId", is(failureInfoDto.getPublicationTextId().toString())))
+                .andExpect(jsonPath("$.publicationText", is(failureInfoDto.getPublicationText())))
                 .andExpect(jsonPath("$.failureClassificationId", is(failureInfoDto.getFailureClassificationId().toString())))
                 .andExpect(jsonPath("$.failureClassification", is(failureInfoDto.getFailureClassification())))
                 .andExpect(jsonPath("$.failureTypeId", is(failureInfoDto.getFailureTypeId().toString())))
diff --git a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/controller/PublicationTextControllerTest.java b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/controller/PublicationTextControllerTest.java
new file mode 100644
index 0000000..b6f762b
--- /dev/null
+++ b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/controller/PublicationTextControllerTest.java
@@ -0,0 +1,59 @@
+/*
+ *******************************************************************************
+ * 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
+ *******************************************************************************
+ */
+package org.eclipse.openk.gridfailureinformation.controller;
+
+import org.eclipse.openk.gridfailureinformation.GridFailureInformationApplication;
+import org.eclipse.openk.gridfailureinformation.service.PublicationTextService;
+import org.eclipse.openk.gridfailureinformation.support.MockDataHelper;
+import org.eclipse.openk.gridfailureinformation.viewmodel.PublicationTextDto;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.http.MediaType;
+import org.springframework.test.context.ActiveProfiles;
+import org.springframework.test.web.servlet.MockMvc;
+
+import java.util.List;
+
+import static org.mockito.Mockito.when;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
+
+@SpringBootTest(classes = GridFailureInformationApplication.class)
+@AutoConfigureMockMvc
+@ActiveProfiles("test")
+public class PublicationTextControllerTest {
+
+    @MockBean
+    private PublicationTextService publicationTextService;
+
+    @Autowired
+    private MockMvc mockMvc;
+
+
+    @Test
+    public void shouldReturnRadii() throws Exception {
+        List<PublicationTextDto> publicationTextDtoList = MockDataHelper.mockPublicationTextDtoList();
+        when(publicationTextService.getPublicationTexts()).thenReturn(publicationTextDtoList);
+
+        mockMvc.perform(get("/publication-texts"))
+                .andExpect(status().is2xxSuccessful())
+                .andExpect(content().contentType(MediaType.APPLICATION_JSON));
+    }
+
+}
\ No newline at end of file
diff --git a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/controller/RadiusControllerTest.java b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/controller/RadiusControllerTest.java
new file mode 100644
index 0000000..dc7d751
--- /dev/null
+++ b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/controller/RadiusControllerTest.java
@@ -0,0 +1,59 @@
+/*
+ *******************************************************************************
+ * 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
+ *******************************************************************************
+ */
+package org.eclipse.openk.gridfailureinformation.controller;
+
+import org.eclipse.openk.gridfailureinformation.GridFailureInformationApplication;
+import org.eclipse.openk.gridfailureinformation.service.RadiusService;
+import org.eclipse.openk.gridfailureinformation.support.MockDataHelper;
+import org.eclipse.openk.gridfailureinformation.viewmodel.RadiusDto;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.http.MediaType;
+import org.springframework.test.context.ActiveProfiles;
+import org.springframework.test.web.servlet.MockMvc;
+
+import java.util.List;
+
+import static org.mockito.Mockito.when;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
+
+@SpringBootTest(classes = GridFailureInformationApplication.class)
+@AutoConfigureMockMvc
+@ActiveProfiles("test")
+public class RadiusControllerTest {
+
+    @MockBean
+    private RadiusService radiusService;
+
+    @Autowired
+    private MockMvc mockMvc;
+
+
+    @Test
+    public void shouldReturnRadii() throws Exception {
+        List<RadiusDto> radiiDtoList = MockDataHelper.mockRadiusDtoList();
+        when(radiusService.getRadii()).thenReturn(radiiDtoList);
+
+        mockMvc.perform(get("/radii"))
+                .andExpect(status().is2xxSuccessful())
+                .andExpect(content().contentType(MediaType.APPLICATION_JSON));
+    }
+
+}
\ No newline at end of file
diff --git a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationServiceTest.java b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationServiceTest.java
index adddf38..ef1456e 100644
--- a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationServiceTest.java
+++ b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/FailureInformationServiceTest.java
@@ -59,6 +59,10 @@
     private StatusRepository statusRepository;
     @MockBean
     private HistFailureInformationRepository histFailureInformationRepository;
+    @MockBean
+    private RadiusRepository radiusRepository;
+    @MockBean
+    private PublicationTextRepository publicationTextRepository;
 
     @Test
     public void shouldFindFailureInformations() {
@@ -95,12 +99,17 @@
         RefFailureType refFailureType = MockDataHelper.mockRefFailureType();
         RefStatus refStatus = MockDataHelper.mockRefStatus();
         RefBranch refBranch = MockDataHelper.mockRefBranch();
+        RefRadius refRadius = MockDataHelper.mockRefRadius();
+        RefPublicationText refPublicationText = MockDataHelper.mockRefPublicationText();
 
         when(failureInformationRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(fiTbl));
         when(branchRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(refBranch));
         when(failureClassificationRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(refFailureClassification));
         when(failureTypeRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(refFailureType));
         when(statusRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(refStatus));
+        when(radiusRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(refRadius));
+        when(publicationTextRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(refPublicationText));
+        when(histFailureInformationRepository.countByUuid(any(UUID.class))).thenReturn(5L);
 
         when(failureInformationRepository.save(any(TblFailureInformation.class)))
                 .then((Answer<TblFailureInformation>) invocation -> {
@@ -126,7 +135,8 @@
         assertEquals(fiTbl.getHousenumber(), savedDto.getHousenumber());
         assertEquals(fiTbl.getStationDescription(), savedDto.getStationDescription());
         assertEquals(fiTbl.getStationCoords(), savedDto.getStationCoords());
-        assertEquals(fiTbl.getRadius(), savedDto.getRadius());
+        assertEquals(fiTbl.getRefRadius().getUuid(), savedDto.getRadiusId());
+        assertEquals(fiTbl.getRefRadius().getRadius(), savedDto.getRadius());
         assertEquals(fiTbl.getLongitude(), savedDto.getLongitude());
         assertEquals(fiTbl.getLatitude(), savedDto.getLatitude());
         assertEquals(fiTbl.getRefFailureClassification().getUuid(), savedDto.getFailureClassificationId());
@@ -140,6 +150,8 @@
         assertEquals(fiTbl.getRefBranch().getUuid(), savedDto.getBranchId());
         assertEquals(fiTbl.getRefBranch().getName(), savedDto.getBranch());
         assertEquals(fiTbl.getRefBranch().getColorCode(), savedDto.getBranchColorCode());
+        assertEquals(fiTbl.getRefPublicationText().getUuid(), savedDto.getPublicationTextId());
+        assertEquals(fiTbl.getRefPublicationText().getText(), savedDto.getPublicationText());
 
     }
 
@@ -154,6 +166,8 @@
         fiDto.setFailureTypeId(null);
         fiDto.setStatusExternId(null);
         fiDto.setStatusInternId(UUID.randomUUID());
+        fiDto.setRadiusId(null);
+        fiDto.setPublicationTextId(null);
 
         TblFailureInformation fiTbl = MockDataHelper.mockTblFailureInformation();
         fiTbl.setId(777L);
@@ -162,6 +176,8 @@
         fiTbl.setRefFailureType(null);
         fiTbl.setRefStatusExtern(null);
         fiTbl.setRefStatusIntern(null);
+        fiTbl.setRefRadius(null);
+        fiTbl.setRefPublicationText(null);
 
         when(statusRepository.findByUuid(any( UUID.class ))).thenReturn(Optional.of(refStatus));
         when(statusRepository.findByUuid(any( UUID.class ))).thenReturn(Optional.of(refStatus));
@@ -188,7 +204,6 @@
         assertEquals(fiTbl.getHousenumber(), savedDto.getHousenumber());
         assertEquals(fiTbl.getStationDescription(), savedDto.getStationDescription());
         assertEquals(fiTbl.getStationCoords(), savedDto.getStationCoords());
-        assertEquals(fiTbl.getRadius(), savedDto.getRadius());
         assertEquals(fiTbl.getLongitude(), savedDto.getLongitude());
         assertEquals(fiTbl.getLatitude(), savedDto.getLatitude());
     }
@@ -327,6 +342,62 @@
 
 
     @Test
+    public void shouldNotUpdateFailureInformation_Exception_RadiusNotFound() {
+        FailureInformationDto fiDto = MockDataHelper.mockFailureInformationDto();
+        TblFailureInformation fiTbl = MockDataHelper.mockTblFailureInformation();
+        RefFailureClassification refFailureClassification = MockDataHelper.mockRefFailureClassification();
+        RefRadius refRadius = MockDataHelper.mockRefRadius();
+        RefStatus refStatus = MockDataHelper.mockRefStatus();
+        RefBranch refBranch = MockDataHelper.mockRefBranch();
+        RefPublicationText refPublicationText = MockDataHelper.mockRefPublicationText();
+
+        when(failureInformationRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(fiTbl));
+        when(branchRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(refBranch));
+        when(failureClassificationRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(refFailureClassification));
+        when(failureTypeRepository.findByUuid(any(UUID.class))).thenReturn(Optional.empty());
+        when(statusRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(refStatus));
+        //Radius cannot be found
+        when(publicationTextRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(refPublicationText));
+
+        when(failureInformationRepository.save(any(TblFailureInformation.class)))
+                .then((Answer<TblFailureInformation>) invocation -> {
+                    Object[] args = invocation.getArguments();
+                    return (TblFailureInformation) args[0];
+                });
+
+        assertThrows(NotFoundException.class, () -> failureInformationService.updateFailureInfo(fiDto));
+
+    }
+
+
+    @Test
+    public void shouldNotUpdateFailureInformation_Exception_PublicationTextNotFound() {
+        FailureInformationDto fiDto = MockDataHelper.mockFailureInformationDto();
+        TblFailureInformation fiTbl = MockDataHelper.mockTblFailureInformation();
+        RefFailureClassification refFailureClassification = MockDataHelper.mockRefFailureClassification();
+        RefRadius refRadius = MockDataHelper.mockRefRadius();
+        RefStatus refStatus = MockDataHelper.mockRefStatus();
+        RefBranch refBranch = MockDataHelper.mockRefBranch();
+        RefPublicationText refPublicationText = MockDataHelper.mockRefPublicationText();
+
+        when(failureInformationRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(fiTbl));
+        when(branchRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(refBranch));
+        when(failureClassificationRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(refFailureClassification));
+        when(failureTypeRepository.findByUuid(any(UUID.class))).thenReturn(Optional.empty());
+        when(statusRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(refStatus));
+        when(radiusRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(refRadius));
+        //publicationText cannot be found
+
+        when(failureInformationRepository.save(any(TblFailureInformation.class)))
+                .then((Answer<TblFailureInformation>) invocation -> {
+                    Object[] args = invocation.getArguments();
+                    return (TblFailureInformation) args[0];
+                });
+
+        assertThrows(NotFoundException.class, () -> failureInformationService.updateFailureInfo(fiDto));
+    }
+
+    @Test
     public void shouldInsertFailureInformation() {
         FailureInformationDto fiDto = MockDataHelper.mockFailureInformationDto();
         TblFailureInformation fiTbl = MockDataHelper.mockTblFailureInformation();
@@ -334,6 +405,8 @@
         RefFailureType refFailureType = MockDataHelper.mockRefFailureType();
         RefStatus refStatus = MockDataHelper.mockRefStatus();
         RefBranch refBranch = MockDataHelper.mockRefBranch();
+        RefRadius refRadius = MockDataHelper.mockRefRadius();
+        RefPublicationText refPublicationText = MockDataHelper.mockRefPublicationText();
 
         when(statusRepository.findById(anyLong())).thenReturn(Optional.of(refStatus));
         when(failureInformationRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(fiTbl));
@@ -341,6 +414,8 @@
         when(failureClassificationRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(refFailureClassification));
         when(failureTypeRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(refFailureType));
         when(statusRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(refStatus));
+        when(radiusRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(refRadius));
+        when(publicationTextRepository.findByUuid(any(UUID.class))).thenReturn(Optional.of(refPublicationText));
 
         fiDto.setUuid(null);
 
@@ -370,7 +445,6 @@
         assertEquals(fiDto.getHousenumber(), savedDto.getHousenumber());
         assertEquals(fiDto.getStationDescription(), savedDto.getStationDescription());
         assertEquals(fiDto.getStationCoords(), savedDto.getStationCoords());
-        assertEquals(fiDto.getRadius(), savedDto.getRadius());
         assertEquals(fiTbl.getLongitude(), savedDto.getLongitude());
         assertEquals(fiTbl.getLatitude(), savedDto.getLatitude());
         assertEquals(refFailureClassification.getUuid(), savedDto.getFailureClassificationId());
@@ -384,6 +458,10 @@
         assertEquals(refBranch.getUuid(), savedDto.getBranchId());
         assertEquals(refBranch.getName(), savedDto.getBranch());
         assertEquals(refBranch.getColorCode(), savedDto.getBranchColorCode());
+        assertEquals(refRadius.getUuid(), savedDto.getRadiusId());
+        assertEquals(refRadius.getRadius(), savedDto.getRadius());
+        assertEquals(refPublicationText.getUuid(), savedDto.getPublicationTextId());
+        assertEquals(refPublicationText.getText(), savedDto.getPublicationText());
     }
 
 }
diff --git a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/PublicationTextServiceTest.java b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/PublicationTextServiceTest.java
new file mode 100644
index 0000000..7cab99e
--- /dev/null
+++ b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/PublicationTextServiceTest.java
@@ -0,0 +1,56 @@
+/*
+ *******************************************************************************
+ * 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
+ *******************************************************************************
+ */
+package org.eclipse.openk.gridfailureinformation.service;
+
+        import org.eclipse.openk.gridfailureinformation.config.TestConfiguration;
+        import org.eclipse.openk.gridfailureinformation.model.RefPublicationText;
+        import org.eclipse.openk.gridfailureinformation.repository.PublicationTextRepository;
+        import org.eclipse.openk.gridfailureinformation.support.MockDataHelper;
+        import org.eclipse.openk.gridfailureinformation.viewmodel.PublicationTextDto;
+        import org.junit.jupiter.api.Test;
+        import org.springframework.beans.factory.annotation.Autowired;
+        import org.springframework.beans.factory.annotation.Qualifier;
+        import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
+        import org.springframework.boot.test.mock.mockito.MockBean;
+        import org.springframework.test.context.ContextConfiguration;
+
+        import java.util.List;
+
+        import static org.junit.jupiter.api.Assertions.assertEquals;
+        import static org.mockito.Mockito.when;
+
+//@RunWith(SpringRunner.class)
+@DataJpaTest
+@ContextConfiguration(classes = {TestConfiguration.class})
+
+public class PublicationTextServiceTest {
+    @Qualifier("myPublicationTextService")
+    @Autowired
+    private PublicationTextService publicationTextService;
+
+    @MockBean
+    private PublicationTextRepository publicationTextRepository;
+
+    @Test
+    public void shouldGetRadiiProperly() {
+        List<RefPublicationText> mockRefPublicationTextList = MockDataHelper.mockRefPublicationTextList();
+        when(publicationTextRepository.findAll()).thenReturn(mockRefPublicationTextList);
+        List<PublicationTextDto> listRefPublicationText = publicationTextService.getPublicationTexts();
+
+        assertEquals(listRefPublicationText.size(), mockRefPublicationTextList.size());
+        assertEquals(listRefPublicationText.size(), 2);
+        assertEquals(listRefPublicationText.get(1).getUuid(), mockRefPublicationTextList.get(1).getUuid());
+    }
+}
diff --git a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/RadiusServiceTest.java b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/RadiusServiceTest.java
new file mode 100644
index 0000000..e82ad23
--- /dev/null
+++ b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/service/RadiusServiceTest.java
@@ -0,0 +1,59 @@
+/*
+ *******************************************************************************
+ * 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
+ *******************************************************************************
+ */
+package org.eclipse.openk.gridfailureinformation.service;
+
+import org.eclipse.openk.gridfailureinformation.config.TestConfiguration;
+import org.eclipse.openk.gridfailureinformation.model.RefPublicationText;
+import org.eclipse.openk.gridfailureinformation.model.RefRadius;
+import org.eclipse.openk.gridfailureinformation.repository.PublicationTextRepository;
+import org.eclipse.openk.gridfailureinformation.repository.RadiusRepository;
+import org.eclipse.openk.gridfailureinformation.support.MockDataHelper;
+import org.eclipse.openk.gridfailureinformation.viewmodel.PublicationTextDto;
+import org.eclipse.openk.gridfailureinformation.viewmodel.RadiusDto;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
+import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.test.context.ContextConfiguration;
+
+import java.util.List;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.Mockito.when;
+
+//@RunWith(SpringRunner.class)
+@DataJpaTest
+@ContextConfiguration(classes = {TestConfiguration.class})
+
+public class RadiusServiceTest {
+    @Qualifier("myRadiusService")
+    @Autowired
+    private RadiusService radiusService;
+
+    @MockBean
+    private RadiusRepository radiusRepository;
+
+    @Test
+    public void shouldGetRadiiProperly() {
+        List<RefRadius> mockRefRadiusList = MockDataHelper.mockRefRadiusList();
+        when(radiusRepository.findAll()).thenReturn(mockRefRadiusList);
+        List<RadiusDto> listRefRadius = radiusService.getRadii();
+
+        assertEquals(listRefRadius.size(), mockRefRadiusList.size());
+        assertEquals(listRefRadius.size(), 2);
+        assertEquals(listRefRadius.get(1).getUuid(), mockRefRadiusList.get(1).getUuid());
+    }
+}
diff --git a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/support/MockDataHelper.java b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/support/MockDataHelper.java
index 1efad4b..592f9f1 100644
--- a/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/support/MockDataHelper.java
+++ b/gfsBackendService/src/test/java/org/eclipse/openk/gridfailureinformation/support/MockDataHelper.java
@@ -21,6 +21,7 @@
 import org.springframework.data.domain.PageImpl;
 import org.springframework.data.domain.Pageable;
 
+import java.math.BigDecimal;
 import java.sql.Date;
 import java.util.ArrayList;
 import java.util.LinkedList;
@@ -60,6 +61,21 @@
         dto.setFailureEndResupplied(Date.valueOf("2022-12-03"));
         dto.setProbableReason("Über Kabel gestolpert");
 
+        dto.setStationId("224488-123bcd");
+        dto.setStationDescription("Trafo 25");
+        dto.setStationCoords("121,8855");
+        dto.setLongitude(BigDecimal.valueOf(8.646280));
+        dto.setLatitude(BigDecimal.valueOf(50.115618));
+
+        dto.setRadiusId(UUID.randomUUID());
+        dto.setRadius("50m");
+
+        dto.setPublicationStatus("veröffentlicht");
+        dto.setPublicationFreetext("Kabel aus Steckdose gerissen");
+
+        dto.setPublicationTextId(UUID.randomUUID());
+        dto.setPublicationText("Kabelfehler Niederspannung");
+
         dto.setFailureClassificationId(UUID.randomUUID());
         dto.setFailureClassification("FailClazz");
 
@@ -97,6 +113,18 @@
         obj.setFailureEndResupplied(Date.valueOf("2022-12-03"));
         obj.setProbableReason("Über Kabel gestolpert");
 
+        obj.setStationId("224488-123bcd");
+        obj.setStationDescription("Trafo 25");
+        obj.setStationCoords("121,8855");
+        obj.setLongitude(BigDecimal.valueOf(8.646280));
+        obj.setLatitude(BigDecimal.valueOf(50.115618));
+
+        obj.setRefRadius(mockRefRadius());
+
+        obj.setPublicationStatus("veröffentlicht");
+        obj.setPublicationFreetext("Kabel aus Steckdose gerissen");
+        obj.setRefPublicationText(mockRefPublicationText());
+
         obj.setCreateDate(Date.valueOf("2020-05-08"));
         obj.setCreateUser("weizenkeimk");
         obj.setModDate(Date.valueOf("2020-05-23"));
@@ -365,6 +393,18 @@
         obj.setFailureEndResupplied(Date.valueOf("2022-12-03"));
         obj.setProbableReason("Über Kabel gestolpert");
 
+        obj.setStationId("224488-123bcd");
+        obj.setStationDescription("E-werk 4 Trafo 1");
+        obj.setStationCoords("121,8855");
+        obj.setLongitude(BigDecimal.valueOf(8.646280));
+        obj.setLatitude(BigDecimal.valueOf(50.115618));
+
+        obj.setRefRadius(mockRefRadius());
+
+        obj.setPublicationStatus("nicht veröffentlicht");
+        obj.setPublicationFreetext("Kabel kaputt");
+        obj.setRefPublicationText(mockRefPublicationText());
+
         obj.setCreateDate(Date.valueOf("2020-05-08"));
         obj.setCreateUser("weizenkeimk");
         obj.setModDate(Date.valueOf("2020-05-23"));
@@ -379,7 +419,6 @@
         return obj;
     }
 
-
     public static HtblFailureInformation mockHistTblFailureInformation2() {
         HtblFailureInformation obj = new HtblFailureInformation();
         obj.setUuid(UUID.randomUUID());
@@ -393,6 +432,17 @@
         obj.setFailureEndResupplied(Date.valueOf("2022-12-03"));
         obj.setProbableReason("Rohrbruch");
 
+        obj.setStationId("567az-443bcd");
+        obj.setStationDescription("Pumpwerk 13");
+        obj.setStationCoords("121,8855");
+        obj.setLongitude(BigDecimal.valueOf(8.846280));
+        obj.setLatitude(BigDecimal.valueOf(51.115618));
+
+        obj.setRefRadius(mockRefRadius());
+
+        obj.setPublicationStatus("veröffentlicht");
+        obj.setPublicationFreetext("Rohrbruch");
+        obj.setRefPublicationText(mockRefPublicationText());
         obj.setCreateDate(Date.valueOf("2020-05-08"));
         obj.setCreateUser("Kleverk");
         obj.setModDate(Date.valueOf("2020-05-23"));
@@ -427,6 +477,21 @@
         dto.setFailureEndResupplied(Date.valueOf("2022-12-03"));
         dto.setProbableReason("Über Kabel gestolpert");
 
+        dto.setStationId("123123-123zzz");
+        dto.setStationDescription("Umspannwerk 5");
+        dto.setStationCoords("121,8855");
+        dto.setLongitude(BigDecimal.valueOf(8.646280));
+        dto.setLatitude(BigDecimal.valueOf(49.119618));
+
+        dto.setRadiusId(UUID.randomUUID());
+        dto.setRadius("500m");
+
+        dto.setPublicationStatus(" nicht veröffentlicht");
+        dto.setPublicationFreetext("Leitung abgerissen");
+
+        dto.setPublicationTextId(UUID.randomUUID());
+        dto.setPublicationText("Kabelfehler Hochspannung");
+
         dto.setFailureClassificationId(UUID.randomUUID());
         dto.setFailureClassification("FailClazz");
 
@@ -464,6 +529,21 @@
         dto.setFailureEndResupplied(Date.valueOf("2022-12-03"));
         dto.setProbableReason("Über Rohr gestolpert");
 
+        dto.setStationId("985236-999bcd");
+        dto.setStationDescription("Trafo 135");
+        dto.setStationCoords("121,8855");
+        dto.setLongitude(BigDecimal.valueOf(9.646280));
+        dto.setLatitude(BigDecimal.valueOf(52.115618));
+
+        dto.setRadiusId(UUID.randomUUID());
+        dto.setRadius("150m");
+
+        dto.setPublicationStatus("veröffentlicht");
+        dto.setPublicationFreetext("Kabel durchgebrochen");
+
+        dto.setPublicationTextId(UUID.randomUUID());
+        dto.setPublicationText("Kabelfehler Mittelspannung");
+
         dto.setFailureClassificationId(UUID.randomUUID());
         dto.setFailureClassification("FailClazz");
 
@@ -495,6 +575,126 @@
         return retList;
     }
 
+    public static RadiusDto mockRadiusDto() {
+        RadiusDto radiusDto1 = new RadiusDto();
+
+        radiusDto1.setUuid(UUID.fromString("695706a2-6cde-11ea-bc55-0242ac130003"));
+        radiusDto1.setRadius("300m");
+
+        return radiusDto1;
+    }
+
+    public static RadiusDto mockRadiusDto2() {
+        RadiusDto radiusDto2 = new RadiusDto();
+
+        radiusDto2.setUuid(UUID.fromString("69570774-6cde-11ea-bc55-0242ac130003"));
+        radiusDto2.setRadius("1555m");
+
+        return radiusDto2;
+    }
+
+    public static List<RadiusDto> mockRadiusDtoList() {
+        RadiusDto radiusDto1 = mockRadiusDto();
+        RadiusDto radiusDto2 = mockRadiusDto2();
+
+        List<RadiusDto> radiusDtoList = new ArrayList<>();
+        radiusDtoList.add(radiusDto1);
+        radiusDtoList.add(radiusDto2);
+
+        return radiusDtoList;
+    }
+
+    public static RefRadius mockRefRadius() {
+        RefRadius refRadius1 = new RefRadius();
+
+        refRadius1.setUuid(UUID.fromString("6957033c-6cde-11ea-bc55-0242ac130003"));
+        refRadius1.setRadius("400m");
+
+        return refRadius1;
+    }
+
+    public static RefRadius mockRefRadius2() {
+        RefRadius refRadius2 = new RefRadius();
+
+        refRadius2.setUuid(UUID.fromString("6957059e-6cde-11ea-bc55-0242ac130003"));
+        refRadius2.setRadius("400m");
+
+        return refRadius2;
+    }
+
+    public static List<RefRadius> mockRefRadiusList() {
+        RefRadius refRadius1 = mockRefRadius();
+        RefRadius refRadius2 = mockRefRadius2();
+
+        List<RefRadius> refRadiusList = new ArrayList<>();
+        refRadiusList.add(refRadius1);
+        refRadiusList.add(refRadius2);
+
+        return refRadiusList;
+    }
+
+
+    public static PublicationTextDto mockPublicationTextDto() {
+        PublicationTextDto publicationTextDto1 = new PublicationTextDto();
+
+        publicationTextDto1.setUuid(UUID.fromString("cd22ff10-6cde-11ea-bc55-0242ac130003"));
+        publicationTextDto1.setDescription("Beschreibung Rohrbruch");
+        publicationTextDto1.setDescription("Rohrbruch");
+
+        return publicationTextDto1;
+    }
+
+    public static PublicationTextDto mockPublicationTextDto2() {
+        PublicationTextDto publicationTextDto2 = new PublicationTextDto();
+
+        publicationTextDto2.setUuid(UUID.fromString("cd23015e-6cde-11ea-bc55-0242ac130003"));
+        publicationTextDto2.setDescription("Beschreibung Alles kaputt!");
+        publicationTextDto2.setText("Alles kaputt!");
+
+        return publicationTextDto2;
+    }
+
+    public static List<PublicationTextDto> mockPublicationTextDtoList() {
+        PublicationTextDto publicationTextDto1 = mockPublicationTextDto();
+        PublicationTextDto publicationTextDto2 = mockPublicationTextDto2();
+
+        List<PublicationTextDto> publicationTextDtoList = new ArrayList<>();
+        publicationTextDtoList.add(publicationTextDto1);
+        publicationTextDtoList.add(publicationTextDto2);
+
+        return publicationTextDtoList;
+    }
+
+    public static RefPublicationText mockRefPublicationText() {
+        RefPublicationText refPublicationText1 = new RefPublicationText();
+
+        refPublicationText1.setUuid(UUID.fromString("cd230532-6cde-11ea-bc55-0242ac130003"));
+        refPublicationText1.setDescription("Beschreibung Kabelfehler Hochspannung");
+        refPublicationText1.setText("Kabelfehler Hochspannung");
+
+        return refPublicationText1;
+    }
+
+    public static RefPublicationText mockRefPublicationText2() {
+        RefPublicationText refPublicationText2 = new RefPublicationText();
+
+        refPublicationText2.setUuid(UUID.fromString("cd23062c-6cde-11ea-bc55-0242ac130003"));
+        refPublicationText2.setDescription("Beschreibung Rohrleitung beschädigt");
+        refPublicationText2.setText("Rohrleitung beschädigt");
+
+        return refPublicationText2;
+    }
+
+    public static List<RefPublicationText> mockRefPublicationTextList() {
+        RefPublicationText refPublicationText1 = mockRefPublicationText();
+        RefPublicationText refPublicationText2 = mockRefPublicationText2();
+
+        List<RefPublicationText> refPublicationTextList = new ArrayList<>();
+        refPublicationTextList.add(refPublicationText1);
+        refPublicationTextList.add(refPublicationText2);
+
+        return refPublicationTextList;
+    }
     public static ImportDataDto mockImportDataDto() {
         ImportDataDto importDataDto1 = new ImportDataDto();