Michael Simacek a16fbe
From bfeef908b83862b6364dfcc856a26caf3be1765e Mon Sep 17 00:00:00 2001
Michael Simacek a05b85
From: Michael Simacek <msimacek@redhat.com>
Michael Simacek a05b85
Date: Thu, 26 May 2016 16:57:46 +0200
Michael Simacek a16fbe
Subject: [PATCH 2/3] Remove unavailable parts
Michael Simacek a05b85
Michael Simacek a05b85
---
Michael Simacek a05b85
 biz.aQute.bnd/src/aQute/bnd/main/bnd.java          | 30 -----------------
Michael Simacek a05b85
 biz.aQute.bndlib/src/aQute/bnd/build/Project.java  |  4 +--
Michael Simacek a05b85
 .../src/aQute/bnd/component/AnnotationReader.java  | 38 ++++++++--------------
Michael Simacek a05b85
 .../src/aQute/bnd/component/ComponentDef.java      |  1 -
Michael Simacek a05b85
 .../src/aQute/bnd/component/FieldOption.java       |  5 +++
Michael Simacek a05b85
 .../src/aQute/bnd/component/HeaderReader.java      |  1 -
Michael Simacek a05b85
 .../src/aQute/bnd/component/ReferenceDef.java      |  2 --
Michael Simacek a05b85
 .../src/aQute/bnd/component/ReferenceScope.java    | 13 ++++++++
Michael Simacek a05b85
 .../src/aQute/bnd/component/ServiceScope.java      | 14 ++++++++
Michael Simacek a05b85
 .../src/aQute/bnd/http/HttpRequest.java            | 23 -------------
Michael Simacek a05b85
 .../src/aQute/bnd/obr/OBRFragment.java             | 22 ++++++-------
Michael Simacek a05b85
 biz.aQute.bndlib/src/aQute/bnd/osgi/Builder.java   |  3 --
Michael Simacek a05b85
 biz.aQute.bndlib/src/aQute/bnd/osgi/Contracts.java | 18 +++++-----
Michael Simacek a05b85
 .../src/aQute/bnd/osgi/resource/CapReqBuilder.java | 12 +++----
Michael Simacek a05b85
 .../src/aQute/bnd/osgi/resource/ResourceUtils.java | 18 ++++------
Michael Simacek a05b85
 15 files changed, 76 insertions(+), 128 deletions(-)
Michael Simacek a05b85
 create mode 100644 biz.aQute.bndlib/src/aQute/bnd/component/FieldOption.java
Michael Simacek a05b85
 create mode 100644 biz.aQute.bndlib/src/aQute/bnd/component/ReferenceScope.java
Michael Simacek a05b85
 create mode 100644 biz.aQute.bndlib/src/aQute/bnd/component/ServiceScope.java
Michael Simacek a05b85
Michael Simacek a05b85
diff --git a/biz.aQute.bnd/src/aQute/bnd/main/bnd.java b/biz.aQute.bnd/src/aQute/bnd/main/bnd.java
Michael Simacek a05b85
index 0a7affe..512d58f 100644
Michael Simacek a05b85
--- a/biz.aQute.bnd/src/aQute/bnd/main/bnd.java
Michael Simacek a05b85
+++ b/biz.aQute.bnd/src/aQute/bnd/main/bnd.java
Michael Simacek a05b85
@@ -4124,36 +4124,6 @@ public class bnd extends Processor {
Michael Simacek a05b85
 	}
Michael Simacek a05b85
 
Michael Simacek a05b85
 	/**
Michael Simacek a05b85
-	 * Resolve command
Michael Simacek a05b85
-	 * 
Michael Simacek a05b85
-	 * @throws Exception
Michael Simacek a05b85
-	 */
Michael Simacek a05b85
-
Michael Simacek a05b85
-	public void _resolve(ResolveCommand.ResolveOptions options) throws Exception {
Michael Simacek a05b85
-		ResolveCommand rc = new ResolveCommand(this);
Michael Simacek a05b85
-		String help = options._command().subCmd(options, rc);
Michael Simacek a05b85
-		if (help != null)
Michael Simacek a05b85
-			out.println(help);
Michael Simacek a05b85
-		getInfo(rc);
Michael Simacek a05b85
-		rc.close();
Michael Simacek a05b85
-	}
Michael Simacek a05b85
-
Michael Simacek a05b85
-	/**
Michael Simacek a05b85
-	 * Remote command
Michael Simacek a05b85
-	 * 
Michael Simacek a05b85
-	 * @throws Exception
Michael Simacek a05b85
-	 */
Michael Simacek a05b85
-
Michael Simacek a05b85
-	public void _remote(RemoteCommand.RemoteOptions options) throws Exception {
Michael Simacek a05b85
-		RemoteCommand rc = new RemoteCommand(this, options);
Michael Simacek a05b85
-		String help = options._command().subCmd(options, rc);
Michael Simacek a05b85
-		if (help != null)
Michael Simacek a05b85
-			out.println(help);
Michael Simacek a05b85
-		getInfo(rc);
Michael Simacek a05b85
-		rc.close();
Michael Simacek a05b85
-	}
Michael Simacek a05b85
-
Michael Simacek a05b85
-	/**
Michael Simacek a05b85
 	 * Export a bndrun file
Michael Simacek a05b85
 	 */
Michael Simacek a05b85
 
Michael Simacek a05b85
diff --git a/biz.aQute.bndlib/src/aQute/bnd/build/Project.java b/biz.aQute.bndlib/src/aQute/bnd/build/Project.java
Michael Simacek a05b85
index b0740f1..8ad8831 100644
Michael Simacek a05b85
--- a/biz.aQute.bndlib/src/aQute/bnd/build/Project.java
Michael Simacek a05b85
+++ b/biz.aQute.bndlib/src/aQute/bnd/build/Project.java
Michael Simacek a05b85
@@ -43,8 +43,6 @@ import java.util.regex.Pattern;
Michael Simacek a05b85
 import org.osgi.framework.namespace.IdentityNamespace;
