This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to annotated tag org.apache.sling.testing.osgi-mock-2.0.0 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-osgi-mock.git
commit 9618e26a3b43964f05ce3382f4123b519a4ee757 Author: Stefan Seifert <[email protected]> AuthorDate: Mon Nov 23 20:32:53 2015 +0000 SLING-5323 Update to OSGi R6 git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/osgi-mock@1715946 13f79535-47bb-0310-9956-ffa450edef68 --- pom.xml | 50 +++++++------ .../apache/sling/testing/mock/osgi/MapUtil.java | 1 - .../sling/testing/mock/osgi/MatchAllFilter.java | 6 ++ .../apache/sling/testing/mock/osgi/MockBundle.java | 14 ++-- .../sling/testing/mock/osgi/MockBundleContext.java | 47 ++++++------ .../testing/mock/osgi/MockComponentContext.java | 4 +- .../sling/testing/mock/osgi/MockConfiguration.java | 7 +- .../apache/sling/testing/mock/osgi/MockOsgi.java | 84 +--------------------- .../testing/mock/osgi/MockServiceReference.java | 8 +-- .../testing/mock/osgi/MockServiceRegistration.java | 19 ++--- .../sling/testing/mock/osgi/OsgiServiceUtil.java | 6 +- .../sling/testing/mock/osgi/package-info.java | 2 +- .../testing/mock/osgi/MockBundleContextTest.java | 20 +++--- .../mock/osgi/MockComponentContextTest.java | 2 +- .../testing/mock/osgi/OsgiServiceUtilTest.java | 3 +- .../mock/osgi/context/OsgiContextImplTest.java | 2 +- 16 files changed, 109 insertions(+), 166 deletions(-) diff --git a/pom.xml b/pom.xml index 1f9613d..085b1ad 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ </parent> <artifactId>org.apache.sling.testing.osgi-mock</artifactId> - <version>1.7.1-SNAPSHOT</version> + <version>2.0.0-SNAPSHOT</version> <packaging>bundle</packaging> <name>Apache Sling Testing OSGi Mock</name> @@ -39,17 +39,43 @@ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/osgi-mock</developerConnection> <url>http://svn.apache.org/viewvc/sling/trunk/testing/mocks/osgi-mock</url> </scm> + + <properties> + <!-- OSGi mocks 2.x only support Java 7, 1.x still supports Java 6 --> + <sling.java.version>7</sling.java.version> + </properties> <dependencies> + <!-- This version of OSGi mocks is targeted at OSGi R6. osgi-mocks 1.x is compatible with older versions. --> <dependency> <groupId>org.osgi</groupId> <artifactId>org.osgi.core</artifactId> + <version>6.0.0</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.service.cm</artifactId> + <version>1.5.0</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.service.event</artifactId> + <version>1.3.1</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.osgi</groupId> - <artifactId>org.osgi.compendium</artifactId> + <artifactId>org.osgi.service.log</artifactId> + <version>1.3.0</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.service.component</artifactId> + <version>1.3.0</version> <scope>compile</scope> </dependency> @@ -136,24 +162,4 @@ </plugins> </build> - <profiles> - <profile> - <id>osgi-6</id> - <dependencies> - <dependency> - <groupId>org.osgi</groupId> - <artifactId>org.osgi.core</artifactId> - <version>6.0.0</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.osgi</groupId> - <artifactId>org.osgi.compendium</artifactId> - <version>5.0.0</version> - <scope>provided</scope> - </dependency> - </dependencies> - </profile> - </profiles> - </project> diff --git a/src/main/java/org/apache/sling/testing/mock/osgi/MapUtil.java b/src/main/java/org/apache/sling/testing/mock/osgi/MapUtil.java index 45d7a31..e53442b 100644 --- a/src/main/java/org/apache/sling/testing/mock/osgi/MapUtil.java +++ b/src/main/java/org/apache/sling/testing/mock/osgi/MapUtil.java @@ -71,7 +71,6 @@ final class MapUtil { * @param properties Properties from unit test code or null if none where passed * @return Merged properties */ - @SuppressWarnings("unchecked") public static Map<String, Object> propertiesMergeWithOsgiMetadata(Object target, ConfigurationAdmin configAdmin, Map<String, Object> properties) { diff --git a/src/main/java/org/apache/sling/testing/mock/osgi/MatchAllFilter.java b/src/main/java/org/apache/sling/testing/mock/osgi/MatchAllFilter.java index 0a7aaf3..3ef02df 100644 --- a/src/main/java/org/apache/sling/testing/mock/osgi/MatchAllFilter.java +++ b/src/main/java/org/apache/sling/testing/mock/osgi/MatchAllFilter.java @@ -19,6 +19,7 @@ package org.apache.sling.testing.mock.osgi; import java.util.Dictionary; +import java.util.Map; import org.osgi.framework.Filter; import org.osgi.framework.ServiceReference; @@ -43,4 +44,9 @@ class MatchAllFilter implements Filter { return true; } + @Override + public boolean matches(Map<String, ?> map) { + return true; + } + } diff --git a/src/main/java/org/apache/sling/testing/mock/osgi/MockBundle.java b/src/main/java/org/apache/sling/testing/mock/osgi/MockBundle.java index 1a7a7c1..1fc9483 100644 --- a/src/main/java/org/apache/sling/testing/mock/osgi/MockBundle.java +++ b/src/main/java/org/apache/sling/testing/mock/osgi/MockBundle.java @@ -186,7 +186,7 @@ public final class MockBundle implements Bundle { } @Override - public ServiceReference[] getRegisteredServices() { + public ServiceReference<?>[] getRegisteredServices() { throw new UnsupportedOperationException(); } @@ -201,7 +201,7 @@ public final class MockBundle implements Bundle { } @Override - public ServiceReference[] getServicesInUse() { + public ServiceReference<?>[] getServicesInUse() { throw new UnsupportedOperationException(); } @@ -250,27 +250,27 @@ public final class MockBundle implements Bundle { throw new UnsupportedOperationException(); } - // this is part of org.osgi 4.2.0 + @Override public Map<X509Certificate, List<X509Certificate>> getSignerCertificates(final int signersType) { throw new UnsupportedOperationException(); } - // this is part of org.osgi 4.2.0 + @Override public Version getVersion() { throw new UnsupportedOperationException(); } - // this is part of org.osgi.core 6.0.0 + @Override public int compareTo(Bundle o) { throw new UnsupportedOperationException(); } - // this is part of org.osgi.core 6.0.0 + @Override public <A> A adapt(Class<A> type) { throw new UnsupportedOperationException(); } - // this is part of org.osgi.core 6.0.0 + @Override public File getDataFile(String filename) { throw new UnsupportedOperationException(); } diff --git a/src/main/java/org/apache/sling/testing/mock/osgi/MockBundleContext.java b/src/main/java/org/apache/sling/testing/mock/osgi/MockBundleContext.java index 786fad7..6a659cb 100644 --- a/src/main/java/org/apache/sling/testing/mock/osgi/MockBundleContext.java +++ b/src/main/java/org/apache/sling/testing/mock/osgi/MockBundleContext.java @@ -47,6 +47,7 @@ import org.osgi.framework.InvalidSyntaxException; import org.osgi.framework.ServiceEvent; import org.osgi.framework.ServiceFactory; import org.osgi.framework.ServiceListener; +import org.osgi.framework.ServiceObjects; import org.osgi.framework.ServiceReference; import org.osgi.framework.ServiceRegistration; import org.osgi.service.cm.ConfigurationAdmin; @@ -86,6 +87,7 @@ class MockBundleContext implements BundleContext { } } + @SuppressWarnings("unchecked") @Override public ServiceRegistration registerService(final String clazz, final Object service, final Dictionary properties) { String[] clazzes; @@ -97,8 +99,9 @@ class MockBundleContext implements BundleContext { return registerService(clazzes, service, properties); } - // this is part of org.osgi.core 6.0.0 - public <S> ServiceRegistration registerService(Class<S> clazz, S service, Dictionary<String, ?> properties) { + @SuppressWarnings("unchecked") + @Override + public <S> ServiceRegistration<S> registerService(Class<S> clazz, S service, Dictionary<String, ?> properties) { return registerService(clazz.getName(), service, properties); } @@ -171,6 +174,7 @@ class MockBundleContext implements BundleContext { } } + @SuppressWarnings("unchecked") @Override public ServiceReference getServiceReference(final String clazz) { try { @@ -185,11 +189,13 @@ class MockBundleContext implements BundleContext { return null; } - // this is part of org.osgi.core 6.0.0 - public ServiceReference getServiceReference(Class clazz) { + @SuppressWarnings("unchecked") + @Override + public <S> ServiceReference<S> getServiceReference(Class<S> clazz) { return getServiceReference(clazz.getName()); } + @SuppressWarnings("unchecked") @Override public ServiceReference[] getServiceReferences(final String clazz, final String filter) throws InvalidSyntaxException { Set<ServiceReference> result = new TreeSet<ServiceReference>(); @@ -205,11 +211,13 @@ class MockBundleContext implements BundleContext { } } - // this is part of org.osgi.core 6.0.0 - public Collection<ServiceReference> getServiceReferences(Class clazz, String filter) throws InvalidSyntaxException { - return ImmutableList.<ServiceReference>copyOf(getServiceReferences(clazz.getName(), filter)); + @SuppressWarnings("unchecked") + @Override + public <S> Collection<ServiceReference<S>> getServiceReferences(Class<S> clazz, String filter) throws InvalidSyntaxException { + return ImmutableList.<ServiceReference<S>>copyOf(getServiceReferences(clazz.getName(), filter)); } + @SuppressWarnings("unchecked") @Override public ServiceReference[] getAllServiceReferences(final String clazz, final String filter) throws InvalidSyntaxException { // for now just do the same as getServiceReferences @@ -217,8 +225,8 @@ class MockBundleContext implements BundleContext { } @Override - public Object getService(final ServiceReference serviceReference) { - return ((MockServiceReference)serviceReference).getService(); + public <S> S getService(final ServiceReference<S> serviceReference) { + return ((MockServiceReference<S>)serviceReference).getService(); } @Override @@ -284,10 +292,11 @@ class MockBundleContext implements BundleContext { // accept method, but ignore it } - Object locateService(final String name, final ServiceReference reference) { - for (MockServiceRegistration serviceRegistration : this.registeredServices) { + @SuppressWarnings("unchecked") + <S> S locateService(final String name, final ServiceReference<S> reference) { + for (MockServiceRegistration<?> serviceRegistration : this.registeredServices) { if (serviceRegistration.getReference() == reference) { - return serviceRegistration.getService(); + return (S)serviceRegistration.getService(); } } return null; @@ -308,7 +317,7 @@ class MockBundleContext implements BundleContext { * Deactivates all bundles registered in this mocked bundle context. */ public void shutdown() { - for (MockServiceRegistration serviceRegistration : ImmutableList.copyOf(registeredServices).reverse()) { + for (MockServiceRegistration<?> serviceRegistration : ImmutableList.copyOf(registeredServices).reverse()) { try { MockOsgi.deactivate(serviceRegistration.getService(), this, serviceRegistration.getProperties()); } @@ -339,21 +348,19 @@ class MockBundleContext implements BundleContext { throw new UnsupportedOperationException(); } - // this is part of org.osgi.core 6.0.0 + @Override public Bundle getBundle(String location) { throw new UnsupportedOperationException(); } - // this is part of org.osgi.core 6.0.0 - public <S> ServiceRegistration registerService(Class<S> clazz, ServiceFactory factory, Dictionary<String, ?> properties) { + @Override + public <S> ServiceRegistration<S> registerService(Class<S> clazz, ServiceFactory<S> factory, Dictionary<String, ?> properties) { throw new UnsupportedOperationException(); } - // this is part of org.osgi.core 6.0.0 - /* class org.osgi.framework.ServiceObjects does not exist in older OSGi versions - public ServiceObjects getServiceObjects(ServiceReference reference) { + @Override + public <S> ServiceObjects<S> getServiceObjects(ServiceReference<S> reference) { throw new UnsupportedOperationException(); } - */ } diff --git a/src/main/java/org/apache/sling/testing/mock/osgi/MockComponentContext.java b/src/main/java/org/apache/sling/testing/mock/osgi/MockComponentContext.java index 78154a5..a00ec72 100644 --- a/src/main/java/org/apache/sling/testing/mock/osgi/MockComponentContext.java +++ b/src/main/java/org/apache/sling/testing/mock/osgi/MockComponentContext.java @@ -48,7 +48,7 @@ class MockComponentContext implements ComponentContext { } @Override - public Object locateService(final String name, final ServiceReference reference) { + public <S> S locateService(final String name, final ServiceReference<S> reference) { return this.bundleContext.locateService(name, reference); } @@ -79,7 +79,7 @@ class MockComponentContext implements ComponentContext { } @Override - public ServiceReference getServiceReference() { + public ServiceReference<?> getServiceReference() { throw new UnsupportedOperationException(); } diff --git a/src/main/java/org/apache/sling/testing/mock/osgi/MockConfiguration.java b/src/main/java/org/apache/sling/testing/mock/osgi/MockConfiguration.java index 4959cb6..7bcac56 100644 --- a/src/main/java/org/apache/sling/testing/mock/osgi/MockConfiguration.java +++ b/src/main/java/org/apache/sling/testing/mock/osgi/MockConfiguration.java @@ -46,7 +46,7 @@ class MockConfiguration implements Configuration { } @Override - public Dictionary getProperties() { + public Dictionary<String, Object> getProperties() { // return copy of dictionary return new Hashtable<String,Object>(MapUtil.toMap(props)); } @@ -100,4 +100,9 @@ class MockConfiguration implements Configuration { throw new UnsupportedOperationException(); } + @Override + public long getChangeCount() { + throw new UnsupportedOperationException(); + } + } diff --git a/src/main/java/org/apache/sling/testing/mock/osgi/MockOsgi.java b/src/main/java/org/apache/sling/testing/mock/osgi/MockOsgi.java index a189fda..431ef27 100644 --- a/src/main/java/org/apache/sling/testing/mock/osgi/MockOsgi.java +++ b/src/main/java/org/apache/sling/testing/mock/osgi/MockOsgi.java @@ -130,18 +130,6 @@ public final class MockOsgi { /** * Simulate activation of service instance. Invokes the @Activate annotated method. * @param target Service instance. - * @return true if activation method was called. False if no activate method is defined. - * @deprecated Please use {@link #activate(Object, BundleContext)} - * and shutdown the bundle context after usage. - */ - @Deprecated - public static boolean activate(Object target) { - return MockOsgi.activate(target, (Dictionary<String, Object>)null); - } - - /** - * Simulate activation of service instance. Invokes the @Activate annotated method. - * @param target Service instance. * @param bundleContext Bundle context * @return true if activation method was called. False if no activate method is defined. */ @@ -152,34 +140,6 @@ public final class MockOsgi { /** * Simulate activation of service instance. Invokes the @Activate annotated method. * @param target Service instance. - * @param properties Properties - * @return true if activation method was called. False if no activate method is defined. - * @deprecated Please use {@link #activate(Object, BundleContext, Dictionary)} - * and shutdown the bundle context after usage. - */ - @Deprecated - public static boolean activate(Object target, Dictionary<String, Object> properties) { - Dictionary<String, Object> mergedProperties = propertiesMergeWithOsgiMetadata(target, null, properties); - ComponentContext componentContext = newComponentContext(mergedProperties); - return OsgiServiceUtil.activateDeactivate(target, componentContext, true); - } - - /** - * Simulate activation of service instance. Invokes the @Activate annotated method. - * @param target Service instance. - * @param properties Properties - * @return true if activation method was called. False if no activate method is defined. - * @deprecated Please use {@link #activate(Object, BundleContext, Map)} - * and shutdown the bundle context after usage. - */ - @Deprecated - public static boolean activate(Object target, Map<String, Object> properties) { - return activate(target, toDictionary(properties)); - } - - /** - * Simulate activation of service instance. Invokes the @Activate annotated method. - * @param target Service instance. * @param bundleContext Bundle context * @param properties Properties * @return true if activation method was called. False if no activate method is defined. @@ -204,18 +164,6 @@ public final class MockOsgi { /** * Simulate deactivation of service instance. Invokes the @Deactivate annotated method. * @param target Service instance. - * @return true if deactivation method was called. False if no deactivate method is defined. - * @deprecated Please use {@link #deactivate(Object, BundleContext)} - * and shutdown the bundle context after usage. - */ - @Deprecated - public static boolean deactivate(Object target) { - return MockOsgi.deactivate(target, (Dictionary<String, Object>)null); - } - - /** - * Simulate deactivation of service instance. Invokes the @Deactivate annotated method. - * @param target Service instance. * @param bundleContext Bundle context. * @return true if deactivation method was called. False if no deactivate method is defined. */ @@ -226,34 +174,6 @@ public final class MockOsgi { /** * Simulate deactivation of service instance. Invokes the @Deactivate annotated method. * @param target Service instance. - * @param properties Properties - * @return true if deactivation method was called. False if no deactivate method is defined. - * @deprecated Please use {@link #deactivate(Object, BundleContext, Dictionary)} - * and shutdown the bundle context after usage. - */ - @Deprecated - public static boolean deactivate(Object target, Dictionary<String, Object> properties) { - Dictionary<String, Object> mergedProperties = propertiesMergeWithOsgiMetadata(target, null, properties); - ComponentContext componentContext = newComponentContext(mergedProperties); - return OsgiServiceUtil.activateDeactivate(target, componentContext, false); - } - - /** - * Simulate deactivation of service instance. Invokes the @Deactivate annotated method. - * @param target Service instance. - * @param properties Properties - * @return true if deactivation method was called. False if no deactivate method is defined. - * @deprecated Please use {@link #deactivate(Object, BundleContext, Map)} - * and shutdown the bundle context after usage. - */ - @Deprecated - public static boolean deactivate(Object target, Map<String, Object> properties) { - return deactivate(target, toDictionary(properties)); - } - - /** - * Simulate deactivation of service instance. Invokes the @Deactivate annotated method. - * @param target Service instance. * @param bundleContext Bundle context * @param properties Properties * @return true if deactivation method was called. False if no deactivate method is defined. @@ -312,9 +232,9 @@ public final class MockOsgi { * @return Configuration admin or null if not registered. */ private static ConfigurationAdmin getConfigAdmin(BundleContext bundleContext) { - ServiceReference ref = bundleContext.getServiceReference(ConfigurationAdmin.class.getName()); + ServiceReference<ConfigurationAdmin> ref = bundleContext.getServiceReference(ConfigurationAdmin.class); if (ref != null) { - return (ConfigurationAdmin)bundleContext.getService(ref); + return bundleContext.getService(ref); } return null; } diff --git a/src/main/java/org/apache/sling/testing/mock/osgi/MockServiceReference.java b/src/main/java/org/apache/sling/testing/mock/osgi/MockServiceReference.java index c7568be..6af3a37 100644 --- a/src/main/java/org/apache/sling/testing/mock/osgi/MockServiceReference.java +++ b/src/main/java/org/apache/sling/testing/mock/osgi/MockServiceReference.java @@ -28,12 +28,12 @@ import org.osgi.framework.ServiceReference; /** * Mock {@link ServiceReference} implementation. */ -class MockServiceReference implements ServiceReference { +class MockServiceReference<T> implements ServiceReference<T> { private final Bundle bundle; - private final MockServiceRegistration serviceRegistration; + private final MockServiceRegistration<T> serviceRegistration; - public MockServiceReference(final Bundle bundle, final MockServiceRegistration serviceRegistration) { + public MockServiceReference(final Bundle bundle, final MockServiceRegistration<T> serviceRegistration) { this.bundle = bundle; this.serviceRegistration = serviceRegistration; } @@ -113,7 +113,7 @@ class MockServiceReference implements ServiceReference { } } - Object getService() { + T getService() { return this.serviceRegistration.getService(); } diff --git a/src/main/java/org/apache/sling/testing/mock/osgi/MockServiceRegistration.java b/src/main/java/org/apache/sling/testing/mock/osgi/MockServiceRegistration.java index 8ef25a4..7141949 100644 --- a/src/main/java/org/apache/sling/testing/mock/osgi/MockServiceRegistration.java +++ b/src/main/java/org/apache/sling/testing/mock/osgi/MockServiceRegistration.java @@ -38,24 +38,25 @@ import com.google.common.collect.ImmutableList; /** * Mock {@link ServiceRegistration} implementation. */ -class MockServiceRegistration implements ServiceRegistration, Comparable<MockServiceRegistration> { +class MockServiceRegistration<T> implements ServiceRegistration<T>, Comparable<MockServiceRegistration<T>> { private static volatile long serviceCounter; private final Long serviceId; private final Set<String> clazzes; - private final Object service; + private final T service; private Dictionary<String, Object> properties; - private final ServiceReference serviceReference; + private final ServiceReference<T> serviceReference; private final MockBundleContext bundleContext; - public MockServiceRegistration(final Bundle bundle, final String[] clazzes, final Object service, + @SuppressWarnings("unchecked") + public MockServiceRegistration(final Bundle bundle, final String[] clazzes, final T service, final Dictionary<String, Object> properties, MockBundleContext bundleContext) { this.serviceId = ++serviceCounter; this.clazzes = new HashSet<String>(ImmutableList.copyOf(clazzes)); if (service instanceof ServiceFactory) { - this.service = ((ServiceFactory)service).getService(bundleContext.getBundle(), this); + this.service = ((ServiceFactory<T>)service).getService(bundleContext.getBundle(), this); } else { this.service = service; @@ -64,14 +65,14 @@ class MockServiceRegistration implements ServiceRegistration, Comparable<MockSer this.properties = properties != null ? properties : new Hashtable<String,Object>(); this.properties.put(Constants.SERVICE_ID, this.serviceId); this.properties.put(Constants.OBJECTCLASS, clazzes); - this.serviceReference = new MockServiceReference(bundle, this); + this.serviceReference = new MockServiceReference<T>(bundle, this); this.bundleContext = bundleContext; readOsgiMetadata(); } @Override - public ServiceReference getReference() { + public ServiceReference<T> getReference() { return this.serviceReference; } @@ -100,7 +101,7 @@ class MockServiceRegistration implements ServiceRegistration, Comparable<MockSer return clazzes; } - Object getService() { + T getService() { return this.service; } @@ -118,7 +119,7 @@ class MockServiceRegistration implements ServiceRegistration, Comparable<MockSer } @Override - public int compareTo(MockServiceRegistration obj) { + public int compareTo(MockServiceRegistration<T> obj) { return serviceId.compareTo(obj.serviceId); } diff --git a/src/main/java/org/apache/sling/testing/mock/osgi/OsgiServiceUtil.java b/src/main/java/org/apache/sling/testing/mock/osgi/OsgiServiceUtil.java index 05a26bc..84ccbf8 100644 --- a/src/main/java/org/apache/sling/testing/mock/osgi/OsgiServiceUtil.java +++ b/src/main/java/org/apache/sling/testing/mock/osgi/OsgiServiceUtil.java @@ -53,7 +53,6 @@ final class OsgiServiceUtil { * @param componentContext Component context * @return true if activation/deactivation method was called. False if it failed. */ - @SuppressWarnings("unchecked") public static boolean activateDeactivate(Object target, ComponentContext componentContext, boolean activate) { Class<?> targetClass = target.getClass(); @@ -390,7 +389,7 @@ final class OsgiServiceUtil { try { ServiceReference[] references = bundleContext.getServiceReferences(type.getName(), null); if (references != null) { - for (ServiceReference serviceReference : references) { + for (ServiceReference<?> serviceReference : references) { Object serviceInstance = bundleContext.getService(serviceReference); Map<String, Object> serviceConfig = new HashMap<String, Object>(); String[] keys = serviceReference.getPropertyKeys(); @@ -413,7 +412,7 @@ final class OsgiServiceUtil { * @return List of references */ public static List<ReferenceInfo> getMatchingDynamicReferences(SortedSet<MockServiceRegistration> registeredServices, - MockServiceRegistration registration) { + MockServiceRegistration<?> registration) { List<ReferenceInfo> references = new ArrayList<ReferenceInfo>(); for (MockServiceRegistration existingRegistration : registeredServices) { OsgiMetadata metadata = OsgiMetadataUtil.getMetadata(existingRegistration.getService().getClass()); @@ -444,6 +443,7 @@ final class OsgiServiceUtil { this.serviceReference = serviceReference; } + @SuppressWarnings("unchecked") public ServiceInfo(MockServiceRegistration registration) { this.serviceInstance = registration.getService(); this.serviceConfig = MapUtil.toMap(registration.getProperties()); diff --git a/src/main/java/org/apache/sling/testing/mock/osgi/package-info.java b/src/main/java/org/apache/sling/testing/mock/osgi/package-info.java index fe5f126..f15b6d0 100644 --- a/src/main/java/org/apache/sling/testing/mock/osgi/package-info.java +++ b/src/main/java/org/apache/sling/testing/mock/osgi/package-info.java @@ -19,5 +19,5 @@ /** * Mock implementation of selected OSGi APIs. */ [email protected]("2.4") [email protected]("3.0") package org.apache.sling.testing.mock.osgi; diff --git a/src/test/java/org/apache/sling/testing/mock/osgi/MockBundleContextTest.java b/src/test/java/org/apache/sling/testing/mock/osgi/MockBundleContextTest.java index 092ab81..fb704f1 100644 --- a/src/test/java/org/apache/sling/testing/mock/osgi/MockBundleContextTest.java +++ b/src/test/java/org/apache/sling/testing/mock/osgi/MockBundleContextTest.java @@ -67,37 +67,37 @@ public class MockBundleContextTest { // prepare test services String clazz1 = String.class.getName(); Object service1 = new Object(); - Dictionary properties1 = getServiceProperties(null); + Dictionary<String, Object> properties1 = getServiceProperties(null); ServiceRegistration reg1 = bundleContext.registerService(clazz1, service1, properties1); String[] clazzes2 = new String[] { String.class.getName(), Integer.class.getName() }; Object service2 = new Object(); - Dictionary properties2 = getServiceProperties(null); + Dictionary<String, Object> properties2 = getServiceProperties(null); ServiceRegistration reg2 = bundleContext.registerService(clazzes2, service2, properties2); String clazz3 = Integer.class.getName(); Object service3 = new Object(); - Dictionary properties3 = getServiceProperties(100L); + Dictionary<String, Object> properties3 = getServiceProperties(100L); ServiceRegistration reg3 = bundleContext.registerService(clazz3, service3, properties3); // test get service references - ServiceReference refString = bundleContext.getServiceReference(String.class.getName()); + ServiceReference<?> refString = bundleContext.getServiceReference(String.class.getName()); assertSame(reg1.getReference(), refString); - ServiceReference refInteger = bundleContext.getServiceReference(Integer.class.getName()); + ServiceReference<?> refInteger = bundleContext.getServiceReference(Integer.class.getName()); assertSame(reg3.getReference(), refInteger); - ServiceReference[] refsString = bundleContext.getServiceReferences(String.class.getName(), null); + ServiceReference<?>[] refsString = bundleContext.getServiceReferences(String.class.getName(), null); assertEquals(2, refsString.length); assertSame(reg1.getReference(), refsString[0]); assertSame(reg2.getReference(), refsString[1]); - ServiceReference[] refsInteger = bundleContext.getServiceReferences(Integer.class.getName(), null); + ServiceReference<?>[] refsInteger = bundleContext.getServiceReferences(Integer.class.getName(), null); assertEquals(2, refsInteger.length); assertSame(reg3.getReference(), refsInteger[0]); assertSame(reg2.getReference(), refsInteger[1]); - ServiceReference[] allRefsString = bundleContext.getAllServiceReferences(String.class.getName(), null); + ServiceReference<?>[] allRefsString = bundleContext.getAllServiceReferences(String.class.getName(), null); assertArrayEquals(refsString, allRefsString); // test get services @@ -116,7 +116,7 @@ public class MockBundleContextTest { // prepare test services String clazz1 = String.class.getName(); Object service1 = new Object(); - Dictionary properties1 = getServiceProperties(null); + Dictionary<String, Object> properties1 = getServiceProperties(null); ServiceRegistration reg1 = bundleContext.registerService(clazz1, service1, properties1); assertNotNull(bundleContext.getServiceReference(clazz1)); @@ -127,7 +127,7 @@ public class MockBundleContextTest { } - private Dictionary getServiceProperties(final Long serviceRanking) { + private Dictionary<String, Object> getServiceProperties(final Long serviceRanking) { Dictionary<String, Object> props = new Hashtable<String, Object>(); if (serviceRanking != null) { props.put(Constants.SERVICE_RANKING, serviceRanking); diff --git a/src/test/java/org/apache/sling/testing/mock/osgi/MockComponentContextTest.java b/src/test/java/org/apache/sling/testing/mock/osgi/MockComponentContextTest.java index b4497eb..aab327e 100644 --- a/src/test/java/org/apache/sling/testing/mock/osgi/MockComponentContextTest.java +++ b/src/test/java/org/apache/sling/testing/mock/osgi/MockComponentContextTest.java @@ -71,7 +71,7 @@ public class MockComponentContextTest { String clazz = String.class.getName(); Object service = new Object(); underTest.getBundleContext().registerService(clazz, service, null); - ServiceReference ref = underTest.getBundleContext().getServiceReference(clazz); + ServiceReference<?> ref = underTest.getBundleContext().getServiceReference(clazz); // test locate service Object locatedService = underTest.locateService(null, ref); diff --git a/src/test/java/org/apache/sling/testing/mock/osgi/OsgiServiceUtilTest.java b/src/test/java/org/apache/sling/testing/mock/osgi/OsgiServiceUtilTest.java index f8b9a73..170957f 100644 --- a/src/test/java/org/apache/sling/testing/mock/osgi/OsgiServiceUtilTest.java +++ b/src/test/java/org/apache/sling/testing/mock/osgi/OsgiServiceUtilTest.java @@ -251,7 +251,6 @@ public class OsgiServiceUtilTest { private ComponentContext componentContext; private Map<String, Object> config; - @SuppressWarnings("unchecked") @Activate private void activate(ComponentContext ctx) { this.componentContext = ctx; @@ -278,7 +277,7 @@ public class OsgiServiceUtilTest { public List<ServiceInterface2> getReferences2() { List<ServiceInterface2> services = new ArrayList<ServiceInterface2>(); - for (ServiceReference serviceReference : references2) { + for (ServiceReference<?> serviceReference : references2) { services.add((ServiceInterface2)componentContext.getBundleContext().getService(serviceReference)); } return services; diff --git a/src/test/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImplTest.java b/src/test/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImplTest.java index 60d5b0b..59990d5 100644 --- a/src/test/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImplTest.java +++ b/src/test/java/org/apache/sling/testing/mock/osgi/context/OsgiContextImplTest.java @@ -75,7 +75,7 @@ public class OsgiContextImplTest { Set<String> myService = new HashSet<String>(); context.registerService(Set.class, myService, props); - ServiceReference serviceReference = context.bundleContext().getServiceReference(Set.class.getName()); + ServiceReference<?> serviceReference = context.bundleContext().getServiceReference(Set.class.getName()); Object serviceResult = context.bundleContext().getService(serviceReference); assertSame(myService, serviceResult); assertEquals("value1", serviceReference.getProperty("prop1")); -- To stop receiving notification emails like this one, please contact "[email protected]" <[email protected]>.
