Search in sources :

Example 16 with ProtocolResponseMessage

use of com.alliander.osgp.shared.infra.jms.ProtocolResponseMessage in project Protocol-Adapter-IEC61850 by OSGP.

the class DeviceRequestMessageListener method sendException.

private void sendException(final ObjectMessage objectMessage, final Exception exception) {
    try {
        final String domain = objectMessage.getStringProperty(Constants.DOMAIN);
        final String domainVersion = objectMessage.getStringProperty(Constants.DOMAIN_VERSION);
        final ResponseMessageResultType result = ResponseMessageResultType.NOT_OK;
        final FunctionalException osgpException = new FunctionalException(FunctionalExceptionType.UNSUPPORTED_DEVICE_ACTION, ComponentType.PROTOCOL_IEC61850, exception);
        final Serializable dataObject = objectMessage.getObject();
        final DeviceMessageMetadata deviceMessageMetadata = new DeviceMessageMetadata(objectMessage);
        final ProtocolResponseMessage protocolResponseMessage = new ProtocolResponseMessage.Builder().deviceMessageMetadata(deviceMessageMetadata).domain(domain).domainVersion(domainVersion).result(result).osgpException(osgpException).dataObject(dataObject).scheduled(false).build();
        this.deviceResponseMessageSender.send(protocolResponseMessage);
    } catch (final Exception e) {
        LOGGER.error("Unexpected error during sendException(ObjectMessage, Exception)", e);
    }
}
Also used : Serializable(java.io.Serializable) ProtocolResponseMessage(com.alliander.osgp.shared.infra.jms.ProtocolResponseMessage) FunctionalException(com.alliander.osgp.shared.exceptionhandling.FunctionalException) DeviceMessageMetadata(com.alliander.osgp.shared.infra.jms.DeviceMessageMetadata) ResponseMessageResultType(com.alliander.osgp.shared.infra.jms.ResponseMessageResultType) FunctionalException(com.alliander.osgp.shared.exceptionhandling.FunctionalException) JMSException(javax.jms.JMSException) NotSupportedException(com.alliander.osgp.shared.exceptionhandling.NotSupportedException)

Example 17 with ProtocolResponseMessage

use of com.alliander.osgp.shared.infra.jms.ProtocolResponseMessage in project Protocol-Adapter-OSLP by OSGP.

the class DeviceManagementService method sendResponseMessage.

private void sendResponseMessage(final String domain, final String domainVersion, final String messageType, final String correlationUid, final String organisationIdentification, final String deviceIdentification, final ResponseMessageResultType result, final OsgpException osgpException, final DeviceResponseMessageSender responseMessageSender) {
    final DeviceMessageMetadata deviceMessageMetadata = new DeviceMessageMetadata(deviceIdentification, organisationIdentification, correlationUid, messageType, MessagePriorityEnum.DEFAULT.getPriority());
    final ProtocolResponseMessage responseMessage = ProtocolResponseMessage.newBuilder().domain(domain).domainVersion(domainVersion).deviceMessageMetadata(deviceMessageMetadata).result(result).osgpException(osgpException).build();
    responseMessageSender.send(responseMessage);
}
Also used : ProtocolResponseMessage(com.alliander.osgp.shared.infra.jms.ProtocolResponseMessage) DeviceMessageMetadata(com.alliander.osgp.shared.infra.jms.DeviceMessageMetadata)

Example 18 with ProtocolResponseMessage

use of com.alliander.osgp.shared.infra.jms.ProtocolResponseMessage in project Protocol-Adapter-OSLP by OSGP.

the class OslpSigningService method handleError.

/**
 * Handle an error from the signing server.
 */
public void handleError(final String deviceIdentification, final ResponseMessage responseMessage) {
    final UnsignedOslpEnvelopeDto unsignedOslpEnvelopeDto = (UnsignedOslpEnvelopeDto) responseMessage.getDataObject();
    final DeviceMessageMetadata deviceMessageMetadata = new DeviceMessageMetadata(deviceIdentification, unsignedOslpEnvelopeDto.getOrganisationIdentification(), unsignedOslpEnvelopeDto.getCorrelationUid(), unsignedOslpEnvelopeDto.getMessageType(), MessagePriorityEnum.DEFAULT.getPriority());
    final ProtocolResponseMessage protocolResponseMessage = ProtocolResponseMessage.newBuilder().domain(unsignedOslpEnvelopeDto.getDomain()).domainVersion(unsignedOslpEnvelopeDto.getDomainVersion()).deviceMessageMetadata(deviceMessageMetadata).result(responseMessage.getResult()).osgpException(responseMessage.getOsgpException()).scheduled(unsignedOslpEnvelopeDto.isScheduled()).build();
    this.deviceResponseMessageSender.send(protocolResponseMessage);
}
Also used : UnsignedOslpEnvelopeDto(com.alliander.osgp.oslp.UnsignedOslpEnvelopeDto) ProtocolResponseMessage(com.alliander.osgp.shared.infra.jms.ProtocolResponseMessage) DeviceMessageMetadata(com.alliander.osgp.shared.infra.jms.DeviceMessageMetadata)

Example 19 with ProtocolResponseMessage

use of com.alliander.osgp.shared.infra.jms.ProtocolResponseMessage in project Protocol-Adapter-OSLP by OSGP.

the class DeviceRequestMessageListener method sendException.

