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 2015/01/30 16:48:24 UTC
svn commit: r1656039 [1/2] - in /felix/sandbox/pderop/dependencymanager:
org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/
org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/
org.apache.felix.dependency...
Author: marrs
Date: Fri Jan 30 15:48:23 2015
New Revision: 1656039
URL: http://svn.apache.org/r1656039
Log:
Removed a lot of compiler warnings. Introduced generics. Fixed an issue where a class from a private package was used in our public API. Other small fixes. Some work still to do on ServiceTracker.
Added:
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/Logger.java
Removed:
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/Logger.java
Modified:
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/AdapterWithoutPropagationTest.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/FELIX2348_ResourceAdapterTest.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/FilterIndexResourceAdapterTest.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterDependencyAddAndRemoveTest.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterDependencyAddAndRemoveTest2.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterTest.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceDependencyTest.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceProvider.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ServiceUpdateTest.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/ComponentInstanceImpl.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/Activator.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/ComponentId.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/DMCommand.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/DependencyActivatorBase.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/DependencyManager.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/BundleDependencyImpl.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ComponentImpl.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationDependencyImpl.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationEventImpl.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/DispatchExecutor.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FactoryConfigurationAdapterImpl.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FieldUtil.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FilterComponent.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/SerialExecutor.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceDependencyImpl.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceEventImpl.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AbstractFactoryFilterIndex.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AdapterFilterIndex.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AspectFilterIndex.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/BundleContextInterceptor.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/BundleContextInterceptorBase.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/FilterIndexBundleContext.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/ServiceRegistryCache.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/multiproperty/Filter.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/multiproperty/MultiPropertyFilterIndex.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/multiproperty/Property.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/metatype/MetaTypeProviderImpl.java
felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/test/test/SerialExecutorTest.java
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/AdapterWithoutPropagationTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/AdapterWithoutPropagationTest.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/AdapterWithoutPropagationTest.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/AdapterWithoutPropagationTest.java Fri Jan 30 15:48:23 2015
@@ -22,7 +22,6 @@ import java.util.Dictionary;
import java.util.Hashtable;
import org.junit.Assert;
-
import org.apache.felix.dm.Component;
import org.apache.felix.dm.DependencyManager;
import org.apache.felix.dm.itest.util.Ensure;
@@ -83,10 +82,8 @@ public class AdapterWithoutPropagationTe
}
static class ServiceProvider implements OriginalService {
- private final Ensure m_ensure;
private volatile ServiceRegistration m_registration; // auto injected when started.
public ServiceProvider(Ensure e) {
- m_ensure = e;
}
public void changeServiceProperties() {
Hashtable<String, String> props = new Hashtable<>();
@@ -96,7 +93,6 @@ public class AdapterWithoutPropagationTe
}
public static class ServiceAdapter implements AdaptedService {
- private volatile OriginalService m_originalService;
private final Ensure m_ensure;
public ServiceAdapter(Ensure e) {
@@ -104,7 +100,6 @@ public class AdapterWithoutPropagationTe
}
public void set(OriginalService adaptee, Dictionary<String, String> props) {
- m_originalService = adaptee;
Assert.assertEquals("bar", props.get("foo"));
m_ensure.step(1);
}
@@ -116,7 +111,8 @@ public class AdapterWithoutPropagationTe
}
static class ServiceConsumer {
- private volatile AdaptedService m_service;
+ @SuppressWarnings("unused")
+ private volatile AdaptedService m_service;
private final Ensure m_ensure;
public ServiceConsumer(Ensure e) {
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/FELIX2348_ResourceAdapterTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/FELIX2348_ResourceAdapterTest.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/FELIX2348_ResourceAdapterTest.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/FELIX2348_ResourceAdapterTest.java Fri Jan 30 15:48:23 2015
@@ -20,26 +20,14 @@ package org.apache.felix.dm.itest.api;
import java.io.FileNotFoundException;
import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.junit.Assert;
import org.apache.felix.dm.DependencyManager;
import org.apache.felix.dm.ResourceHandler;
-import org.apache.felix.dm.ResourceUtil;
import org.apache.felix.dm.itest.util.Ensure;
import org.apache.felix.dm.itest.util.TestBase;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Filter;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
+import org.junit.Assert;
-@SuppressWarnings({"deprecation", "unchecked", "rawtypes", "unused"})
public class FELIX2348_ResourceAdapterTest extends TestBase {
public void testBasicResourceAdapter() throws Exception {
DependencyManager m = getDM();
@@ -67,7 +55,7 @@ public class FELIX2348_ResourceAdapterTe
Assert.assertNotNull("resource not injected", m_resource);
m_ensure.step(2);
try {
- InputStream in = m_resource.openStream();
+ m_resource.openStream();
}
catch (FileNotFoundException e) {
m_ensure.step(3);
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/FilterIndexResourceAdapterTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/FilterIndexResourceAdapterTest.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/FilterIndexResourceAdapterTest.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/FilterIndexResourceAdapterTest.java Fri Jan 30 15:48:23 2015
@@ -24,25 +24,14 @@ package org.apache.felix.dm.itest.api;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
-import java.net.MalformedURLException;
import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.junit.Assert;
import org.apache.felix.dm.DependencyManager;
import org.apache.felix.dm.ResourceHandler;
-import org.apache.felix.dm.ResourceUtil;
import org.apache.felix.dm.itest.util.Ensure;
import org.apache.felix.dm.itest.util.TestBase;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Filter;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
+import org.junit.Assert;
-@SuppressWarnings({"deprecation", "unchecked", "rawtypes"})
public class FilterIndexResourceAdapterTest extends TestBase {
public void testBasicResourceAdapter() throws Exception {
System.setProperty("org.apache.felix.dependencymanager.filterindex", "objectClass");
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterDependencyAddAndRemoveTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterDependencyAddAndRemoveTest.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterDependencyAddAndRemoveTest.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterDependencyAddAndRemoveTest.java Fri Jan 30 15:48:23 2015
@@ -18,12 +18,7 @@
*/
package org.apache.felix.dm.itest.api;
-import java.net.MalformedURLException;
import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.junit.Assert;
import org.apache.felix.dm.Component;
import org.apache.felix.dm.ComponentState;
@@ -31,15 +26,9 @@ import org.apache.felix.dm.ComponentStat
import org.apache.felix.dm.Dependency;
import org.apache.felix.dm.DependencyManager;
import org.apache.felix.dm.ResourceHandler;
-import org.apache.felix.dm.ResourceUtil;
import org.apache.felix.dm.itest.util.Ensure;
import org.apache.felix.dm.itest.util.TestBase;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Filter;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
-@SuppressWarnings({"deprecation", "unused"})
public class ResourceAdapterDependencyAddAndRemoveTest extends TestBase {
public void testBasicResourceAdapter() throws Exception {
DependencyManager m = getDM();
@@ -98,10 +87,8 @@ public class ResourceAdapterDependencyAd
static class ResourceAdapter {
protected URL m_resource; // injected by reflection.
- private Ensure m_ensure;
ResourceAdapter(Ensure e) {
- m_ensure = e;
}
}
@@ -110,9 +97,7 @@ public class ResourceAdapterDependencyAd
}
static class ServiceProvider implements ServiceInterface {
- private final Ensure m_ensure;
public ServiceProvider(Ensure e) {
- m_ensure = e;
}
public void invoke() {
}
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterDependencyAddAndRemoveTest2.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterDependencyAddAndRemoveTest2.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterDependencyAddAndRemoveTest2.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterDependencyAddAndRemoveTest2.java Fri Jan 30 15:48:23 2015
@@ -18,14 +18,8 @@
*/
package org.apache.felix.dm.itest.api;
-import java.net.MalformedURLException;
import java.net.URL;
-import java.util.HashMap;
import java.util.Hashtable;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.junit.Assert;
import org.apache.felix.dm.Component;
import org.apache.felix.dm.ComponentState;
@@ -33,15 +27,9 @@ import org.apache.felix.dm.ComponentStat
import org.apache.felix.dm.Dependency;
import org.apache.felix.dm.DependencyManager;
import org.apache.felix.dm.ResourceHandler;
-import org.apache.felix.dm.ResourceUtil;
import org.apache.felix.dm.itest.util.Ensure;
import org.apache.felix.dm.itest.util.TestBase;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Filter;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
-@SuppressWarnings({"deprecation", "unchecked", "rawtypes", "unused"})
public class ResourceAdapterDependencyAddAndRemoveTest2 extends TestBase {
public void testBasicResourceAdapter() throws Exception {
DependencyManager m = getDM();
@@ -50,14 +38,14 @@ public class ResourceAdapterDependencyAd
// create a resource provider
ResourceProvider provider = new ResourceProvider(context, new URL("file://localhost/path/to/file1.txt"));
// activate it
- Hashtable props = new Hashtable();
+ Hashtable<String, String> props = new Hashtable<String, String>();
props.put("id", "1");
m.add(m.createComponent()
.setInterface(ServiceInterface.class.getName(), props)
.setImplementation(new ServiceProvider(e))
);
- props = new Hashtable();
+ props = new Hashtable<String, String>();
props.put("id", "2");
m.add(m.createComponent()
.setInterface(ServiceInterface.class.getName(), props)
@@ -97,11 +85,9 @@ public class ResourceAdapterDependencyAd
static class ResourceAdapter {
protected URL m_resource; // injected by reflection.
- private Ensure m_ensure;
final Dependency m_dependency;
ResourceAdapter(Ensure e, Dependency d) {
- m_ensure = e;
m_dependency = d;
}
}
@@ -111,16 +97,13 @@ public class ResourceAdapterDependencyAd
}
static class ServiceProvider implements ServiceInterface {
- private final Ensure m_ensure;
public ServiceProvider(Ensure e) {
- m_ensure = e;
}
public void invoke() {
}
}
static class CallbackInstance {
-
private final Ensure m_ensure;
private final Dependency m_dependency;
@@ -161,10 +144,7 @@ public class ResourceAdapterDependencyAd
}
static class ComponentStateListenerImpl implements ComponentStateListener {
- private final Ensure m_ensure;
-
public ComponentStateListenerImpl(Ensure e) {
- this.m_ensure = e;
}
@Override
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterTest.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterTest.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceAdapterTest.java Fri Jan 30 15:48:23 2015
@@ -20,26 +20,14 @@ package org.apache.felix.dm.itest.api;
import java.io.FileNotFoundException;
import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.junit.Assert;
import org.apache.felix.dm.DependencyManager;
import org.apache.felix.dm.ResourceHandler;
-import org.apache.felix.dm.ResourceUtil;
import org.apache.felix.dm.itest.util.Ensure;
import org.apache.felix.dm.itest.util.TestBase;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Filter;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
+import org.junit.Assert;
-@SuppressWarnings({"deprecation", "unchecked", "rawtypes", "unused"})
public class ResourceAdapterTest extends TestBase {
public void testBasicResourceAdapter() throws Exception {
DependencyManager m = getDM();
@@ -76,7 +64,7 @@ public class ResourceAdapterTest extends
Assert.assertNotNull("resource not injected", m_resource);
m_ensure.step(2);
try {
- InputStream in = m_resource.openStream();
+ m_resource.openStream();
}
catch (FileNotFoundException e) {
m_ensure.step(3);
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceDependencyTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceDependencyTest.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceDependencyTest.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceDependencyTest.java Fri Jan 30 15:48:23 2015
@@ -23,24 +23,14 @@ import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.net.MalformedURLException;
import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.junit.Assert;
import org.apache.felix.dm.Component;
import org.apache.felix.dm.DependencyManager;
import org.apache.felix.dm.ResourceHandler;
-import org.apache.felix.dm.ResourceUtil;
import org.apache.felix.dm.itest.util.Ensure;
import org.apache.felix.dm.itest.util.TestBase;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Filter;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
+import org.junit.Assert;
-@SuppressWarnings({"deprecation", "rawtypes", "unused"})
public class ResourceDependencyTest extends TestBase {
public void testResourceDependency() throws MalformedURLException {
DependencyManager m = getDM();
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceProvider.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceProvider.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceProvider.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ResourceProvider.java Fri Jan 30 15:48:23 2015
@@ -23,7 +23,6 @@ import java.util.HashMap;
import java.util.Map;
import org.junit.Assert;
-
import org.apache.felix.dm.ResourceHandler;
import org.apache.felix.dm.ResourceUtil;
import org.osgi.framework.BundleContext;
@@ -47,7 +46,8 @@ class ResourceProvider {
}
}
- public void change(int resourceIndex) {
+ @SuppressWarnings("deprecation")
+ public void change(int resourceIndex) {
Map<ResourceHandler, Filter> handlers = new HashMap<>();
synchronized (m_handlers) {
handlers.putAll(m_handlers);
@@ -61,7 +61,8 @@ class ResourceProvider {
}
}
- public void add(ServiceReference ref, ResourceHandler handler) {
+ @SuppressWarnings("deprecation")
+ public void add(ServiceReference ref, ResourceHandler handler) {
String filterString = (String) ref.getProperty("filter");
Filter filter = null;
if (filterString != null) {
@@ -93,7 +94,8 @@ class ResourceProvider {
}
}
- private void removeResources(ResourceHandler handler, Filter filter) {
+ @SuppressWarnings("deprecation")
+ private void removeResources(ResourceHandler handler, Filter filter) {
for (int i = 0; i < m_resources.length; i++) {
if (filter == null || filter.match(ResourceUtil.createProperties(m_resources[i]))) {
handler.removed(m_resources[i]);
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ServiceUpdateTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ServiceUpdateTest.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ServiceUpdateTest.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/api/ServiceUpdateTest.java Fri Jan 30 15:48:23 2015
@@ -18,30 +18,18 @@
*/
package org.apache.felix.dm.itest.api;
-import java.net.MalformedURLException;
import java.net.URL;
import java.util.Dictionary;
import java.util.Enumeration;
-import java.util.HashMap;
import java.util.Hashtable;
-import java.util.Map;
-import java.util.Map.Entry;
import java.util.Properties;
-import org.junit.Assert;
-
import org.apache.felix.dm.Component;
import org.apache.felix.dm.DependencyManager;
import org.apache.felix.dm.ResourceHandler;
-import org.apache.felix.dm.ResourceUtil;
import org.apache.felix.dm.itest.util.Ensure;
import org.apache.felix.dm.itest.util.TestBase;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.Filter;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
-@SuppressWarnings({"deprecation", "unchecked", "rawtypes"})
public class ServiceUpdateTest extends TestBase {
public void testServiceUpdate() throws Exception {
final DependencyManager m = getDM();
@@ -71,7 +59,7 @@ public class ServiceUpdateTest extends T
// note that we can provide an actual implementation instance here because there will be only one
// adapter, normally you'd want to specify a Class here
CallbackInstance callbackInstance = new CallbackInstance(e);
- Hashtable serviceProps = new Hashtable();
+ Hashtable<String, String> serviceProps = new Hashtable<String, String>();
serviceProps.put("number", "1");
Component component = m.createResourceAdapterService("(&(path=/path/to/*.txt)(host=localhost))", false, callbackInstance, "changed")
.setImplementation(new ResourceAdapter(e))
@@ -150,11 +138,11 @@ public class ServiceUpdateTest extends T
Properties newProps = new Properties();
// update the component's service properties
- Dictionary dict = component.getServiceProperties();
- Enumeration e = dict.keys();
+ Dictionary<String, String> dict = component.getServiceProperties();
+ Enumeration<String> e = dict.keys();
while (e.hasMoreElements()) {
- String key = (String) e.nextElement();
- String value = (String) dict.get(key);
+ String key = e.nextElement();
+ String value = dict.get(key);
newProps.setProperty(key, value);
}
newProps.setProperty("new-property", "2");
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/ComponentInstanceImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/ComponentInstanceImpl.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/ComponentInstanceImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.runtime/src/org/apache/felix/dm/runtime/ComponentInstanceImpl.java Fri Jan 30 15:48:23 2015
@@ -27,12 +27,11 @@ import java.util.List;
import org.apache.felix.dm.Component;
import org.apache.felix.dm.Dependency;
import org.apache.felix.dm.DependencyManager;
-import org.apache.felix.dm.runtime.api.ComponentFactory;
import org.apache.felix.dm.runtime.api.ComponentInstance;
import org.osgi.framework.Bundle;
/**
- * Implemantation for our DM Runtime ComponentInstance.
+ * Implementation for our DM Runtime ComponentInstance.
*
* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
*/
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/Activator.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/Activator.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/Activator.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/Activator.java Fri Jan 30 15:48:23 2015
@@ -40,8 +40,6 @@ public class Activator implements Bundle
private final static String DEFAULT_SCOPE = "dependencymanager";
public void start(BundleContext context) throws Exception {
- // Provide DependencyManager shell commands for the Gogo Shell.
-
String scope = context.getProperty(SCOPE);
if (scope == null) {
scope = DEFAULT_SCOPE;
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/ComponentId.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/ComponentId.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/ComponentId.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/ComponentId.java Fri Jan 30 15:48:23 2015
@@ -18,6 +18,11 @@
*/
package org.apache.felix.dm.shell;
+/**
+ * Unique identification of a component based on its name, type and bundle name.
+ *
+ * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
+ */
public class ComponentId implements Comparable<ComponentId> {
private final String name;
private final String type;
@@ -88,7 +93,8 @@ public class ComponentId implements Comp
}
public int compareTo(ComponentId o) {
+ // TODO it is common to have compareTo use the same fields that equals does
+ // if not for a good reason, document this
return name.compareTo(o.name);
}
-
}
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/DMCommand.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/DMCommand.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/DMCommand.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager.shell/src/org/apache/felix/dm/shell/DMCommand.java Fri Jan 30 15:48:23 2015
@@ -54,7 +54,7 @@ import org.osgi.framework.InvalidSyntaxE
@Descriptor("Commands used to dump all existing Dependency Manager components")
public class DMCommand {
/**
- * Bundle context used to create OSGI filters.
+ * Bundle context used to create OSGi filters.
*/
private final BundleContext m_context;
@@ -80,7 +80,7 @@ public class DMCommand {
private final static String ENV_COMPACT = "dependencymanager.compact";
/**
- * Name of a specific gogo shell variable, which may be used to configure an OSGI filter, normally
+ * Name of a specific gogo shell variable, which may be used to configure an OSGi filter, normally
* passed to the "dm services" option. It is used to display only some service providing components
* matching the given filter. The filter can contain an "objectClass" option.
* Example:
@@ -165,149 +165,145 @@ public class DMCommand {
@Descriptor("<Max number of top components to display (0=all)> This command displays components callbacks (init/start) times>")
@Parameter(names = {"top"}, absentValue = "-1")
- int top)
+ int top) throws Throwable
{
- try {
- boolean comp = Boolean.parseBoolean(getParam(session, ENV_COMPACT, compact));
- services = getParam(session, ENV_SERVICES, services);
- String[] componentsRegex = getParams(session, ENV_COMPONENTS, components);
- ArrayList<String> bids = new ArrayList<String>(); // list of bundle ids or bundle symbolic names
- ArrayList<Long> cids = new ArrayList<Long>(); // list of component ids
-
- // Parse and check componentIds option
- StringTokenizer tok = new StringTokenizer(componentIds, ", ");
- while (tok.hasMoreTokens()) {
- try {
- cids.add(Long.parseLong(tok.nextToken()));
- } catch (NumberFormatException e) {
- System.out.println("Invalid value for componentIds option");
- return;
- }
- }
-
- // Parse services fitler
- Filter servicesFilter = null;
+ boolean comp = Boolean.parseBoolean(getParam(session, ENV_COMPACT, compact));
+ services = getParam(session, ENV_SERVICES, services);
+ String[] componentsRegex = getParams(session, ENV_COMPONENTS, components);
+ ArrayList<String> bids = new ArrayList<String>(); // list of bundle ids or bundle symbolic names
+ ArrayList<Long> cids = new ArrayList<Long>(); // list of component ids
+
+ // Parse and check componentIds option
+ StringTokenizer tok = new StringTokenizer(componentIds, ", ");
+ while (tok.hasMoreTokens()) {
try {
- if (services != null) {
- servicesFilter = m_context.createFilter(services);
- }
- } catch (InvalidSyntaxException e) {
- System.out.println("Invalid services OSGi filter: " + services);
- e.printStackTrace(System.err);
+ cids.add(Long.parseLong(tok.nextToken()));
+ } catch (NumberFormatException e) {
+ System.out.println("Invalid value for componentIds option");
return;
}
+ }
- // Parse and check bundleIds option
- tok = new StringTokenizer(bundleIds, ", ");
- while (tok.hasMoreTokens()) {
- bids.add(tok.nextToken());
- }
-
- if (top != -1) {
- showTopComponents(top);
- return;
- }
-
- if (wtf) {
- wtf();
- return;
+ // Parse services filter
+ Filter servicesFilter = null;
+ try {
+ if (services != null) {
+ servicesFilter = m_context.createFilter(services);
}
+ } catch (InvalidSyntaxException e) {
+ System.out.println("Invalid services OSGi filter: " + services);
+ e.printStackTrace(System.err);
+ return;
+ }
- // lookup all dependency manager service components
- List<DependencyManager> managers = DependencyManager.getDependencyManagers();
- Collections.sort(managers, SORTER);
- Iterator<DependencyManager> iterator = managers.iterator();
- long numberOfComponents = 0;
- long numberOfDependencies = 0;
- long lastBundleId = -1;
- while (iterator.hasNext()) {
- DependencyManager manager = iterator.next();
- List<Component> complist = manager.getComponents();
- Iterator<Component> componentIterator = complist.iterator();
- while (componentIterator.hasNext()) {
- Component component = componentIterator.next();
- ComponentDeclaration sc = component.getComponentDeclaration();
- String name = sc.getName();
- // check if this component is enabled or disabled.
- if (!mayDisplay(component, servicesFilter, componentsRegex, cids)) {
- continue;
- }
- int state = sc.getState();
- Bundle bundle = sc.getBundleContext().getBundle();
- if (matchBundle(bundle, bids)) {
- long bundleId = bundle.getBundleId();
- if (notavail) {
- if (sc.getState() != ComponentDeclaration.STATE_UNREGISTERED) {
- continue;
- }
+ // Parse and check bundleIds option
+ tok = new StringTokenizer(bundleIds, ", ");
+ while (tok.hasMoreTokens()) {
+ bids.add(tok.nextToken());
+ }
+
+ if (top != -1) {
+ showTopComponents(top);
+ return;
+ }
+
+ if (wtf) {
+ wtf();
+ return;
+ }
+
+ // lookup all dependency manager service components
+ List<DependencyManager> managers = DependencyManager.getDependencyManagers();
+ Collections.sort(managers, SORTER);
+ Iterator<DependencyManager> iterator = managers.iterator();
+ long numberOfComponents = 0;
+ long numberOfDependencies = 0;
+ long lastBundleId = -1;
+ while (iterator.hasNext()) {
+ DependencyManager manager = iterator.next();
+ List<Component> complist = manager.getComponents();
+ Iterator<Component> componentIterator = complist.iterator();
+ while (componentIterator.hasNext()) {
+ Component component = componentIterator.next();
+ ComponentDeclaration sc = component.getComponentDeclaration();
+ String name = sc.getName();
+ // check if this component is enabled or disabled.
+ if (!mayDisplay(component, servicesFilter, componentsRegex, cids)) {
+ continue;
+ }
+ int state = sc.getState();
+ Bundle bundle = sc.getBundleContext().getBundle();
+ if (matchBundle(bundle, bids)) {
+ long bundleId = bundle.getBundleId();
+ if (notavail) {
+ if (sc.getState() != ComponentDeclaration.STATE_UNREGISTERED) {
+ continue;
}
+ }
- numberOfComponents++;
- if (lastBundleId != bundleId) {
- lastBundleId = bundleId;
- if (comp) {
- System.out.println("[" + bundleId + "] " + compactName(bundle.getSymbolicName()));
- } else {
- System.out.println("[" + bundleId + "] " + bundle.getSymbolicName());
- }
- }
+ numberOfComponents++;
+ if (lastBundleId != bundleId) {
+ lastBundleId = bundleId;
if (comp) {
- System.out.print(" [" + sc.getId() + "] " + compactName(name) + " "
- + compactState(ComponentDeclaration.STATE_NAMES[state]));
+ System.out.println("[" + bundleId + "] " + compactName(bundle.getSymbolicName()));
} else {
- System.out.println(" [" + sc.getId() + "] " + name + " "
- + ComponentDeclaration.STATE_NAMES[state]);
+ System.out.println("[" + bundleId + "] " + bundle.getSymbolicName());
}
- if (!nodeps) {
- ComponentDependencyDeclaration[] dependencies = sc.getComponentDependencies();
- if (dependencies != null && dependencies.length > 0) {
- numberOfDependencies += dependencies.length;
- if (comp) {
- System.out.print('(');
- }
- for (int j = 0; j < dependencies.length; j++) {
- ComponentDependencyDeclaration dep = dependencies[j];
- if (notavail && !isUnavailable(dep)) {
- continue;
- }
- String depName = dep.getName();
- String depType = dep.getType();
- int depState = dep.getState();
-
- if (comp) {
- if (j > 0) {
- System.out.print(' ');
- }
- System.out.print(compactName(depName) + " " + compactState(depType) + " "
- + compactState(ComponentDependencyDeclaration.STATE_NAMES[depState]));
- } else {
- System.out.println(" " + depName + " " + depType + " "
- + ComponentDependencyDeclaration.STATE_NAMES[depState]);
- }
+ }
+ if (comp) {
+ System.out.print(" [" + sc.getId() + "] " + compactName(name) + " "
+ + compactState(ComponentDeclaration.STATE_NAMES[state]));
+ } else {
+ System.out.println(" [" + sc.getId() + "] " + name + " "
+ + ComponentDeclaration.STATE_NAMES[state]);
+ }
+ if (!nodeps) {
+ ComponentDependencyDeclaration[] dependencies = sc.getComponentDependencies();
+ if (dependencies != null && dependencies.length > 0) {
+ numberOfDependencies += dependencies.length;
+ if (comp) {
+ System.out.print('(');
+ }
+ for (int j = 0; j < dependencies.length; j++) {
+ ComponentDependencyDeclaration dep = dependencies[j];
+ if (notavail && !isUnavailable(dep)) {
+ continue;
}
+ String depName = dep.getName();
+ String depType = dep.getType();
+ int depState = dep.getState();
+
if (comp) {
- System.out.print(')');
+ if (j > 0) {
+ System.out.print(' ');
+ }
+ System.out.print(compactName(depName) + " " + compactState(depType) + " "
+ + compactState(ComponentDependencyDeclaration.STATE_NAMES[depState]));
+ } else {
+ System.out.println(" " + depName + " " + depType + " "
+ + ComponentDependencyDeclaration.STATE_NAMES[depState]);
}
}
- }
- if (comp) {
- System.out.println();
+ if (comp) {
+ System.out.print(')');
+ }
}
}
+ if (comp) {
+ System.out.println();
+ }
}
}
+ }
- if (stats) {
- System.out.println("Statistics:");
- System.out.println(" - Dependency managers: " + managers.size());
- System.out.println(" - Components: " + numberOfComponents);
- if (!nodeps) {
- System.out.println(" - Dependencies: " + numberOfDependencies);
- }
+ if (stats) {
+ System.out.println("Statistics:");
+ System.out.println(" - Dependency managers: " + managers.size());
+ System.out.println(" - Components: " + numberOfComponents);
+ if (!nodeps) {
+ System.out.println(" - Dependencies: " + numberOfDependencies);
}
- } catch (Throwable t) {
- t.printStackTrace();
}
}
@@ -557,13 +553,14 @@ public class DMCommand {
}
public void wtf() {
- List<ComponentDeclaration> downComponents = getDependenciesThatAreDown();
+ List<ComponentDeclaration> downComponents = getComponentsThatAreUnregistered();
if (downComponents.isEmpty()) {
System.out.println("No missing dependencies found.");
}
else {
- System.out.println(downComponents.size() + " missing dependencies found.");
- System.out.println("-------------------------------------");
+ String message = downComponents.size() + " missing dependencies found.";
+ System.out.println(message);
+ System.out.println("----------------------------------------------------".substring(0, message.length()));
}
listResolvedBundles();
listInstalledBundles();
@@ -581,20 +578,20 @@ public class DMCommand {
return downComponentsRoot;
}
- private List<ComponentDeclaration> getDependenciesThatAreDown() {
+ private List<ComponentDeclaration> getComponentsThatAreUnregistered() {
List<DependencyManager> dependencyManagers = DependencyManager.getDependencyManagers();
- List<ComponentDeclaration> downComponents = new ArrayList<ComponentDeclaration>();
+ List<ComponentDeclaration> unregisteredComponents = new ArrayList<ComponentDeclaration>();
for (DependencyManager dm : dependencyManagers) {
List<Component> components = dm.getComponents();
- // first create a list of all down components
+ // create a list of all components that are unregistered
for (Component c : components) {
ComponentDeclaration cd = c.getComponentDeclaration();
if (cd.getState() == ComponentDeclaration.STATE_UNREGISTERED) {
- downComponents.add(cd);
+ unregisteredComponents.add(cd);
}
}
}
- return downComponents;
+ return unregisteredComponents;
}
private void listResolvedBundles() {
@@ -639,10 +636,10 @@ public class DMCommand {
return headers.get("Fragment-Host") != null;
}
- private void listAllMissingConfigurations(Set<ComponentId> downComponentsRoot) {
- if (hasMissingType(downComponentsRoot, CONFIGURATION)) {
+ private void listAllMissingConfigurations(Set<ComponentId> unregisteredComponentsRoot) {
+ if (hasMissingType(unregisteredComponentsRoot, CONFIGURATION)) {
System.out.println("The following configuration(s) are missing: ");
- for (ComponentId s : downComponentsRoot) {
+ for (ComponentId s : unregisteredComponentsRoot) {
if (CONFIGURATION.equals(s.getType())) {
System.out.println(" * " + s.getName() + " for bundle " + s.getBundleName());
}
@@ -650,10 +647,10 @@ public class DMCommand {
}
}
- private void listAllMissingServices(List<ComponentDeclaration> downComponents, Set<ComponentId> downComponentsRoot) {
- if (hasMissingType(downComponentsRoot, SERVICE)) {
+ private void listAllMissingServices(List<ComponentDeclaration> downComponents, Set<ComponentId> unregisteredComponentsRoot) {
+ if (hasMissingType(unregisteredComponentsRoot, SERVICE)) {
System.out.println("The following service(s) are missing: ");
- for (ComponentId s : downComponentsRoot) {
+ for (ComponentId s : unregisteredComponentsRoot) {
if (SERVICE.equals(s.getType())) {
System.out.print(" * " + s.getName());
ComponentDeclaration component = getComponentDeclaration(s.getName(), downComponents);
@@ -685,11 +682,11 @@ public class DMCommand {
private List<ComponentId> getRoot(List<ComponentDeclaration> downComponents, ComponentDeclaration c, List<ComponentId> backTrace) {
ComponentDependencyDeclaration[] componentDependencies = c.getComponentDependencies();
- int downDeps = 0;
+ int unregisteredDeps = 0;
List<ComponentId> result = new ArrayList<ComponentId>();
for (ComponentDependencyDeclaration cdd : componentDependencies) {
if (cdd.getState() == ComponentDependencyDeclaration.STATE_UNAVAILABLE_REQUIRED) {
- downDeps++;
+ unregisteredDeps++;
// Detect missing configuration dependency
if (CONFIGURATION.equals(cdd.getType())) {
String bsn = c.getBundleContext().getBundle().getSymbolicName();
@@ -706,7 +703,7 @@ public class DMCommand {
// Detect circular dependency
ComponentId componentId = new ComponentId(cdd.getName(), cdd.getType(), null);
if (backTrace.contains(componentId)) {
- // We already got this one so its a circular dependency
+ // We already got this one so it's a circular dependency
System.out.print("Circular dependency found:\n *");
for (ComponentId cid : backTrace) {
System.out.print(" -> " + cid.getName() + " ");
@@ -719,7 +716,7 @@ public class DMCommand {
return getRoot(downComponents, component, backTrace);
}
}
- if (downDeps > 0 && result.isEmpty()) {
+ if (unregisteredDeps > 0 && result.isEmpty()) {
result.add(new ComponentId(c.getName(), SERVICE, c.getBundleContext().getBundle().getSymbolicName()));
}
return result;
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/DependencyActivatorBase.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/DependencyActivatorBase.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/DependencyActivatorBase.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/DependencyActivatorBase.java Fri Jan 30 15:48:23 2015
@@ -18,7 +18,6 @@
*/
package org.apache.felix.dm;
-import org.apache.felix.dm.impl.Logger;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/DependencyManager.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/DependencyManager.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/DependencyManager.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/DependencyManager.java Fri Jan 30 15:48:23 2015
@@ -35,7 +35,6 @@ import org.apache.felix.dm.impl.Componen
import org.apache.felix.dm.impl.ComponentScheduler;
import org.apache.felix.dm.impl.ConfigurationDependencyImpl;
import org.apache.felix.dm.impl.FactoryConfigurationAdapterImpl;
-import org.apache.felix.dm.impl.Logger;
import org.apache.felix.dm.impl.ResourceAdapterImpl;
import org.apache.felix.dm.impl.ResourceDependencyImpl;
import org.apache.felix.dm.impl.ServiceDependencyImpl;
Added: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/Logger.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/Logger.java?rev=1656039&view=auto
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/Logger.java (added)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/Logger.java Fri Jan 30 15:48:23 2015
@@ -0,0 +1,321 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.felix.dm;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+import org.apache.felix.dm.context.Log;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.BundleException;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceEvent;
+import org.osgi.framework.ServiceListener;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.log.LogService;
+
+/**
+ * This class mimics the standard OSGi <tt>LogService</tt> interface. An
+ * instance of this class is used by the dependency manager for all logging.
+ * By default this class logs messages to standard out. The log level can be set to
+ * control the amount of logging performed, where a higher number results in
+ * more logging. A log level of zero turns off logging completely.
+ *
+ * The log levels match those specified in the OSGi Log Service.
+ * This class also tracks log services and will use the highest ranking
+ * log service, if present, as a back end instead of printing to standard
+ * out. The class uses reflection to invoking the log service's method to
+ * avoid a dependency on the log interface, which is also why it does not
+ * actually implement <code>LogService</code>. This class is in many ways
+ * similar to the one used in the system bundle for that same purpose.
+ *
+ * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
+ */
+public class Logger implements ServiceListener, Log {
+ private static final String LOG_SINGLE_CONTEXT = "org.apache.felix.dependencymanager.singleContextLog";
+ public static final int LOG_ERROR = 1;
+ public static final int LOG_WARNING = 2;
+ public static final int LOG_INFO = 3;
+ public static final int LOG_DEBUG = 4;
+
+ private final BundleContext m_context;
+
+ private final static int LOGGER_OBJECT_IDX = 0;
+ private final static int LOGGER_METHOD_IDX = 1;
+ private static final String ENABLED_LOG_LEVEL = "org.apache.felix.dependencymanager.loglevel";
+ private ServiceReference m_logRef = null;
+ private Object[] m_logger = null;
+ private int m_enabledLevel = LogService.LOG_WARNING;
+ private String m_debugKey;
+
+ public Logger(BundleContext context) {
+ if ("true".equals(System.getProperty(LOG_SINGLE_CONTEXT))) {
+ m_context = FrameworkUtil.getBundle(DependencyManager.class).getBundleContext();
+ } else {
+ m_context = context;
+ }
+ if (m_context != null) {
+ String enabledLevel = m_context.getProperty(ENABLED_LOG_LEVEL);
+ if (enabledLevel != null) {
+ try {
+ m_enabledLevel = Integer.valueOf(enabledLevel);
+ } catch (NumberFormatException e) {}
+ }
+ startListeningForLogService();
+ }
+ }
+
+ public final void log(int level, String msg) {
+ _log(null, level, msg, null);
+ }
+
+ public final void log(int level, String msg, Throwable throwable) {
+ _log(null, level, msg, throwable);
+ }
+
+ public final void log(ServiceReference sr, int level, String msg) {
+ _log(sr, level, msg, null);
+ }
+
+ public final void log(ServiceReference sr, int level, String msg, Throwable throwable) {
+ _log(sr, level, msg, throwable);
+ }
+
+ protected void doLog(ServiceReference sr, int level, String msg, Throwable throwable) {
+ String s = (sr == null) ? null : "SvcRef " + sr;
+ s = (s == null) ? msg : s + " " + msg;
+ s = (throwable == null) ? s : s + " (" + throwable + ")";
+ switch (level) {
+ case LOG_DEBUG:
+ System.out.println("DEBUG: " + s);
+ break;
+ case LOG_ERROR:
+ System.out.println("ERROR: " + s);
+ if (throwable != null) {
+ if ((throwable instanceof BundleException) && (((BundleException) throwable).getNestedException() != null)) {
+ throwable = ((BundleException) throwable).getNestedException();
+ }
+ throwable.printStackTrace();
+ }
+ break;
+ case LOG_INFO:
+ System.out.println("INFO: " + s);
+ break;
+ case LOG_WARNING:
+ System.out.println("WARNING: " + s);
+ break;
+ default:
+ System.out.println("UNKNOWN[" + level + "]: " + s);
+ }
+ }
+
+ private void _log(ServiceReference sr, int level, String msg, Throwable throwable) {
+ if (level <= m_enabledLevel) {
+ StringBuilder sb = new StringBuilder("[");
+ if (m_debugKey != null) {
+ sb.append(m_debugKey).append(" - ");
+ }
+ sb.append(Thread.currentThread().getName());
+ sb.append("] ");
+ sb.append(msg);
+
+ // Save our own copy just in case it changes. We could try to do
+ // more conservative locking here, but let's be optimistic.
+ Object[] logger = m_logger;
+ // Use the log service if available.
+ if (logger != null) {
+ _logReflectively(logger, sr, level, sb.toString(), throwable);
+ }
+ // Otherwise, default logging action.
+ else {
+ doLog(sr, level, sb.toString(), throwable);
+ }
+ }
+ }
+
+ private void _logReflectively(Object[] logger, ServiceReference sr, int level, String msg, Throwable throwable) {
+ if (logger != null) {
+ Object[] params = { sr, new Integer(level), msg, throwable };
+ try {
+ ((Method) logger[LOGGER_METHOD_IDX]).invoke(logger[LOGGER_OBJECT_IDX], params);
+ }
+ catch (InvocationTargetException ex) {
+ System.err.println("Logger: " + ex);
+ }
+ catch (IllegalAccessException ex) {
+ System.err.println("Logger: " + ex);
+ }
+ }
+ }
+
+ /**
+ * This method is called when the bundle context is set;
+ * it simply adds a service listener so that the bundle can track
+ * log services to be used as the back end of the logging mechanism. It also
+ * attempts to get an existing log service, if present, but in general
+ * there will never be a log service present since the system bundle is
+ * started before every other bundle.
+ */
+ private synchronized void startListeningForLogService() {
+ try {
+ // add a service listener for log services, carefully avoiding any code dependency on it
+ m_context.addServiceListener(this, "(objectClass=org.osgi.service.log.LogService)");
+ }
+ catch (InvalidSyntaxException ex) {
+ // this will never happen since the filter is hard coded
+ }
+ // try to get an existing log service
+ m_logRef = m_context.getServiceReference("org.osgi.service.log.LogService");
+ // get the service object if available and set it in the logger
+ if (m_logRef != null) {
+ setLogger(m_context.getService(m_logRef));
+ }
+ }
+
+ /**
+ * This method implements the callback for the ServiceListener interface.
+ * It is public as a byproduct of implementing the interface and should
+ * not be called directly. This method tracks run-time changes to log
+ * service availability. If the log service being used by the framework's
+ * logging mechanism goes away, then this will try to find an alternative.
+ * If a higher ranking log service is registered, then this will switch
+ * to the higher ranking log service.
+ */
+ public final synchronized void serviceChanged(ServiceEvent event) {
+ // if no logger is in use, then grab this one
+ if ((event.getType() == ServiceEvent.REGISTERED) && (m_logRef == null)) {
+ m_logRef = event.getServiceReference();
+ // get the service object and set it in the logger
+ setLogger(m_context.getService(m_logRef));
+ }
+ // if a logger is in use, but this one has a higher ranking, then swap
+ // it for the existing logger
+ else if ((event.getType() == ServiceEvent.REGISTERED) && (m_logRef != null)) {
+ ServiceReference ref = m_context.getServiceReference("org.osgi.service.log.LogService");
+ if (!ref.equals(m_logRef)) {
+ m_context.ungetService(m_logRef);
+ m_logRef = ref;
+ setLogger(m_context.getService(m_logRef));
+ }
+ }
+ // if the current logger is going away, release it and try to
+ // find another one
+ else if ((event.getType() == ServiceEvent.UNREGISTERING) && m_logRef != null && m_logRef.equals(event.getServiceReference())) {
+ // Unget the service object.
+ m_context.ungetService(m_logRef);
+ // Try to get an existing log service.
+ m_logRef = m_context.getServiceReference("org.osgi.service.log.LogService");
+ // get the service object if available and set it in the logger
+ if (m_logRef != null) {
+ setLogger(m_context.getService(m_logRef));
+ }
+ else {
+ setLogger(null);
+ }
+ }
+ }
+
+ /**
+ * This method sets the new log service object. It also caches the method to
+ * invoke. The service object and method are stored in array to optimistically
+ * eliminate the need to locking when logging.
+ */
+ private void setLogger(Object logObj) {
+ if (logObj == null) {
+ m_logger = null;
+ }
+ else {
+ Class<?>[] formalParams = { ServiceReference.class, Integer.TYPE, String.class, Throwable.class };
+ try {
+ Method logMethod = logObj.getClass().getMethod("log", formalParams);
+ logMethod.setAccessible(true);
+ m_logger = new Object[] { logObj, logMethod };
+ }
+ catch (NoSuchMethodException ex) {
+ System.err.println("Logger: " + ex);
+ m_logger = null;
+ }
+ }
+ }
+
+ public void setEnabledLevel(int enabledLevel) {
+ m_enabledLevel = enabledLevel;
+ }
+
+ public void setDebugKey(String debugKey) {
+ m_debugKey = debugKey;
+ }
+
+ public String getDebugKey() {
+ return m_debugKey;
+ }
+
+ // --------------- org.apache.felix.dm.context.Log interface --------------------------------------------
+
+ @Override
+ public void err(String format, Object... params) {
+ log(LogService.LOG_ERROR, String.format(format, params));
+ }
+
+ @Override
+ public void err(String format, Throwable err, Object... params) {
+ log(LogService.LOG_ERROR, String.format(format, params), err);
+ }
+
+ @Override
+ public void warn(String format, Object... params) {
+ log(LogService.LOG_WARNING, String.format(format, params));
+ }
+
+ @Override
+ public void warn(String format, Throwable err, Object... params) {
+ log(LogService.LOG_WARNING, String.format(format, params), err);
+ }
+
+ @Override
+ public boolean info() {
+ return m_enabledLevel >= LogService.LOG_INFO;
+ }
+
+ @Override
+ public void info(String format, Object... params) {
+ log(LogService.LOG_INFO, String.format(format, params));
+ }
+
+ @Override
+ public void info(String format, Throwable err, Object... params) {
+ log(LogService.LOG_INFO, String.format(format, params), err);
+ }
+
+ @Override
+ public boolean debug() {
+ return m_enabledLevel >= LogService.LOG_DEBUG;
+ }
+
+ @Override
+ public void debug(String format, Object... params) {
+ log(LogService.LOG_DEBUG, String.format(format, params));
+ }
+
+ @Override
+ public void debug(String format, Throwable err, Object... params) {
+ log(LogService.LOG_DEBUG, String.format(format, params), err);
+ }
+}
\ No newline at end of file
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/BundleDependencyImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/BundleDependencyImpl.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/BundleDependencyImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/BundleDependencyImpl.java Fri Jan 30 15:48:23 2015
@@ -35,7 +35,6 @@ import org.osgi.framework.BundleEvent;
import org.osgi.framework.Filter;
import org.osgi.framework.FrameworkUtil;
import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.service.log.LogService;
/**
* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ComponentImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ComponentImpl.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ComponentImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ComponentImpl.java Fri Jan 30 15:48:23 2015
@@ -39,9 +39,7 @@ import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentSkipListSet;
import java.util.concurrent.CopyOnWriteArrayList;
-import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Executor;
-import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong;
@@ -52,6 +50,7 @@ import org.apache.felix.dm.ComponentStat
import org.apache.felix.dm.ComponentStateListener;
import org.apache.felix.dm.Dependency;
import org.apache.felix.dm.DependencyManager;
+import org.apache.felix.dm.Logger;
import org.apache.felix.dm.context.ComponentContext;
import org.apache.felix.dm.context.DependencyContext;
import org.apache.felix.dm.context.EventType;
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationDependencyImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationDependencyImpl.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationDependencyImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationDependencyImpl.java Fri Jan 30 15:48:23 2015
@@ -24,6 +24,7 @@ import java.util.Properties;
import java.util.concurrent.atomic.AtomicBoolean;
import org.apache.felix.dm.ConfigurationDependency;
+import org.apache.felix.dm.Logger;
import org.apache.felix.dm.PropertyMetaData;
import org.apache.felix.dm.context.AbstractDependency;
import org.apache.felix.dm.context.DependencyContext;
@@ -36,6 +37,11 @@ import org.osgi.framework.ServiceRegistr
import org.osgi.service.cm.ConfigurationException;
import org.osgi.service.cm.ManagedService;
+/**
+ * Implementation for a configuration dependency.
+ *
+ * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
+ */
public class ConfigurationDependencyImpl extends AbstractDependency<ConfigurationDependency> implements ConfigurationDependency, ManagedService {
private Dictionary<String, Object> m_settings;
private String m_pid;
@@ -167,6 +173,7 @@ public class ConfigurationDependencyImpl
return this;
}
+ @SuppressWarnings("unchecked")
@Override
public Dictionary<String, Object> getProperties() {
if (m_settings == null) {
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationEventImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationEventImpl.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationEventImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ConfigurationEventImpl.java Fri Jan 30 15:48:23 2015
@@ -22,6 +22,11 @@ import java.util.Dictionary;
import org.apache.felix.dm.context.Event;
+/**
+ * Implementation for a configuration event.
+ *
+ * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
+ */
public class ConfigurationEventImpl extends Event {
private final String m_pid;
@@ -39,7 +44,8 @@ public class ConfigurationEventImpl exte
return m_pid.compareTo(((ConfigurationEventImpl) other).m_pid);
}
- @Override
+ @SuppressWarnings("unchecked")
+ @Override
public Dictionary<String, Object> getProperties() {
return getEvent();
}
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/DispatchExecutor.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/DispatchExecutor.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/DispatchExecutor.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/DispatchExecutor.java Fri Jan 30 15:48:23 2015
@@ -23,6 +23,7 @@ import java.util.concurrent.Executor;
import java.util.concurrent.RejectedExecutionException;
import java.util.concurrent.atomic.AtomicBoolean;
+import org.apache.felix.dm.Logger;
import org.osgi.service.log.LogService;
/**
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FactoryConfigurationAdapterImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FactoryConfigurationAdapterImpl.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FactoryConfigurationAdapterImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FactoryConfigurationAdapterImpl.java Fri Jan 30 15:48:23 2015
@@ -27,6 +27,7 @@ import java.util.Hashtable;
import org.apache.felix.dm.Component;
import org.apache.felix.dm.Dependency;
import org.apache.felix.dm.DependencyManager;
+import org.apache.felix.dm.Logger;
import org.apache.felix.dm.PropertyMetaData;
import org.apache.felix.dm.context.DependencyContext;
import org.apache.felix.dm.impl.metatype.MetaTypeProviderImpl;
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FieldUtil.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FieldUtil.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FieldUtil.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FieldUtil.java Fri Jan 30 15:48:23 2015
@@ -28,6 +28,7 @@ import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;
+import org.apache.felix.dm.Logger;
import org.apache.felix.dm.context.DependencyContext;
import org.apache.felix.dm.context.Event;
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FilterComponent.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FilterComponent.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FilterComponent.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/FilterComponent.java Fri Jan 30 15:48:23 2015
@@ -108,7 +108,8 @@ public class FilterComponent implements
return m_component.getClassName();
}
- public Dictionary<String, Object> getServiceProperties() {
+ @SuppressWarnings("unchecked")
+ public Dictionary<String, Object> getServiceProperties() {
return m_serviceProperties;
}
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/SerialExecutor.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/SerialExecutor.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/SerialExecutor.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/SerialExecutor.java Fri Jan 30 15:48:23 2015
@@ -22,6 +22,7 @@ import java.util.concurrent.ConcurrentLi
import java.util.concurrent.Executor;
import java.util.concurrent.atomic.AtomicReference;
+import org.apache.felix.dm.Logger;
import org.osgi.service.log.LogService;
/**
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceDependencyImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceDependencyImpl.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceDependencyImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceDependencyImpl.java Fri Jan 30 15:48:23 2015
@@ -42,7 +42,6 @@ import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
import org.osgi.framework.InvalidSyntaxException;
import org.osgi.framework.ServiceReference;
-import org.osgi.service.log.LogService;
public class ServiceDependencyImpl extends AbstractDependency<ServiceDependency> implements ServiceDependency, ServiceTrackerCustomizer {
protected volatile ServiceTracker m_tracker;
@@ -54,13 +53,13 @@ public class ServiceDependencyImpl exten
private volatile Object m_defaultImplementation;
private volatile Object m_defaultImplementationInstance;
private volatile Object m_nullObject;
- private boolean debug = false;
- private String debugKey;
+ private boolean m_debug = false;
+ private String m_debugKey;
private long m_trackedServiceReferenceId;
public ServiceDependency setDebug(String debugKey) {
- this.debugKey = debugKey;
- this.debug = true;
+ m_debugKey = debugKey;
+ m_debug = true;
return this;
}
@@ -219,8 +218,8 @@ public class ServiceDependencyImpl exten
} else {
throw new IllegalStateException("Could not create tracker for dependency, no service name specified.");
}
- if (debug) {
- m_tracker.setDebug(debugKey);
+ if (m_debug) {
+ m_tracker.setDebug(m_debugKey);
}
m_tracker.open();
super.start();
@@ -249,8 +248,8 @@ public class ServiceDependencyImpl exten
@Override
public void addedService(ServiceReference reference, Object service) {
- if (debug) {
- System.out.println(debugKey + " addedService: ref=" + reference + ", service=" + service);
+ if (m_debug) {
+ System.out.println(m_debugKey + " addedService: ref=" + reference + ", service=" + service);
}
m_component.handleEvent(this, EventType.ADDED,
new ServiceEventImpl(m_component.getBundle(), m_component.getBundleContext(), reference, service));
@@ -511,7 +510,7 @@ public class ServiceDependencyImpl exten
public void invokeSwap(String swapMethod, ServiceReference previousReference, Object previous,
ServiceReference currentReference, Object current, Object[] instances) {
- if (debug) {
+ if (m_debug) {
System.out.println("invoke swap: " + swapMethod + " on component " + m_component + ", instances: " + Arrays.toString(instances) + " - " + ((ComponentDeclaration)m_component).getState());
}
try {
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceEventImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceEventImpl.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceEventImpl.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/ServiceEventImpl.java Fri Jan 30 15:48:23 2015
@@ -76,7 +76,8 @@ public class ServiceEventImpl extends Ev
return m_reference;
}
- @Override
+ @SuppressWarnings("unchecked")
+ @Override
public Dictionary<String, Object> getProperties() {
return ServiceUtil.propertiesToDictionary(m_reference);
}
Modified: felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AbstractFactoryFilterIndex.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AbstractFactoryFilterIndex.java?rev=1656039&r1=1656038&r2=1656039&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AbstractFactoryFilterIndex.java (original)
+++ felix/sandbox/pderop/dependencymanager/org.apache.felix.dependencymanager/src/org/apache/felix/dm/impl/index/AbstractFactoryFilterIndex.java Fri Jan 30 15:48:23 2015
@@ -21,20 +21,20 @@ package org.apache.felix.dm.impl.index;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
-import java.util.Set;
+import java.util.SortedSet;
import java.util.TreeSet;
import org.apache.felix.dm.impl.ServiceUtil;
import org.osgi.framework.Constants;
+import org.osgi.framework.ServiceListener;
import org.osgi.framework.ServiceReference;
/**
* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
*/
public abstract class AbstractFactoryFilterIndex {
-
- protected final Map /* <Long, SortedSet<ServiceReference>> */ m_sidToServiceReferencesMap = new HashMap();
- protected final Map /* <ServiceListener, String> */ m_listenerToFilterMap = new HashMap();
+ protected final Map<Long, SortedSet<ServiceReference>> m_sidToServiceReferencesMap = new HashMap<>();
+ protected final Map <ServiceListener, String> m_listenerToFilterMap = new HashMap<>();
public void addedService(ServiceReference reference, Object service) {
add(reference);
@@ -54,12 +54,12 @@ public abstract class AbstractFactoryFil
removedService(reference, service);
}
- public void add(ServiceReference reference) {
+ public void add(ServiceReference reference) {
Long sid = ServiceUtil.getServiceIdObject(reference);
synchronized (m_sidToServiceReferencesMap) {
- Set list = (Set) m_sidToServiceReferencesMap.get(sid);
+ SortedSet<ServiceReference> list = m_sidToServiceReferencesMap.get(sid);
if (list == null) {
- list = new TreeSet();
+ list = new TreeSet<ServiceReference>();
m_sidToServiceReferencesMap.put(sid, list);
}
list.add(reference);
@@ -71,10 +71,10 @@ public abstract class AbstractFactoryFil
add(reference);
}
- public void remove(ServiceReference reference) {
+ public void remove(ServiceReference reference) {
Long sid = ServiceUtil.getServiceIdObject(reference);
synchronized (m_sidToServiceReferencesMap) {
- Set list = (Set) m_sidToServiceReferencesMap.get(sid);
+ SortedSet<ServiceReference> list = m_sidToServiceReferencesMap.get(sid);
if (list != null) {
list.remove(reference);
}
@@ -90,12 +90,12 @@ public abstract class AbstractFactoryFil
/** Structure to hold internal filter data. */
protected static class FilterData {
- public long serviceId;
- public String objectClass;
- public int ranking;
+ public long m_serviceId;
+ public String m_objectClass;
+ public int m_ranking;
public String toString() {
- return "FilterData [serviceId=" + serviceId + "]";
+ return "FilterData [serviceId=" + m_serviceId + "]";
}
}
}