use of com.alliander.osgp.shared.infra.jms.DeviceMessageMetadata in project Protocol-Adapter-OSLP by OSGP.
the class PublicLightingGetPowerUsageHistoryRequestMessageProcessor method handleGetPowerUsageHistoryDeviceResponse.
protected void handleGetPowerUsageHistoryDeviceResponse(final DeviceResponse deviceResponse, final PowerUsageHistoryMessageDataContainerDto messageData, final DeviceResponseMessageSender responseMessageSender, final String domain, final String domainVersion, final String messageType, final boolean isScheduled, final int retryCount) {
ResponseMessageResultType result = ResponseMessageResultType.OK;
OsgpException osgpException = null;
PowerUsageHistoryResponseMessageDataContainerDto powerUsageHistoryResponseMessageDataContainerDto = null;
Serializable dataObject;
try {
final GetPowerUsageHistoryDeviceResponse response = (GetPowerUsageHistoryDeviceResponse) deviceResponse;
this.deviceResponseService.handleDeviceMessageStatus(response.getStatus());
powerUsageHistoryResponseMessageDataContainerDto = new PowerUsageHistoryResponseMessageDataContainerDto(response.getPowerUsageHistoryData());
dataObject = powerUsageHistoryResponseMessageDataContainerDto;
} catch (final Exception e) {
LOGGER.error("Device Response Exception", e);
result = ResponseMessageResultType.NOT_OK;
dataObject = messageData;
osgpException = new TechnicalException(ComponentType.UNKNOWN, "Exception occurred while getting device power usage history", e);
}
final DeviceMessageMetadata deviceMessageMetadata = new DeviceMessageMetadata(deviceResponse.getDeviceIdentification(), deviceResponse.getOrganisationIdentification(), deviceResponse.getCorrelationUid(), messageType, MessagePriorityEnum.DEFAULT.getPriority());
final ProtocolResponseMessage responseMessage = ProtocolResponseMessage.newBuilder().domain(domain).domainVersion(domainVersion).deviceMessageMetadata(deviceMessageMetadata).result(result).osgpException(osgpException).dataObject(dataObject).scheduled(isScheduled).retryCount(retryCount).build();
responseMessageSender.send(responseMessage);
}
Aggregations