use of org.opensmartgridplatform.adapter.ws.schema.publiclighting.adhocmanagement.GetStatusAsyncResponse in project open-smart-grid-platform by OSGP.
the class GetStatusSteps method theGetStatusAsyncResponseContains.
/**
* The check for the response from the Platform.
*
* @param expectedResponseData The table with the expected fields in the response.
* @apiNote The response will contain the correlation uid, so store that in the current scenario
* context for later use.
*/
@Then("^the get status async response contains$")
public void theGetStatusAsyncResponseContains(final Map<String, String> expectedResponseData) {
final GetStatusAsyncResponse asyncResponse = (GetStatusAsyncResponse) ScenarioContext.current().get(PlatformPubliclightingKeys.RESPONSE);
assertThat(asyncResponse.getAsyncResponse().getCorrelationUid()).isNotNull();
assertThat(asyncResponse.getAsyncResponse().getDeviceId()).isEqualTo(getString(expectedResponseData, PlatformPubliclightingKeys.KEY_DEVICE_IDENTIFICATION));
// Save the returned CorrelationUid in the Scenario related context for
// further use.
saveCorrelationUidInScenarioContext(asyncResponse.getAsyncResponse().getCorrelationUid(), getString(expectedResponseData, PlatformPubliclightingKeys.KEY_ORGANIZATION_IDENTIFICATION, PlatformPubliclightingDefaults.DEFAULT_ORGANIZATION_IDENTIFICATION));
LOGGER.info("Got CorrelationUid: [" + ScenarioContext.current().get(PlatformPubliclightingKeys.KEY_CORRELATION_UID) + "]");
}
use of org.opensmartgridplatform.adapter.ws.schema.publiclighting.adhocmanagement.GetStatusAsyncResponse in project open-smart-grid-platform by OSGP.
the class OsgpPublicLightingClientSoapService method getDeviceStatus.
/**
* Creates a getDeviceStatus request with the parameter deviceId. Sends it to the Platform using a
* WebServiceTemplate.
*
* <p>Returns the CorrelationId response from the platform.
*/
public String getDeviceStatus(final String deviceId) {
final WebServiceTemplate requestTemplate = this.soapRequestHelper.createPublicLightingRequest();
final GetStatusRequest request = new GetStatusRequest();
request.setDeviceIdentification(deviceId);
GetStatusAsyncResponse asyncStatusResponse = null;
asyncStatusResponse = (GetStatusAsyncResponse) requestTemplate.marshalSendAndReceive(request);
return asyncStatusResponse.getAsyncResponse().getCorrelationUid();
}
use of org.opensmartgridplatform.adapter.ws.schema.publiclighting.adhocmanagement.GetStatusAsyncResponse in project open-smart-grid-platform by OSGP.
the class PublicLightingAdHocManagementEndpoint method getStatus.
// === GET STATUS ===
@PayloadRoot(localPart = "GetStatusRequest", namespace = NAMESPACE)
@ResponsePayload
public GetStatusAsyncResponse getStatus(@OrganisationIdentification final String organisationIdentification, @RequestPayload final GetStatusRequest request, @MessagePriority final String messagePriority) throws OsgpException {
LOGGER.info("Get Status received from organisation: {} for device: {} with message priority: {}.", organisationIdentification, request.getDeviceIdentification(), messagePriority);
final GetStatusAsyncResponse response = new GetStatusAsyncResponse();
try {
final String correlationUid = this.adHocManagementService.enqueueGetStatusRequest(organisationIdentification, request.getDeviceIdentification(), MessagePriorityEnum.getMessagePriority(messagePriority));
final AsyncResponse asyncResponse = new AsyncResponse();
asyncResponse.setCorrelationUid(correlationUid);
asyncResponse.setDeviceId(request.getDeviceIdentification());
response.setAsyncResponse(asyncResponse);
} catch (final Exception e) {
this.handleException(e);
}
return response;
}
Aggregations