FELIX-4980 : Add capabilities for metatype R6
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1694588 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/metatype/changelog.txt b/metatype/changelog.txt
index 07a73a2..89f4cfa 100644
--- a/metatype/changelog.txt
+++ b/metatype/changelog.txt
@@ -1,3 +1,11 @@
+Changes from 1.0.12 to 1.1.0
+-----------------------------
+
+** Improvement
+ * [FELIX-4980] - Add capabilities for metatype R6
+ * [FELIX-4973] - Relax exception handling when reading metatype XML
+
+
Changes from 1.0.10 to 1.0.12
-----------------------------
diff --git a/metatype/pom.xml b/metatype/pom.xml
index 9d08014..dcd42be 100644
--- a/metatype/pom.xml
+++ b/metatype/pom.xml
@@ -38,13 +38,13 @@
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
- <version>4.0.0</version>
+ <version>5.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
- <artifactId>org.osgi.compendium</artifactId>
- <version>4.3.0</version>
+ <artifactId>osgi.cmpn</artifactId>
+ <version>6.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -76,6 +76,10 @@
<Bundle-DocURL>
http://felix.apache.org/site/apache-felix-metatype-service.html
</Bundle-DocURL>
+ <Import-Package>
+ org.osgi.framework;version="[1.3,2)",
+ *
+ </Import-Package>
<Export-Package>
org.apache.felix.metatype; version=1.2,
org.osgi.service.metatype; provide:=true
@@ -87,6 +91,14 @@
<Bundle-Activator>
org.apache.felix.metatype.internal.Activator
</Bundle-Activator>
+ <Provide-Capability>
+ osgi.implementation;osgi.implementation="osgi.metatype";version:Version="1.3";
+ uses:="org.osgi.service.metatype",
+ osgi.extender;osgi.extender="osgi.metatype";version:Version="1.3";
+ uses:="org.osgi.service.metatype",
+ osgi.service;objectClass:List<String>="org.osgi.service.metatype.MetaTypeService";
+ uses:="org.osgi.service.metatype"
+ </Provide-Capability>
<Embed-Dependency>
kxml2;inline=org/kxml2/io/KXmlParser.class|org/xmlpull/v1/XmlPull**
</Embed-Dependency>
diff --git a/metatype/src/test/java/org/apache/felix/metatype/MockBundle.java b/metatype/src/test/java/org/apache/felix/metatype/MockBundle.java
index 153298e..5584e02 100644
--- a/metatype/src/test/java/org/apache/felix/metatype/MockBundle.java
+++ b/metatype/src/test/java/org/apache/felix/metatype/MockBundle.java
@@ -19,17 +19,22 @@
package org.apache.felix.metatype;
+import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
+import java.security.cert.X509Certificate;
import java.util.Dictionary;
import java.util.Enumeration;
import java.util.Hashtable;
+import java.util.List;
+import java.util.Map;
import java.util.NoSuchElementException;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
+import org.osgi.framework.Version;
public class MockBundle implements Bundle
@@ -196,4 +201,34 @@
public void update( InputStream in )
{
}
+
+
+ public int compareTo(Bundle o)
+ {
+ return 0;
+ }
+
+
+ public Map<X509Certificate, List<X509Certificate>> getSignerCertificates(int signersType)
+ {
+ return null;
+ }
+
+
+ public Version getVersion()
+ {
+ return null;
+ }
+
+
+ public <A> A adapt(Class<A> type)
+ {
+ return null;
+ }
+
+
+ public File getDataFile(String filename)
+ {
+ return null;
+ }
}
diff --git a/metatype/src/test/java/org/apache/felix/metatype/MockBundleContext.java b/metatype/src/test/java/org/apache/felix/metatype/MockBundleContext.java
index 08cbac0..a23fcfb 100644
--- a/metatype/src/test/java/org/apache/felix/metatype/MockBundleContext.java
+++ b/metatype/src/test/java/org/apache/felix/metatype/MockBundleContext.java
@@ -22,6 +22,7 @@
import java.io.File;
import java.io.InputStream;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Dictionary;
import java.util.Enumeration;
import java.util.HashMap;
@@ -37,6 +38,7 @@
import org.osgi.framework.Constants;
import org.osgi.framework.Filter;
import org.osgi.framework.FrameworkListener;
+import org.osgi.framework.InvalidSyntaxException;
import org.osgi.framework.ServiceEvent;
import org.osgi.framework.ServiceListener;
import org.osgi.framework.ServiceReference;
@@ -124,6 +126,13 @@
return true;
}
+
+ public boolean matches(Map<String, ?> map)
+ {
+
+ return false;
+ }
+
};
}
@@ -308,6 +317,31 @@
}
+ public <S> ServiceRegistration<S> registerService(Class<S> clazz, S service, Dictionary<String, ?> properties)
+ {
+ return null;
+ }
+
+
+ public <S> ServiceReference<S> getServiceReference(Class<S> clazz)
+ {
+ return null;
+ }
+
+
+ public <S> Collection<ServiceReference<S>> getServiceReferences(Class<S> clazz, String filter)
+ throws InvalidSyntaxException
+ {
+ return null;
+ }
+
+
+ public Bundle getBundle(String location)
+ {
+ return null;
+ }
+
+
private void fireServiceEvent( ServiceReference ref, int type )
{
ServiceEvent se = new ServiceEvent( type, ref );