use of org.opensmartgridplatform.adapter.ws.schema.core.devicemanagement.SetDeviceVerificationKeyAsyncResponse in project open-smart-grid-platform by OSGP.
the class DeviceManagementEndpoint method setDeviceVerificationKey.
@PayloadRoot(localPart = "SetDeviceVerificationKeyRequest", namespace = DEVICE_MANAGEMENT_NAMESPACE)
@ResponsePayload
public SetDeviceVerificationKeyAsyncResponse setDeviceVerificationKey(@OrganisationIdentification final String organisationIdentification, @RequestPayload final SetDeviceVerificationKeyRequest request, @MessagePriority final String messagePriority) throws OsgpException {
LOGGER.info("Set Device Verification Key Request received from organisation: {} for device: {} with message priority: {}.", organisationIdentification, request.getDeviceIdentification(), messagePriority);
final SetDeviceVerificationKeyAsyncResponse response = new SetDeviceVerificationKeyAsyncResponse();
try {
final String correlationUid = this.deviceManagementService.enqueueSetDeviceVerificationKeyRequest(organisationIdentification, request.getDeviceIdentification(), request.getVerificationKey(), MessagePriorityEnum.getMessagePriority(messagePriority));
final AsyncResponse asyncResponse = new AsyncResponse();
asyncResponse.setCorrelationUid(correlationUid);
asyncResponse.setDeviceId(request.getDeviceIdentification());
response.setAsyncResponse(asyncResponse);
} catch (final ConstraintViolationException e) {
throw new FunctionalException(FunctionalExceptionType.VALIDATION_ERROR, ComponentType.WS_CORE, new ValidationException(e.getConstraintViolations()));
} catch (final Exception e) {
this.handleException(e);
}
return response;
}
Aggregations