You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ma...@apache.org on 2009/12/22 14:38:39 UTC
svn commit: r893164 - in
/felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm:
dependencies/ServiceDependency.java
impl/dependencies/ServiceDependencyImpl.java
Author: marrs
Date: Tue Dec 22 13:38:38 2009
New Revision: 893164
URL: http://svn.apache.org/viewvc?rev=893164&view=rev
Log:
added a method to specify a service dependency that is based only on a filter condition
Modified:
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/dependencies/ServiceDependency.java
felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/dependencies/ServiceDependencyImpl.java
Modified: felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/dependencies/ServiceDependency.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/dependencies/ServiceDependency.java?rev=893164&r1=893163&r2=893164&view=diff
==============================================================================
--- felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/dependencies/ServiceDependency.java (original)
+++ felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/dependencies/ServiceDependency.java Tue Dec 22 13:38:38 2009
@@ -47,6 +47,16 @@
* @return this service dependency
*/
ServiceDependency setService(Class serviceName, String serviceFilter);
+
+ /**
+ * Sets the filter for the services that should be tracked. Any service object
+ * matching the filter will be returned, without any additional filter on the
+ * class.
+ *
+ * @param serviceFilter the filter condition
+ * @return this service dependency
+ */
+ ServiceDependency setService(String serviceFilter);
/**
* Sets the name of the service that should be tracked. You can either specify
Modified: felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/dependencies/ServiceDependencyImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/dependencies/ServiceDependencyImpl.java?rev=893164&r1=893163&r2=893164&view=diff
==============================================================================
--- felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/dependencies/ServiceDependencyImpl.java (original)
+++ felix/trunk/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/dependencies/ServiceDependencyImpl.java Tue Dec 22 13:38:38 2009
@@ -545,6 +545,20 @@
m_trackedServiceReference = null;
return this;
}
+
+ public synchronized ServiceDependency setService(String serviceFilter) {
+ ensureNotActive();
+ if (serviceFilter == null) {
+ throw new IllegalArgumentException("Service filter cannot be null.");
+ }
+ m_trackedServiceName = Object.class;
+ if (serviceFilter != null) {
+ m_trackedServiceFilterUnmodified = serviceFilter;
+ m_trackedServiceFilter = serviceFilter;
+ }
+ m_trackedServiceReference = null;
+ return this;
+ }
/**
* Sets the name of the service that should be tracked. You can either specify