Author: uiterlix
Date: Fri Oct 25 11:14:49 2013
New Revision: 1535689

URL: http://svn.apache.org/r1535689
Log:
Modified ServiceDependencyImpl debug logging to also include the debugKey in 
the actual log messages.

Modified:
    
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/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=1535689&r1=1535688&r2=1535689&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
 Fri Oct 25 11:14:49 2013
@@ -465,9 +465,7 @@ public class ServiceDependencyImpl exten
     }
 
     public void addedService(ServiceReference ref, Object service) {
-       if (m_debug) {
-               log("addedservice: " + ref);
-       }
+               debugLog("addedservice: " + ref);
         boolean makeAvailable = makeAvailable();
         
         Object[] services;
@@ -478,31 +476,23 @@ public class ServiceDependencyImpl exten
             DependencyService ds = (DependencyService) services[i];
             if (makeAvailable) {
                 if (ds.isInstantiated() && isInstanceBound() && isRequired()) {
-                       if (m_debug) {
-                               log("invoke added: " + ref);
-                       }
+                       debugLog("invoke added: " + ref);
                     invokeAdded(ds, ref, service); //**
                 }
                 // The dependency callback will be deferred until all required 
dependency are available.
-                if (m_debug) {
-                       log("dependency available: " + ref);
-                }
+               debugLog("dependency available: " + ref);
                 ds.dependencyAvailable(this); //**
                 if (!isRequired()) {
                     // For optional dependency, we always invoke callback, 
because at this point, we know
                     // that the service has been started, and the service 
start method has been called.
                     // (See the ServiceImpl.bindService method, which will 
activate optional dependencies using 
                     // startTrackingOptional() method).
-                       if (m_debug) {
-                               log("invoke added: " + ref);
-                       }
+                       debugLog("invoke added: " + ref);
                     invokeAdded(ds, ref, service); //**
                 }
             }
             else {
-               if (m_debug) {
-                       log("dependency changed: " + ref);
-               }
+                       debugLog("dependency changed: " + ref);
                 ds.dependencyChanged(this); //**
                 // At this point, either the dependency is optional (meaning 
that the service has been started,
                 // because if not, then our dependency would not be active); 
or the dependency is required,
@@ -511,9 +501,7 @@ public class ServiceDependencyImpl exten
                 
                 // we only try to invoke the method here if we are really 
already instantiated
                 if (ds.isInstantiated() && ds.getCompositionInstances().length 
> 0) {
-                       if (m_debug) {
-                               log("invoke added: " + ref);
-                       }
+                       debugLog("invoke added: " + ref);
                     invokeAdded(ds, ref, service); //**
                 }
             }
@@ -535,13 +523,9 @@ public class ServiceDependencyImpl exten
     }
 
     public void removedService(ServiceReference ref, Object service) {
-       if (m_debug) {
-               log("removedservice: " + ref);
-       }
+               debugLog("removedservice: " + ref + ", rank: " + 
ref.getProperty("service.ranking"));
         boolean makeUnavailable = makeUnavailable();
-        if (m_debug) {
-               log("make unavailable: " + makeUnavailable);
-        }
+       debugLog("make unavailable: " + makeUnavailable);
         Object[] services;
         synchronized (this) {
             services = m_services.toArray();
@@ -563,14 +547,12 @@ public class ServiceDependencyImpl exten
             }
         }
         // unget what we got in addingService (see ServiceTracker 701.4.1)
