Iterator<List<Wire>> iterator(final ResolveContext context) throws ResolutionException { return new Iterator<List<Wire>>() { private List<Iterator<Wire>> candidates = new ArrayList<Iterator<Wire>>(); private List<Requirement> reqs = res.getRequirements(null); private Map<Requirement, Wire> wires; private boolean hasNext;
@Override public Requirement getRequirement() { Resource resource = resbuilder.getResource(); String namespace = requirement.getNamespace(); return resource.getRequirements(namespace).get(0); }
public CompositeData getCompositeData(Resource res) throws OpenDataException { String identity = res.getIdentity().toString(); List<Capability> caps = res.getCapabilities(null); List<Requirement> reqs = res.getRequirements(null); List<Object> items = new ArrayList<Object>(); items.add(identity); items.add(new CapabilitiesType().getCompositeData(caps)); items.add(new RequirementsType().getCompositeData(reqs)); Object[] itemValues = items.toArray(new Object[items.size()]); return new CompositeDataSupport(compositeType, getItemNames(), itemValues); }
@Override public Resource addResource(Resource res) { synchronized (resources) { if (getResourceInternal(res.getIdentity()) != null) throw new IllegalArgumentException("Resource already added: " + res); LOGGER.debug("Add to {}: {}", storeName, res); // Add resource capabilites for (Capability cap : res.getCapabilities(null)) { CacheKey cachekey = CacheKey.create(cap); getCachedCapabilities(cachekey).add(cap); } // Log cap/req details if (LOGGER.isDebugEnabled()) { for (Capability cap : res.getCapabilities(null)) { LOGGER.debug(" {}", cap); } for (Requirement req : res.getRequirements(null)) { LOGGER.debug(" {}", req); } } resources.put(res.getIdentity(), res); return res; } }
List<Requirement> manreqs = res.getRequirements(null); Iterator<Requirement> itreqs = manreqs.iterator(); while (itreqs.hasNext()) {
@Override public ResourceBuilder fromResource(Resource res) { for (Capability cap : res.getCapabilities(null)) { addCapability(cap.getNamespace(), cap.getAttributes(), cap.getDirectives()); } for (Requirement req : res.getRequirements(null)) { addRequirement(req.getNamespace(), req.getAttributes(), req.getDirectives()); } return this; }