? Util.getDynamicRequirements(wiring.getResourceRequirements(null)) : Util.getDynamicRequirements(resource.getRequirements(null)); for (Requirement req : reqs)
String resSymName = Util.getSymbolicName(req.getResource()); Version resVersion = Util.getVersion(req.getResource());
public static boolean isMultiple(Requirement req) { return Namespace.CARDINALITY_MULTIPLE.equals(req.getDirectives() .get(Namespace.REQUIREMENT_CARDINALITY_DIRECTIVE)) && !isDynamic(req); }
private boolean isMandatory(ResolveContext rc, Requirement requirement) { // The requirement is optional if (Util.isOptional(requirement)) { return false; } // This is a fragment that is already resolved and there is no unresolved hosts to attach it to Resource resource = requirement.getResource(); if (Util.isFragment(resource) && rc.getWirings().containsKey(resource)) { return false; } return true; }
private static void permutate( Candidates allCandidates, Requirement req, List<Candidates> permutations) { if (!Util.isMultiple(req)) { List<Capability> candidates = allCandidates.getCandidates(req); if ((candidates != null) && (candidates.size() > 1 || Util.isOptional(req))) { Candidates perm = allCandidates.copy(); candidates = perm.getCandidates(req); candidates.remove(0); if (candidates.isEmpty()) { perm.clearCandidates(req); } permutations.add(perm); } } }
: Util.getDynamicRequirements(wiring.getResourceRequirements(null))) if (!Util.isDynamic(req)) if (Util.isMultiple(req))
public void permutate(Requirement req, List<Candidates> permutations) { if (!Util.isMultiple(req) && canRemoveCandidate(req)) { Candidates perm = copy(); perm.removeFirstCandidate(req); permutations.add(perm); } }
public Map<Resource, Resource> getHosts() { Map<Resource, Resource> hosts = new HashMap<Resource, Resource>(); for (Resource res : m_mandatoryResources) { if (res instanceof WrappedResource) { res = ((WrappedResource) res).getDeclaredResource(); } if (!Util.isFragment(res)) { hosts.put(res, getWrappedHost(res)); } } for (Capability cap : m_dependentMap.keySet()) { Resource res = cap.getResource(); if (res instanceof WrappedResource) { res = ((WrappedResource) res).getDeclaredResource(); } if (!Util.isFragment(res)) { hosts.put(res, getWrappedHost(res)); } } return hosts; }
public boolean canRemoveCandidate(Requirement req) { List<Capability> candidates = m_candidateMap.get(req); return ((candidates != null) && (candidates.size() > 1 || Util.isOptional(req))); }
+ Util.getSymbolicName(m_resource) + " [" + m_resource + "] because it exports package '" + m_pkgName + "' and is also exposed to it from resource " + Util.getSymbolicName(m_blame1.m_cap.getResource()) + " [" + m_blame1.m_cap.getResource() + "] via the following dependency chain:\n\n" + Util.getSymbolicName(m_resource) + " [" + m_resource + "] because it is exposed to package '" + m_pkgName + "' from resources " + Util.getSymbolicName(m_blame1.m_cap.getResource()) + " [" + m_blame1.m_cap.getResource() + "] and " + Util.getSymbolicName(m_blame2.m_cap.getResource()) + " [" + m_blame2.m_cap.getResource() + "] via two dependency chains.\n\nChain 1:\n"
.equals(BundleNamespace.BUNDLE_NAMESPACE)) if (Util.isReexport(w.getRequirement())) if (Util.isReexport(req))
: Util.getDynamicRequirements(wiring.getResourceRequirements(null))) if (!Util.isDynamic(req)) if (Util.isMultiple(req))
private boolean permuteUsedBlameRequirement(Requirement req, Set<Requirement> mutated, Candidates permutation) { // Sanity check for multiple. if (Util.isMultiple(req)) { return false; } // If we've already permutated this requirement in another // uses constraint, don't permutate it again just continue // with the next uses constraint. if (mutated.contains(req)) { return true; } // See if we can permutate the candidates for blamed // requirement; there may be no candidates if the resource // associated with the requirement is already resolved. if (permutation.canRemoveCandidate(req)) { permutation.removeFirstCandidate(req); mutated.add(req); return true; } return false; }
public Map<Resource, Resource> getHosts() { Map<Resource, Resource> hosts = new HashMap<Resource, Resource>(); for (Resource res : m_mandatoryResources) { if (res instanceof WrappedResource) { res = ((WrappedResource) res).getDeclaredResource(); } if (!Util.isFragment(res)) { hosts.put(res, getWrappedHost(res)); } } for (Capability cap : m_dependentMap.keySet()) { Resource res = cap.getResource(); if (res instanceof WrappedResource) { res = ((WrappedResource) res).getDeclaredResource(); } if (!Util.isFragment(res)) { hosts.put(res, getWrappedHost(res)); } } return hosts; }
public boolean canRemoveCandidate(Requirement req) { List<Capability> candidates = m_candidateMap.get(req); return ((candidates != null) && (candidates.size() > 1 || Util.isOptional(req))); }
private boolean isMandatory(ResolveContext rc, Requirement requirement) { // The requirement is optional if (Util.isOptional(requirement)) { return false; } // This is a fragment that is already resolved and there is no unresolved hosts to attach it to Resource resource = requirement.getResource(); if (Util.isFragment(resource) && rc.getWirings().containsKey(resource)) { return false; } return true; }
+ Util.getSymbolicName(m_resource) + " [" + m_resource + "] because it exports package '" + m_pkgName + "' and is also exposed to it from resource " + Util.getSymbolicName(m_blame1.m_cap.getResource()) + " [" + m_blame1.m_cap.getResource() + "] via the following dependency chain:\n\n" + Util.getSymbolicName(m_resource) + " [" + m_resource + "] because it is exposed to package '" + m_pkgName + "' from resources " + Util.getSymbolicName(m_blame1.m_cap.getResource()) + " [" + m_blame1.m_cap.getResource() + "] and " + Util.getSymbolicName(m_blame2.m_cap.getResource()) + " [" + m_blame2.m_cap.getResource() + "] via two dependency chains.\n\nChain 1:\n"
.equals(BundleNamespace.BUNDLE_NAMESPACE)) if (Util.isReexport(w.getRequirement())) if (Util.isReexport(req))
String resSymName = Util.getSymbolicName(req.getResource()); Version resVersion = Util.getVersion(req.getResource());
public static boolean isMultiple(Requirement req) { return Namespace.CARDINALITY_MULTIPLE.equals(req.getDirectives() .get(Namespace.REQUIREMENT_CARDINALITY_DIRECTIVE)) && !isDynamic(req); }