diff --git a/core/src/com/cloud/event/dao/EventDao.java b/core/src/com/cloud/event/dao/EventDao.java index 58390bb58ff..ce834e1b00d 100644 --- a/core/src/com/cloud/event/dao/EventDao.java +++ b/core/src/com/cloud/event/dao/EventDao.java @@ -31,7 +31,5 @@ public interface EventDao extends GenericDao { public List listOlderEvents(Date oldTime); - List listStartedEvents(Date minTime, Date maxTime); - EventVO findCompletedEvent(long startId); } diff --git a/core/src/com/cloud/event/dao/EventDaoImpl.java b/core/src/com/cloud/event/dao/EventDaoImpl.java index c508a003249..de6f64b5449 100644 --- a/core/src/com/cloud/event/dao/EventDaoImpl.java +++ b/core/src/com/cloud/event/dao/EventDaoImpl.java @@ -35,16 +35,9 @@ import com.cloud.utils.db.SearchCriteria; @Local(value={EventDao.class}) public class EventDaoImpl extends GenericDaoBase implements EventDao { public static final Logger s_logger = Logger.getLogger(EventDaoImpl.class.getName()); - protected final SearchBuilder StartedEventsSearch; protected final SearchBuilder CompletedEventSearch; public EventDaoImpl () { - StartedEventsSearch = createSearchBuilder(); - StartedEventsSearch.and("state",StartedEventsSearch.entity().getState(),SearchCriteria.Op.NEQ); - StartedEventsSearch.and("startId", StartedEventsSearch.entity().getStartId(), SearchCriteria.Op.EQ); - StartedEventsSearch.and("createDate", StartedEventsSearch.entity().getCreateDate(), SearchCriteria.Op.BETWEEN); - StartedEventsSearch.done(); - CompletedEventSearch = createSearchBuilder(); CompletedEventSearch.and("state",CompletedEventSearch.entity().getState(),SearchCriteria.Op.EQ); CompletedEventSearch.and("startId", CompletedEventSearch.entity().getStartId(), SearchCriteria.Op.EQ); @@ -65,16 +58,6 @@ public class EventDaoImpl extends GenericDaoBase implements Event } - @Override - public List listStartedEvents(Date minTime, Date maxTime) { - if (minTime == null || maxTime == null) return null; - SearchCriteria sc = StartedEventsSearch.create(); - sc.setParameters("state", State.Completed); - sc.setParameters("startId", 0); - sc.setParameters("createDate", minTime, maxTime); - return listIncludingRemovedBy(sc, null); - } - @Override public EventVO findCompletedEvent(long startId) { SearchCriteria sc = CompletedEventSearch.create(); diff --git a/server/src/com/cloud/server/ManagementServer.java b/server/src/com/cloud/server/ManagementServer.java index c623685e8e8..2a6de5c7251 100755 --- a/server/src/com/cloud/server/ManagementServer.java +++ b/server/src/com/cloud/server/ManagementServer.java @@ -78,8 +78,6 @@ public interface ManagementServer extends ManagementService { */ List getEvents(long userId, long accountId, Long domainId, String type, String level, Date startDate, Date endDate); - List listPendingEvents(int entryTime, int duration); - //FIXME - move all console proxy related commands to corresponding managers ConsoleProxyInfo getConsoleProxyForVm(long dataCenterId, long userVmId); diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 3ffab2f58d3..33095a7f800 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -1500,13 +1500,6 @@ public class ManagementServerImpl implements ManagementServer { Integer entryTime = cmd.getEntryTime(); Integer duration = cmd.getDuration(); - if ((entryTime != null) && (duration != null)) { - if (entryTime <= duration) { - throw new InvalidParameterValueException("Entry time must be greater than duration"); - } - return listPendingEvents(entryTime, duration); - } - SearchBuilder sb = _eventDao.createSearchBuilder(); sb.and("id", sb.entity().getId(), SearchCriteria.Op.EQ); sb.and("levelL", sb.entity().getLevel(), SearchCriteria.Op.LIKE); @@ -1519,6 +1512,9 @@ public class ManagementServerImpl implements ManagementServer { sb.and("createDateG", sb.entity().getCreateDate(), SearchCriteria.Op.GTEQ); sb.and("createDateL", sb.entity().getCreateDate(), SearchCriteria.Op.LTEQ); sb.and("accountType", sb.entity().getAccountType(), SearchCriteria.Op.NEQ); + sb.and("state", sb.entity().getState(),SearchCriteria.Op.NEQ); + sb.and("startId", sb.entity().getStartId(), SearchCriteria.Op.EQ); + sb.and("createDate", sb.entity().getCreateDate(), SearchCriteria.Op.BETWEEN); if (isAdmin && permittedAccounts.isEmpty() && domainId != null) { // if accountId isn't specified, we can do a domain match for the admin case @@ -1565,8 +1561,33 @@ public class ManagementServerImpl implements ManagementServer { } else if (endDate != null) { sc.setParameters("createDateL", endDate); } - - return _eventDao.searchAllEvents(sc, searchFilter); + + if ((entryTime != null) && (duration != null)) { + if (entryTime <= duration) { + throw new InvalidParameterValueException("Entry time must be greater than duration"); + } + Calendar calMin = Calendar.getInstance(); + Calendar calMax = Calendar.getInstance(); + calMin.add(Calendar.SECOND, -entryTime); + calMax.add(Calendar.SECOND, -duration); + Date minTime = calMin.getTime(); + Date maxTime = calMax.getTime(); + + sc.setParameters("state", com.cloud.event.Event.State.Completed); + sc.setParameters("startId", 0); + sc.setParameters("createDate", minTime, maxTime); + List startedEvents = _eventDao.searchAllEvents(sc, searchFilter); + List pendingEvents = new ArrayList(); + for (EventVO event : startedEvents) { + EventVO completedEvent = _eventDao.findCompletedEvent(event.getId()); + if (completedEvent == null) { + pendingEvents.add(event); + } + } + return _eventDao.searchAllEvents(sc, searchFilter); + } else { + return _eventDao.searchAllEvents(sc, searchFilter); + } } @@ -3072,25 +3093,6 @@ public class ManagementServerImpl implements ManagementServer { return cloudParams; } - @Override - public List listPendingEvents(int entryTime, int duration) { - Calendar calMin = Calendar.getInstance(); - Calendar calMax = Calendar.getInstance(); - calMin.add(Calendar.SECOND, -entryTime); - calMax.add(Calendar.SECOND, -duration); - Date minTime = calMin.getTime(); - Date maxTime = calMax.getTime(); - List startedEvents = _eventDao.listStartedEvents(minTime, maxTime); - List pendingEvents = new ArrayList(); - for (EventVO event : startedEvents) { - EventVO completedEvent = _eventDao.findCompletedEvent(event.getId()); - if (completedEvent == null) { - pendingEvents.add(event); - } - } - return pendingEvents; - } - @Override public Map listCapabilities(ListCapabilitiesCmd cmd) { Map capabilities = new HashMap();