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.

This commit is contained in:
Kris McQueen 2010-08-11 16:52:15 -07:00
parent 14ae76781e
commit d2374d3178

View File

@ -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();
}
}