From d2374d31783abe01945dea140a907cced1283690 Mon Sep 17 00:00:00 2001 From: Kris McQueen Date: Wed, 11 Aug 2010 16:52:15 -0700 Subject: [PATCH] Add EventUtils to consolidate the creation of events and make it usable from all managers (there were some private methods in ManagementServerImpl). Add some validation logic to AssignToLoadBalancer implementation in NetworkManagerImpl. --- core/src/com/cloud/event/EventUtils.java | 84 ++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 core/src/com/cloud/event/EventUtils.java diff --git a/core/src/com/cloud/event/EventUtils.java b/core/src/com/cloud/event/EventUtils.java new file mode 100644 index 00000000000..c558415fe0a --- /dev/null +++ b/core/src/com/cloud/event/EventUtils.java @@ -0,0 +1,84 @@ +package com.cloud.event; + +import com.cloud.event.dao.EventDao; +import com.cloud.server.ManagementServer; +import com.cloud.utils.component.ComponentLocator; + +public class EventUtils { + private static EventDao _eventDao = ComponentLocator.getLocator(ManagementServer.Name).getDao(EventDao.class); + + public static Long saveEvent(Long userId, Long accountId, String type, String description) { + EventVO event = new EventVO(); + event.setUserId(userId); + event.setAccountId(accountId); + event.setType(type); + event.setDescription(description); + event = _eventDao.persist(event); + return event.getId(); + } + + /* + * Save event after scheduling an async job + */ + public static Long saveScheduledEvent(Long userId, Long accountId, String type, String description) { + EventVO event = new EventVO(); + event.setUserId(userId); + event.setAccountId(accountId); + event.setType(type); + event.setState(EventState.Scheduled); + event.setDescription("Scheduled async job for "+description); + event = _eventDao.persist(event); + return event.getId(); + } + + /* + * Save event after starting execution of an async job + */ + public static Long saveStartedEvent(Long userId, Long accountId, String type, String description, long startEventId) { + EventVO event = new EventVO(); + event.setUserId(userId); + event.setAccountId(accountId); + event.setType(type); + event.setState(EventState.Started); + event.setDescription(description); + event.setStartId(startEventId); + event = _eventDao.persist(event); + return event.getId(); + } + + public static Long saveEvent(Long userId, Long accountId, String level, String type, String description) { + EventVO event = new EventVO(); + event.setUserId(userId); + event.setAccountId(accountId); + event.setType(type); + event.setDescription(description); + event.setLevel(level); + event = _eventDao.persist(event); + return event.getId(); + } + + public static Long saveEvent(Long userId, Long accountId, String level, String type, String description, String params) { + EventVO event = new EventVO(); + event.setUserId(userId); + event.setAccountId(accountId); + event.setType(type); + event.setDescription(description); + event.setLevel(level); + event.setParameters(params); + event = _eventDao.persist(event); + return event.getId(); + } + + public static Long saveEvent(Long userId, Long accountId, String level, String type, String description, String params, long startEventId) { + EventVO event = new EventVO(); + event.setUserId(userId); + event.setAccountId(accountId); + event.setType(type); + event.setDescription(description); + event.setLevel(level); + event.setParameters(params); + event.setStartId(startEventId); + event = _eventDao.persist(event); + return event.getId(); + } +}