Michael Simacek a05b85
 import org.osgi.resource.Capability;
Michael Simacek a05b85
 import org.osgi.resource.Requirement;
Michael Simacek a05b85
-import org.osgi.service.repository.ContentNamespace;
Michael Simacek a05b85
-import org.osgi.service.repository.Repository;
Michael Simacek a05b85
 
Michael Simacek a05b85
 import aQute.bnd.build.Container.TYPE;
Michael Simacek a05b85
 import aQute.bnd.header.Attrs;
Michael Simacek a05b85
@@ -1341,6 +1339,7 @@ public class Project extends Processor {
Michael Simacek a05b85
 
Michael Simacek a05b85
 			// If not, and if the repository implements the OSGi Repository
Michael Simacek a05b85
 			// Service, use a capability search on the osgi.content namespace.
Michael Simacek a05b85
+                        /*
Michael Simacek a05b85
 			if (result == null && plugin instanceof Repository) {
Michael Simacek a05b85
 				Repository repo = (Repository) plugin;
Michael Simacek a05b85
 
Michael Simacek a05b85
@@ -1373,6 +1372,7 @@ public class Project extends Processor {
Michael Simacek a05b85
 					result = plugin.get(id, bndVersion, null, blocker);
Michael Simacek a05b85
 				}
Michael Simacek a05b85
 			}
Michael Simacek a05b85
+                        */
Michael Simacek a05b85
 
Michael Simacek a05b85
 			if (result != null)
Michael Simacek a05b85
 				return toContainer(bsn, "hash", attrs, result, blocker);
Michael Simacek a05b85
diff --git a/biz.aQute.bndlib/src/aQute/bnd/component/AnnotationReader.java b/biz.aQute.bndlib/src/aQute/bnd/component/AnnotationReader.java
Michael Simacek a05b85
index 28d13ac..2a890fc 100644
Michael Simacek a05b85
--- a/biz.aQute.bndlib/src/aQute/bnd/component/AnnotationReader.java
Michael Simacek a05b85
+++ b/biz.aQute.bndlib/src/aQute/bnd/component/AnnotationReader.java
Michael Simacek a05b85
@@ -14,16 +14,11 @@ import java.util.regex.Pattern;
Michael Simacek a05b85
 
Michael Simacek a05b85
 import org.osgi.service.component.annotations.Activate;
Michael Simacek a05b85
 import org.osgi.service.component.annotations.Component;
Michael Simacek a05b85
-import org.osgi.service.component.annotations.ConfigurationPolicy;
Michael Simacek a05b85
 import org.osgi.service.component.annotations.Deactivate;
Michael Simacek a05b85
-import org.osgi.service.component.annotations.FieldOption;
Michael Simacek a05b85
 import org.osgi.service.component.annotations.Modified;
Michael Simacek a05b85
 import org.osgi.service.component.annotations.Reference;
Michael Simacek a05b85
 import org.osgi.service.component.annotations.ReferenceCardinality;
Michael Simacek a05b85
 import org.osgi.service.component.annotations.ReferencePolicy;
Michael Simacek a05b85
-import org.osgi.service.component.annotations.ReferenceScope;
Michael Simacek a05b85
-import org.osgi.service.component.annotations.ServiceScope;
Michael Simacek a05b85
-import org.osgi.service.metatype.annotations.Designate;
Michael Simacek a05b85
 
Michael Simacek a05b85
 import aQute.bnd.annotation.xml.XMLAttribute;
Michael Simacek a05b85
 import aQute.bnd.component.DSAnnotations.Options;
Michael Simacek a05b85
@@ -232,8 +227,6 @@ public class AnnotationReader extends ClassDataCollector {
Michael Simacek a05b85
 				doModified();
Michael Simacek a05b85
 			else if (a instanceof Reference)
Michael Simacek a05b85
 				doReference((Reference) a, annotation);
Michael Simacek a05b85
-			else if (a instanceof Designate)
Michael Simacek a05b85
-				doDesignate((Designate) a);
Michael Simacek a05b85
 			else if (annotation.getName().getFQN().startsWith("aQute.bnd.annotation.component"))
Michael Simacek a05b85
 				handleMixedUsageError(annotation);
Michael Simacek a05b85
 			else {
Michael Simacek a05b85
@@ -290,11 +283,6 @@ public class AnnotationReader extends ClassDataCollector {
Michael Simacek a05b85
 		}
Michael Simacek a05b85
 	}
Michael Simacek a05b85
 
Michael Simacek a05b85
-	protected void doDesignate(Designate a) {
Michael Simacek a05b85
-		if (a.factory() && component.configurationPolicy == null)
Michael Simacek a05b85
-			component.configurationPolicy = ConfigurationPolicy.REQUIRE;
Michael Simacek a05b85
-	}
Michael Simacek a05b85
-
Michael Simacek a05b85
 	/**
Michael Simacek a05b85
 	 * 
Michael Simacek a05b85
 	 */
Michael Simacek a05b85
@@ -536,15 +524,15 @@ public class AnnotationReader extends ClassDataCollector {
Michael Simacek a05b85
 		}
Michael Simacek a05b85
 		def.className = className.getFQN();
Michael Simacek a05b85
 		def.name = reference.name();
Michael Simacek a05b85
-		def.bind = reference.bind();
Michael Simacek a05b85
+		def.bind = "";
Michael Simacek a05b85
 		def.unbind = reference.unbind();
Michael Simacek a05b85
 		def.updated = reference.updated();
Michael Simacek a05b85
-		def.field = reference.field();
Michael Simacek a05b85
-		def.fieldOption = reference.fieldOption();
Michael Simacek a05b85
+		def.field = "";
Michael Simacek a05b85
+		def.fieldOption = FieldOption.REPLACE;
Michael Simacek a05b85
 		def.cardinality = reference.cardinality();
Michael Simacek a05b85
 		def.policy = reference.policy();
Michael Simacek a05b85
 		def.policyOption = reference.policyOption();
Michael Simacek a05b85
-		def.scope = reference.scope();
Michael Simacek a05b85
+		def.scope = ReferenceScope.BUNDLE;
Michael Simacek a05b85
 
Michael Simacek a05b85
 		// Check if we have a target, this must be a filter
Michael Simacek a05b85
 		def.target = reference.target();
Michael Simacek a05b85
@@ -857,17 +845,17 @@ public class AnnotationReader extends ClassDataCollector {
Michael Simacek a05b85
 			component.factory = comp.factory();
Michael Simacek a05b85
 		if (annotation.get("immediate") != null)
Michael Simacek a05b85
 			component.immediate = comp.immediate();
Michael Simacek a05b85
-		if (annotation.get("servicefactory") != null)
Michael Simacek a05b85
-			component.scope = comp.servicefactory() ? ServiceScope.BUNDLE : ServiceScope.SINGLETON;
Michael Simacek a05b85
-		if (annotation.get("scope") != null && comp.scope() != ServiceScope.DEFAULT) {
Michael Simacek a05b85
-			component.scope = comp.scope();
Michael Simacek a05b85
-			if (comp.scope() == ServiceScope.PROTOTYPE) {
Michael Simacek a05b85
-				component.updateVersion(V1_3);
Michael Simacek a05b85
-			}
Michael Simacek a05b85
-		}
Michael Simacek a05b85
+//		if (annotation.get("servicefactory") != null)
Michael Simacek a05b85
+//			component.scope = comp.servicefactory() ? ServiceScope.BUNDLE : ServiceScope.SINGLETON;
Michael Simacek a05b85
+//		if (annotation.get("scope") != null && comp.scope() != ServiceScope.DEFAULT) {
Michael Simacek a05b85
+//			component.scope = comp.scope();
Michael Simacek a05b85
+//			if (comp.scope() == ServiceScope.PROTOTYPE) {
Michael Simacek a05b85
+//				component.updateVersion(V1_3);
Michael Simacek a05b85
+//			}
Michael Simacek a05b85
+//		}
Michael Simacek a05b85
 
Michael Simacek a05b85
 		if (annotation.get("configurationPid") != null) {
Michael Simacek a05b85
-			component.configurationPid = comp.configurationPid();
Michael Simacek a05b85
+			component.configurationPid = new String[] {comp.configurationPid()};
Michael Simacek a05b85
 			if (component.configurationPid.length > 1) {
Michael Simacek a05b85
 				component.updateVersion(V1_3);
Michael Simacek a05b85
 			} else {
Michael Simacek a05b85
diff --git a/biz.aQute.bndlib/src/aQute/bnd/component/ComponentDef.java b/biz.aQute.bndlib/src/aQute/bnd/component/ComponentDef.java
Michael Simacek a05b85
index 38309fe..ba53142 100644
Michael Simacek a05b85
--- a/biz.aQute.bndlib/src/aQute/bnd/component/ComponentDef.java
Michael Simacek a05b85
+++ b/biz.aQute.bndlib/src/aQute/bnd/component/ComponentDef.java
Michael Simacek a05b85
@@ -9,7 +9,6 @@ import java.util.Map;
Michael Simacek a05b85
 import java.util.TreeMap;
Michael Simacek a05b85
 
Michael Simacek a05b85
 import org.osgi.service.component.annotations.ConfigurationPolicy;
Michael Simacek a05b85
-import org.osgi.service.component.annotations.ServiceScope;
Michael Simacek a05b85
 
Michael Simacek a05b85
 import aQute.bnd.osgi.Analyzer;
Michael Simacek a05b85
 import aQute.bnd.osgi.Descriptors.TypeRef;
Michael Simacek a05b85
diff --git a/biz.aQute.bndlib/src/aQute/bnd/component/FieldOption.java b/biz.aQute.bndlib/src/aQute/bnd/component/FieldOption.java
Michael Simacek a05b85
new file mode 100644
Michael Simacek a05b85
index 0000000..4b65c12
Michael Simacek a05b85
--- /dev/null
Michael Simacek a05b85
+++ b/biz.aQute.bndlib/src/aQute/bnd/component/FieldOption.java
Michael Simacek a05b85
@@ -0,0 +1,5 @@
Michael Simacek a05b85
+package aQute.bnd.component;
Michael Simacek a05b85
+enum FieldOption {
Michael Simacek a05b85
+    UPDATE,
Michael Simacek a05b85
+    REPLACE
Michael Simacek a05b85
+}
Michael Simacek a05b85
diff --git a/biz.aQute.bndlib/src/aQute/bnd/component/HeaderReader.java b/biz.aQute.bndlib/src/aQute/bnd/component/HeaderReader.java
Michael Simacek a05b85
index 2a64e20..b070fbd 100644
Michael Simacek a05b85
--- a/biz.aQute.bndlib/src/aQute/bnd/component/HeaderReader.java
Michael Simacek a05b85
+++ b/biz.aQute.bndlib/src/aQute/bnd/component/HeaderReader.java
Michael Simacek a05b85
@@ -16,7 +16,6 @@ import org.osgi.service.component.annotations.ConfigurationPolicy;
Michael Simacek a05b85
 import org.osgi.service.component.annotations.ReferenceCardinality;
Michael Simacek a05b85
 import org.osgi.service.component.annotations.ReferencePolicy;
Michael Simacek a05b85
 import org.osgi.service.component.annotations.ReferencePolicyOption;
Michael Simacek a05b85
-import org.osgi.service.component.annotations.ServiceScope;
Michael Simacek a05b85
 
Michael Simacek a05b85
 import aQute.bnd.component.error.DeclarativeServicesAnnotationError;
Michael Simacek a05b85
 import aQute.bnd.component.error.DeclarativeServicesAnnotationError.ErrorType;
Michael Simacek a05b85
diff --git a/biz.aQute.bndlib/src/aQute/bnd/component/ReferenceDef.java b/biz.aQute.bndlib/src/aQute/bnd/component/ReferenceDef.java
Michael Simacek a05b85
index cc48f2d..d21d63b 100644
Michael Simacek a05b85
--- a/biz.aQute.bndlib/src/aQute/bnd/component/ReferenceDef.java
Michael Simacek a05b85
+++ b/biz.aQute.bndlib/src/aQute/bnd/component/ReferenceDef.java
Michael Simacek a05b85
@@ -1,10 +1,8 @@
Michael Simacek a05b85
 package aQute.bnd.component;
Michael Simacek a05b85
 
Michael Simacek a05b85
-import org.osgi.service.component.annotations.FieldOption;
Michael Simacek a05b85
 import org.osgi.service.component.annotations.ReferenceCardinality;
Michael Simacek a05b85
 import org.osgi.service.component.annotations.ReferencePolicy;
Michael Simacek a05b85
 import org.osgi.service.component.annotations.ReferencePolicyOption;
Michael Simacek a05b85
-import org.osgi.service.component.annotations.ReferenceScope;
Michael Simacek a05b85
 
Michael Simacek a05b85
 import aQute.bnd.osgi.Analyzer;
Michael Simacek a05b85
 import aQute.bnd.osgi.Verifier;
Michael Simacek a05b85
diff --git a/biz.aQute.bndlib/src/aQute/bnd/component/ReferenceScope.java b/biz.aQute.bndlib/src/aQute/bnd/component/ReferenceScope.java
Michael Simacek a05b85
new file mode 100644
Michael Simacek a05b85
index 0000000..70f2b78
Michael Simacek a05b85
--- /dev/null
Michael Simacek a05b85
+++ b/biz.aQute.bndlib/src/aQute/bnd/component/ReferenceScope.java
Michael Simacek a05b85
@@ -0,0 +1,13 @@
Michael Simacek a05b85
+package aQute.bnd.component;
Michael Simacek a05b85
+enum ReferenceScope {
Michael Simacek a05b85
+    BUNDLE("bundle"),
Michael Simacek a05b85
+    PROTOTYPE("prototype"),
Michael Simacek a05b85
+    PROTOTYPE_REQUIRED("prototype_required");
Michael Simacek a05b85
+    private final String value;
Michael Simacek a05b85
+    ReferenceScope(String value) {
Michael Simacek a05b85
+        this.value = value;
Michael Simacek a05b85
+    }
Michael Simacek a05b85
+    public String toString() {
Michael Simacek a05b85
+        return value;
Michael Simacek a05b85
+    }
Michael Simacek a05b85
+}
Michael Simacek a05b85
diff --git a/biz.aQute.bndlib/src/aQute/bnd/component/ServiceScope.java b/biz.aQute.bndlib/src/aQute/bnd/component/ServiceScope.java
Michael Simacek a05b85
new file mode 100644
Michael Simacek a05b85
index 0000000..aa49766
Michael Simacek a05b85
--- /dev/null
Michael Simacek a05b85
+++ b/biz.aQute.bndlib/src/aQute/bnd/component/ServiceScope.java
Michael Simacek a05b85
@@ -0,0 +1,14 @@
Michael Simacek a05b85
+package aQute.bnd.component;
Michael Simacek a05b85
+enum ServiceScope {
Michael Simacek a05b85
+    SINGLETON("singleton"),
Michael Simacek a05b85
+    BUNDLE("bundle"),
Michael Simacek a05b85
+    PROTOTYPE("prototype"),
Michael Simacek a05b85
+    DEFAULT("<<default>>");
Michael Simacek a05b85
+    private final String value;
Michael Simacek a05b85
+    ServiceScope(String value) {
Michael Simacek a05b85
+        this.value = value;
Michael Simacek a05b85
+    }
Michael Simacek a05b85
+    public String toString() {
Michael Simacek a05b85
+        return value;
Michael Simacek a05b85
+    }
Michael Simacek a05b85
+}
Michael Simacek a05b85
diff --git a/biz.aQute.bndlib/src/aQute/bnd/http/HttpRequest.java b/biz.aQute.bndlib/src/aQute/bnd/http/HttpRequest.java
Michael Simacek a05b85
index 8ab406f..2ed3278 100644
Michael Simacek a05b85
--- a/biz.aQute.bndlib/src/aQute/bnd/http/HttpRequest.java
Michael Simacek a05b85
+++ b/biz.aQute.bndlib/src/aQute/bnd/http/HttpRequest.java
Michael Simacek a05b85
@@ -9,9 +9,6 @@ import java.util.Map;
Michael Simacek a05b85
 import java.util.concurrent.Executor;
Michael Simacek a05b85
 import java.util.concurrent.TimeUnit;
Michael Simacek a05b85
 
Michael Simacek a05b85
-import org.osgi.util.promise.Deferred;
Michael Simacek a05b85
-import org.osgi.util.promise.Promise;
Michael Simacek a05b85
-
Michael Simacek a05b85
 import aQute.bnd.osgi.Processor;
Michael Simacek a05b85
 import aQute.bnd.service.url.TaggedData;
Michael Simacek a05b85
 import aQute.lib.converter.TypeReference;
Michael Simacek a05b85
@@ -196,26 +193,6 @@ public class HttpRequest<T> {
Michael Simacek a05b85
 		return this;
Michael Simacek a05b85
 	}
Michael Simacek a05b85
 
Michael Simacek a05b85
-	public Promise<T> async(final URL url) {
Michael Simacek a05b85
-		this.url = url;
Michael Simacek a05b85
-		final Deferred<T> deferred = new Deferred<>();
Michael Simacek a05b85
-		Executor e = Processor.getExecutor();
Michael Simacek a05b85
-		e.execute(new Runnable() {
Michael Simacek a05b85
-
Michael Simacek a05b85
-			@Override
Michael Simacek a05b85
-			public void run() {
Michael Simacek a05b85
-				try {
Michael Simacek a05b85
-					T result = (T) client.send(HttpRequest.this);
Michael Simacek a05b85
-					deferred.resolve(result);
Michael Simacek a05b85
-				} catch (Exception t) {
Michael Simacek a05b85
-					deferred.fail(t);
Michael Simacek a05b85
-				}
Michael Simacek a05b85
-			}
Michael Simacek a05b85
-
Michael Simacek a05b85
-		});
Michael Simacek a05b85
-		return deferred.getPromise();
Michael Simacek a05b85
-	}
Michael Simacek a05b85
-
Michael Simacek a05b85
 	@Override
Michael Simacek a05b85
 	public String toString() {
Michael Simacek a05b85
 		return "HttpRequest [verb=" + verb + ", upload=" + upload + ", download=" + download + ", headers=" + headers
Michael Simacek a05b85
diff --git a/biz.aQute.bndlib/src/aQute/bnd/obr/OBRFragment.java b/biz.aQute.bndlib/src/aQute/bnd/obr/OBRFragment.java
Michael Simacek a05b85
index 80cb5d2..ac0f70c 100644
Michael Simacek a05b85
--- a/biz.aQute.bndlib/src/aQute/bnd/obr/OBRFragment.java
Michael Simacek a05b85
+++ b/biz.aQute.bndlib/src/aQute/bnd/obr/OBRFragment.java
Michael Simacek a05b85
@@ -15,10 +15,8 @@ import org.osgi.framework.namespace.ExecutionEnvironmentNamespace;
Michael Simacek a05b85
 import org.osgi.framework.namespace.HostNamespace;
Michael Simacek a05b85
 import org.osgi.framework.namespace.IdentityNamespace;
Michael Simacek a05b85
 import org.osgi.framework.namespace.PackageNamespace;
Michael Simacek a05b85
-import org.osgi.namespace.service.ServiceNamespace;
Michael Simacek a05b85
 import org.osgi.resource.Capability;
Michael Simacek a05b85
 import org.osgi.resource.Namespace;
Michael Simacek a05b85
-import org.osgi.service.repository.ContentNamespace;
Michael Simacek a05b85
 
Michael Simacek a05b85
 import aQute.bnd.header.Attrs;
Michael Simacek a05b85
 import aQute.bnd.header.Parameters;
Michael Simacek a05b85
@@ -217,10 +215,10 @@ public class OBRFragment {
Michael Simacek a05b85
 			//
Michael Simacek a05b85
 
Michael Simacek a05b85
 			for (Entry<String,Attrs> export : d.getParameters(Constants.EXPORT_SERVICE).entrySet()) {
Michael Simacek a05b85
-				CapReqBuilder exportedService = new CapReqBuilder(ServiceNamespace.SERVICE_NAMESPACE);
Michael Simacek a05b85
+				CapReqBuilder exportedService = new CapReqBuilder("osgi.service");
Michael Simacek a05b85
 				String service = Processor.removeDuplicateMarker(export.getKey());
Michael Simacek a05b85
-				exportedService.addAttribute(ServiceNamespace.SERVICE_NAMESPACE, service);
Michael Simacek a05b85
-				exportedService.addAttribute(ServiceNamespace.CAPABILITY_OBJECTCLASS_ATTRIBUTE,
Michael Simacek a05b85
+				exportedService.addAttribute("osgi.service", service);
Michael Simacek a05b85
+				exportedService.addAttribute("objectClass",
Michael Simacek a05b85
 						export.getValue().get("objectclass"));
Michael Simacek a05b85
 				resource.addCapability(exportedService);
Michael Simacek a05b85
 			}
Michael Simacek a05b85
@@ -230,10 +228,10 @@ public class OBRFragment {
Michael Simacek a05b85
 			//
Michael Simacek a05b85
 
Michael Simacek a05b85
 			for (Entry<String,Attrs> imported : d.getParameters(Constants.IMPORT_SERVICE).entrySet()) {
Michael Simacek a05b85
-				CapReqBuilder importedService = new CapReqBuilder(ServiceNamespace.SERVICE_NAMESPACE);
Michael Simacek a05b85
+				CapReqBuilder importedService = new CapReqBuilder("osgi.service");
Michael Simacek a05b85
 				String service = Processor.removeDuplicateMarker(imported.getKey());
Michael Simacek a05b85
 				importedService.addDirective(Namespace.REQUIREMENT_FILTER_DIRECTIVE,
Michael Simacek a05b85
-						filter(ServiceNamespace.SERVICE_NAMESPACE, service, imported.getValue()));
Michael Simacek a05b85
+						filter("osgi.service", service, imported.getValue()));
Michael Simacek a05b85
 				resource.addRequirement(importedService);
Michael Simacek a05b85
 			}
Michael Simacek a05b85
 
Michael Simacek a05b85
@@ -276,16 +274,16 @@ public class OBRFragment {
Michael Simacek a05b85
 			if (!reporter.isOk())
Michael Simacek a05b85
 				return reporter;
Michael Simacek a05b85
 
Michael Simacek a05b85
-			CapReqBuilder content = new CapReqBuilder(ContentNamespace.CONTENT_NAMESPACE);
Michael Simacek a05b85
+			CapReqBuilder content = new CapReqBuilder("osgi.content");
Michael Simacek a05b85
 			String sha = SHA1.digest(file).asHex();
Michael Simacek a05b85
-			content.addAttribute(ContentNamespace.CONTENT_NAMESPACE, sha);
Michael Simacek a05b85
-			content.addAttribute(ContentNamespace.CAPABILITY_SIZE_ATTRIBUTE, (long) file.length());
Michael Simacek a05b85
-			content.addAttribute(ContentNamespace.CAPABILITY_MIME_ATTRIBUTE, MIME_TYPE_OSGI_BUNDLE);
Michael Simacek a05b85
+			content.addAttribute("osgi.content", sha);
Michael Simacek a05b85
+			content.addAttribute("size", (long) file.length());
Michael Simacek a05b85
+			content.addAttribute("mime", MIME_TYPE_OSGI_BUNDLE);
Michael Simacek a05b85
 
Michael Simacek a05b85
 			if (base != null) {
Michael Simacek a05b85
 				String path = file.getAbsolutePath();
Michael Simacek a05b85
 				if (base.startsWith(path)) {
Michael Simacek a05b85
-					content.addAttribute(ContentNamespace.CAPABILITY_URL_ATTRIBUTE,
Michael Simacek a05b85
+					content.addAttribute("url",
Michael Simacek a05b85
 							path.substring(base.length()).replace(File.separatorChar, '/'));
Michael Simacek a05b85
 				} else {
Michael Simacek a05b85
 					reporter.error("Base path %s is not parent of file path: %s", base, file.getAbsolutePath());
Michael Simacek a05b85
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/Builder.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/Builder.java
Michael Simacek a05b85
index c61ae1f..aa5f386 100644
Michael Simacek a05b85
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/Builder.java
Michael Simacek a05b85
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/Builder.java
Michael Simacek a05b85
@@ -35,7 +35,6 @@ import aQute.bnd.make.component.ServiceComponent;
Michael Simacek a05b85
 import aQute.bnd.make.metatype.MetatypePlugin;
Michael Simacek a05b85
 import aQute.bnd.maven.PomPropertiesResource;
Michael Simacek a05b85
 import aQute.bnd.maven.PomResource;
Michael Simacek a05b85
-import aQute.bnd.metatype.MetatypeAnnotations;
Michael Simacek a05b85
 import aQute.bnd.osgi.Descriptors.PackageRef;
Michael Simacek a05b85
 import aQute.bnd.osgi.Descriptors.TypeRef;
Michael Simacek a05b85
 import aQute.bnd.service.SignerPlugin;
Michael Simacek a05b85
@@ -1569,7 +1568,6 @@ public class Builder extends Analyzer {
Michael Simacek a05b85
 	static ServiceComponent		serviceComponent	= new ServiceComponent();
Michael Simacek a05b85
 	static DSAnnotations		dsAnnotations		= new DSAnnotations();
Michael Simacek a05b85
 	static MetatypePlugin		metatypePlugin		= new MetatypePlugin();
Michael Simacek a05b85
-	static MetatypeAnnotations	metatypeAnnotations	= new MetatypeAnnotations();
Michael Simacek a05b85
 
Michael Simacek a05b85
 	@Override
Michael Simacek a05b85
 	protected void setTypeSpecificPlugins(Set<Object> list) {
Michael Simacek a05b85
@@ -1578,7 +1576,6 @@ public class Builder extends Analyzer {
Michael Simacek a05b85
 		list.add(serviceComponent);
Michael Simacek a05b85
 		list.add(dsAnnotations);
Michael Simacek a05b85
 		list.add(metatypePlugin);
Michael Simacek a05b85
-		list.add(metatypeAnnotations);
Michael Simacek a05b85
 		super.setTypeSpecificPlugins(list);
Michael Simacek a05b85
 	}
Michael Simacek a05b85
 
Michael Simacek a05b85
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/Contracts.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/Contracts.java
Michael Simacek a05b85
index bf0c8e4..6fda472 100644
Michael Simacek a05b85
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/Contracts.java
Michael Simacek a05b85
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/Contracts.java
Michael Simacek a05b85
@@ -7,8 +7,6 @@ import java.util.List;
Michael Simacek a05b85
 import java.util.Map.Entry;
Michael Simacek a05b85
 import java.util.Set;
Michael Simacek a05b85
 
Michael Simacek a05b85
-import org.osgi.namespace.contract.ContractNamespace;
Michael Simacek a05b85
-
Michael Simacek a05b85
 import aQute.bnd.header.Attrs;
Michael Simacek a05b85
 import aQute.bnd.header.Parameters;
Michael Simacek a05b85
 import aQute.bnd.osgi.Descriptors.PackageRef;
Michael Simacek a05b85
@@ -73,13 +71,13 @@ class Contracts {
Michael Simacek a05b85
 		contract: for (Entry<String,Attrs> p : pcs.entrySet()) {
Michael Simacek a05b85
 			String namespace = p.getKey();
Michael Simacek a05b85
 
Michael Simacek a05b85
-			if (namespace.equals(ContractNamespace.CONTRACT_NAMESPACE)) {
Michael Simacek a05b85
+			if (namespace.equals("osgi.contract")) {
Michael Simacek a05b85
 				Attrs capabilityAttrs = p.getValue();
Michael Simacek a05b85
 
Michael Simacek a05b85
-				String name = capabilityAttrs.get(ContractNamespace.CONTRACT_NAMESPACE);
Michael Simacek a05b85
+				String name = capabilityAttrs.get("osgi.contract");
Michael Simacek a05b85
 				if (name == null) {
Michael Simacek a05b85
 					analyzer.warning("No name (attr %s) defined in bundle %s from contract namespace: %s",
Michael Simacek a05b85
-							ContractNamespace.CONTRACT_NAMESPACE, from, capabilityAttrs);
Michael Simacek a05b85
+							"osgi.contract", from, capabilityAttrs);
Michael Simacek a05b85
 					continue contract;
Michael Simacek a05b85
 				}
Michael Simacek a05b85
 
Michael Simacek a05b85
@@ -96,7 +94,7 @@ class Contracts {
Michael Simacek a05b85
 						Contract c = new Contract();
Michael Simacek a05b85
 						c.name = name;
Michael Simacek a05b85
 
Michael Simacek a05b85
-						String list = capabilityAttrs.get(ContractNamespace.CAPABILITY_USES_DIRECTIVE + ":");
Michael Simacek a05b85
+						String list = capabilityAttrs.get("uses" + ":");
Michael Simacek a05b85
 						if (list == null || list.length() == 0) {
Michael Simacek a05b85
 							analyzer.warning("Contract %s has no uses: directive in %s.", name, from);
Michael Simacek a05b85
 							continue contract; // next contract
Michael Simacek a05b85
@@ -104,7 +102,7 @@ class Contracts {
Michael Simacek a05b85
 
Michael Simacek a05b85
 						c.uses = Processor.split(list);
Michael Simacek a05b85
 
Michael Simacek a05b85
-						c.version = (Version) capabilityAttrs.getTyped(ContractNamespace.CAPABILITY_VERSION_ATTRIBUTE);
Michael Simacek a05b85
+						c.version = (Version) capabilityAttrs.getTyped("version");
Michael Simacek a05b85
 						c.from = from;
Michael Simacek a05b85
 
Michael Simacek a05b85
 						if (c.version == null) {
Michael Simacek a05b85
@@ -159,14 +157,14 @@ class Contracts {
Michael Simacek a05b85
 	void addToRequirements(Parameters requirements) {
Michael Simacek a05b85
 		for (Contract c : contracts) {
Michael Simacek a05b85
 			Attrs attrs = new Attrs(c.decorators);
Michael Simacek a05b85
-			attrs.put(ContractNamespace.CONTRACT_NAMESPACE, c.name);
Michael Simacek a05b85
-			String name = ContractNamespace.CONTRACT_NAMESPACE;
Michael Simacek a05b85
+			attrs.put("osgi.contract", c.name);
Michael Simacek a05b85
+			String name = "osgi.contract";
Michael Simacek a05b85
 			while (requirements.containsKey(name))
Michael Simacek a05b85
 				name += "~";
Michael Simacek a05b85
 
Michael Simacek a05b85
 			Formatter f = new Formatter();
Michael Simacek a05b85
 			try {
Michael Simacek a05b85
-				f.format("(&(%s=%s)(version=%s))", ContractNamespace.CONTRACT_NAMESPACE, c.name, c.version);
Michael Simacek a05b85
+				f.format("(&(%s=%s)(version=%s))", "osgi.contract", c.name, c.version);
Michael Simacek a05b85
 
Michael Simacek a05b85
 				// TODO : shall we also assert the attributes?
Michael Simacek a05b85
 
Michael Simacek a05b85
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/resource/CapReqBuilder.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/resource/CapReqBuilder.java
Michael Simacek a05b85
index 251c762..bd9c7fb 100644
Michael Simacek a05b85
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/resource/CapReqBuilder.java
Michael Simacek a05b85
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/resource/CapReqBuilder.java
Michael Simacek a05b85
@@ -17,14 +17,10 @@ import org.osgi.framework.namespace.ExecutionEnvironmentNamespace;
Michael Simacek a05b85
 import org.osgi.framework.namespace.HostNamespace;
Michael Simacek a05b85
 import org.osgi.framework.namespace.IdentityNamespace;
Michael Simacek a05b85
 import org.osgi.framework.namespace.PackageNamespace;
Michael Simacek a05b85
-import org.osgi.namespace.contract.ContractNamespace;
Michael Simacek a05b85
-import org.osgi.namespace.extender.ExtenderNamespace;
Michael Simacek a05b85
-import org.osgi.namespace.service.ServiceNamespace;
Michael Simacek a05b85
 import org.osgi.resource.Capability;
Michael Simacek a05b85
 import org.osgi.resource.Namespace;
Michael Simacek a05b85
 import org.osgi.resource.Requirement;
Michael Simacek a05b85
 import org.osgi.resource.Resource;
Michael Simacek a05b85
-import org.osgi.service.repository.ContentNamespace;
Michael Simacek a05b85
 
Michael Simacek a05b85
 import aQute.bnd.header.Attrs;
Michael Simacek a05b85
 import aQute.bnd.header.Parameters;
Michael Simacek a05b85
@@ -412,11 +408,11 @@ public class CapReqBuilder {
Michael Simacek a05b85
 	}
Michael Simacek a05b85
 
Michael Simacek a05b85
 	public boolean isService() {
Michael Simacek a05b85
-		return ServiceNamespace.SERVICE_NAMESPACE.equals(getNamespace());
Michael Simacek a05b85
+		return "osgi.service".equals(getNamespace());
Michael Simacek a05b85
 	}
Michael Simacek a05b85
 
Michael Simacek a05b85
 	public boolean isContract() {
Michael Simacek a05b85
-		return ContractNamespace.CONTRACT_NAMESPACE.equals(getNamespace());
Michael Simacek a05b85
+		return "osgi.contract".equals(getNamespace());
Michael Simacek a05b85
 	}
Michael Simacek a05b85
 
Michael Simacek a05b85
 	public boolean isIdentity() {
Michael Simacek a05b85
@@ -424,7 +420,7 @@ public class CapReqBuilder {
Michael Simacek a05b85
 	}
Michael Simacek a05b85
 
Michael Simacek a05b85
 	public boolean isContent() {
Michael Simacek a05b85
-		return ContentNamespace.CONTENT_NAMESPACE.equals(getNamespace());
Michael Simacek a05b85
+		return "osgi.content".equals(getNamespace());
Michael Simacek a05b85
 	}
Michael Simacek a05b85
 
Michael Simacek a05b85
 	public boolean isEE() {
Michael Simacek a05b85
@@ -432,7 +428,7 @@ public class CapReqBuilder {
Michael Simacek a05b85
 	}
Michael Simacek a05b85
 
Michael Simacek a05b85
 	public boolean isExtender() {
Michael Simacek a05b85
-		return ExtenderNamespace.EXTENDER_NAMESPACE.equals(getNamespace());
Michael Simacek a05b85
+		return "osgi.extender".equals(getNamespace());
Michael Simacek a05b85
 	}
Michael Simacek a05b85
 
Michael Simacek a05b85
 	public Attrs toAttrs() {
Michael Simacek a05b85
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/resource/ResourceUtils.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/resource/ResourceUtils.java
Michael Simacek a05b85
index 05d9023..c90b42e 100644
Michael Simacek a05b85
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/resource/ResourceUtils.java
Michael Simacek a05b85
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/resource/ResourceUtils.java
Michael Simacek a05b85
@@ -23,14 +23,10 @@ import org.osgi.framework.namespace.ExecutionEnvironmentNamespace;
Michael Simacek a05b85
 import org.osgi.framework.namespace.HostNamespace;
Michael Simacek a05b85
 import org.osgi.framework.namespace.IdentityNamespace;
Michael Simacek a05b85
 import org.osgi.framework.namespace.PackageNamespace;
Michael Simacek a05b85
-import org.osgi.namespace.contract.ContractNamespace;
Michael Simacek a05b85
-import org.osgi.namespace.extender.ExtenderNamespace;
Michael Simacek a05b85
-import org.osgi.namespace.service.ServiceNamespace;
Michael Simacek a05b85
 import org.osgi.resource.Capability;
Michael Simacek a05b85
 import org.osgi.resource.Namespace;
Michael Simacek a05b85
 import org.osgi.resource.Requirement;
Michael Simacek a05b85
 import org.osgi.resource.Resource;
Michael Simacek a05b85
-import org.osgi.service.repository.ContentNamespace;
Michael Simacek a05b85
 
Michael Simacek a05b85
 import aQute.bnd.header.Attrs;
Michael Simacek a05b85
 import aQute.bnd.version.Version;
Michael Simacek a05b85
@@ -182,7 +178,7 @@ public class ResourceUtils {
Michael Simacek a05b85
 	public static List<ContentCapability> getContentCapabilities(Resource resource) {
Michael Simacek a05b85
 		List<ContentCapability> result = new ArrayList<>();
Michael Simacek a05b85
 
Michael Simacek a05b85
-		for (Capability c : resource.getCapabilities(ContentNamespace.CONTENT_NAMESPACE)) {
Michael Simacek a05b85
+		for (Capability c : resource.getCapabilities("osgi.content")) {
Michael Simacek a05b85
 			result.add(as(c, ContentCapability.class));
Michael Simacek a05b85
 		}
Michael Simacek a05b85
 		return result;
Michael Simacek a05b85
@@ -244,7 +240,7 @@ public class ResourceUtils {
Michael Simacek a05b85
 	}
Michael Simacek a05b85
 
Michael Simacek a05b85
 	public static URI getURI(Capability contentCapability) {
Michael Simacek a05b85
-		Object uriObj = contentCapability.getAttributes().get(ContentNamespace.CAPABILITY_URL_ATTRIBUTE);
Michael Simacek a05b85
+		Object uriObj = contentCapability.getAttributes().get("url");
Michael Simacek a05b85
 		if (uriObj == null)
Michael Simacek a05b85
 			return null;
Michael Simacek a05b85
 
Michael Simacek a05b85
@@ -288,14 +284,14 @@ public class ResourceUtils {
Michael Simacek a05b85
 			name = HostNamespace.CAPABILITY_BUNDLE_VERSION_ATTRIBUTE;
Michael Simacek a05b85
 		else if (PackageNamespace.PACKAGE_NAMESPACE.equals(ns))
Michael Simacek a05b85
 			name = PackageNamespace.CAPABILITY_VERSION_ATTRIBUTE;
Michael Simacek a05b85
-		else if (ServiceNamespace.SERVICE_NAMESPACE.equals(ns))
Michael Simacek a05b85
+		else if ("osgi.service".equals(ns))
Michael Simacek a05b85
 			name = null;
Michael Simacek a05b85
 		else if (ExecutionEnvironmentNamespace.EXECUTION_ENVIRONMENT_NAMESPACE.equals(ns))
Michael Simacek a05b85
 			name = ExecutionEnvironmentNamespace.CAPABILITY_VERSION_ATTRIBUTE;
Michael Simacek a05b85
-		else if (ExtenderNamespace.EXTENDER_NAMESPACE.equals(ns))
Michael Simacek a05b85
-			name = ExtenderNamespace.CAPABILITY_VERSION_ATTRIBUTE;
Michael Simacek a05b85
-		else if (ContractNamespace.CONTRACT_NAMESPACE.equals(ns))
Michael Simacek a05b85
-			name = ContractNamespace.CAPABILITY_VERSION_ATTRIBUTE;
Michael Simacek a05b85
+		else if ("osgi.extender".equals(ns))
Michael Simacek a05b85
+			name = "version";
Michael Simacek a05b85
+		else if ("osgi.contract".equals(ns))
Michael Simacek a05b85
+			name = "version";
Michael Simacek a05b85
 		else
Michael Simacek a05b85
 			name = null;
Michael Simacek a05b85
 
Michael Simacek a05b85
-- 
Michael Simacek a16fbe
2.7.4
Michael Simacek a05b85