You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pd...@apache.org on 2017/02/06 14:37:51 UTC
svn commit: r1781908 [5/5] - in /felix/trunk/dependencymanager:
cnf/localrepo/ cnf/releaserepo/
org.apache.felix.dependencymanager.annotation/
org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/
org.apache.felix.depend...
Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceUtil.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceUtil.java?rev=1781908&r1=1781907&r2=1781908&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceUtil.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceUtil.java Mon Feb 6 14:37:49 2017
@@ -18,10 +18,14 @@
*/
package org.apache.felix.dm.impl;
+import java.util.Arrays;
+import java.util.Collections;
import java.util.Dictionary;
import java.util.Enumeration;
+import java.util.HashSet;
import java.util.Hashtable;
import java.util.List;
+import java.util.Set;
import org.apache.felix.dm.DependencyManager;
import org.osgi.framework.Bundle;
@@ -38,6 +42,62 @@ public class ServiceUtil {
* Useful when needing to provide empty service properties.
*/
public final static Dictionary<String, Object> EMPTY_PROPERTIES = new Hashtable<>();
+
+ /**
+ * Defines service properties which must not be propagated from the dependencies to component service properties.
+ */
+ public final static Set<String> NOT_PROPAGATABLE_SERVICE_PROPERTIES =
+ Collections.unmodifiableSet(new HashSet<>(Arrays.asList(
+ Constants.SERVICE_ID,
+ Constants.SERVICE_RANKING,
+ Constants.SERVICE_BUNDLEID,
+ Constants.SERVICE_SCOPE,
+ Constants.OBJECTCLASS,
+ DependencyManager.ASPECT)));
+
+ /**
+ * Helper method used to convert a dictionary with untyped keys to a dictionary having a String key.
+ * (this method is useful when converting a Properties object into a compatible Dictionary<String, Object>
+ * object that is often needed in OSGI R6 API.
+ */
+ @SuppressWarnings("unchecked")
+ public static <K,V> Dictionary<K, V> toR6Dictionary(Dictionary<?,?> properties) {
+ return (Dictionary<K, V>) properties;
+ }
+
+ /**
+ * Dump some service properties in a petty form.
+ */
+ public static void appendProperties(StringBuilder result, Dictionary<?, ?> properties) {
+ if (properties != null) {
+ result.append("(");
+ Enumeration<?> enumeration = properties.keys();
+ while (enumeration.hasMoreElements()) {
+ Object key = enumeration.nextElement();
+ result.append(key.toString());
+ result.append('=');
+ Object value = properties.get(key);
+ if (value instanceof String[]) {
+ String[] values = (String[]) value;
+ result.append('{');
+ for (int i = 0; i < values.length; i++) {
+ if (i > 0) {
+ result.append(',');
+ }
+ result.append(values[i].toString());
+ }
+ result.append('}');
+ }
+ else {
+ result.append(value.toString());
+ }
+ if (enumeration.hasMoreElements()) {
+ result.append(',');
+ }
+ }
+ result.append(")");
+ }
+ }
/**
* Returns the service ranking of a service, based on its service reference. If
@@ -47,7 +107,7 @@ public class ServiceUtil {
* @param ref the service reference to determine the ranking for
* @return the ranking
*/
- public static int getRanking(ServiceReference ref) {
+ public static int getRanking(ServiceReference<?> ref) {
return getRankingAsInteger(ref).intValue();
}
@@ -59,7 +119,7 @@ public class ServiceUtil {
* @param ref the service reference to determine the ranking for
* @return the ranking
*/
- public static Integer getRankingAsInteger(ServiceReference ref) {
+ public static Integer getRankingAsInteger(ServiceReference<?> ref) {
Integer rank = (Integer) ref.getProperty(Constants.SERVICE_RANKING);
if (rank != null) {
return rank;
@@ -75,7 +135,7 @@ public class ServiceUtil {
* @param ref the service reference to determine the service ID of
* @return the service ID
*/
- public static long getServiceId(ServiceReference ref) {
+ public static long getServiceId(ServiceReference<?> ref) {
return getServiceIdAsLong(ref).longValue();
}
@@ -87,11 +147,11 @@ public class ServiceUtil {
* @param ref the service reference to determine the service ID of
* @return the service ID
*/
- public static Long getServiceIdAsLong(ServiceReference ref) {
+ public static Long getServiceIdAsLong(ServiceReference<?> ref) {
return getServiceIdObject(ref);
}
- public static Long getServiceIdObject(ServiceReference ref) {
+ public static Long getServiceIdObject(ServiceReference<?> ref) {
Long aid = (Long) ref.getProperty(DependencyManager.ASPECT);
if (aid != null) {
return aid;
@@ -110,7 +170,7 @@ public class ServiceUtil {
* @param ref the service reference
* @return <code>true</code> if it's an aspect, <code>false</code> otherwise
*/
- public static boolean isAspect(ServiceReference ref) {
+ public static boolean isAspect(ServiceReference<?> ref) {
Long aid = (Long) ref.getProperty(DependencyManager.ASPECT);
return (aid != null);
}
@@ -122,7 +182,7 @@ public class ServiceUtil {
* @param ref the service reference
* @return a string representation of the service
*/
- public static String toString(ServiceReference ref) {
+ public static String toString(ServiceReference<?> ref) {
if (ref == null) {
return "ServiceReference[null]";
}
@@ -150,7 +210,7 @@ public class ServiceUtil {
* @param exclude a list of properties to exclude, or <code>null</code> to show everything
* @return a string representation of the service properties
*/
- public static String propertiesToString(ServiceReference ref, List<String> exclude) {
+ public static String propertiesToString(ServiceReference<?> ref, List<String> exclude) {
StringBuffer buf = new StringBuffer();
String[] keys = ref.getPropertyKeys();
for (int i = 0; i < keys.length; i++) {
@@ -187,7 +247,7 @@ public class ServiceUtil {
* @param ref the ServiceReference to wrap
* @return a new Dictionary used to wrap the ServiceReference properties
*/
- public static Dictionary<String, Object> propertiesToDictionary(final ServiceReference ref) {
+ public static Dictionary<String, Object> propertiesToDictionary(final ServiceReference<?> ref) {
return new Dictionary<String, Object>() {
private Dictionary<String, Object> m_wrapper;
Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/TemporalServiceDependencyImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/TemporalServiceDependencyImpl.java?rev=1781908&r1=1781907&r2=1781908&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/TemporalServiceDependencyImpl.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/TemporalServiceDependencyImpl.java Mon Feb 6 14:37:49 2017
@@ -99,8 +99,9 @@ public class TemporalServiceDependencyIm
/**
* The ServiceTracker calls us here in order to inform about a service arrival.
*/
- @Override
- public void addedService(ServiceReference ref, Object service) {
+ @SuppressWarnings("rawtypes")
+ @Override
+ public void addedService(ServiceReference ref, Object event) {
// Update our service cache, using the tracker. We do this because the
// just added service might not be the service with the highest rank ...
boolean makeAvailable = false;
@@ -111,8 +112,8 @@ public class TemporalServiceDependencyIm
}
}
if (makeAvailable) {
- getComponentContext().handleEvent(this, EventType.ADDED,
- new ServiceEventImpl(m_component.getBundle(), m_component.getBundleContext(), ref, m_serviceInstance));
+ getComponentContext().handleEvent(this, EventType.ADDED,
+ new ServiceEventImpl(m_component, ref, m_serviceInstance));
} else {
// This added will possibly unblock our invoke() method (if it's blocked in m_tracker.waitForService method).
}
@@ -121,7 +122,8 @@ public class TemporalServiceDependencyIm
/**
* The ServiceTracker calls us here when a tracked service properties are modified.
*/
- @Override
+ @SuppressWarnings("rawtypes")
+ @Override
public void modifiedService(ServiceReference ref, Object service) {
// We don't care.
}
@@ -129,9 +131,12 @@ public class TemporalServiceDependencyIm
/**
* The ServiceTracker calls us here when a tracked service is lost.
*/
- @Override
- public void removedService(ServiceReference ref, Object service) {
- // If we detect that the fwk is stopping, we behave as our superclass. That is:
+ @SuppressWarnings("rawtypes")
+ @Override
+ public void removedService(ServiceReference ref, Object event) {
+ ServiceEventImpl eventImpl = (ServiceEventImpl) event;
+
+ // If we detect that the fwk is stopping, we behave as our superclass. That is:
// the lost dependency has to trigger our service deactivation, since the fwk is stopping
// and the lost dependency won't come up anymore.
if (m_frameworkBundle.getState() == Bundle.STOPPING) {
@@ -148,29 +153,32 @@ public class TemporalServiceDependencyIm
}
if (makeUnavailable) {
// the event.close method will unget the service.
- m_component.handleEvent(this, EventType.REMOVED, new ServiceEventImpl(m_component.getBundle(),
- m_component.getBundleContext(), ref, m_serviceInstance));
+ m_component.handleEvent(this, EventType.REMOVED, new ServiceEventImpl(m_component, ref, m_serviceInstance));
}
} else {
- // Unget what we got in addingService (see ServiceTracker 701.4.1)
- m_component.getBundleContext().ungetService(ref);
- // if there is no available services, the next call to invoke() method will block until another service
- // becomes available. Else the next call to invoke() will return that highest ranked available service.
+ eventImpl.close(); // will unget the service.
+ // if there is no available services, the next call to invoke() method will block until another service
+ // becomes available. Else the next call to invoke() will return that highest ranked available service.
}
}
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
- Object service = null;
+ ServiceEventImpl event = null;
try {
- service = m_tracker.waitForService(m_timeout);
+ event = (ServiceEventImpl) m_tracker.waitForService(m_timeout);
} catch (InterruptedException e) {
}
- if (service == null) {
+ if (event == null) {
throw new IllegalStateException("Service unavailable: " + m_trackedServiceName.getName());
}
+ Object service = event.getEvent();
+ if (service == null) {
+ throw new IllegalStateException("Service unavailable: " + m_trackedServiceName.getName());
+ }
+
try {
try {
return method.invoke(service, args);
Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AbstractFactoryFilterIndex.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AbstractFactoryFilterIndex.java?rev=1781908&r1=1781907&r2=1781908&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AbstractFactoryFilterIndex.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AbstractFactoryFilterIndex.java Mon Feb 6 14:37:49 2017
@@ -32,6 +32,7 @@ import org.osgi.framework.ServiceReferen
/**
* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
*/
+@SuppressWarnings("rawtypes")
public abstract class AbstractFactoryFilterIndex {
protected final Map<Long, SortedSet<ServiceReference>> m_sidToServiceReferencesMap = new HashMap<>();
protected final Map <ServiceListener, String> m_listenerToFilterMap = new HashMap<>();
Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AdapterFilterIndex.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AdapterFilterIndex.java?rev=1781908&r1=1781907&r2=1781908&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AdapterFilterIndex.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AdapterFilterIndex.java Mon Feb 6 14:37:49 2017
@@ -42,6 +42,7 @@ import org.osgi.framework.ServiceReferen
/**
* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
*/
+@SuppressWarnings("rawtypes")
public class AdapterFilterIndex extends AbstractFactoryFilterIndex implements FilterIndex, ServiceTrackerCustomizer {
// (&(objectClass=foo.Bar)(|(service.id=18233)(org.apache.felix.dependencymanager.aspect=18233)))
private static final String FILTER_REGEXP = "\\(&\\(" + Constants.OBJECTCLASS + "=([a-zA-Z\\.\\$0-9]*)\\)\\(\\|\\("
@@ -198,7 +199,8 @@ public class AdapterFilterIndex extends
}
}
- public Object addingService(ServiceReference reference) {
+ @SuppressWarnings("unchecked")
+ public Object addingService(ServiceReference reference) {
BundleContext context;
synchronized (m_lock) {
context = m_context;
Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AspectFilterIndex.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AspectFilterIndex.java?rev=1781908&r1=1781907&r2=1781908&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AspectFilterIndex.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AspectFilterIndex.java Mon Feb 6 14:37:49 2017
@@ -43,6 +43,7 @@ import org.osgi.framework.ServiceReferen
/**
* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
*/
+@SuppressWarnings("rawtypes")
public class AspectFilterIndex extends AbstractFactoryFilterIndex implements FilterIndex, ServiceTrackerCustomizer {
// (&(objectClass=foo.Bar)(|(!(service.ranking=*))(service.ranking<=99))(|(service.id=4451)(org.apache.felix.dependencymanager.aspect=4451)))
private static final String FILTER_START = "(&(" + Constants.OBJECTCLASS + "=";
@@ -240,7 +241,8 @@ public class AspectFilterIndex extends A
}
}
- public Object addingService(ServiceReference reference) {
+ @SuppressWarnings("unchecked")
+ public Object addingService(ServiceReference reference) {
BundleContext context;
synchronized (m_lock) {
context = m_context;
Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/BundleContextInterceptor.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/BundleContextInterceptor.java?rev=1781908&r1=1781907&r2=1781908&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/BundleContextInterceptor.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/BundleContextInterceptor.java Mon Feb 6 14:37:49 2017
@@ -19,6 +19,7 @@
package org.apache.felix.dm.impl.index;
import java.util.Arrays;
+import java.util.Collection;
import java.util.Iterator;
import java.util.List;
@@ -34,6 +35,7 @@ import org.osgi.framework.ServiceReferen
/**
* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
*/
+@SuppressWarnings("rawtypes")
public class BundleContextInterceptor extends BundleContextInterceptorBase {
protected static final String INDEX_LOG_TRESHOLD = "org.apache.felix.dm.index.log.treshold";
private final ServiceRegistryCache m_cache;
@@ -159,4 +161,19 @@ public class BundleContextInterceptor ex
public void serviceChanged(ServiceEvent event) {
m_cache.serviceChangedForFilterIndices(event);
}
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <S> ServiceReference<S> getServiceReference(Class<S> clazz)
+ {
+ return getServiceReference(clazz.getName());
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <S> Collection<ServiceReference<S>> getServiceReferences(Class<S> clazz, String filter)
+ throws InvalidSyntaxException
+ {
+ return Arrays.asList(getServiceReferences(clazz.getName(), filter));
+ }
}
Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/BundleContextInterceptorBase.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/BundleContextInterceptorBase.java?rev=1781908&r1=1781907&r2=1781908&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/BundleContextInterceptorBase.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/BundleContextInterceptorBase.java Mon Feb 6 14:37:49 2017
@@ -20,6 +20,7 @@ package org.apache.felix.dm.impl.index;
import java.io.File;
import java.io.InputStream;
+import java.util.Collection;
import java.util.Dictionary;
import java.util.HashMap;
import java.util.Map;
@@ -32,7 +33,9 @@ import org.osgi.framework.BundleListener
import org.osgi.framework.Filter;
import org.osgi.framework.FrameworkListener;
import org.osgi.framework.InvalidSyntaxException;
+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;
@@ -41,6 +44,7 @@ import org.osgi.framework.ServiceRegistr
*
* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
*/
+@SuppressWarnings({ "unchecked", "rawtypes" })
public abstract class BundleContextInterceptorBase implements BundleContext, ServiceListener {
protected final BundleContext m_context;
/** Keeps track of all service listeners and their optional filters. */
@@ -114,14 +118,24 @@ public abstract class BundleContextInter
m_context.removeFrameworkListener(listener);
}
- public ServiceRegistration registerService(String[] clazzes, Object service, @SuppressWarnings("rawtypes") Dictionary properties) {
+ public ServiceRegistration registerService(String[] clazzes, Object service, Dictionary properties) {
return m_context.registerService(clazzes, service, properties);
}
- public ServiceRegistration registerService(String clazz, Object service, @SuppressWarnings("rawtypes") Dictionary properties) {
+ public ServiceRegistration registerService(String clazz, Object service, Dictionary properties) {
return m_context.registerService(clazz, service, properties);
}
+ @Override
+ public <S> ServiceRegistration<S> registerService(Class<S> clazz, S service, Dictionary<String, ?> properties) {
+ return m_context.registerService(clazz, service, properties);
+ }
+
+ @Override
+ public <S> ServiceRegistration<S> registerService(Class<S> clazz, ServiceFactory<S> factory, Dictionary<String, ?> properties) {
+ return m_context.registerService(clazz, factory, properties);
+ }
+
public ServiceReference[] getServiceReferences(String clazz, String filter) throws InvalidSyntaxException {
return m_context.getServiceReferences(clazz, filter);
}
@@ -134,10 +148,26 @@ public abstract class BundleContextInter
return m_context.getServiceReference(clazz);
}
+ @Override
+ public <S> ServiceReference<S> getServiceReference(Class<S> clazz) {
+ return m_context.getServiceReference(clazz);
+ }
+
+ @Override
+ public <S> Collection<ServiceReference<S>> getServiceReferences(Class<S> clazz, String filter) throws InvalidSyntaxException {
+ return m_context.getServiceReferences(clazz, filter);
+ }
+
public Object getService(ServiceReference reference) {
return m_context.getService(reference);
}
+ @Override
+ public <S> ServiceObjects<S> getServiceObjects(ServiceReference<S> reference)
+ {
+ return m_context.getServiceObjects(reference);
+ }
+
public boolean ungetService(ServiceReference reference) {
return m_context.ungetService(reference);
}
@@ -150,7 +180,11 @@ public abstract class BundleContextInter
return m_context.createFilter(filter);
}
- @SuppressWarnings("unchecked")
+ @Override
+ public Bundle getBundle(String location) {
+ return m_context.getBundle(location);
+ }
+
protected Entry<ServiceListener, String>[] synchronizeCollection() {
// lazy copy on write: we make a new copy only if writes have changed the collection
synchronized (m_serviceListenerFilterMap) {
Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/multiproperty/MultiPropertyFilterIndex.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/multiproperty/MultiPropertyFilterIndex.java?rev=1781908&r1=1781907&r2=1781908&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/multiproperty/MultiPropertyFilterIndex.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/multiproperty/MultiPropertyFilterIndex.java Mon Feb 6 14:37:49 2017
@@ -43,6 +43,7 @@ import org.osgi.framework.ServiceReferen
/**
* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
*/
+@SuppressWarnings("rawtypes")
public class MultiPropertyFilterIndex implements FilterIndex, ServiceTrackerCustomizer {
private final Object m_lock = new Object();
@@ -50,7 +51,7 @@ public class MultiPropertyFilterIndex im
private BundleContext m_context;
private Map<String, Property> m_configProperties = new LinkedHashMap<>();
private List<String> m_negatePropertyKeys = new ArrayList<>();
- private final Map<String, List<ServiceReference>> m_keyToServiceReferencesMap = new HashMap<>();
+ private final Map<String, List<ServiceReference>> m_keyToServiceReferencesMap = new HashMap<>();
private final Map<String, List<ServiceListener>> m_keyToListenersMap = new HashMap<>();
private final Map<ServiceListener, String> m_listenerToFilterMap = new HashMap<>();
@@ -281,7 +282,8 @@ public class MultiPropertyFilterIndex im
return builder.toString();
}
- public Object addingService(ServiceReference reference) {
+ @SuppressWarnings("unchecked")
+ public Object addingService(ServiceReference reference) {
BundleContext context;
synchronized (m_lock) {
context = m_context;
Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/metatype/MetaTypeProviderImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/metatype/MetaTypeProviderImpl.java?rev=1781908&r1=1781907&r2=1781908&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/metatype/MetaTypeProviderImpl.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/metatype/MetaTypeProviderImpl.java Mon Feb 6 14:37:49 2017
@@ -200,8 +200,7 @@ public class MetaTypeProviderImpl implem
* We also implements the ManagedService and we just delegates the configuration handling to
* our associated ConfigurationDependency.
*/
- @SuppressWarnings("rawtypes")
- public void updated(Dictionary properties) throws ConfigurationException {
+ public void updated(Dictionary<String, ?> properties) throws ConfigurationException {
m_managedServiceDelegate.updated(properties);
}
@@ -268,8 +267,7 @@ public class MetaTypeProviderImpl implem
return m_pid;
}
- @SuppressWarnings("rawtypes")
- public void updated(String pid, Dictionary properties) throws ConfigurationException {
+ public void updated(String pid, Dictionary<String, ?> properties) throws ConfigurationException {
m_managedServiceFactoryDelegate.updated(pid, properties);
}
}
Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/tracker/ServiceTracker.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/tracker/ServiceTracker.java?rev=1781908&r1=1781907&r2=1781908&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/tracker/ServiceTracker.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/tracker/ServiceTracker.java Mon Feb 6 14:37:49 2017
@@ -63,6 +63,7 @@ import org.osgi.framework.Version;
* @ThreadSafe
* @version $Revision: 6386 $
*/
+@SuppressWarnings("rawtypes")
public class ServiceTracker implements ServiceTrackerCustomizer {
/* set this to true to compile in debug messages */
static final boolean DEBUG = false;
@@ -498,6 +499,7 @@ public class ServiceTracker implements S
* <code>ServiceTracker</code>.
* @see ServiceTrackerCustomizer#addingService(ServiceReference)
*/
+ @SuppressWarnings("unchecked")
public Object addingService(ServiceReference reference) {
return context.getService(reference);
}
Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/tracker/ServiceTrackerCustomizer.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/tracker/ServiceTrackerCustomizer.java?rev=1781908&r1=1781907&r2=1781908&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/tracker/ServiceTrackerCustomizer.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/tracker/ServiceTrackerCustomizer.java Mon Feb 6 14:37:49 2017
@@ -46,6 +46,7 @@ import org.osgi.framework.ServiceReferen
* @ThreadSafe
* @version $Revision: 5874 $
*/
+@SuppressWarnings("rawtypes")
public interface ServiceTrackerCustomizer {
/**
* A service is being added to the <code>ServiceTracker</code>.
Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager/test/org/apache/felix/dm/impl/FactoryConfigurationAdapterImplTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager/test/org/apache/felix/dm/impl/FactoryConfigurationAdapterImplTest.java?rev=1781908&r1=1781907&r2=1781908&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager/test/org/apache/felix/dm/impl/FactoryConfigurationAdapterImplTest.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager/test/org/apache/felix/dm/impl/FactoryConfigurationAdapterImplTest.java Mon Feb 6 14:37:49 2017
@@ -52,7 +52,7 @@ public class FactoryConfigurationAdapter
FactoryConfigurationAdapterImpl cdi = createConfigurationDependency(service, Map.class);
ensure.step(1);
- ((ManagedServiceFactory) cdi.m_component.getInstance()).updated(CONF_PID, createDictionary());
+ ((ManagedServiceFactory) cdi.m_component.getInstance()).updated(CONF_PID, (Dictionary<String, ?>) createDictionary());
TimeUnit.SECONDS.sleep(1L);
@@ -67,7 +67,7 @@ public class FactoryConfigurationAdapter
FactoryConfigurationAdapterImpl cdi = createConfigurationDependency(service, MyConfiguration.class);
- ((ManagedServiceFactory) cdi.m_component.getInstance()).updated(CONF_PID, createDictionary());
+ ((ManagedServiceFactory) cdi.m_component.getInstance()).updated(CONF_PID, (Dictionary<String, ?>) createDictionary());
ensure.waitForStep(1, 1000);
@@ -83,7 +83,7 @@ public class FactoryConfigurationAdapter
FactoryConfigurationAdapterImpl cdi = createConfigurationDependency(service);
- ((ManagedServiceFactory) cdi.m_component.getInstance()).updated(CONF_PID, createDictionary());
+ ((ManagedServiceFactory) cdi.m_component.getInstance()).updated(CONF_PID, (Dictionary<String, ?>) createDictionary());
ensure.waitForStep(1, 1000);
@@ -99,7 +99,7 @@ public class FactoryConfigurationAdapter
FactoryConfigurationAdapterImpl cdi = createConfigurationDependency(service);
- ((ManagedServiceFactory) cdi.m_component.getInstance()).updated(CONF_PID, createDictionary());
+ ((ManagedServiceFactory) cdi.m_component.getInstance()).updated(CONF_PID, (Dictionary<String, ?>) createDictionary());
ensure.waitForStep(1, 1000);
@@ -137,7 +137,7 @@ public class FactoryConfigurationAdapter
return (FactoryConfigurationAdapterImpl) result;
}
- private Dictionary<?,?> createDictionary() {
+ private Dictionary<String, Object> createDictionary() {
Dictionary<String, Object> result = new Hashtable<>();
result.put("true", "true");
result.put("value", "42");
Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager/test/org/apache/felix/dm/tracker/TrackedTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager/test/org/apache/felix/dm/tracker/TrackedTest.java?rev=1781908&r1=1781907&r2=1781908&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager/test/org/apache/felix/dm/tracker/TrackedTest.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager/test/org/apache/felix/dm/tracker/TrackedTest.java Mon Feb 6 14:37:49 2017
@@ -40,6 +40,7 @@ import org.osgi.framework.ServiceReferen
/**
* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
*/
+@SuppressWarnings("rawtypes")
public class TrackedTest {
@Test
@@ -73,7 +74,7 @@ public class TrackedTest {
tracker.open();
Tracked tracked = tracker.getTracked();
- ServiceReference[] initialReferences = new ServiceReference[] {
+ ServiceReference<?>[] initialReferences = new ServiceReference[] {
createServiceReference(1L),
createServiceReference(2L, 1L, 10),
createServiceReference(3L),
@@ -104,7 +105,7 @@ public class TrackedTest {
tracker.open();
Tracked tracked = tracker.getTracked();
- ServiceReference[] initialReferences = new ServiceReference[] {
+ ServiceReference<?>[] initialReferences = new ServiceReference[] {
createServiceReference(1L),
createServiceReference(2L, 1L, 10),
createServiceReference(3L),
@@ -117,7 +118,7 @@ public class TrackedTest {
assertArrayEquals(new Long[] { 2L, 5L }, customizer.getServiceReferenceIds());
// create a service event that registers another but lower ranked aspect for service with id 1.
- ServiceReference newReference = createServiceReference(6L, 1L, 8);
+ ServiceReference<?> newReference = createServiceReference(6L, 1L, 8);
ServiceEvent event = new ServiceEvent(ServiceEvent.REGISTERED, newReference);
tracked.serviceChanged(event);
assertArrayEquals(new Long[] { 2L, 5L }, customizer.getServiceReferenceIds());
@@ -133,7 +134,7 @@ public class TrackedTest {
assertArrayEquals(new Long[] { 5L, 4L }, customizer.getServiceReferenceIds());
// create a service event that registers a higher ranked aspect for service with id 1.
- ServiceReference higherRankedReference = createServiceReference(7L, 1L, 15);
+ ServiceReference<?> higherRankedReference = createServiceReference(7L, 1L, 15);
ServiceEvent addHigherRankedEvent = new ServiceEvent(ServiceEvent.REGISTERED, higherRankedReference);
tracked.serviceChanged(addHigherRankedEvent);
assertArrayEquals(new Long[] { 5L, 7L }, customizer.getServiceReferenceIds());
@@ -165,11 +166,11 @@ public class TrackedTest {
return context;
}
- private ServiceReference createServiceReference(Long serviceId) {
+ private ServiceReference<?> createServiceReference(Long serviceId) {
return createServiceReference(serviceId, null, null);
}
- private ServiceReference createServiceReference(Long serviceId, Long aspectId, Integer ranking) {
+ private ServiceReference<?> createServiceReference(Long serviceId, Long aspectId, Integer ranking) {
return new TestServiceReference(serviceId, aspectId, ranking);
}
@@ -183,7 +184,7 @@ public class TrackedTest {
class TestCustomizer implements ServiceTrackerCustomizer {
- List<ServiceReference> serviceReferences = new ArrayList<>();
+ List<ServiceReference<?>> serviceReferences = new ArrayList<>();
@Override
public Object addingService(ServiceReference reference) {
Modified: felix/trunk/dependencymanager/release/resources/deps/NOTICE
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/release/resources/deps/NOTICE?rev=1781908&r1=1781907&r2=1781908&view=diff
==============================================================================
--- felix/trunk/dependencymanager/release/resources/deps/NOTICE (original)
+++ felix/trunk/dependencymanager/release/resources/deps/NOTICE Mon Feb 6 14:37:49 2017
@@ -1,5 +1,5 @@
Apache Felix Dependency Manager
-Copyright 2011-2015 The Apache Software Foundation
+Copyright 2011-2017 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
@@ -7,14 +7,10 @@ Licensed under the Apache License 2.0.
This product includes software developed at The OSGi
Alliance (http://www.osgi.org/).
-Copyright: (c) OSGi Alliance (2000, 2015)
+Copyright: (c) OSGi Alliance (2000, 2017)
Copyright (c) 2000 Gatespace AB. All Rights Reserved.
Licensed under the Apache License 2.0.
-This product includes software from http://www.json.org.
-Copyright (c) 2002 JSON.org
-Licensed under the JSON License
-
This product includes software from (http://junit.org),
Licensed under the Eclipse Public License - v 1.0.