.size()]); for (AvailabilityReport.Datum avail : avails) { int resourceId = avail.getResourceId(); ResourceContainer container = getResourceContainer(resourceId);
report.addAvailability(new AvailabilityReport.Datum(familyResourceId, AvailabilityType.UNKNOWN, now));
availabilities.add(new Availability(new Resource(datum.getResourceId()), datum.getStartTime(), datum .getAvailabilityType()));
report.addAvailability(new AvailabilityReport.Datum(familyResourceId, AvailabilityType.DISABLED, now));
@Override @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED) public void setResourceAvailabilities(Map<Agent, int[]> map, AvailabilityType avail) { long now = System.currentTimeMillis(); for (Agent agent : map.keySet()) { AvailabilityReport report = new AvailabilityReport(true, null); report.setServerSideReport(true); for (int resourceId : map.get(agent)) { report.addAvailability(new Datum(resourceId, avail, now)); } AvailabilityReportSerializer.getSingleton().lock(agent.getName()); try { this.availabilityManager.mergeAvailabilityReport(report); } finally { AvailabilityReportSerializer.getSingleton().unlock(agent.getName()); } } return; }
/** * Shows the list of availabilities known so far * for resources that have been discovered * @param tokens tokenized command line tokens[0] is the command itself */ private void avail(String[] tokens) { Set<Resource> resources = getResources(); int id = getResourceIdFromTokens(tokens, 0); for (Resource res : resources) { if (id == 0 || (res.getId() == id)) { AvailabilityReport availabilityReport = inventoryManager.getCurrentAvailability(res, false); for(AvailabilityReport.Datum datum : availabilityReport.getResourceAvailability()) { if (datum.getResourceId() == res.getId()) { System.out.println(res.getName() + "( " + res.getId() + " ):" + datum.getAvailabilityType()); break; } } } } }
/** * Tries to find the availability for given resource in this report. * * @param resourceId the id of the resource to look for * @return the availability type found in this report for given report on null if not found */ public AvailabilityType forResource(int resourceId) { for(Datum d : availabilities) { if (d.getResourceId() == resourceId) { return d.getAvailabilityType(); } } return null; }
public void addAvailability(Availability availability) { this.availabilities.add(new Datum(availability)); }