Author: peter_firmstone Date: Fri Dec 13 23:09:00 2013 New Revision: 1550849
URL: http://svn.apache.org/r1550849 Log: Attempting to fix test failures on Windows Server 2008 R2 Jdk1.7.0_21, using Jenkins as test environment. Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/share/BaseQATest.java river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/share/LookupServices.java river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/discoverymanager/DiscardUnreachable.java river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/locatordiscovery/DiscardUnreachable.java river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/lookupdiscovery/DiscardUnreachable.java Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/share/BaseQATest.java URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/share/BaseQATest.java?rev=1550849&r1=1550848&r2=1550849&view=diff ============================================================================== --- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/share/BaseQATest.java (original) +++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/share/BaseQATest.java Fri Dec 13 23:09:00 2013 @@ -282,8 +282,8 @@ abstract public class BaseQATest extends private final Map<LookupLocator,String[]> discoveredMap = new HashMap<LookupLocator,String[]>(11); private final Map<LookupLocator,String[]> discardedMap = new HashMap<LookupLocator,String[]>(11); - private final Map expectedDiscoveredMap = new HashMap(11); - private final Map expectedDiscardedMap = new HashMap(11); + private final Map<LookupLocator,String[]> expectedDiscoveredMap = new HashMap<LookupLocator,String[]>(11); + private final Map<LookupLocator,String[]> expectedDiscardedMap = new HashMap<LookupLocator,String[]>(11); Set<Map.Entry<LookupLocator,String[]>> getDiscovered(){ synchronized(this){ @@ -390,21 +390,24 @@ abstract public class BaseQATest extends /** Use this method to set the contents of both the discoveredMap * and the expectedDiscardedMap to a specific set of values. + * @param locGroupsList list containing LocatorGroupsPair to be set. */ - public void setDiscardEventInfo(List locGroupsList) { + public void setDiscardEventInfo(List<LocatorGroupsPair> locGroupsList) { synchronized(this) { discoveredMap.clear(); discardedMap.clear(); - for(int i=0;i<locGroupsList.size();i++) { - LocatorGroupsPair pair = - (LocatorGroupsPair)locGroupsList.get(i); - /* Have to set discoveredMap so that discarded() method - * will place discarded lookup in the discardedMap when - * the discarded event arrives. - */ - discoveredMap.put(pair.getLocator(), pair.getGroups()); - expectedDiscardedMap.put(pair.getLocator(), pair.getGroups()); - }//end loop + synchronized (locGroupsList){ + int l = locGroupsList.size(); + for(int i=0;i<l;i++) { + LocatorGroupsPair pair = locGroupsList.get(i); + /* Have to set discoveredMap so that discarded() method + * will place discarded lookup in the discardedMap when + * the discarded event arrives. + */ + discoveredMap.put(pair.getLocator(), pair.getGroups()); + expectedDiscardedMap.put(pair.getLocator(), pair.getGroups()); + }//end loop + } this.notifyAll(); }//end sync(this) }//end clearDiscardEventInfo @@ -415,7 +418,7 @@ abstract public class BaseQATest extends * current and/or expected state of the fields of this class related * to the discovered/discarded event state of this listener. */ - public void setLookupsToDiscover(List locGroupsList) { + public void setLookupsToDiscover(List<LocatorGroupsPair> locGroupsList) { setLookupsToDiscover(locGroupsList, toLocatorArray(getLookupServices().getAllLookupsToStart()), toGroupsArray(getLookupServices().getAllLookupsToStart())); @@ -461,18 +464,21 @@ abstract public class BaseQATest extends * that contains information related to the lookup services * that are expected to be discovered. */ - for(int i=0;i<locGroupsList.size();i++) { - LocatorGroupsPair pair = - (LocatorGroupsPair)locGroupsList.get(i); - LookupLocator curLoc = pair.getLocator(); - String[] curGroups = pair.getGroups(); - if( discoverByLocators(curLoc,locatorsToDiscover) - || discoverAll - || discoverByGroups(curGroups,groupsToDiscover) ) - { - expectedDiscoveredMap.put(curLoc,curGroups); - }//endif - }//end loop + synchronized (locGroupsList){ + int l = locGroupsList.size(); + for(int i=0;i<l;i++) { + LocatorGroupsPair pair = + (LocatorGroupsPair)locGroupsList.get(i); + LookupLocator curLoc = pair.getLocator(); + String[] curGroups = pair.getGroups(); + if( discoverByLocators(curLoc,locatorsToDiscover) + || discoverAll + || discoverByGroups(curGroups,groupsToDiscover) ) + { + expectedDiscoveredMap.put(curLoc,curGroups); + }//endif + }//end loop + } /* The input ArrayList contains (locator,groups) pairs that * represent the locator and current member groups of lookup * services that have been started. The referenced lookup @@ -1174,12 +1180,15 @@ abstract public class BaseQATest extends * containing instances of <code>LocatorGroupsPair</code>. */ public static LookupLocator[] toLocatorArray(List list) { - LookupLocator[] locArray = new LookupLocator[list.size()]; - for(int i=0;i<list.size();i++) { - LocatorGroupsPair pair = (LocatorGroupsPair)list.get(i); - locArray[i] = pair.getLocator(); - }//end loop - return locArray; + synchronized (list){ + int l = list.size(); + LookupLocator[] locArray = new LookupLocator[l]; + for(int i=0;i<l;i++) { + LocatorGroupsPair pair = (LocatorGroupsPair)list.get(i); + locArray[i] = pair.getLocator(); + }//end loop + return locArray; + } }//end toLocatorArray /** Returns an array of group names in which each element of the @@ -1262,11 +1271,14 @@ abstract public class BaseQATest extends * was not found. */ public static String[] getGroups(LookupLocator loc, List list) { - for(int i=0;i<list.size();i++) { - LocatorGroupsPair pair = (LocatorGroupsPair)list.get(i); - if(loc.equals(pair.getLocator())) return pair.getGroups(); - }//end loop - return null; + synchronized (list){ + int l = list.size(); + for(int i=0;i<l;i++) { + LocatorGroupsPair pair = (LocatorGroupsPair)list.get(i); + if(loc.equals(pair.getLocator())) return pair.getGroups(); + }//end loop + return null; + } }//end getGroups /** For each lookup service corresponding to a (locator,groups) pair @@ -1289,13 +1301,16 @@ abstract public class BaseQATest extends * groups to discover, then we do not want to discover all of the * lookups */ - for(int i=0;i<list.size();i++) { - LocatorGroupsPair pair = (LocatorGroupsPair)list.get(i); - String[] curMemberGroups = pair.getGroups(); - if( !discoverByGroups(curMemberGroups,groupsToDiscover) ) { - return false; - }//endif - }//end loop + synchronized (list){ + int l = list.size(); + for(int i=0;i<l;i++) { + LocatorGroupsPair pair = (LocatorGroupsPair)list.get(i); + String[] curMemberGroups = pair.getGroups(); + if( !discoverByGroups(curMemberGroups,groupsToDiscover) ) { + return false; + }//endif + }//end loop + } return true; }//end discoverAllLookups @@ -1538,7 +1553,7 @@ abstract public class BaseQATest extends (discoveredClone == null || !locGroupsMapsEqual(discoveredMap, discoveredClone))) { - discoveredClone = (Map) ((HashMap)discoveredMap).clone(); + discoveredClone = new HashMap(discoveredMap); logger.log(Level.FINE, " discoveredMap.size == " @@ -1696,7 +1711,7 @@ abstract public class BaseQATest extends (discardedClone == null || !locGroupsMapsEqual(discardedMap, discardedClone))) { - discardedClone = (Map) ((HashMap)discardedMap).clone(); + discardedClone = new HashMap(discardedMap); logger.log(Level.FINE, " discardedMap.size == " @@ -2135,7 +2150,7 @@ abstract public class BaseQATest extends * correctly (a discarded event should not be expected for a lookup * service that couldn't be discarded). */ - protected ArrayList pingAndDiscard(ServiceRegistrar[] proxies, + protected List pingAndDiscard(ServiceRegistrar[] proxies, DiscoveryManagement dm, LookupListener listener) { Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/share/LookupServices.java URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/share/LookupServices.java?rev=1550849&r1=1550848&r2=1550849&view=diff ============================================================================== --- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/share/LookupServices.java (original) +++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/share/LookupServices.java Fri Dec 13 23:09:00 2013 @@ -447,10 +447,10 @@ public class LookupServices { /* Skip over remote lookups and lookups already started to the * indices of the additional local lookups */ - int n0 = nRemoteLookupServices + nAddRemoteLookupServices - + lookupsStarted.size(); - int n1 = n0 + nAddLookupServices; synchronized (lock){ + int n0 = nRemoteLookupServices + nAddRemoteLookupServices + + lookupsStarted.size(); + int n1 = n0 + nAddLookupServices; for(int i=n0;i<n1;i++) { int j = i-n0; LocatorGroupsPair pair = addLookupsToStart.get(j); @@ -960,7 +960,7 @@ public class LookupServices { * @return List containing LocatorGroupsPair */ public List<LocatorGroupsPair> replaceMemberGroups(boolean alternate) { - List<LocatorGroupsPair> locGroupsList = new ArrayList<LocatorGroupsPair>(genMap.size()); + List<LocatorGroupsPair> locGroupsList = new LinkedList<LocatorGroupsPair>(); Iterator iter = genMap.keySet().iterator(); for(int i=0;iter.hasNext();i++) { /* Replace the member groups of the current lookup service */ @@ -1009,7 +1009,7 @@ public class LookupServices { public List<LocatorGroupsPair> replaceMemberGroups(int nReplacements, String[] newGroups) { - List<LocatorGroupsPair> locGroupsList = new ArrayList<LocatorGroupsPair>(genMap.size()); + List<LocatorGroupsPair> locGroupsList = new LinkedList<LocatorGroupsPair>(); Iterator iter = genMap.keySet().iterator(); for(int i=0;iter.hasNext();i++) { Object generator = iter.next(); @@ -1189,7 +1189,7 @@ public class LookupServices { boolean alternate, int discardType) { - if(genMap.size() > 0) { + if(!genMap.isEmpty()) { logger.log(Level.FINE, "replacing member groups for each lookup service ..."); Iterator iter = genMap.keySet().iterator(); @@ -1826,10 +1826,12 @@ public class LookupServices { /** Returns the proxy to each lookup service started (already prepared)*/ protected ServiceRegistrar[] getLookupProxies() { - ServiceRegistrar[] proxies = new ServiceRegistrar[genMap.size()]; - Iterator iter = genMap.keySet().iterator(); - for(int i=0;iter.hasNext();i++) { - Object curObj = iter.next(); + Set proxySet = genMap.keySet(); + Object [] proxyArray = proxySet.toArray(); + int l = proxyArray.length; + ServiceRegistrar[] proxies = new ServiceRegistrar[l]; + for(int i=0;i<l;i++) { + Object curObj = proxyArray[i]; if(curObj instanceof DiscoveryProtocolSimulator) { proxies[i] = ((DiscoveryProtocolSimulator)curObj).getLookupProxy(); @@ -1910,14 +1912,15 @@ public class LookupServices { * correctly (a discarded event should not be expected for a lookup * service that couldn't be discarded). */ - protected ArrayList pingAndDiscard(ServiceRegistrar[] proxies, + protected List pingAndDiscard(ServiceRegistrar[] proxies, DiscoveryManagement dm, LookupListener listener) { - ArrayList proxiesToDiscard = new ArrayList(1); - ArrayList locGroupsNotDiscarded = new ArrayList(1); + List proxiesToDiscard = new LinkedList(); + List locGroupsNotDiscarded = new LinkedList(); /* Determine proxies to discard and proxies that cannot be discarded */ - for(int i=0;i<proxies.length;i++) { + int l = proxies.length; + for(int i=0;i<l;i++) { LocatorGroupsPair curPair = (LocatorGroupsPair)regsToLocGroupsMap.get(proxies[i]); try { Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/discoverymanager/DiscardUnreachable.java URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/discoverymanager/DiscardUnreachable.java?rev=1550849&r1=1550848&r2=1550849&view=diff ============================================================================== --- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/discoverymanager/DiscardUnreachable.java (original) +++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/discoverymanager/DiscardUnreachable.java Fri Dec 13 23:09:00 2013 @@ -25,6 +25,7 @@ import net.jini.core.lookup.ServiceRegis import java.util.ArrayList; import java.util.logging.Level; import com.sun.jini.qa.harness.QAConfig; +import java.util.List; /** * With respect to the <code>discard</code> method, this class verifies @@ -89,7 +90,7 @@ public class DiscardUnreachable extends logger.log(Level.FINE, "discarding un-reachable lookup services ..."); /* This will cause discarded events to be sent */ - ArrayList locGroupsNotDiscarded = pingAndDiscard(proxies, + List locGroupsNotDiscarded = pingAndDiscard(proxies, discoveryMgr, mainListener); /* Set the expected discard event info */ Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/locatordiscovery/DiscardUnreachable.java URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/locatordiscovery/DiscardUnreachable.java?rev=1550849&r1=1550848&r2=1550849&view=diff ============================================================================== --- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/locatordiscovery/DiscardUnreachable.java (original) +++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/locatordiscovery/DiscardUnreachable.java Fri Dec 13 23:09:00 2013 @@ -27,6 +27,7 @@ import com.sun.jini.test.share.Discovery import net.jini.core.lookup.ServiceRegistrar; import java.util.ArrayList; +import java.util.List; /** * With respect to the <code>discard</code> method, this class verifies @@ -92,7 +93,7 @@ public class DiscardUnreachable extends DiscoveryServiceUtil.delayMS(7000);//wait for shutdown complete logger.log(Level.FINE, "discarding un-reachable lookup services ..."); /* This will cause discarded events to be sent */ - ArrayList locGroupsNotDiscarded = pingAndDiscard + List locGroupsNotDiscarded = pingAndDiscard (proxies, locatorDiscovery, mainListener); Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/lookupdiscovery/DiscardUnreachable.java URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/lookupdiscovery/DiscardUnreachable.java?rev=1550849&r1=1550848&r2=1550849&view=diff ============================================================================== --- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/lookupdiscovery/DiscardUnreachable.java (original) +++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/spec/lookupdiscovery/DiscardUnreachable.java Fri Dec 13 23:09:00 2013 @@ -27,6 +27,7 @@ import com.sun.jini.test.share.Discovery import net.jini.core.lookup.ServiceRegistrar; import java.util.ArrayList; +import java.util.List; /** * With respect to the <code>discard</code> method, this class verifies @@ -98,7 +99,7 @@ public class DiscardUnreachable extends logger.log(Level.FINE, "discarding un-reachable lookup services ..."); /* This will cause discarded events to be sent */ - ArrayList locGroupsNotDiscarded = pingAndDiscard + List locGroupsNotDiscarded = pingAndDiscard (proxies, lookupDiscovery, mainListener);
