Merge branch 'DEVELOP'
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/constants/Constants.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/constants/Constants.java
index 0162baa..f937246 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/constants/Constants.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/constants/Constants.java
@@ -47,6 +47,10 @@
public static final String FREETEXT_ADDRESS_TYPE="freetext";
+ public static final String LOCATION_TYPE_ADDRESS="address";
+ public static final String LOCATION_TYPE_MAP="map";
+ public static final String LOCATION_TYPE_STATION="station";
+
private Constants() {
// empty Constructor for the sake of SONAR
}
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/ImportService.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/ImportService.java
index 534688b..51e798b 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/ImportService.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/service/ImportService.java
@@ -17,6 +17,7 @@
import lombok.extern.log4j.Log4j2;
import org.apache.commons.lang.StringUtils;
import org.eclipse.openk.gridfailureinformation.bpmn.impl.GfiProcessState;
+import org.eclipse.openk.gridfailureinformation.bpmn.impl.tasks.ProcessHelper;
import org.eclipse.openk.gridfailureinformation.constants.Constants;
import org.eclipse.openk.gridfailureinformation.exceptions.InternalServerErrorException;
import org.eclipse.openk.gridfailureinformation.mapper.FailureInformationMapper;
@@ -68,6 +69,9 @@
@Autowired
ImportDataValidator importDataValidator;
+ @Autowired
+ ProcessHelper processHelper;
+
public boolean validateAndImport(ImportDataDto importDataDto) {
ForeignFailureDataDto foreignFailureDataDto = importDataValidator.readSafeForeignFailureInfo(importDataDto);
@@ -104,6 +108,12 @@
FailureInformationDto retVal = failureInformationService.insertFailureInfo(failureInformationDto, gfiProcessState);
log.info("External failure information [MetaId: " + importDataDto.getMetaId() + "] from " + importDataDto.getSource() + " imported (inserted).");
+
+ if (foreignFailureDataDto.isAutopublish()) {
+ failureInformationService.insertPublicationChannelForFailureInfo(retVal.getUuid(), Constants.PUBLICATION_CHANNEL_OWNDMZ);
+ log.info("External failure information [MetaId: " + importDataDto.getMetaId() + "] from "
+ + importDataDto.getSource() + "is prepared for autopublish to channel: " + Constants.PUBLICATION_CHANNEL_OWNDMZ);
+ }
return retVal;
} else {
@@ -128,6 +138,7 @@
);
} else {
if (foreignFailureDataDto.isAutopublish()) {
+ processHelper.resetPublishedStateForChannels(updatedDto);
log.info("Autopublish for external failure information [" + importDataDto.getMetaId() + "] from " + importDataDto.getSource() + " is true, current status remains unchanged.");
}
}
@@ -171,6 +182,7 @@
failureInformationDto.setHousenumber(foreignFailureDataDto.getHousenumber());
setCoordinates(foreignFailureDataDto, failureInformationDto);
+ setLoationType(failureInformationDto);
failureInformationDto.setStationIds(new LinkedList<>());
if( foreignStationId != null && !foreignStationId.isEmpty()) {
@@ -191,6 +203,17 @@
failureInformationDto.setObjectReferenceExternalSystem(importDataDto.getAssembledRefId());
}
+ private void setLoationType(FailureInformationDto failureInformationDto) {
+ failureInformationDto.setFaultLocationArea(Constants.LOCATION_TYPE_ADDRESS);
+ if (failureInformationDto.getLatitude() != null && failureInformationDto.getLongitude() != null
+ && StringUtils.isBlank(failureInformationDto.getStreet())) {
+ failureInformationDto.setFaultLocationArea(Constants.LOCATION_TYPE_MAP);
+ failureInformationDto.setFreetextCity(failureInformationDto.getCity());
+ failureInformationDto.setFreetextDistrict(failureInformationDto.getDistrict());
+ failureInformationDto.setFreetextPostcode(failureInformationDto.getPostcode());
+ }
+ }
+
private void setCoordinates(ForeignFailureDataDto foreignFailureDataDto, FailureInformationDto failureInformationDto) {
BigDecimal latitude = foreignFailureDataDto.getLatitude();
BigDecimal longitude = foreignFailureDataDto.getLongitude();