@Override public void notifyMonitorsOfHostAboutToBeRemoved(long hostId) { for (final Pair<Integer, Listener> monitor : _hostMonitors) { if (s_logger.isDebugEnabled()) { s_logger.debug("Sending host about to be removed to listener: " + monitor.second().getClass().getSimpleName()); } monitor.second().processHostAboutToBeRemoved(hostId); } }
@Override public void notifyMonitorsOfRemovedHost(long hostId, long clusterId) { for (final Pair<Integer, Listener> monitor : _hostMonitors) { if (s_logger.isDebugEnabled()) { s_logger.debug("Sending host removed to listener: " + monitor.second().getClass().getSimpleName()); } monitor.second().processHostRemoved(hostId, clusterId); } }
public void setCounterParams(List<Pair<String, String>> counterParams) { this.counterParams = new HashMap<String, String>(); for (Pair<String, String> paramKV : counterParams) { String key = paramKV.first(); String value = paramKV.second(); this.counterParams.put(key, value); } }
public String toString(String separator) { StringBuilder buf = new StringBuilder(_name).append(": "); for (Pair<String, Object[]> entry : _entries) { toString(buf, entry.first(), entry.second()); buf.append(separator); } return buf.toString(); }
private static void updatePFUsageData(Map<String, Pair<Long, Long>> usageDataMap, String key, long pfId, long duration) { Pair<Long, Long> pfUsageInfo = usageDataMap.get(key); if (pfUsageInfo == null) { pfUsageInfo = new Pair<Long, Long>(new Long(pfId), new Long(duration)); } else { Long runningTime = pfUsageInfo.second(); runningTime = new Long(runningTime.longValue() + duration); pfUsageInfo = new Pair<Long, Long>(pfUsageInfo.first(), runningTime); } usageDataMap.put(key, pfUsageInfo); }
private static void updateVolUsageData(Map<String, Pair<Long, Long>> usageDataMap, String key, long volId, long duration) { Pair<Long, Long> volUsageInfo = usageDataMap.get(key); if (volUsageInfo == null) { volUsageInfo = new Pair<Long, Long>(new Long(volId), new Long(duration)); } else { Long runningTime = volUsageInfo.second(); runningTime = new Long(runningTime.longValue() + duration); volUsageInfo = new Pair<Long, Long>(volUsageInfo.first(), runningTime); } usageDataMap.put(key, volUsageInfo); }
public void handleCommands(final AgentAttache attache, final long sequence, final Command[] cmds) { for (final Pair<Integer, Listener> listener : _cmdMonitors) { final boolean processed = listener.second().processCommands(attache.getId(), sequence, cmds); if (s_logger.isTraceEnabled()) { s_logger.trace("SeqA " + attache.getId() + "-" + sequence + ": " + (processed ? "processed" : "not processed") + " by " + listener.getClass()); } } }
@Override public Answer sendToPool(StoragePool pool, long[] hostIdsToTryFirst, Command cmd) throws StorageUnavailableException { Answer[] answers = sendToPool(pool, hostIdsToTryFirst, null, new Commands(cmd)).second(); if (answers == null) { return null; } return answers[0]; }
@Override @DB() public <M> List<M> customSearch(SearchCriteria<M> sc, final Filter filter) { if (_removed != null) { sc.addAnd(_removed.second().field.getName(), SearchCriteria.Op.NULL); } return customSearchIncludingRemoved(sc, filter); }
private AgentControlAnswer handleControlCommand(final AgentAttache attache, final AgentControlCommand cmd) { AgentControlAnswer answer = null; for (final Pair<Integer, Listener> listener : _cmdMonitors) { answer = listener.second().processControlCommand(attache.getId(), cmd); if (answer != null) { return answer; } } s_logger.warn("No handling of agent control command: " + cmd + " sent from " + attache.getId()); return new AgentControlAnswer(cmd); }
@Override public ListResponse<ResourceTagResponse> listTags(ListTagsCmd cmd) { Pair<List<ResourceTagJoinVO>, Integer> tags = listTagsInternal(cmd); ListResponse<ResourceTagResponse> response = new ListResponse<ResourceTagResponse>(); List<ResourceTagResponse> tagResponses = ViewResponseHelper.createResourceTagResponse(false, tags.first().toArray(new ResourceTagJoinVO[tags.first().size()])); response.setResponses(tagResponses, tags.second()); return response; }
@Override public ListResponse<HostTagResponse> searchForHostTags(ListHostTagsCmd cmd) { Pair<List<HostTagVO>, Integer> result = searchForHostTagsInternal(cmd); ListResponse<HostTagResponse> response = new ListResponse<HostTagResponse>(); List<HostTagResponse> tagResponses = ViewResponseHelper.createHostTagResponse(result.first().toArray(new HostTagVO[result.first().size()])); response.setResponses(tagResponses, result.second()); return response; }
@Override public ListResponse<ImageStoreResponse> searchForSecondaryStagingStores(ListSecondaryStagingStoresCmd cmd) { Pair<List<ImageStoreJoinVO>, Integer> result = searchForCacheStoresInternal(cmd); ListResponse<ImageStoreResponse> response = new ListResponse<ImageStoreResponse>(); List<ImageStoreResponse> poolResponses = ViewResponseHelper.createImageStoreResponse(result.first().toArray(new ImageStoreJoinVO[result.first().size()])); response.setResponses(poolResponses, result.second()); return response; }
@Override public ListResponse<AsyncJobResponse> searchForAsyncJobs(ListAsyncJobsCmd cmd) { Pair<List<AsyncJobJoinVO>, Integer> result = searchForAsyncJobsInternal(cmd); ListResponse<AsyncJobResponse> response = new ListResponse<AsyncJobResponse>(); List<AsyncJobResponse> jobResponses = ViewResponseHelper.createAsyncJobResponse(result.first().toArray(new AsyncJobJoinVO[result.first().size()])); response.setResponses(jobResponses, result.second()); return response; }
@Override public ListResponse<ImageStoreResponse> searchForImageStores(ListImageStoresCmd cmd) { Pair<List<ImageStoreJoinVO>, Integer> result = searchForImageStoresInternal(cmd); ListResponse<ImageStoreResponse> response = new ListResponse<ImageStoreResponse>(); List<ImageStoreResponse> poolResponses = ViewResponseHelper.createImageStoreResponse(result.first().toArray(new ImageStoreJoinVO[result.first().size()])); response.setResponses(poolResponses, result.second()); return response; }
@Override public ListResponse<DiskOfferingResponse> searchForDiskOfferings(ListDiskOfferingsCmd cmd) { Pair<List<DiskOfferingJoinVO>, Integer> result = searchForDiskOfferingsInternal(cmd); ListResponse<DiskOfferingResponse> response = new ListResponse<DiskOfferingResponse>(); List<DiskOfferingResponse> offeringResponses = ViewResponseHelper.createDiskOfferingResponse(result.first().toArray(new DiskOfferingJoinVO[result.first().size()])); response.setResponses(offeringResponses, result.second()); return response; }
@Override public ListResponse<ProjectAccountResponse> listProjectAccounts(ListProjectAccountsCmd cmd) { Pair<List<ProjectAccountJoinVO>, Integer> projectAccounts = listProjectAccountsInternal(cmd); ListResponse<ProjectAccountResponse> response = new ListResponse<ProjectAccountResponse>(); List<ProjectAccountResponse> projectResponses = ViewResponseHelper.createProjectAccountResponse(projectAccounts.first().toArray(new ProjectAccountJoinVO[projectAccounts.first().size()])); response.setResponses(projectResponses, projectAccounts.second()); return response; }
@Override public int remove(SearchCriteria<T> sc) { if (_removeSql == null) { return expunge(sc); } T vo = createForUpdate(); UpdateBuilder ub = getUpdateBuilder(vo); ub.set(vo, _removed.second(), new Date()); return update(ub, sc, null); }
@Override public Pair<List<? extends LdapConfigurationVO>, Integer> listConfigurations(final LdapListConfigurationCmd cmd) { final String hostname = cmd.getHostname(); final int port = cmd.getPort(); final Long domainId = cmd.getDomainId(); final Pair<List<LdapConfigurationVO>, Integer> result = _ldapConfigurationDao.searchConfigurations(hostname, port, domainId); return new Pair<List<? extends LdapConfigurationVO>, Integer>(result.first(), result.second()); }
@Override public ListResponse<DomainResponse> searchForDomains(ListDomainsCmd cmd) { Pair<List<DomainJoinVO>, Integer> result = searchForDomainsInternal(cmd); ListResponse<DomainResponse> response = new ListResponse<DomainResponse>(); ResponseView respView = ResponseView.Restricted; if (cmd instanceof ListDomainsCmdByAdmin) { respView = ResponseView.Full; } List<DomainResponse> domainResponses = ViewResponseHelper.createDomainResponse(respView, cmd.getDetails(), result.first()); response.setResponses(domainResponses, result.second()); return response; }