private static VersionRange toRange(Object o) throws IllegalArgumentException { final VersionRange range; if (o == null) range = null; else if (o instanceof VersionRange) range = (VersionRange) o; else if (o instanceof org.osgi.framework.VersionRange || o instanceof Version || o instanceof String) range = VersionRange.parseOSGiVersionRange(o.toString()); else throw new IllegalArgumentException("Expected type String, Version or VersionRange"); return range; }
private static VersionRange toRange(Object o) throws IllegalArgumentException { final VersionRange range; if (o == null) range = null; else if (o instanceof VersionRange) range = (VersionRange) o; else if (o instanceof org.osgi.framework.VersionRange || o instanceof Version || o instanceof String) range = VersionRange.parseOSGiVersionRange(o.toString()); else throw new IllegalArgumentException("Expected type String, Version or VersionRange"); return range; }
public void addFilter(String ns, String name, String version, Attrs attrs) { List<String> parts = new ArrayList<>(); parts.add("(" + ns + "=" + name + ")"); if (version != null && VersionRange.isOSGiVersionRange(version)) { VersionRange range = VersionRange.parseOSGiVersionRange(version); parts.add(range.toFilter()); } String mandatory = attrs.get(Constants.MANDATORY_DIRECTIVE + ":"); if (mandatory != null) { String mandatoryAttrs[] = mandatory.split("\\s*,\\s*"); Arrays.sort(mandatoryAttrs); for (String mandatoryAttr : mandatoryAttrs) { String value = attrs.get(mandatoryAttr); if (value != null) { parts.add("(" + mandatoryAttr + "=" + escapeFilterValue(value) + ")"); } } } StringBuilder sb = new StringBuilder(); if (parts.size() > 0) sb.append("(&"); for (String s : parts) { sb.append(s); } if (parts.size() > 0) sb.append(")"); addDirective(Namespace.REQUIREMENT_FILTER_DIRECTIVE, sb.toString()); }
public void addFragmentHost(String bsn, Attrs attrs) throws Exception { CapReqBuilder rbb = new CapReqBuilder(resource, HostNamespace.HOST_NAMESPACE); rbb.addDirectives(attrs); StringBuilder filter = new StringBuilder(); filter.append("(") .append(HostNamespace.HOST_NAMESPACE) .append("=") .append(bsn) .append(")"); String v = attrs.get(AbstractWiringNamespace.CAPABILITY_BUNDLE_VERSION_ATTRIBUTE); if (v != null && VersionRange.isOSGiVersionRange(v)) { VersionRange range = VersionRange.parseOSGiVersionRange(v); filter.insert(0, "(&"); filter.append(range.toFilter(AbstractWiringNamespace.CAPABILITY_BUNDLE_VERSION_ATTRIBUTE)); filter.append(")"); } rbb.addDirective(Namespace.REQUIREMENT_FILTER_DIRECTIVE, filter.toString()); addRequirement(rbb.buildRequirement()); }
public void addFilter(String ns, String name, String version, Attrs attrs) { List<String> parts = new ArrayList<>(); parts.add("(" + ns + "=" + name + ")"); if (version != null && VersionRange.isOSGiVersionRange(version)) { VersionRange range = VersionRange.parseOSGiVersionRange(version); parts.add(range.toFilter()); } String mandatory = attrs.get(Constants.MANDATORY_DIRECTIVE + ":"); if (mandatory != null) { String mandatoryAttrs[] = mandatory.split("\\s*,\\s*"); Arrays.sort(mandatoryAttrs); for (String mandatoryAttr : mandatoryAttrs) { String value = attrs.get(mandatoryAttr); if (value != null) { parts.add("(" + mandatoryAttr + "=" + escapeFilterValue(value) + ")"); } } } StringBuilder sb = new StringBuilder(); if (parts.size() > 0) sb.append("(&"); for (String s : parts) { sb.append(s); } if (parts.size() > 0) sb.append(")"); addDirective(Namespace.REQUIREMENT_FILTER_DIRECTIVE, sb.toString()); }
public void addRequireBundle(String bsn, Attrs attrs) throws Exception { CapReqBuilder rbb = new CapReqBuilder(resource, BundleNamespace.BUNDLE_NAMESPACE); rbb.addDirectives(attrs); StringBuilder filter = new StringBuilder(); filter.append("(") .append(BundleNamespace.BUNDLE_NAMESPACE) .append("=") .append(bsn) .append(")"); String v = attrs.get(AbstractWiringNamespace.CAPABILITY_BUNDLE_VERSION_ATTRIBUTE); if (v != null && VersionRange.isOSGiVersionRange(v)) { VersionRange range = VersionRange.parseOSGiVersionRange(v); filter.insert(0, "(&"); filter.append(toBundleVersionFilter(range)); filter.append(")"); } rbb.addDirective(Namespace.REQUIREMENT_FILTER_DIRECTIVE, filter.toString()); addRequirement(rbb.buildRequirement()); }
public void addRequireBundle(String bsn, Attrs attrs) throws Exception { CapReqBuilder rbb = new CapReqBuilder(resource, BundleNamespace.BUNDLE_NAMESPACE); rbb.addDirectives(attrs); StringBuilder filter = new StringBuilder(); filter.append("(") .append(BundleNamespace.BUNDLE_NAMESPACE) .append("=") .append(bsn) .append(")"); String v = attrs.get(AbstractWiringNamespace.CAPABILITY_BUNDLE_VERSION_ATTRIBUTE); if (v != null && VersionRange.isOSGiVersionRange(v)) { VersionRange range = VersionRange.parseOSGiVersionRange(v); filter.insert(0, "(&"); filter.append(toBundleVersionFilter(range)); filter.append(")"); } rbb.addDirective(Namespace.REQUIREMENT_FILTER_DIRECTIVE, filter.toString()); addRequirement(rbb.buildRequirement()); }
public void addFragmentHost(String bsn, Attrs attrs) throws Exception { CapReqBuilder rbb = new CapReqBuilder(resource, HostNamespace.HOST_NAMESPACE); rbb.addDirectives(attrs); StringBuilder filter = new StringBuilder(); filter.append("(") .append(HostNamespace.HOST_NAMESPACE) .append("=") .append(bsn) .append(")"); String v = attrs.get(AbstractWiringNamespace.CAPABILITY_BUNDLE_VERSION_ATTRIBUTE); if (v != null && VersionRange.isOSGiVersionRange(v)) { VersionRange range = VersionRange.parseOSGiVersionRange(v); filter.insert(0, "(&"); filter.append(range.toFilter(AbstractWiringNamespace.CAPABILITY_BUNDLE_VERSION_ATTRIBUTE)); filter.append(")"); } rbb.addDirective(Namespace.REQUIREMENT_FILTER_DIRECTIVE, filter.toString()); addRequirement(rbb.buildRequirement()); }
.getVersion(); if (v != null) { VersionRange vr = VersionRange.parseOSGiVersionRange(v); extra.append(";version=") .append(vr.getLow()); .getVersion(); if (v != null) { VersionRange vr = VersionRange.parseOSGiVersionRange(v); extra.append(";version=") .append(vr.getLow());
.getVersion(); if (v != null) { VersionRange vr = VersionRange.parseOSGiVersionRange(v); extra.append(";version=") .append(vr.getLow()); .getVersion(); if (v != null) { VersionRange vr = VersionRange.parseOSGiVersionRange(v); extra.append(";version=") .append(vr.getLow());