public static ResourceImpl build(String uri, Map<String, String> headerMap) throws BundleException { return build(new ResourceImpl(), uri, headerMap, false); }
public static ResourceImpl build(String uri, Map<String, String> headerMap, boolean removeServiceRequirements) throws BundleException { return build(new ResourceImpl(), uri, headerMap, removeServiceRequirements); }
public static ResourceImpl build(String uri, Map<String, String> headerMap) throws BundleException { return build(new ResourceImpl(), uri, headerMap, false); }
public static ResourceImpl build(String uri, Map<String, String> headerMap, boolean removeServiceRequirements) throws BundleException { return build(new ResourceImpl(), uri, headerMap, removeServiceRequirements); }
public void requireFeature(String name, String range, boolean mandatory) { if (mandatory) { ResourceUtils.addIdentityRequirement(this, name, TYPE_FEATURE, range); } else { ResourceImpl res = new ResourceImpl(); ResourceUtils.addIdentityRequirement(res, name, TYPE_FEATURE, range, false); dependentFeatures.addAll(res.getRequirements(null)); } }
private static Repository readRepository(Object repository) throws BundleException { List<Resource> resources = new ArrayList<>(); Collection<Map<String, List<String>>> metadatas; if (repository instanceof Map) { metadatas = ((Map<String, Map<String, List<String>>>) repository).values(); } else { metadatas = (Collection<Map<String, List<String>>>) repository; } for (Map<String, List<String>> metadata : metadatas) { ResourceImpl res = new ResourceImpl(); for (String cap : metadata.get("capabilities")) { res.addCapabilities(ResourceBuilder.parseCapability(res, cap)); } if (metadata.containsKey("requirements")) { for (String req : metadata.get("requirements")) { res.addRequirements(ResourceBuilder.parseRequirement(res, req)); } } resources.add(res); } return new BaseRepository(resources); }
throw new IllegalStateException("Unexpected attribute '" + reader.getAttributeLocalName(0) + "'"); ResourceImpl resource = new ResourceImpl(); int event; while ((event = reader.nextTag()) == START_ELEMENT) {
throw new IllegalStateException("Unexpected attribute '" + reader.getAttributeLocalName(0) + "'"); ResourceImpl resource = new ResourceImpl(); int event; while ((event = reader.nextTag()) == START_ELEMENT) {
ResourceImpl dummy = new ResourceImpl("dummy", "dummy", Version.emptyVersion); for (BundleRevision res : entry.getValue()) { environmentResource = new ResourceImpl("environment", "karaf.environment", Version.emptyVersion); environmentResource.addCapabilities(ResourceBuilder.parseCapability(environmentResource, provideCaps)); root.addSystemResource(environmentResource);
private void wrap(Map<Capability, Capability> map, Subsystem subsystem, Resource resource) { ResourceImpl wrapped = new ResourceImpl(); for (Capability cap : resource.getCapabilities(null)) { CapabilityImpl wCap = new CapabilityImpl(wrapped, cap.getNamespace(), cap.getDirectives(), cap.getAttributes()); map.put(cap, wCap); wrapped.addCapability(wCap); } for (Requirement req : resource.getRequirements(null)) { RequirementImpl wReq = new RequirementImpl(wrapped, req.getNamespace(), req.getDirectives(), req.getAttributes()); wrapped.addRequirement(wReq); } addIdentityRequirement(wrapped, subsystem, false); resToSub.put(wrapped, subsystem); try { downloader.download(getUri(wrapped), null); } catch (MalformedURLException e) { throw new IllegalStateException("Unable to download resource: " + getUri(wrapped)); } } }
ResourceImpl cloneResource(Resource resource) { ResourceImpl res = new ResourceImpl(); for (Capability cap : resource.getCapabilities(null)) { res.addCapability(new CapabilityImpl(res, cap.getNamespace(), new StringArrayMap<>(cap.getDirectives()), new StringArrayMap<>(cap.getAttributes()))); } for (Requirement req : resource.getRequirements(null)) { SimpleFilter sf; if (req instanceof RequirementImpl) { sf = ((RequirementImpl) req).getFilter(); } else if (req.getDirectives().containsKey(REQUIREMENT_FILTER_DIRECTIVE)) { sf = SimpleFilter.parse(req.getDirectives().get(REQUIREMENT_FILTER_DIRECTIVE)); } else { sf = SimpleFilter.convert(req.getAttributes()); } res.addRequirement(new RequirementImpl(res, req.getNamespace(), new StringArrayMap<>(req.getDirectives()), new StringArrayMap<>(req.getAttributes()), sf)); } return res; }