private void sendException(final ObjectMessage objectMessage, final Exception exception, final String errorMessage) {
    try {
        final String domain = objectMessage.getStringProperty(Constants.DOMAIN);
        final String domainVersion = objectMessage.getStringProperty(Constants.DOMAIN_VERSION);
        final ResponseMessageResultType result = ResponseMessageResultType.NOT_OK;
        final OsgpException osgpException = new OsgpException(ComponentType.PROTOCOL_OSLP, errorMessage, exception);
        final Serializable dataObject = objectMessage.getObject();
        final DeviceMessageMetadata deviceMessageMetadata = new DeviceMessageMetadata(objectMessage);
        final ProtocolResponseMessage protocolResponseMessage = new ProtocolResponseMessage.Builder().deviceMessageMetadata(deviceMessageMetadata).domain(domain).domainVersion(domainVersion).result(result).osgpException(osgpException).dataObject(dataObject).scheduled(false).build();
        this.deviceResponseMessageSender.send(protocolResponseMessage);
    } catch (final Exception e) {
        LOGGER.error("Unexpected error during sendException(ObjectMessage, Exception)", e);
    }
}
Also used : OsgpException(com.alliander.osgp.shared.exceptionhandling.OsgpException) Serializable(java.io.Serializable) ProtocolResponseMessage(com.alliander.osgp.shared.infra.jms.ProtocolResponseMessage) DeviceMessageMetadata(com.alliander.osgp.shared.infra.jms.DeviceMessageMetadata) ResponseMessageResultType(com.alliander.osgp.shared.infra.jms.ResponseMessageResultType) OsgpException(com.alliander.osgp.shared.exceptionhandling.OsgpException) JMSException(javax.jms.JMSException) NotSupportedException(com.alliander.osgp.shared.exceptionhandling.NotSupportedException)

Example 20 with ProtocolResponseMessage

use of com.alliander.osgp.shared.infra.jms.ProtocolResponseMessage in project Protocol-Adapter-OSLP by OSGP.

the class DeviceRequestMessageProcessor method handleUnableToConnectDeviceResponse.

public void handleUnableToConnectDeviceResponse(final DeviceResponse deviceResponse, final Throwable t, final Serializable messageData, final DeviceResponseMessageSender responseMessageSender, final DeviceResponse deviceResponse2, final String domain, final String domainVersion, final String messageType, final boolean isScheduled, final int retryCount) {
    final ResponseMessageResultType result = ResponseMessageResultType.NOT_OK;
    final OsgpException ex = new TechnicalException(ComponentType.PROTOCOL_OSLP, StringUtils.isBlank(t.getMessage()) ? UNEXPECTED_EXCEPTION : t.getMessage(), t);
    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(ex).dataObject(messageData).scheduled(isScheduled).retryCount(retryCount).build();
    this.responseMessageSender.send(responseMessage);
}
Also used : OsgpException(com.alliander.osgp.shared.exceptionhandling.OsgpException) TechnicalException(com.alliander.osgp.shared.exceptionhandling.TechnicalException) ProtocolResponseMessage(com.alliander.osgp.shared.infra.jms.ProtocolResponseMessage) DeviceMessageMetadata(com.alliander.osgp.shared.infra.jms.DeviceMessageMetadata) ResponseMessageResultType(com.alliander.osgp.shared.infra.jms.ResponseMessageResultType)

Aggregations

ProtocolResponseMessage (com.alliander.osgp.shared.infra.jms.ProtocolResponseMessage)28 DeviceMessageMetadata (com.alliander.osgp.shared.infra.jms.DeviceMessageMetadata)26 ResponseMessageResultType (com.alliander.osgp.shared.infra.jms.ResponseMessageResultType)17 OsgpException (com.alliander.osgp.shared.exceptionhandling.OsgpException)15 TechnicalException (com.alliander.osgp.shared.exceptionhandling.TechnicalException)15 JMSException (javax.jms.JMSException)12 IOException (java.io.IOException)6 DeviceStatusDto (com.alliander.osgp.dto.valueobjects.DeviceStatusDto)4 Serializable (java.io.Serializable)4 GetStatusDeviceResponse (com.alliander.osgp.adapter.protocol.oslp.elster.device.responses.GetStatusDeviceResponse)3 EmptyDeviceResponse (com.alliander.osgp.adapter.protocol.oslp.elster.device.responses.EmptyDeviceResponse)2 ConfigurationDto (com.alliander.osgp.dto.valueobjects.ConfigurationDto)2 FirmwareVersionDto (com.alliander.osgp.dto.valueobjects.FirmwareVersionDto)2 PowerUsageHistoryResponseMessageDataContainerDto (com.alliander.osgp.dto.valueobjects.PowerUsageHistoryResponseMessageDataContainerDto)2 FunctionalException (com.alliander.osgp.shared.exceptionhandling.FunctionalException)2 NotSupportedException (com.alliander.osgp.shared.exceptionhandling.NotSupportedException)2 DaDeviceResponse (com.alliander.osgp.adapter.protocol.iec61850.device.da.rtu.DaDeviceResponse)1 EmptyDeviceResponse (com.alliander.osgp.adapter.protocol.iec61850.device.ssld.responses.EmptyDeviceResponse)1 GetConfigurationDeviceResponse (com.alliander.osgp.adapter.protocol.iec61850.device.ssld.responses.GetConfigurationDeviceResponse)1 GetDataDeviceResponse (com.alliander.osgp.adapter.protocol.iec61850.device.ssld.responses.GetDataDeviceResponse)1