-        m_context.ungetService(ref);
+               m_context.ungetService(ref);
 
     }
     
     public void invokeAdded(DependencyService dependencyService, 
ServiceReference reference, Object service) {
-       if (m_debug) {
-               log("invoke added");
-       }
+               debugLog("invoke added");
         boolean added = false;
         synchronized (m_sr) {
             Set set = (Set) m_sr.get(dependencyService);
@@ -610,9 +592,7 @@ public class ServiceDependencyImpl exten
     }
     
     private void handleAspectAwareAdded(final DependencyService 
dependencyService, final ServiceReference reference, final Object service) {
-       if (m_debug) {
-               log("aspectawareadded: " + 
reference.getProperty("service.ranking"));
-       }
+               debugLog("aspectawareadded: " + 
reference.getProperty("service.ranking"));
                if (componentIsDependencyManagerFactory(dependencyService)) {
                        // component is either aspect or adapter factory 
instance, these must be ignored.
                        return;
@@ -645,24 +625,16 @@ public class ServiceDependencyImpl exten
                                // current highest ranked
                                prevHighestRankedService = 
(Tuple)getHighestRankedService(dependencyService, originalServiceId).getValue();
                                newHighestRankedService = 
swapHighestRankedService(dependencyService, originalServiceId, reference, 
service, ranking);
-                               if (m_debug) {
-                                       log("prevhigh: " + 
prevHighestRankedService.getServiceReference().getProperty("service.ranking") + 
", new high: " + 
newHighestRankedService.getServiceReference().getProperty("service.ranking"));
-                               }
+                               debugLog("prevhigh: " + 
prevHighestRankedService.getServiceReference().getProperty("service.ranking") + 
", new high: " + 
newHighestRankedService.getServiceReference().getProperty("service.ranking"));
                                if 
(!prevHighestRankedService.getServiceReference().equals(newHighestRankedService.getServiceReference()))
 {
                                        // new highest ranked service
-                                       if (m_debug) {
-                                               log("New highest ranked to swap 
to");
-                                       }
+                                       debugLog("New highest ranked to swap 
to");
                                        invokeSwapped = true;
                                } else {
-                                       if (m_debug) {
-                                               log("Ignoring lower ranked or 
irrelevant swap");
-                                       }
+                                       debugLog("Ignoring lower ranked or 
irrelevant swap");
                                }
                        }
-                       if (m_debug) {
-                               log(m_componentByRank.toString());
-                       }
+                       debugLog(m_componentByRank.toString());
                        
                        // up until this point should be synchronized on 
m_componentsByRank to keep integrity of the administration and consequences
                        // then the do phase comes, here we want to guarantee 
the effects of this operation are done like they were synchronized, however
@@ -670,15 +642,11 @@ public class ServiceDependencyImpl exten
                        // original service id, therefore we're using our own 
guarded block to ensure the correct order.
                        
                        if (invokeAdded) {
-                               if (m_debug) {
-                                       log("invoke added: " + 
reference.getProperty("service.ranking"));
-                               }
+                               debugLog("invoke added: " + 
reference.getProperty("service.ranking"));
                                callbackRunnable = 
createCallbackRunnable(dependencyService, reference, service, m_callbackAdded);
                                enqueueCallback(callbackRunnable);
                        } else if (invokeSwapped) {
-                               if (m_debug) {
-                                       log("invoke swapped: " + 
newHighestRankedService.getServiceReference().getProperty("service.ranking") + 
" replacing " + 
prevHighestRankedService.getServiceReference().getProperty("service.ranking"));
-                               }
+                               debugLog("invoke swapped: " + 
newHighestRankedService.getServiceReference().getProperty("service.ranking") + 
" replacing " + 
prevHighestRankedService.getServiceReference().getProperty("service.ranking"));
                                callbackRunnable = 
createSwapRunnable(dependencyService, 
prevHighestRankedService.getServiceReference(), 
prevHighestRankedService.getService(), 
newHighestRankedService.getServiceReference(), 
newHighestRankedService.getService());
                                enqueueCallback(callbackRunnable);
                        }       
@@ -718,8 +686,10 @@ public class ServiceDependencyImpl exten
        runnable.run();
     }
     
-    private void log(String message) {
-       m_logger.log(Logger.LOG_DEBUG, message);
+    private void debugLog(String message) {
+       if (m_debug) {
+               m_logger.log(Logger.LOG_DEBUG, "[" + m_debugKey + "] " + 
message);
+       }
     }
     
     private boolean componentIsDependencyManagerFactory(DependencyService 
dependencyService) {
@@ -782,9 +752,7 @@ public class ServiceDependencyImpl exten
                // 1) a call to added(original-service)
                // 2) that causes a swap
                // 3) a call to removed(aspect-service) <-- that's what we're 
talking about
-               if (m_debug) {
-                       log(m_componentByRank.toString());
-               }
+               debugLog("last service: " + m_componentByRank.toString());
                return (componentMap != null && rankings != null && 
rankings.size() == 1 && ((Entry)rankings.entrySet().iterator().next()).getKey()
                                
.equals(ServiceUtil.getRankingAsInteger(reference)));
        }
@@ -795,17 +763,13 @@ public class ServiceDependencyImpl exten
     }
 
     public void invokeRemoved(DependencyService dependencyService, 
ServiceReference reference, Object service) {
-       if (m_debug) {
-               log("invoke removed");
-       }
+               debugLog("invoke removed");
         boolean removed = false;
         synchronized (m_sr) {
             Set set = (Set) m_sr.get(dependencyService);
             removed = (set != null && set.remove(new Tuple(reference, 
service)));
         }
-        if (m_debug) {
-               log("removed: " + removed);
-        }
+       debugLog("removed: " + removed);
         if (removed) {
                if (m_callbackSwapped != null) {
                        handleAspectAwareRemoved(dependencyService, reference, 
service);
@@ -817,9 +781,7 @@ public class ServiceDependencyImpl exten
     }
     
        private void handleAspectAwareRemoved(DependencyService 
dependencyService, ServiceReference reference, Object service) {
-               if (m_debug) {
-                       log("aspectawareremoved: " + 
reference.getProperty("service.ranking"));
-               }
+               debugLog("aspectawareremoved: " + 
reference.getProperty("service.ranking"));
                if (componentIsDependencyManagerFactory(dependencyService)) {
                        // component is either aspect or adapter factory 
instance, these must be ignored.
                        return;
@@ -841,15 +803,11 @@ public class ServiceDependencyImpl exten
                                prevHighestRankedService = 
(Tuple)getHighestRankedService(dependencyService, originalServiceId).getValue();
                                if 
(prevHighestRankedService.getServiceReference().equals(reference)) {
                                        // swapping out
-                                       if (m_debug) {
-                                               log("Swap out on remove!");
-                                       }
+                                       debugLog("Swap out on remove!");
                                        invokeSwapped = true;
                                }
                        }
-                       if (m_debug) {
-                               log("is last service: " + invokeRemoved);
-                       }
+                       debugLog("is last service: " + invokeRemoved);
                        // cleanup
                        Map componentMap = (Map) 
m_componentByRank.get(dependencyService); /* <Long, Map<Integer, Tuple>> */
                        if (componentMap != null) {
@@ -879,15 +837,11 @@ public class ServiceDependencyImpl exten
                        }
                        if (invokeRemoved) {
                                // handle invoke outside the sync block since 
we won't know what will happen there
-                               if (m_debug) {
-                                       log("invoke removed: " + 
reference.getProperty("service.ranking"));
-                               }
+                               debugLog("invoke removed: " + 
reference.getProperty("service.ranking"));
                                callbackRunnable = 
createCallbackRunnable(dependencyService, reference, service, 
m_callbackRemoved);
                                enqueueCallback(callbackRunnable);
                        } else if (invokeSwapped) {
-                               if (m_debug) {
-                                       log("invoke swapped: " + 
newHighestRankedService.getServiceReference().getProperty("service.ranking") + 
" replacing " + 
prevHighestRankedService.getServiceReference().getProperty("service.ranking"));
-                               }
+                               debugLog("invoke swapped: " + 
newHighestRankedService.getServiceReference().getProperty("service.ranking") + 
" replacing " + 
prevHighestRankedService.getServiceReference().getProperty("service.ranking"));
                                callbackRunnable = 
createSwapRunnable(dependencyService, 
prevHighestRankedService.getServiceReference(), 
prevHighestRankedService.getService(), 
newHighestRankedService.getServiceReference(), 
newHighestRankedService.getService());
                                enqueueCallback(callbackRunnable);
                        }
@@ -902,9 +856,7 @@ public class ServiceDependencyImpl exten
        }    
 
     public void invoke(DependencyService dependencyService, ServiceReference 
reference, Object service, String name) {
-       if (m_debug) {
-               log("invoke: " + name);
-       }
+               debugLog("invoke: " + name);
         if (name != null) {
             
dependencyService.invokeCallbackMethod(getCallbackInstances(dependencyService), 
name, 
                 new Class[][] {
@@ -930,25 +882,25 @@ public class ServiceDependencyImpl exten
                }
                
                component.invokeCallbackMethod(getCallbackInstances(component), 
m_callbackSwapped, new Class[][] { 
-                                       { m_trackedServiceName, 
m_trackedServiceName },
-                                       { Object.class, Object.class }, 
-                                       { ServiceReference.class, 
m_trackedServiceName, ServiceReference.class, m_trackedServiceName },
-                                       { ServiceReference.class, Object.class, 
ServiceReference.class, Object.class }, 
-                                       { Component.class, 
m_trackedServiceName, m_trackedServiceName },
-                                       { Component.class, Object.class, 
Object.class }, 
-                                       { Component.class, 
ServiceReference.class, m_trackedServiceName, ServiceReference.class, 
m_trackedServiceName },
-                                       { Component.class, 
ServiceReference.class, Object.class, ServiceReference.class, Object.class } 
-                               }, 
-                               new Object[][] { 
-                                       { previous, current },
-                                       { previous, current }, 
-                                       { previousReference, previous, 
currentServiceReference, current },
-                                       { previousReference, previous, 
currentServiceReference, current },
-                                       { component, previous, current },
-                                       { component, previous, current }, 
-                                       { component, previousReference, 
previous, currentServiceReference, current },
-                                       { component, previousReference, 
previous, currentServiceReference, current }                                    
-                               });
+                       { m_trackedServiceName, m_trackedServiceName },
+                       { Object.class, Object.class }, 
+                       { ServiceReference.class, m_trackedServiceName, 
ServiceReference.class, m_trackedServiceName },
+                       { ServiceReference.class, Object.class, 
ServiceReference.class, Object.class }, 
+                       { Component.class, m_trackedServiceName, 
m_trackedServiceName },
+                       { Component.class, Object.class, Object.class }, 
+                       { Component.class, ServiceReference.class, 
m_trackedServiceName, ServiceReference.class, m_trackedServiceName },
+                       { Component.class, ServiceReference.class, 
Object.class, ServiceReference.class, Object.class } 
+               }, 
+               new Object[][] { 
+                       { previous, current },
+                       { previous, current }, 
+                       { previousReference, previous, currentServiceReference, 
current },
+                       { previousReference, previous, currentServiceReference, 
current },
+                       { component, previous, current },
+                       { component, previous, current }, 
+                       { component, previousReference, previous, 
currentServiceReference, current },
+                       { component, previousReference, previous, 
currentServiceReference, current }                                    
+               });
        }    
 
     protected synchronized boolean makeAvailable() {
@@ -1286,9 +1238,7 @@ public class ServiceDependencyImpl exten
     }
 
     public void invokeAdded(DependencyService service) {
-       if (m_debug) {
-               log("invoke added due to configure. (component is activated)");
-       }
+               debugLog("invoke added due to configure. (component is 
activated)");
         ServiceReference[] refs = m_tracker.getServiceReferences();
         if (refs != null) {
             for (int i = 0; i < refs.length; i++) {
@@ -1300,9 +1250,7 @@ public class ServiceDependencyImpl exten
     }
     
     public void invokeRemoved(DependencyService service) {
-       if (m_debug) {
-               log("invoke removed due to unconfigure. (component is 
destroyed)");
-       }
+               debugLog("invoke removed due to unconfigure. (component is 
destroyed)");
         Set references = null;
         Object[] tupleArray = null;
         synchronized (m_sr) {


Reply via email to