@Override public String[] listEventTypes() { final Object eventObj = new EventTypes(); final Class<EventTypes> c = EventTypes.class; final Field[] fields = c.getFields(); final String[] eventTypes = new String[fields.length]; try { int i = 0; for (final Field field : fields) { eventTypes[i++] = field.get(eventObj).toString(); } return eventTypes; } catch (final IllegalArgumentException e) { s_logger.error("Error while listing Event Types", e); } catch (final IllegalAccessException e) { s_logger.error("Error while listing Event Types", e); } return null; }
CallContext context = CallContext.current(); Class<?> entityClass = EventTypes.getEntityClassForEvent(eventType); if (entityClass != null){ new org.apache.cloudstack.framework.events.Event(ManagementService.Name, eventCategory, eventType, EventTypes.getEntityForEvent(eventType), entityUuid);
private static void publishOnMessageBus(String eventCategory, String eventType, String details, Event.State state) { if (state != com.cloud.event.Event.State.Completed) { return; } try { s_eventBus = ComponentContext.getComponent(EventBus.class); } catch (NoSuchBeanDefinitionException nbe) { return; // no provider is configured to provide events bus, so just return } org.apache.cloudstack.framework.events.Event event = new org.apache.cloudstack.framework.events.Event(ManagementService.Name, eventCategory, eventType, EventTypes.getEntityForEvent(eventType), null); Map<String, String> eventDescription = new HashMap<String, String>(); eventDescription.put("event", eventType); eventDescription.put("status", state.toString()); eventDescription.put("details", details); event.setDescription(eventDescription); try { s_eventBus.publish(event); } catch (EventBusException evx) { String errMsg = "Failed to publish contrail event."; s_logger.warn(errMsg, evx); } }
objectUuid = createCmd.getEntityUuid(); params.put("id", objectId.toString()); Class entityClass = EventTypes.getEntityClassForEvent(createCmd.getEventType()); if (entityClass != null) ctx.putContextParameter(entityClass, objectUuid);