use of org.opensmartgridplatform.adapter.ws.schema.smartmetering.monitoring.ActualPowerQualityResponse in project open-smart-grid-platform by OSGP.
the class ActualPowerQualitySteps method theGetActualMeterReadsRequestGeneratingAnErrorIsReceived.
@When("^the get actual power quality request generating an error is received$")
public void theGetActualMeterReadsRequestGeneratingAnErrorIsReceived(final Map<String, String> settings) throws Throwable {
final ActualPowerQualityRequest request = ActualPowerQualityRequestFactory.fromParameterMap(settings);
final ActualPowerQualityAsyncResponse asyncResponse = this.requestClient.doRequest(request);
ScenarioContext.current().put(PlatformKeys.KEY_CORRELATION_UID, asyncResponse.getCorrelationUid());
final ActualPowerQualityAsyncRequest actualPowerQualityAsyncRequest = ActualPowerQualityRequestFactory.fromScenarioContext();
try {
final ActualPowerQualityResponse response = this.responseClient.getResponse(actualPowerQualityAsyncRequest);
fail("Expected exception, but got a response: %s", response.toString());
} catch (final Exception exception) {
ScenarioContext.current().put(PlatformKeys.RESPONSE, exception);
}
}
use of org.opensmartgridplatform.adapter.ws.schema.smartmetering.monitoring.ActualPowerQualityResponse in project open-smart-grid-platform by OSGP.
the class ActualPowerQualitySteps method theActualPowerQualityResultShouldBeReturned.
@Then("^the actual power quality result should be returned$")
public void theActualPowerQualityResultShouldBeReturned(final Map<String, String> settings) throws Throwable {
final ActualPowerQualityAsyncRequest asyncRequest = ActualPowerQualityRequestFactory.fromScenarioContext();
final ActualPowerQualityResponse response = this.responseClient.getResponse(asyncRequest);
assertThat(response).as("ActualPowerQualityResponseData should not be null").isNotNull();
final int expectedNumberOfPowerQualityObjects = getInteger(settings, "NumberOfPowerQualityObjects", 0);
final List<PowerQualityObject> actualPowerQualityObjects = response.getActualPowerQualityData().getPowerQualityObjects().getPowerQualityObject();
assertThat(actualPowerQualityObjects.size()).as("Number of power quality objects").isEqualTo(expectedNumberOfPowerQualityObjects);
for (int i = 0; i < expectedNumberOfPowerQualityObjects; i++) {
final PowerQualityObject actualPowerQualityObject = actualPowerQualityObjects.get(i);
final Long expectedNameId = SettingsHelper.getLongValue(settings, "PowerQuality_Name", i + 1);
if (expectedNameId != null) {
this.validatePowerQualityObject(actualPowerQualityObject, settings, i + 1);
}
}
final int expectedNumberOfPowerQualityValues = getInteger(settings, "NumberOfPowerQualityValues", 0);
final List<PowerQualityValue> powerQualityValues = response.getActualPowerQualityData().getPowerQualityValues().getPowerQualityValue();
assertThat(powerQualityValues.size()).as("Number of power quality values").isEqualTo(expectedNumberOfPowerQualityValues);
if (expectedNumberOfPowerQualityValues > 0) {
/*
* Expected value equals expectedNumberOfPowerQualityObjects,
* because the number of PowerQualityValues should match the number
* of power quality objects from the buffer.
*/
assertThat(powerQualityValues.size()).as("Number of power quality values").isEqualTo(expectedNumberOfPowerQualityObjects);
}
}
use of org.opensmartgridplatform.adapter.ws.schema.smartmetering.monitoring.ActualPowerQualityResponse in project open-smart-grid-platform by OSGP.
the class SmartMeteringMonitoringEndpoint method getActualPowerQualityResponse.
@PayloadRoot(localPart = "ActualPowerQualityAsyncRequest", namespace = SMARTMETER_MONITORING_NAMESPACE)
@ResponsePayload
public ActualPowerQualityResponse getActualPowerQualityResponse(@OrganisationIdentification final String organisationIdentification, @RequestPayload final ActualPowerQualityAsyncRequest request) throws OsgpException {
log.debug("Incoming ActualPowerQualityAsyncRequest for meter: {}.", request.getDeviceIdentification());
ActualPowerQualityResponse response = null;
try {
final ResponseData responseData = this.responseDataService.get(request.getCorrelationUid(), ComponentType.WS_SMART_METERING);
this.throwExceptionIfResultNotOk(responseData, "retrieving actual power data");
response = this.monitoringMapper.map(responseData.getMessageData(), org.opensmartgridplatform.adapter.ws.schema.smartmetering.monitoring.ActualPowerQualityResponse.class);
} catch (final Exception e) {
this.handleRetrieveException(e, request, organisationIdentification);
}
return response;
}
Aggregations