/** * Convert to an OSGi filter expression */ public String toFilter() { return toFilter("version"); }
/** * Convert to an OSGi filter expression */ public String toFilter() { return toFilter("version"); }
/** * Convert to an OSGi filter expression */ public String toFilter() { return toFilter("version"); }
/** * Convert to an OSGi filter expression */ public String toFilter() { return toFilter("version"); }
Object toBundleVersionFilter(VersionRange range) { return range.toFilter() .replaceAll(IdentityNamespace.CAPABILITY_VERSION_ATTRIBUTE, AbstractWiringNamespace.CAPABILITY_BUNDLE_VERSION_ATTRIBUTE); }
Object toBundleVersionFilter(VersionRange range) { return range.toFilter() .replaceAll(IdentityNamespace.CAPABILITY_VERSION_ATTRIBUTE, AbstractWiringNamespace.CAPABILITY_BUNDLE_VERSION_ATTRIBUTE); }
private CharSequence toFilter(Object expr) { if (expr instanceof CharSequence) return (CharSequence) expr; if (expr instanceof Filter) { return expr.toString(); } if (expr instanceof VersionRange) { return ((VersionRange) expr).toFilter(); } return expr.toString(); }
private CharSequence toFilter(Object expr) { if (expr instanceof CharSequence) return (CharSequence) expr; if (expr instanceof Filter) { return expr.toString(); } if (expr instanceof VersionRange) { return ((VersionRange) expr).toFilter(); } return expr.toString(); }
private CharSequence toFilter(Object expr) { if (expr instanceof CharSequence) return (CharSequence) expr; if (expr instanceof Filter) { return expr.toString(); } if (expr instanceof VersionRange) { return ((VersionRange) expr).toFilter(); } return expr.toString(); }
private CharSequence toFilter(Object expr) { if (expr instanceof CharSequence) return (CharSequence) expr; if (expr instanceof Filter) { return expr.toString(); } if (expr instanceof VersionRange) { return ((VersionRange) expr).toFilter(); } return expr.toString(); }
private static Requirement createRequirement(VersionRange range) { CapReqBuilder builder = new CapReqBuilder(Namespaces.NS_EXTENDER); StringBuilder filter = new StringBuilder(); filter.append('(').append(Namespaces.NS_EXTENDER).append('=').append(Namespaces.EXTENDER_SCR).append(')'); filter.insert(0, "(&"); filter.append(range.toFilter()); filter.append(')'); builder.addDirective(Namespaces.DIRECTIVE_FILTER, filter.toString()).addDirective( Namespaces.DIRECTIVE_EFFECTIVE, Namespaces.EFFECTIVE_ACTIVE); Requirement requirement = builder.buildRequirement(); return requirement; }
private static Requirement createRequirement(VersionRange range) { CapReqBuilder builder = new CapReqBuilder(Namespaces.NS_EXTENDER); StringBuilder filter = new StringBuilder(); filter.append('(').append(Namespaces.NS_EXTENDER).append('=').append(Namespaces.EXTENDER_SCR).append(')'); filter.insert(0, "(&"); filter.append(range.toFilter()); filter.append(')'); builder.addDirective(Namespaces.DIRECTIVE_FILTER, filter.toString()).addDirective( Namespaces.DIRECTIVE_EFFECTIVE, Namespaces.EFFECTIVE_ACTIVE); Requirement requirement = builder.buildRequirement(); return requirement; }
void doFragment(Domain domain, List< ? super Requirement> reqs) throws Exception { Entry<String,Attrs> fragmentHost = domain.getFragmentHost(); if (fragmentHost != null) { StringBuilder filter = new StringBuilder(); String bsn = fragmentHost.getKey(); filter.append("(&(osgi.wiring.host=").append(bsn).append(")"); String versionStr = fragmentHost.getValue().get(Constants.BUNDLE_VERSION_ATTRIBUTE); VersionRange range = new VersionRange(versionStr); filter.append(range.toFilter()); filter.append(")"); CapReqBuilder builder = new CapReqBuilder(Namespaces.NS_WIRING_HOST).addDirective( Namespaces.DIRECTIVE_FILTER, filter.toString()); reqs.add(builder.buildRequirement()); } }
void doFragment(Domain domain, List< ? super Requirement> reqs) throws Exception { Entry<String,Attrs> fragmentHost = domain.getFragmentHost(); if (fragmentHost != null) { StringBuilder filter = new StringBuilder(); String bsn = fragmentHost.getKey(); filter.append("(&(osgi.wiring.host=").append(bsn).append(")"); String versionStr = fragmentHost.getValue().get(Constants.BUNDLE_VERSION_ATTRIBUTE); VersionRange range = new VersionRange(versionStr); filter.append(range.toFilter()); filter.append(")"); CapReqBuilder builder = new CapReqBuilder(Namespaces.NS_WIRING_HOST).addDirective( Namespaces.DIRECTIVE_FILTER, filter.toString()); reqs.add(builder.buildRequirement()); } }
public static RequirementBuilder createRequirementFromCapability(Capability cap) { RequirementBuilder req = new RequirementBuilder(cap.getNamespace()); StringBuilder sb = new StringBuilder("(&"); for (Entry<String, Object> e : cap.getAttributes() .entrySet()) { Object v = e.getValue(); if (v instanceof Version || e.getKey() .equals("version")) { VersionRange r = new VersionRange(v.toString()); String filter = r.toFilter(); sb.append(filter); } else sb.append("(") .append(e.getKey()) .append("=") .append(escapeFilterValue((String) v)) .append(")"); } sb.append(")"); req.and(sb.toString()); return req; }
void doImports(Domain domain, List< ? super Requirement> reqs) throws Exception { Parameters imports = domain.getImportPackage(); for (Entry<String,Attrs> entry : imports.entrySet()) { StringBuilder filter = new StringBuilder(); String pkgName = Processor.removeDuplicateMarker(entry.getKey()); filter.append("(osgi.wiring.package=").append(pkgName).append(")"); String versionStr = entry.getValue().get(Constants.VERSION_ATTRIBUTE); if (versionStr != null) { VersionRange version = new VersionRange(versionStr); filter.insert(0, "(&"); filter.append(version.toFilter()); filter.append(")"); } CapReqBuilder builder = new CapReqBuilder(Namespaces.NS_WIRING_PACKAGE).addDirective( Namespaces.DIRECTIVE_FILTER, filter.toString()); copyAttribsAndDirectives(entry.getValue(), builder, Constants.VERSION_ATTRIBUTE, "specification-version"); reqs.add(builder.buildRequirement()); } }
void doRequireBundles(Domain domain, List< ? super Requirement> reqs) throws Exception { Parameters requires = domain.getRequireBundle(); for (Entry<String,Attrs> entry : requires.entrySet()) { StringBuilder filter = new StringBuilder(); String bsn = Processor.removeDuplicateMarker(entry.getKey()); filter.append("(osgi.wiring.bundle=").append(bsn).append(")"); String versionStr = entry.getValue().get(Constants.BUNDLE_VERSION_ATTRIBUTE); if (versionStr != null) { VersionRange version = new VersionRange(versionStr); filter.insert(0, "(&"); filter.append(version.toFilter()); filter.append(")"); } CapReqBuilder builder = new CapReqBuilder(Namespaces.NS_WIRING_BUNDLE).addDirective( Namespaces.DIRECTIVE_FILTER, filter.toString()); copyAttribsAndDirectives(entry.getValue(), builder, Constants.BUNDLE_VERSION_ATTRIBUTE); reqs.add(builder.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()); }
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()); }
void doImports(Domain domain, List< ? super Requirement> reqs) throws Exception { Parameters imports = domain.getImportPackage(); for (Entry<String,Attrs> entry : imports.entrySet()) { StringBuilder filter = new StringBuilder(); String pkgName = Processor.removeDuplicateMarker(entry.getKey()); filter.append("(osgi.wiring.package=").append(pkgName).append(")"); String versionStr = entry.getValue().get(Constants.VERSION_ATTRIBUTE); if (versionStr != null) { VersionRange version = new VersionRange(versionStr); filter.insert(0, "(&"); filter.append(version.toFilter()); filter.append(")"); } CapReqBuilder builder = new CapReqBuilder(Namespaces.NS_WIRING_PACKAGE).addDirective( Namespaces.DIRECTIVE_FILTER, filter.toString()); copyAttribsAndDirectives(entry.getValue(), builder, Constants.VERSION_ATTRIBUTE, "specification-version"); reqs.add(builder.buildRequirement()); } }