use of com.sequenceiq.cloudbreak.structuredevent.event.cdp.CDPStructuredNotificationEvent in project cloudbreak by hortonworks.
the class SdxEventsService method convert.
/**
* Converts a collection of {@code CloudbreakEventV4Response} to {@code CDPStructuredEvent}.
*
* @param cloudbreakEventV4Response Event response from cloudbreak.
* @param datalakeCrn Crn of data lake.
* @return CDP structured Event
*/
private CDPStructuredEvent convert(CloudbreakEventV4Response cloudbreakEventV4Response, String datalakeCrn) {
CDPStructuredNotificationEvent cdpStructuredNotificationEvent = new CDPStructuredNotificationEvent();
CDPOperationDetails cdpOperationDetails = new CDPOperationDetails();
cdpOperationDetails.setTimestamp(cloudbreakEventV4Response.getEventTimestamp());
cdpOperationDetails.setEventType(StructuredEventType.NOTIFICATION);
cdpOperationDetails.setResourceName(cloudbreakEventV4Response.getClusterName());
cdpOperationDetails.setResourceId(cloudbreakEventV4Response.getClusterId());
cdpOperationDetails.setResourceCrn(datalakeCrn);
cdpOperationDetails.setResourceEvent(cloudbreakEventV4Response.getEventType());
cdpOperationDetails.setResourceType(CloudbreakEventService.DATALAKE_RESOURCE_TYPE);
cdpStructuredNotificationEvent.setOperation(cdpOperationDetails);
cdpStructuredNotificationEvent.setStatusReason(cloudbreakEventV4Response.getEventMessage());
return cdpStructuredNotificationEvent;
}
use of com.sequenceiq.cloudbreak.structuredevent.event.cdp.CDPStructuredNotificationEvent in project cloudbreak by hortonworks.
the class EventSenderService method getStructuredEvent.
private CDPStructuredNotificationEvent getStructuredEvent(AccountAwareResource resource, ResourceEvent resourceEvent, Object payload, Collection<?> messageArgs) {
String resourceType = resource.getClass().getSimpleName().toLowerCase();
String resourceCrn = resource.getResourceCrn();
CDPOperationDetails operationDetails = new CDPOperationDetails(System.currentTimeMillis(), NOTIFICATION, resourceType, resource.getId(), resource.getName(), nodeConfig.getId(), serviceVersion, resource.getAccountId(), resourceCrn, ThreadBasedUserCrnProvider.getUserCrn(), resourceCrn, resourceEvent.name());
CDPStructuredNotificationDetails notificationDetails = getNotificationDetails(resourceEvent, resourceCrn, resourceType, payload);
String message = cloudbreakMessagesService.getMessage(resourceEvent.getMessage(), messageArgs);
return new CDPStructuredNotificationEvent(operationDetails, notificationDetails, resourceEvent.name(), message);
}
use of com.sequenceiq.cloudbreak.structuredevent.event.cdp.CDPStructuredNotificationEvent in project cloudbreak by hortonworks.
the class SdxEventsService method convert.
/**
* Converts a collection of {@code StructuredNotificationEvent} to {@code CDPStructuredEvent}.
*
* @param structuredNotificationEvent Event response from cloudbreak.
* @param datalakeCrn Crn of data lake.
* @return CDP structured Event
*/
private CDPStructuredEvent convert(StructuredNotificationEvent structuredNotificationEvent, String datalakeCrn) {
CDPStructuredNotificationEvent cdpStructuredNotificationEvent = new CDPStructuredNotificationEvent();
CDPOperationDetails cdpOperationDetails = new CDPOperationDetails();
cdpOperationDetails.setTimestamp(structuredNotificationEvent.getOperation().getTimestamp());
cdpOperationDetails.setEventType(StructuredEventType.NOTIFICATION);
cdpOperationDetails.setResourceName(structuredNotificationEvent.getOperation().getResourceName());
cdpOperationDetails.setResourceId(structuredNotificationEvent.getOperation().getResourceId());
cdpOperationDetails.setResourceCrn(datalakeCrn);
cdpOperationDetails.setResourceEvent(structuredNotificationEvent.getOperation().getEventType().name());
cdpOperationDetails.setResourceType(CloudbreakEventService.DATALAKE_RESOURCE_TYPE);
cdpStructuredNotificationEvent.setOperation(cdpOperationDetails);
cdpStructuredNotificationEvent.setStatusReason(structuredNotificationEvent.getNotificationDetails().getNotification());
return cdpStructuredNotificationEvent;
}
use of com.sequenceiq.cloudbreak.structuredevent.event.cdp.CDPStructuredNotificationEvent in project cloudbreak by hortonworks.
the class EventSenderService method sendEventAndNotificationWithPayload.
public void sendEventAndNotificationWithPayload(AccountAwareResource resource, String userCrn, ResourceEvent resourceEvent, Object payload, Collection<?> messageArgs) {
CDPStructuredNotificationEvent cdpStructuredEvent = getStructuredEvent(resource, resourceEvent, payload, messageArgs);
cdpDefaultStructuredEventClient.sendStructuredEvent(cdpStructuredEvent);
notificationService.send(resourceEvent, payload, userCrn);
}
use of com.sequenceiq.cloudbreak.structuredevent.event.cdp.CDPStructuredNotificationEvent in project cloudbreak by hortonworks.
the class EventSenderService method getStructuredEvent.
private CDPStructuredNotificationEvent getStructuredEvent(AccountAwareResource resource, ResourceEvent resourceEvent, Object payload, Collection<?> messageArgs) {
String resourceType = resource.getClass().getSimpleName().toLowerCase();
String resourceCrn = resource.getResourceCrn();
CDPOperationDetails operationDetails = new CDPOperationDetails(System.currentTimeMillis(), NOTIFICATION, resourceType, resource.getId(), resource.getName(), nodeConfig.getId(), serviceVersion, resource.getAccountId(), resourceCrn, ThreadBasedUserCrnProvider.getUserCrn(), resourceCrn, resourceEvent.name());
CDPStructuredNotificationDetails notificationDetails = getNotificationDetails(resourceEvent, resourceCrn, resourceType, payload);
String message = cloudbreakMessagesService.getMessage(resourceEvent.getMessage(), messageArgs);
return new CDPStructuredNotificationEvent(operationDetails, notificationDetails, resourceEvent.name(), message);
}
Aggregations