SI-3095 Schnittstelle SARIS Stoerungsauskunft.de angepasst
diff --git a/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/service/ImportService.java b/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/service/ImportService.java index 923a154..1adad7f 100644 --- a/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/service/ImportService.java +++ b/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/service/ImportService.java
@@ -83,7 +83,7 @@ pushForeignFailure(createForeignFailureMessageDto(geplanteVU)); ForeignFailureMessageDto foreignFailureMessageDto = createForeignFailureMessageDto(geplanteVU); messageDtoList.add(foreignFailureMessageDto); - log.info("foreignFailureMessageDto.getMetaId() " + foreignFailureMessageDto.getMetaId()); + log.trace("foreignFailureMessageDto" + foreignFailureMessageDto); } log.debug(messageDtoList); }
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 5f01d7b..4a75c96 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
@@ -708,7 +708,7 @@ failureInformationStationRepository.findUuidByFkTblFailureInformation(failureInformationDto.getUuid()); if(stationUuids.isEmpty()) { - log.debug("No station ids found for failureInfo: " + failureInformationDto.getUuid().toString()); + log.trace("No station ids found for failureInfo: " + failureInformationDto.getUuid().toString()); return; }
diff --git a/stoerungsauskunftInterface/src/main/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/api/StoerungsauskunftApi.java b/stoerungsauskunftInterface/src/main/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/api/StoerungsauskunftApi.java index 8fc8b14..bb22ef3 100644 --- a/stoerungsauskunftInterface/src/main/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/api/StoerungsauskunftApi.java +++ b/stoerungsauskunftInterface/src/main/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/api/StoerungsauskunftApi.java
@@ -29,8 +29,10 @@ @FeignClient(name="Stoerauskunft.de", url= "${stoerungsauskunft.apiUrl}") public interface StoerungsauskunftApi { + //Example call: "https://stage-api-operator.stoerungsauskunft.de/api/v1.0/outage?additiveMode=false" @PostMapping(value= "/outage") - feign.Response postOutage(@RequestBody List<StoerungsauskunftOutage> outage); + feign.Response postOutage(@RequestBody List<StoerungsauskunftOutage> outage, + @RequestParam("additiveMode") boolean additiveMode); @GetMapping(value= "/reports") List<StoerungsauskunftUserNotification> getUserNotification(@RequestParam(value="sectorType") Integer sectorType);
diff --git a/stoerungsauskunftInterface/src/main/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/dtos/ForeignFailureDataDto.java b/stoerungsauskunftInterface/src/main/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/dtos/ForeignFailureDataDto.java index b6d4e1e..b00cd70 100644 --- a/stoerungsauskunftInterface/src/main/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/dtos/ForeignFailureDataDto.java +++ b/stoerungsauskunftInterface/src/main/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/dtos/ForeignFailureDataDto.java
@@ -30,6 +30,14 @@ @Data public class ForeignFailureDataDto implements Serializable { + private boolean isAutopublish; + + private boolean isOnceOnlyImport; + + private boolean isExcludeEquals; + + private boolean isExcludeAlreadyEdited; + @NotNull private boolean isPlanned;
diff --git a/stoerungsauskunftInterface/src/main/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/service/ImportExportService.java b/stoerungsauskunftInterface/src/main/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/service/ImportExportService.java index 9b352ba..fcbbfdf 100644 --- a/stoerungsauskunftInterface/src/main/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/service/ImportExportService.java +++ b/stoerungsauskunftInterface/src/main/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/service/ImportExportService.java
@@ -23,6 +23,7 @@ import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.exceptions.InternalServerErrorException; import org.eclipse.openk.gridfailureinformation.stoerauskunftinterface.mapper.StoerungsauskunftMapper; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.messaging.MessageChannel; @@ -50,6 +51,18 @@ @Autowired StoerungsauskunftMapper stoerungsauskunftMapper; + @Value("${gridFailureInformation.autopublish:false}") + private boolean autopublish; + @Value("${gridFailureInformation.onceOnlyImport:false}") + private boolean onceOnlyImport; + @Value("${gridFailureInformation.excludeEquals:true}") + private boolean excludeEquals; + @Value("${gridFailureInformation.excludeAlreadyEdited:true}") + private boolean excludeAlreadyEdited; + + @Value("${stoerungsauskunft.additiveMode:false}") + private boolean additiveMode; + public void importUserNotifications() { List<StoerungsauskunftUserNotification> userNotificationList = @@ -73,6 +86,10 @@ ForeignFailureDataDto foreignFailureDataDto = stoerungsauskunftMapper.toForeignFailureDataDto(userNotification); foreignFailureDataDto.setBranch(Constants.BRANCH_ELECTRICITY); foreignFailureDataDto.setPlanned(false); + foreignFailureDataDto.setAutopublish(autopublish); + foreignFailureDataDto.setOnceOnlyImport(onceOnlyImport); + foreignFailureDataDto.setExcludeEquals(excludeEquals); + foreignFailureDataDto.setExcludeAlreadyEdited(excludeAlreadyEdited); return foreignFailureDataDto; } @@ -106,7 +123,7 @@ List<StoerungsauskunftOutage> stoerungsauskunftOutageExportList = new ArrayList<>(); stoerungsauskunftOutageExportList.add(stoerungsauskunftOutageExport); - Response response = stoerungsauskunftApi.postOutage(stoerungsauskunftOutageExportList); + Response response = stoerungsauskunftApi.postOutage(stoerungsauskunftOutageExportList, additiveMode); if (response.status() >= 400) { log.error("Error while trying to post message to stoerungsauskunft.de with metaId: " + failureInformationDto.getUuid()); throw new InternalServerErrorException("could.not.post.message.to.external.service");
diff --git a/stoerungsauskunftInterface/src/main/resources/application.yml b/stoerungsauskunftInterface/src/main/resources/application.yml index 81acbd2..1c97053 100644 --- a/stoerungsauskunftInterface/src/main/resources/application.yml +++ b/stoerungsauskunftInterface/src/main/resources/application.yml
@@ -46,12 +46,19 @@ stoerungsauskunft: apiUrl: https://stage-api-operator.stoerungsauskunft.de/api/v1.0/ + additiveMode: false user: ${GFI_STOERUNGSAUSKUNFT_USERNAME} password: ${GFI_STOERUNGSAUSKUNFT_PASSWORD} scheduling-import: enabled: false cron: 0 */15 * ? * * +gridFailureInformation: + autopublish: false + onceOnlyImport: false + excludeEquals: true + excludeAlreadyEdited: true + security.endpoint: user: ${GFI_MANUAL_ENDPOINTS_USERNAME} password: ${GFI_MANUAL_ENDPOINTS_PASSWORD}
diff --git a/stoerungsauskunftInterface/src/main/resources/application_localdev.yml b/stoerungsauskunftInterface/src/main/resources/application_localdev.yml index 3128479..00e5fca 100644 --- a/stoerungsauskunftInterface/src/main/resources/application_localdev.yml +++ b/stoerungsauskunftInterface/src/main/resources/application_localdev.yml
@@ -71,6 +71,12 @@ enabled: false cron: 0 */15 * ? * * +gridFailureInformation: + autopublish: false + onceOnlyImport: false + excludeEquals: true + excludeAlreadyEdited: false + security.endpoint: user: ${GFI_MANUAL_ENDPOINTS_USERNAME} password: ${GFI_MANUAL_ENDPOINTS_PASSWORD}
diff --git a/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/service/ImportExportServiceTest.java b/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/service/ImportExportServiceTest.java index 8d938dd..babf06c 100644 --- a/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/service/ImportExportServiceTest.java +++ b/stoerungsauskunftInterface/src/test/java/org/eclipse/openk/gridfailureinformation/stoerauskunftinterface/service/ImportExportServiceTest.java
@@ -82,9 +82,9 @@ Request request = mock(Request.class); Response mockResponse = Response.builder().status(200).request(request).body("Test", StandardCharsets.UTF_8).build(); - when(stoerungsauskunftApi.postOutage(any())).thenReturn(mockResponse); + when(stoerungsauskunftApi.postOutage(any(), anyBoolean())).thenReturn(mockResponse); importExportService.exportStoerungsauskunftOutage(rabbitMqMessageDto); - verify(stoerungsauskunftApi, times(1)).postOutage(anyList()); + verify(stoerungsauskunftApi, times(1)).postOutage(anyList(), anyBoolean()); } @Test @@ -97,9 +97,9 @@ Request request = mock(Request.class); Response mockResponse = Response.builder().status(200).request(request).body("Test", StandardCharsets.UTF_8).build(); - when(stoerungsauskunftApi.postOutage(any())).thenReturn(mockResponse); + when(stoerungsauskunftApi.postOutage(any(), anyBoolean())).thenReturn(mockResponse); importExportService.exportStoerungsauskunftOutage(rabbitMqMessageDto); - verify(stoerungsauskunftApi, times(1)).postOutage(anyList()); + verify(stoerungsauskunftApi, times(1)).postOutage(anyList(), anyBoolean()); } @Test @@ -112,9 +112,9 @@ Request request = mock(Request.class); Response mockResponse = Response.builder().status(200).request(request).body("Test", StandardCharsets.UTF_8).build(); - when(stoerungsauskunftApi.postOutage(any())).thenReturn(mockResponse); + when(stoerungsauskunftApi.postOutage(any(), anyBoolean())).thenReturn(mockResponse); importExportService.exportStoerungsauskunftOutage(rabbitMqMessageDto); - verify(stoerungsauskunftApi, times(1)).postOutage(anyList()); + verify(stoerungsauskunftApi, times(1)).postOutage(anyList(), anyBoolean()); } @Test @@ -124,7 +124,7 @@ Request request = mock(Request.class); Response mockResponse = Response.builder().status(400).request(request).body("Test", StandardCharsets.UTF_8).build(); - when(stoerungsauskunftApi.postOutage(any())).thenReturn(mockResponse); + when(stoerungsauskunftApi.postOutage(any(), anyBoolean())).thenReturn(mockResponse); assertThrows(InternalServerErrorException.class, () -> importExportService.exportStoerungsauskunftOutage(rabbitMqMessageDto)); }