@Override public List<ComputeService> list() { assertValid(); List<ComputeService> list = new ArrayList<ComputeService>(); for (Map.Entry<String,DynamicReference<ComputeService>> entry : computeServices.entrySet()) { ComputeService computeService = entry.getValue().getIfPresent(); if (computeService != null) { list.add(computeService); } } return list; }
@Override public ComputeService getIfPresent(String name) { assertValid(); computeServices.putIfAbsent(name, new DynamicReference<ComputeService>(name, COMPUTE_SERVICE_WAIT, TimeUnit.MILLISECONDS)); return computeServices.get(name).getIfPresent(); }