From: <al...@us...> - 2008-03-13 06:34:04
|
Revision: 2219 http://archive-access.svn.sourceforge.net/archive-access/?rev=2219&view=rev Author: alexoz Date: 2008-03-12 23:34:03 -0700 (Wed, 12 Mar 2008) Log Message: ----------- * RuleSet.java Fixed exception when iterating over empty RuleSet. * RuleSetTest.java Added unit-test to cover above fix. Modified Paths: -------------- trunk/archive-access/projects/access-control/access-control/src/main/java/org/archive/accesscontrol/model/RuleSet.java trunk/archive-access/projects/access-control/access-control/src/test/java/org/archive/accesscontrol/model/RuleSetTest.java Modified: trunk/archive-access/projects/access-control/access-control/src/main/java/org/archive/accesscontrol/model/RuleSet.java =================================================================== --- trunk/archive-access/projects/access-control/access-control/src/main/java/org/archive/accesscontrol/model/RuleSet.java 2008-03-13 06:08:34 UTC (rev 2218) +++ trunk/archive-access/projects/access-control/access-control/src/main/java/org/archive/accesscontrol/model/RuleSet.java 2008-03-13 06:34:03 UTC (rev 2219) @@ -24,12 +24,13 @@ public RuleSetIterator() { mapIterator = rulemap.values().iterator(); - setIterator = mapIterator.next().iterator(); + setIterator = null; + hasNext(); } public boolean hasNext() { while (true) { - if (setIterator.hasNext()) + if (setIterator != null && setIterator.hasNext()) return true; if (!mapIterator.hasNext()) return false; Modified: trunk/archive-access/projects/access-control/access-control/src/test/java/org/archive/accesscontrol/model/RuleSetTest.java =================================================================== --- trunk/archive-access/projects/access-control/access-control/src/test/java/org/archive/accesscontrol/model/RuleSetTest.java 2008-03-13 06:08:34 UTC (rev 2218) +++ trunk/archive-access/projects/access-control/access-control/src/test/java/org/archive/accesscontrol/model/RuleSetTest.java 2008-03-13 06:34:03 UTC (rev 2219) @@ -81,4 +81,9 @@ assertEquals("robots", ruleset.getMatchingRule("(org,archive,)/classified-photons", new Date(), new Date(), "public").getPolicy()); } + public void testIterator() { + ruleset = new RuleSet(); + assertFalse(ruleset.iterator().hasNext()); + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |