List of usage examples for javax.jms ObjectMessage getStringProperty
String getStringProperty(String name) throws JMSException;
From source file:com.alliander.osgp.adapter.protocol.iec61850.infra.messaging.processors.MicrogridsSetSetPointsRequestMessageProcessor.java
@Override public void processMessage(final ObjectMessage message) { LOGGER.info("Processing microgrids get data request message"); String correlationUid = null; String domain = null;/*from w w w. j av a2 s .c om*/ String domainVersion = null; String messageType = null; String organisationIdentification = null; String deviceIdentification = null; String ipAddress = null; int retryCount = 0; boolean isScheduled = false; SetPointsRequestDto setSetPointsRequest = null; try { correlationUid = message.getJMSCorrelationID(); domain = message.getStringProperty(Constants.DOMAIN); domainVersion = message.getStringProperty(Constants.DOMAIN_VERSION); messageType = message.getJMSType(); organisationIdentification = message.getStringProperty(Constants.ORGANISATION_IDENTIFICATION); deviceIdentification = message.getStringProperty(Constants.DEVICE_IDENTIFICATION); ipAddress = message.getStringProperty(Constants.IP_ADDRESS); retryCount = message.getIntProperty(Constants.RETRY_COUNT); isScheduled = message.propertyExists(Constants.IS_SCHEDULED) ? message.getBooleanProperty(Constants.IS_SCHEDULED) : false; setSetPointsRequest = (SetPointsRequestDto) message.getObject(); } catch (final JMSException e) { LOGGER.error("UNRECOVERABLE ERROR, unable to read ObjectMessage instance, giving up.", e); LOGGER.debug("correlationUid: {}", correlationUid); LOGGER.debug("domain: {}", domain); LOGGER.debug("domainVersion: {}", domainVersion); LOGGER.debug("messageType: {}", messageType); LOGGER.debug("organisationIdentification: {}", organisationIdentification); LOGGER.debug("deviceIdentification: {}", deviceIdentification); LOGGER.debug("ipAddress: {}", ipAddress); return; } final RequestMessageData requestMessageData = new RequestMessageData(null, domain, domainVersion, messageType, retryCount, isScheduled, correlationUid, organisationIdentification, deviceIdentification); LOGGER.info("Calling DeviceService function: {} for domain: {} {}", messageType, domain, domainVersion); final DeviceResponseHandler deviceResponseHandler = new DeviceResponseHandler() { @Override public void handleResponse(final DeviceResponse deviceResponse) { MicrogridsSetSetPointsRequestMessageProcessor.this.handleEmptyDeviceResponse(deviceResponse, MicrogridsSetSetPointsRequestMessageProcessor.this.responseMessageSender, requestMessageData.getDomain(), requestMessageData.getDomainVersion(), requestMessageData.getMessageType(), requestMessageData.getRetryCount()); } @Override public void handleException(final Throwable t, final DeviceResponse deviceResponse, final boolean expected) { if (expected) { MicrogridsSetSetPointsRequestMessageProcessor.this.handleExpectedError( new ConnectionFailureException(ComponentType.PROTOCOL_IEC61850, t.getMessage()), requestMessageData.getCorrelationUid(), requestMessageData.getOrganisationIdentification(), requestMessageData.getDeviceIdentification(), requestMessageData.getDomain(), requestMessageData.getDomainVersion(), requestMessageData.getMessageType()); } else { MicrogridsSetSetPointsRequestMessageProcessor.this.handleUnExpectedError(deviceResponse, t, requestMessageData.getMessageData(), requestMessageData.getDomain(), requestMessageData.getDomainVersion(), requestMessageData.getMessageType(), requestMessageData.isScheduled(), requestMessageData.getRetryCount()); } } }; final SetSetPointsDeviceRequest deviceRequest = new SetSetPointsDeviceRequest(organisationIdentification, deviceIdentification, correlationUid, setSetPointsRequest, domain, domainVersion, messageType, ipAddress, retryCount, isScheduled); this.deviceService.setSetPoints(deviceRequest, deviceResponseHandler); }
From source file:com.alliander.osgp.adapter.protocol.iec61850.infra.messaging.processors.CommonUpdateDeviceSslCertificationRequestMessageProcessor.java
@Override public void processMessage(final ObjectMessage message) { LOGGER.debug("Processing common update device ssl certification message"); String correlationUid = null; String domain = null;/*from w ww. j a v a2 s.c om*/ String domainVersion = null; String messageType = null; String organisationIdentification = null; String deviceIdentification = null; String ipAddress = null; Boolean isScheduled = null; int retryCount = 0; CertificationDto certification = null; try { correlationUid = message.getJMSCorrelationID(); domain = message.getStringProperty(Constants.DOMAIN); domainVersion = message.getStringProperty(Constants.DOMAIN_VERSION); messageType = message.getJMSType(); organisationIdentification = message.getStringProperty(Constants.ORGANISATION_IDENTIFICATION); deviceIdentification = message.getStringProperty(Constants.DEVICE_IDENTIFICATION); ipAddress = message.getStringProperty(Constants.IP_ADDRESS); isScheduled = message.getBooleanProperty(Constants.IS_SCHEDULED); retryCount = message.getIntProperty(Constants.RETRY_COUNT); certification = (CertificationDto) message.getObject(); } catch (final JMSException e) { LOGGER.error("UNRECOVERABLE ERROR, unable to read ObjectMessage instance, giving up.", e); LOGGER.debug("correlationUid: {}", correlationUid); LOGGER.debug("domain: {}", domain); LOGGER.debug("domainVersion: {}", domainVersion); LOGGER.debug("messageType: {}", messageType); LOGGER.debug("organisationIdentification: {}", organisationIdentification); LOGGER.debug("deviceIdentification: {}", deviceIdentification); LOGGER.debug("ipAddress: {}", ipAddress); LOGGER.debug("scheduled: {}", isScheduled); return; } final RequestMessageData requestMessageData = new RequestMessageData(null, domain, domainVersion, messageType, retryCount, isScheduled, correlationUid, organisationIdentification, deviceIdentification); LOGGER.info("Calling DeviceService function: {} for domain: {} {}", messageType, domain, domainVersion); final DeviceResponseHandler deviceResponseHandler = new DeviceResponseHandler() { @Override public void handleResponse(final DeviceResponse deviceResponse) { CommonUpdateDeviceSslCertificationRequestMessageProcessor.this.handleEmptyDeviceResponse( deviceResponse, CommonUpdateDeviceSslCertificationRequestMessageProcessor.this.responseMessageSender, requestMessageData.getDomain(), requestMessageData.getDomainVersion(), requestMessageData.getMessageType(), requestMessageData.getRetryCount()); } @Override public void handleException(final Throwable t, final DeviceResponse deviceResponse, final boolean expected) { if (expected) { CommonUpdateDeviceSslCertificationRequestMessageProcessor.this.handleExpectedError( new ConnectionFailureException(ComponentType.PROTOCOL_IEC61850, t.getMessage()), requestMessageData.getCorrelationUid(), requestMessageData.getOrganisationIdentification(), requestMessageData.getDeviceIdentification(), requestMessageData.getDomain(), requestMessageData.getDomainVersion(), requestMessageData.getMessageType()); } else { CommonUpdateDeviceSslCertificationRequestMessageProcessor.this.handleUnExpectedError( deviceResponse, t, requestMessageData.getMessageData(), requestMessageData.getDomain(), requestMessageData.getDomainVersion(), requestMessageData.getMessageType(), requestMessageData.isScheduled(), requestMessageData.getRetryCount()); } } }; final UpdateDeviceSslCertificationDeviceRequest deviceRequest = new UpdateDeviceSslCertificationDeviceRequest( organisationIdentification, deviceIdentification, correlationUid, certification, domain, domainVersion, messageType, ipAddress, retryCount, isScheduled); this.deviceService.updateDeviceSslCertification(deviceRequest, deviceResponseHandler); }
From source file:com.alliander.osgp.acceptancetests.adhocmanagement.SetLightSteps.java
@DomainStep("a set light response message with correlationId (.*), deviceId (.*), qresult (.*) and qdescription (.*) is found in the queue (.*)") public void givenASetLightResponseMessageIsFoundInTheQueue(final String correlationId, final String deviceId, final String qresult, final String qdescription, final Boolean isFound) { LOGGER.info(/*w w w . j a va 2s. c om*/ "GIVEN: \"a set light response message with correlationId {}, deviceId {}, qresult {} and qdescription {} is found {}\".", correlationId, deviceId, qresult, qdescription, isFound); if (isFound) { final ObjectMessage messageMock = mock(ObjectMessage.class); try { when(messageMock.getJMSCorrelationID()).thenReturn(correlationId); when(messageMock.getStringProperty("OrganisationIdentification")).thenReturn(ORGANISATION_ID); when(messageMock.getStringProperty("DeviceIdentification")).thenReturn(deviceId); final ResponseMessageResultType result = ResponseMessageResultType.valueOf(qresult); Serializable dataObject = null; OsgpException exception = null; if (result.equals(ResponseMessageResultType.NOT_OK)) { dataObject = new FunctionalException(FunctionalExceptionType.VALIDATION_ERROR, ComponentType.UNKNOWN, new ValidationException()); exception = (OsgpException) dataObject; } final ResponseMessage message = new ResponseMessage(correlationId, ORGANISATION_ID, deviceId, result, exception, dataObject); when(messageMock.getObject()).thenReturn(message); } catch (final JMSException e) { LOGGER.error("JMSException", e); } when(this.publicLightingResponsesJmsTemplate.receiveSelected(any(String.class))) .thenReturn(messageMock); } else { when(this.publicLightingResponsesJmsTemplate.receiveSelected(any(String.class))).thenReturn(null); } }
From source file:com.alliander.osgp.adapter.protocol.oslp.elster.infra.messaging.processors.PublicLightingGetPowerUsageHistoryRequestMessageProcessor.java
@Override public void processMessage(final ObjectMessage message) { LOGGER.debug("Processing public lighting get power usage history request message"); String correlationUid = null; String domain = null;//w w w.ja v a 2 s . co m String domainVersion = null; String messageType = null; String organisationIdentification = null; String deviceIdentification = null; String ipAddress = null; Boolean isScheduled = null; int retryCount = 0; try { correlationUid = message.getJMSCorrelationID(); domain = message.getStringProperty(Constants.DOMAIN); domainVersion = message.getStringProperty(Constants.DOMAIN_VERSION); messageType = message.getJMSType(); organisationIdentification = message.getStringProperty(Constants.ORGANISATION_IDENTIFICATION); deviceIdentification = message.getStringProperty(Constants.DEVICE_IDENTIFICATION); ipAddress = message.getStringProperty(Constants.IP_ADDRESS); isScheduled = message.getBooleanProperty(Constants.IS_SCHEDULED); retryCount = message.getIntProperty(Constants.RETRY_COUNT); } catch (final JMSException e) { LOGGER.error("UNRECOVERABLE ERROR, unable to read ObjectMessage instance, giving up.", e); LOGGER.debug("correlationUid: {}", correlationUid); LOGGER.debug("domain: {}", domain); LOGGER.debug("domainVersion: {}", domainVersion); LOGGER.debug("messageType: {}", messageType); LOGGER.debug("organisationIdentification: {}", organisationIdentification); LOGGER.debug("deviceIdentification: {}", deviceIdentification); LOGGER.debug("ipAddress: {}", ipAddress); LOGGER.debug("scheduled: {}", isScheduled); return; } try { final PowerUsageHistoryMessageDataContainerDto powerUsageHistoryMessageDataContainerDto = (PowerUsageHistoryMessageDataContainerDto) message .getObject(); LOGGER.info("Calling DeviceService function: {} for domain: {} {}", messageType, domain, domainVersion); final GetPowerUsageHistoryDeviceRequest deviceRequest = new GetPowerUsageHistoryDeviceRequest( organisationIdentification, deviceIdentification, correlationUid, powerUsageHistoryMessageDataContainerDto, domain, domainVersion, messageType, ipAddress, retryCount, isScheduled); this.deviceService.getPowerUsageHistory(deviceRequest); } catch (final Exception e) { this.handleError(e, correlationUid, organisationIdentification, deviceIdentification, domain, domainVersion, messageType, retryCount); } }
From source file:com.alliander.osgp.adapter.protocol.iec61850.infra.messaging.processors.MicrogridsGetDataRequestMessageProcessor.java
@Override public void processMessage(final ObjectMessage message) { LOGGER.info("Processing microgrids get data request message"); String correlationUid = null; String domain = null;//from ww w .j a v a 2 s . com String domainVersion = null; String messageType = null; String organisationIdentification = null; String deviceIdentification = null; String ipAddress = null; int retryCount = 0; boolean isScheduled = false; DataRequestDto getDataRequest = null; try { correlationUid = message.getJMSCorrelationID(); domain = message.getStringProperty(Constants.DOMAIN); domainVersion = message.getStringProperty(Constants.DOMAIN_VERSION); messageType = message.getJMSType(); organisationIdentification = message.getStringProperty(Constants.ORGANISATION_IDENTIFICATION); deviceIdentification = message.getStringProperty(Constants.DEVICE_IDENTIFICATION); ipAddress = message.getStringProperty(Constants.IP_ADDRESS); retryCount = message.getIntProperty(Constants.RETRY_COUNT); isScheduled = message.propertyExists(Constants.IS_SCHEDULED) ? message.getBooleanProperty(Constants.IS_SCHEDULED) : false; getDataRequest = (DataRequestDto) message.getObject(); } catch (final JMSException e) { LOGGER.error("UNRECOVERABLE ERROR, unable to read ObjectMessage instance, giving up.", e); LOGGER.debug("correlationUid: {}", correlationUid); LOGGER.debug("domain: {}", domain); LOGGER.debug("domainVersion: {}", domainVersion); LOGGER.debug("messageType: {}", messageType); LOGGER.debug("organisationIdentification: {}", organisationIdentification); LOGGER.debug("deviceIdentification: {}", deviceIdentification); LOGGER.debug("ipAddress: {}", ipAddress); return; } final RequestMessageData requestMessageData = new RequestMessageData(null, domain, domainVersion, messageType, retryCount, isScheduled, correlationUid, organisationIdentification, deviceIdentification); LOGGER.info("Calling DeviceService function: {} for domain: {} {}", messageType, domain, domainVersion); final DeviceResponseHandler deviceResponseHandler = new DeviceResponseHandler() { @Override public void handleResponse(final DeviceResponse deviceResponse) { MicrogridsGetDataRequestMessageProcessor.this.handleGetDataDeviceResponse(deviceResponse, MicrogridsGetDataRequestMessageProcessor.this.responseMessageSender, requestMessageData.getDomain(), requestMessageData.getDomainVersion(), requestMessageData.getMessageType(), requestMessageData.getRetryCount()); } @Override public void handleException(final Throwable t, final DeviceResponse deviceResponse, final boolean expected) { if (expected) { MicrogridsGetDataRequestMessageProcessor.this.handleExpectedError( new ConnectionFailureException(ComponentType.PROTOCOL_IEC61850, t.getMessage()), requestMessageData.getCorrelationUid(), requestMessageData.getOrganisationIdentification(), requestMessageData.getDeviceIdentification(), requestMessageData.getDomain(), requestMessageData.getDomainVersion(), requestMessageData.getMessageType()); } else { MicrogridsGetDataRequestMessageProcessor.this.handleUnExpectedError(deviceResponse, t, requestMessageData.getMessageData(), requestMessageData.getDomain(), requestMessageData.getDomainVersion(), requestMessageData.getMessageType(), requestMessageData.isScheduled(), requestMessageData.getRetryCount()); } } }; final GetDataDeviceRequest deviceRequest = new GetDataDeviceRequest(organisationIdentification, deviceIdentification, correlationUid, getDataRequest, domain, domainVersion, messageType, ipAddress, retryCount, isScheduled); this.deviceService.getData(deviceRequest, deviceResponseHandler); }
From source file:com.alliander.osgp.adapter.protocol.iec61850.infra.messaging.processors.PublicLightingSetScheduleRequestMessageProcessor.java
@Override public void processMessage(final ObjectMessage message) { LOGGER.debug("Processing public lighting set schedule request message"); String correlationUid = null; String domain = null;// w w w . j av a2 s . co m String domainVersion = null; String messageType = null; String organisationIdentification = null; String deviceIdentification = null; String ipAddress = null; Boolean isScheduled = null; int retryCount = 0; ScheduleMessageDataContainerDto scheduleMessageDataContainer = null; try { correlationUid = message.getJMSCorrelationID(); domain = message.getStringProperty(Constants.DOMAIN); domainVersion = message.getStringProperty(Constants.DOMAIN_VERSION); messageType = message.getJMSType(); organisationIdentification = message.getStringProperty(Constants.ORGANISATION_IDENTIFICATION); deviceIdentification = message.getStringProperty(Constants.DEVICE_IDENTIFICATION); ipAddress = message.getStringProperty(Constants.IP_ADDRESS); isScheduled = message.getBooleanProperty(Constants.IS_SCHEDULED); retryCount = message.getIntProperty(Constants.RETRY_COUNT); scheduleMessageDataContainer = (ScheduleMessageDataContainerDto) message.getObject(); } catch (final JMSException e) { LOGGER.error("UNRECOVERABLE ERROR, unable to read ObjectMessage instance, giving up.", e); LOGGER.debug("correlationUid: {}", correlationUid); LOGGER.debug("domain: {}", domain); LOGGER.debug("domainVersion: {}", domainVersion); LOGGER.debug("messageType: {}", messageType); LOGGER.debug("organisationIdentification: {}", organisationIdentification); LOGGER.debug("deviceIdentification: {}", deviceIdentification); LOGGER.debug("ipAddress: {}", ipAddress); LOGGER.debug("scheduled: {}", isScheduled); return; } final RequestMessageData requestMessageData = new RequestMessageData(scheduleMessageDataContainer, domain, domainVersion, messageType, retryCount, isScheduled, correlationUid, organisationIdentification, deviceIdentification); final DeviceResponseHandler deviceResponseHandler = new DeviceResponseHandler() { @Override public void handleResponse(final DeviceResponse deviceResponse) { PublicLightingSetScheduleRequestMessageProcessor.this.handleEmptyDeviceResponse(deviceResponse, PublicLightingSetScheduleRequestMessageProcessor.this.responseMessageSender, requestMessageData.getDomain(), requestMessageData.getDomainVersion(), requestMessageData.getMessageType(), requestMessageData.getRetryCount()); } @Override public void handleException(final Throwable t, final DeviceResponse deviceResponse, final boolean expected) { if (expected) { PublicLightingSetScheduleRequestMessageProcessor.this.handleExpectedError( new ConnectionFailureException(ComponentType.PROTOCOL_IEC61850, t.getMessage()), requestMessageData.getCorrelationUid(), requestMessageData.getOrganisationIdentification(), requestMessageData.getDeviceIdentification(), requestMessageData.getDomain(), requestMessageData.getDomainVersion(), requestMessageData.getMessageType()); } else { PublicLightingSetScheduleRequestMessageProcessor.this.handleUnExpectedError(deviceResponse, t, requestMessageData.getMessageData(), requestMessageData.getDomain(), requestMessageData.getDomainVersion(), requestMessageData.getMessageType(), requestMessageData.isScheduled(), requestMessageData.getRetryCount()); } } }; LOGGER.info("Calling DeviceService function: {} for domain: {} {}", messageType, domain, domainVersion); final SetScheduleDeviceRequest deviceRequest = new SetScheduleDeviceRequest(organisationIdentification, deviceIdentification, correlationUid, scheduleMessageDataContainer, RelayTypeDto.LIGHT, domain, domainVersion, messageType, ipAddress, retryCount, isScheduled); this.deviceService.setSchedule(deviceRequest, deviceResponseHandler); }
From source file:com.alliander.osgp.adapter.protocol.iec61850.infra.messaging.processors.TariffSwitchingSetScheduleRequestMessageProcessor.java
@Override public void processMessage(final ObjectMessage message) { LOGGER.debug("Processing tariff switching set schedule request message"); String correlationUid = null; String domain = null;/*w ww.j a va 2 s .c o m*/ String domainVersion = null; String messageType = null; String organisationIdentification = null; String deviceIdentification = null; String ipAddress = null; Boolean isScheduled = null; int retryCount = 0; ScheduleMessageDataContainerDto scheduleMessageDataContainer = null; try { correlationUid = message.getJMSCorrelationID(); domain = message.getStringProperty(Constants.DOMAIN); domainVersion = message.getStringProperty(Constants.DOMAIN_VERSION); messageType = message.getJMSType(); organisationIdentification = message.getStringProperty(Constants.ORGANISATION_IDENTIFICATION); deviceIdentification = message.getStringProperty(Constants.DEVICE_IDENTIFICATION); ipAddress = message.getStringProperty(Constants.IP_ADDRESS); isScheduled = message.getBooleanProperty(Constants.IS_SCHEDULED); retryCount = message.getIntProperty(Constants.RETRY_COUNT); scheduleMessageDataContainer = (ScheduleMessageDataContainerDto) message.getObject(); } catch (final JMSException e) { LOGGER.error("UNRECOVERABLE ERROR, unable to read ObjectMessage instance, giving up.", e); LOGGER.debug("correlationUid: {}", correlationUid); LOGGER.debug("domain: {}", domain); LOGGER.debug("domainVersion: {}", domainVersion); LOGGER.debug("messageType: {}", messageType); LOGGER.debug("organisationIdentification: {}", organisationIdentification); LOGGER.debug("deviceIdentification: {}", deviceIdentification); LOGGER.debug("ipAddress: {}", ipAddress); LOGGER.debug("scheduled: {}", isScheduled); return; } final RequestMessageData requestMessageData = new RequestMessageData(scheduleMessageDataContainer, domain, domainVersion, messageType, retryCount, isScheduled, correlationUid, organisationIdentification, deviceIdentification); final DeviceResponseHandler deviceResponseHandler = new DeviceResponseHandler() { @Override public void handleResponse(final DeviceResponse deviceResponse) { TariffSwitchingSetScheduleRequestMessageProcessor.this.handleEmptyDeviceResponse(deviceResponse, TariffSwitchingSetScheduleRequestMessageProcessor.this.responseMessageSender, requestMessageData.getDomain(), requestMessageData.getDomainVersion(), requestMessageData.getMessageType(), requestMessageData.getRetryCount()); } @Override public void handleException(final Throwable t, final DeviceResponse deviceResponse, final boolean expected) { if (expected) { TariffSwitchingSetScheduleRequestMessageProcessor.this.handleExpectedError( new ConnectionFailureException(ComponentType.PROTOCOL_IEC61850, t.getMessage()), requestMessageData.getCorrelationUid(), requestMessageData.getOrganisationIdentification(), requestMessageData.getDeviceIdentification(), requestMessageData.getDomain(), requestMessageData.getDomainVersion(), requestMessageData.getMessageType()); } else { TariffSwitchingSetScheduleRequestMessageProcessor.this.handleUnExpectedError(deviceResponse, t, requestMessageData.getMessageData(), requestMessageData.getDomain(), requestMessageData.getDomainVersion(), requestMessageData.getMessageType(), requestMessageData.isScheduled(), requestMessageData.getRetryCount()); } } }; LOGGER.info("Calling DeviceService function: {} for domain: {} {}", messageType, domain, domainVersion); final SetScheduleDeviceRequest deviceRequest = new SetScheduleDeviceRequest(organisationIdentification, deviceIdentification, correlationUid, scheduleMessageDataContainer, RelayTypeDto.TARIFF, domain, domainVersion, messageType, ipAddress, retryCount, isScheduled); this.deviceService.setSchedule(deviceRequest, deviceResponseHandler); }
From source file:com.alliander.osgp.adapter.protocol.iec61850.infra.messaging.processors.PublicLightingSetLightRequestMessageProcessor.java
@Override public void processMessage(final ObjectMessage message) { LOGGER.debug("Processing public lighting set light request message"); String correlationUid = null; String domain = null;/* w w w .j a va2 s . c o m*/ String domainVersion = null; String messageType = null; String organisationIdentification = null; String deviceIdentification = null; String ipAddress = null; int retryCount = 0; boolean isScheduled = false; LightValueMessageDataContainerDto lightValueMessageDataContainer = null; try { correlationUid = message.getJMSCorrelationID(); domain = message.getStringProperty(Constants.DOMAIN); domainVersion = message.getStringProperty(Constants.DOMAIN_VERSION); messageType = message.getJMSType(); organisationIdentification = message.getStringProperty(Constants.ORGANISATION_IDENTIFICATION); deviceIdentification = message.getStringProperty(Constants.DEVICE_IDENTIFICATION); ipAddress = message.getStringProperty(Constants.IP_ADDRESS); retryCount = message.getIntProperty(Constants.RETRY_COUNT); isScheduled = message.propertyExists(Constants.IS_SCHEDULED) ? message.getBooleanProperty(Constants.IS_SCHEDULED) : false; lightValueMessageDataContainer = (LightValueMessageDataContainerDto) message.getObject(); } catch (final JMSException e) { LOGGER.error("UNRECOVERABLE ERROR, unable to read ObjectMessage instance, giving up.", e); LOGGER.debug("correlationUid: {}", correlationUid); LOGGER.debug("domain: {}", domain); LOGGER.debug("domainVersion: {}", domainVersion); LOGGER.debug("messageType: {}", messageType); LOGGER.debug("organisationIdentification: {}", organisationIdentification); LOGGER.debug("deviceIdentification: {}", deviceIdentification); LOGGER.debug("ipAddress: {}", ipAddress); return; } final RequestMessageData requestMessageData = new RequestMessageData(lightValueMessageDataContainer, domain, domainVersion, messageType, retryCount, isScheduled, correlationUid, organisationIdentification, deviceIdentification); final DeviceResponseHandler deviceResponseHandler = new DeviceResponseHandler() { @Override public void handleResponse(final DeviceResponse deviceResponse) { PublicLightingSetLightRequestMessageProcessor.this.handleEmptyDeviceResponse(deviceResponse, PublicLightingSetLightRequestMessageProcessor.this.responseMessageSender, requestMessageData.getDomain(), requestMessageData.getDomainVersion(), requestMessageData.getMessageType(), requestMessageData.getRetryCount()); } @Override public void handleException(final Throwable t, final DeviceResponse deviceResponse, final boolean expected) { if (expected) { PublicLightingSetLightRequestMessageProcessor.this.handleExpectedError( new ConnectionFailureException(ComponentType.PROTOCOL_IEC61850, t.getMessage()), requestMessageData.getCorrelationUid(), requestMessageData.getOrganisationIdentification(), requestMessageData.getDeviceIdentification(), requestMessageData.getDomain(), requestMessageData.getDomainVersion(), requestMessageData.getMessageType()); } else { PublicLightingSetLightRequestMessageProcessor.this.handleUnExpectedError(deviceResponse, t, requestMessageData.getMessageData(), requestMessageData.getDomain(), requestMessageData.getDomainVersion(), requestMessageData.getMessageType(), requestMessageData.isScheduled(), requestMessageData.getRetryCount()); } } }; LOGGER.info("Calling DeviceService function: {} for domain: {} {}", messageType, domain, domainVersion); final SetLightDeviceRequest deviceRequest = new SetLightDeviceRequest(organisationIdentification, deviceIdentification, correlationUid, lightValueMessageDataContainer, domain, domainVersion, messageType, ipAddress, retryCount, isScheduled); this.deviceService.setLight(deviceRequest, deviceResponseHandler); }
From source file:com.alliander.osgp.acceptancetests.configurationmanagement.SetConfigurationDataSteps.java
@DomainStep("a set configuration response message with correlationId (.*), deviceId (.*), qresult (.*) and qdescription (.*) is found in the queue (.*)") public void givenASetConfigurationResponseMessageIsFoundInTheQueue(final String correlationId, final String deviceId, final String qresult, final String qdescription, final Boolean isFound) { LOGGER.info(// w w w. jav a 2s . c o m "GIVEN: \"a set configuration response message with correlationId {}, deviceId {}, qresult {} and qdescription {} is found {}\".", correlationId, deviceId, qresult, qdescription, isFound); if (isFound) { final ObjectMessage messageMock = mock(ObjectMessage.class); try { when(messageMock.getJMSCorrelationID()).thenReturn(correlationId); when(messageMock.getStringProperty("OrganisationIdentification")).thenReturn(ORGANISATION_ID); when(messageMock.getStringProperty("DeviceIdentification")).thenReturn(deviceId); final ResponseMessageResultType result = ResponseMessageResultType.valueOf(qresult); Serializable dataObject = null; OsgpException exception = null; if (result.equals(ResponseMessageResultType.NOT_OK)) { dataObject = new FunctionalException(FunctionalExceptionType.VALIDATION_ERROR, ComponentType.UNKNOWN, new ValidationException()); exception = (OsgpException) dataObject; } final ResponseMessage message = new ResponseMessage(correlationId, ORGANISATION_ID, deviceId, result, exception, dataObject); when(messageMock.getObject()).thenReturn(message); } catch (final JMSException e) { LOGGER.error("JMSException", e); } when(this.commonResponsesJmsTemplate.receiveSelected(any(String.class))).thenReturn(messageMock); } else { when(this.commonResponsesJmsTemplate.receiveSelected(any(String.class))).thenReturn(null); } }
From source file:com.alliander.osgp.adapter.protocol.iec61850.infra.messaging.processors.CommonSetEventNotificationsRequestMessageProcessor.java
@Override public void processMessage(final ObjectMessage message) { LOGGER.debug("Processing common set event notifications request message"); String correlationUid = null; String domain = null;/*from w w w . java2 s. com*/ String domainVersion = null; String messageType = null; String organisationIdentification = null; String deviceIdentification = null; String ipAddress = null; int retryCount = 0; boolean isScheduled = false; EventNotificationMessageDataContainerDto eventNotificationsContainer = null; try { correlationUid = message.getJMSCorrelationID(); domain = message.getStringProperty(Constants.DOMAIN); domainVersion = message.getStringProperty(Constants.DOMAIN_VERSION); messageType = message.getJMSType(); organisationIdentification = message.getStringProperty(Constants.ORGANISATION_IDENTIFICATION); deviceIdentification = message.getStringProperty(Constants.DEVICE_IDENTIFICATION); ipAddress = message.getStringProperty(Constants.IP_ADDRESS); retryCount = message.getIntProperty(Constants.RETRY_COUNT); isScheduled = message.propertyExists(Constants.IS_SCHEDULED); eventNotificationsContainer = (EventNotificationMessageDataContainerDto) message.getObject(); } catch (final JMSException e) { LOGGER.error("UNRECOVERABLE ERROR, unable to read ObjectMessage instance, giving up.", e); LOGGER.debug("correlationUid: {}", correlationUid); LOGGER.debug("domain: {}", domain); LOGGER.debug("domainVersion: {}", domainVersion); LOGGER.debug("messageType: {}", messageType); LOGGER.debug("organisationIdentification: {}", organisationIdentification); LOGGER.debug("deviceIdentification: {}", deviceIdentification); LOGGER.debug("ipAddress: {}", ipAddress); return; } final RequestMessageData requestMessageData = new RequestMessageData(null, domain, domainVersion, messageType, retryCount, isScheduled, correlationUid, organisationIdentification, deviceIdentification); LOGGER.info("Calling DeviceService function: {} for domain: {} {}", messageType, domain, domainVersion); final DeviceResponseHandler deviceResponseHandler = new DeviceResponseHandler() { @Override public void handleResponse(final DeviceResponse deviceResponse) { CommonSetEventNotificationsRequestMessageProcessor.this.handleEmptyDeviceResponse(deviceResponse, CommonSetEventNotificationsRequestMessageProcessor.this.responseMessageSender, requestMessageData.getDomain(), requestMessageData.getDomainVersion(), requestMessageData.getMessageType(), requestMessageData.getRetryCount()); } @Override public void handleException(final Throwable t, final DeviceResponse deviceResponse, final boolean expected) { if (expected) { CommonSetEventNotificationsRequestMessageProcessor.this.handleExpectedError( new ConnectionFailureException(ComponentType.PROTOCOL_IEC61850, t.getMessage()), requestMessageData.getCorrelationUid(), requestMessageData.getOrganisationIdentification(), requestMessageData.getDeviceIdentification(), requestMessageData.getDomain(), requestMessageData.getDomainVersion(), requestMessageData.getMessageType()); } else { CommonSetEventNotificationsRequestMessageProcessor.this.handleUnExpectedError(deviceResponse, t, requestMessageData.getMessageData(), requestMessageData.getDomain(), requestMessageData.getDomainVersion(), requestMessageData.getMessageType(), requestMessageData.isScheduled(), requestMessageData.getRetryCount()); } } }; final SetEventNotificationsDeviceRequest deviceRequest = new SetEventNotificationsDeviceRequest( organisationIdentification, deviceIdentification, correlationUid, eventNotificationsContainer, domain, domainVersion, messageType, ipAddress, retryCount, isScheduled); this.deviceService.setEventNotifications(deviceRequest, deviceResponseHandler); }