You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by bt...@apache.org on 2009/11/08 20:09:05 UTC

svn commit: r833914 - /incubator/river/jtsk/trunk/src/net/jini/lookup/ServiceDiscoveryManager.java

Author: btmurphy
Date: Sun Nov  8 19:09:05 2009
New Revision: 833914

URL: http://svn.apache.org/viewvc?rev=833914&view=rev
Log:
river-274: Improve logging of diagnostic messages in ServiceDiscoveryManager

Modified:
    incubator/river/jtsk/trunk/src/net/jini/lookup/ServiceDiscoveryManager.java

Modified: incubator/river/jtsk/trunk/src/net/jini/lookup/ServiceDiscoveryManager.java
URL: http://svn.apache.org/viewvc/incubator/river/jtsk/trunk/src/net/jini/lookup/ServiceDiscoveryManager.java?rev=833914&r1=833913&r2=833914&view=diff
==============================================================================
--- incubator/river/jtsk/trunk/src/net/jini/lookup/ServiceDiscoveryManager.java (original)
+++ incubator/river/jtsk/trunk/src/net/jini/lookup/ServiceDiscoveryManager.java Sun Nov  8 19:09:05 2009
@@ -892,7 +892,7 @@
                     synchronized(serviceIdMap) {
                         /* Cancel the lease if the cache has been terminated */
                         if(bCacheTerminated) {
-                            cancelLease(eventReg.lease); 
+                            cancelLease(eventReg.lease);
                         } else {
                             eventRegMap.put(reg, eventReg);
                         }//endif
@@ -1126,9 +1126,29 @@
                  * the associated ServiceItem is an old, previously discovered
                  * item, or a newly discovered item.
                  */
-		if(transition == ServiceRegistrar.TRANSITION_MATCH_NOMATCH) {
+                if(transition == ServiceRegistrar.TRANSITION_MATCH_NOMATCH) {
+                    logger.finer("ServiceDiscoveryManager.NotifyEventTask - "
+                                 +"transition=TRANSITION_MATCH_NOMATCH");
                     handleMatchNoMatch(reg.proxy, sid, item);
                 } else {//(transition == NOMATCH_MATCH or MATCH_MATCH)
+                    if (logger.isLoggable(Level.FINER)) {
+                        if(transition == 
+                                   ServiceRegistrar.TRANSITION_MATCH_MATCH)
+                        {
+                            logger.finer("ServiceDiscoveryManager."
+                                         +"NotifyEventTask - "
+                                         +"transition="
+                                         +"TRANSITION_MATCH_MATCH");
+                        } else if(transition == 
+                                   ServiceRegistrar.TRANSITION_NOMATCH_MATCH)
+                        { 
+                            logger.finer("ServiceDiscoveryManager."
+                                         +"NotifyEventTask - "
+                                         +"transition="
+                                         +"TRANSITION_NOMATCH_MATCH");
+                        }//endif
+                    }//endif
+
                     (new NewOldServiceTask(reg, item,
                        (transition == ServiceRegistrar.TRANSITION_MATCH_MATCH),
                                                thisTaskSeqN)).run();
@@ -1808,6 +1828,16 @@
 				      int transition)
         {
             if(eventSource == null) return;
+
+            if (logger.isLoggable(Level.FINEST)) {
+                if( (item != null) && (item.attributeSets != null) ) {
+                    for(int i=0; i<(item.attributeSets).length; i++) {
+                        logger.finest("notifyServiceMap - attribute["+i+"] = "
+                                      +(item.attributeSets)[i]);
+                    }//end loop
+                }//endif
+            }//endif(FINEST)
+
             synchronized(serviceIdMap) {
                 /* Search eventRegMap for ProxyReg corresponding to event. */
                 ProxyReg reg = null;
@@ -2017,7 +2047,8 @@
              */
             boolean attrsChanged = false;
             boolean versionChanged = false;
-	    if( matchMatchEvent || sameVersion(newItem,oldItem) ) {
+            boolean isSameVersion = sameVersion(newItem,oldItem);
+            if( matchMatchEvent || isSameVersion ) {
                 /* Same version, determine if the attributes have changed.
                  * But first, replace the new service proxy with the old
                  * service proxy so the client always uses the old proxy
@@ -2027,21 +2058,73 @@
                 /* Now compare attributes */
                 attrsChanged = !LookupAttributes.equal(newItem.attributeSets,
                                                        oldItem.attributeSets);
+                if (logger.isLoggable(Level.FINEST)) {
+                    if((oldItem != null) && (oldItem.attributeSets != null)) {
+                        for(int i=0; i<(oldItem.attributeSets).length; i++) {
+                            logger.finest("itemMatchMatchChange - "
+                                          +"OLD Attribute["+i+"] = "
+                                          +(oldItem.attributeSets)[i]);
+                        }//end loop
+                    }//endif
+                    logger.finest("    ");
+                    if((newItem != null) && (newItem.attributeSets != null)) {
+                        for(int i=0; i<(newItem.attributeSets).length; i++) {
+                            logger.finest("itemMatchMatchChange - "
+                                          +"NEW Attribute["+i+"] = "
+                                          +(newItem.attributeSets)[i]);
+                        }//end loop
+                    }//endif
+                }//endif(FINEST)
+
+                if (logger.isLoggable(Level.FINER)) {
+                    if(attrsChanged) {
+                        if(matchMatchEvent) {
+                            logger.finer("itemMatchMatchChange - attributes "
+                                         +"changed [TRANSITION_MATCH_MATCH]");
+                        } else if( isSameVersion ) {
+                            logger.finer("ServiceDiscoveryManager."
+                                         +"itemMatchMatchChange - attributes "
+                                         +"changed [same version]");
+                        }//endif
+                    } else {//(!attrChanged)
+                        if(matchMatchEvent) {
+                            logger.finer("itemMatchMatchChange - "
+                                         +"attributes NOT changed ["
+                                         +"TRANSITION_MATCH_MATCH] ..."
+                                         +"return");
+                        } else if( isSameVersion ) {
+                            logger.finer("itemMatchMatchChange - "
+                                         +"attributes NOT changed [same"
+                                         +"version] ... return");
+                        }//endif
+                    }//endif
+                }//endif
+
                 if(!attrsChanged) return;//no change, no need to filter
             } else {//(!matchMatchEvent && !same version) ==> re-registration
                 versionChanged = true;
+                logger.finer("itemMatchMatchChange - version changed");
             }//endif
             /* Now apply the filter, and send events if appropriate */
             ServiceItem newFilteredItem = filterMaybeDiscard
                                                        (newItem, proxy, true);
             if(newFilteredItem != null) {
                 /* Passed the filter, okay to send event(s). */
-                if(attrsChanged) changeServiceNotify(newFilteredItem,
-                                                     oldFilteredItem);
+                if(attrsChanged) {
+                    logger.finer("itemMatchMatchChange - send serviceChanged");
+                    changeServiceNotify(newFilteredItem,
+                                        oldFilteredItem);
+                }//endif
+
                 if(versionChanged) {
+                    logger.finer("itemMatchMatchChange - send serviceRemoved");
                     removeServiceNotify(oldFilteredItem);
+                    logger.finer("itemMatchMatchChange - send serviceAdded");
                     addServiceNotify(newFilteredItem);
                 }//endif
+            } else {
+                logger.finer("ServiceDiscoveryManager.itemMatchMatchChange - "
+                             +"NULL returned by filter");
             }//endif
 	}//end LookupCacheImpl.itemMatchMatchChange
 
@@ -2343,11 +2426,17 @@
                 if(itemRegHasNoProxys) {
                     if(itemRegIsDiscarded) {
                         /* Remove item from map and wake up the discard task */
+                        logger.finer("handleMatchNoMatch - "
+                                     +"TRANSITION_MATCH_NOMATCH && service in "
+                                     +"discard queue - send NO event");
                         removeServiceIdMapSendNoEvent(srvcID);
                         synchronized(serviceDiscardMutex) {
                             serviceDiscardMutex.notifyAll();
                         }//end sync
                     } else {//remove item from map and send removed event
+                        logger.finer("handleMatchNoMatch - "
+                                     +"TRANSITION_MATCH_NOMATCH - send "
+                                     +"serviceRemoved");
                         removeServiceIdMap(srvcID, filteredItem);
                     }//endif
                 }//endif