use of org.opensmartgridplatform.adapter.ws.schema.publiclighting.schedulemanagement.SetScheduleResponse in project open-smart-grid-platform by OSGP.
the class PublicLightingScheduleManagementEndpoint method getSetLightScheduleResponse.
@PayloadRoot(localPart = "SetScheduleAsyncRequest", namespace = NAMESPACE)
@ResponsePayload
public SetScheduleResponse getSetLightScheduleResponse(@OrganisationIdentification final String organisationIdentification, @RequestPayload final SetScheduleAsyncRequest request) throws OsgpException {
LOGGER.info("Get Set Schedule Response Request received from organisation: {} for correlationUid: {}.", organisationIdentification, request.getAsyncRequest().getCorrelationUid());
final SetScheduleResponse response = new SetScheduleResponse();
try {
final ResponseData responseData = this.responseDataService.dequeue(request.getAsyncRequest().getCorrelationUid(), COMPONENT_WS_PUBLIC_LIGHTING);
response.setResult(OsgpResultType.fromValue(responseData.getResultType().getValue()));
if (responseData.getMessageData() instanceof String) {
response.setDescription((String) responseData.getMessageData());
}
} catch (final Exception e) {
this.handleException(e);
}
return response;
}
use of org.opensmartgridplatform.adapter.ws.schema.publiclighting.schedulemanagement.SetScheduleResponse in project open-smart-grid-platform by OSGP.
the class SetLightScheduleSteps method thePlatformBuffersASetLightScheduleResponseMessageForDevice.
@Then("^the platform buffers a set light schedule response message for device \"([^\"]*)\"$")
public void thePlatformBuffersASetLightScheduleResponseMessageForDevice(final String deviceIdentification, final Map<String, String> expectedResult) throws Throwable {
final SetScheduleAsyncRequest request = new SetScheduleAsyncRequest();
final AsyncRequest asyncRequest = new AsyncRequest();
asyncRequest.setDeviceId(deviceIdentification);
asyncRequest.setCorrelationUid((String) ScenarioContext.current().get(PlatformPubliclightingKeys.KEY_CORRELATION_UID));
request.setAsyncRequest(asyncRequest);
final SetScheduleResponse response = Wait.untilAndReturn(() -> {
try {
return this.client.getSetSchedule(request);
} catch (final SoapFaultClientException ex) {
LOGGER.info("Received a SOAP fault on setSchedule");
if ("CorrelationUid is unknown.".equals(ex.getFaultStringOrReason())) {
throw new Exception("Received a SOAP fault on setSchedule that could be rejected because the CorrelationUid is unknown");
}
return null;
}
});
assertThat(response).isNotNull();
assertThat(response.getResult()).isEqualTo(getEnum(expectedResult, PlatformKeys.KEY_RESULT, OsgpResultType.class));
if (expectedResult.containsKey(PlatformPubliclightingKeys.KEY_DESCRIPTION)) {
assertThat(response.getDescription()).isEqualTo(getString(expectedResult, PlatformPubliclightingKeys.KEY_DESCRIPTION, PlatformPubliclightingDefaults.DEFAULT_PUBLICLIGHTING_DESCRIPTION));
}
}
Aggregations