You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by sr...@apache.org on 2008/07/10 04:46:36 UTC
svn commit: r675420 -
/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/common/IteratorIterable.java
Author: srowen
Date: Wed Jul 9 19:46:36 2008
New Revision: 675420
URL: http://svn.apache.org/viewvc?rev=675420&view=rev
Log:
Prevent iterator() from being called twice
Modified:
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/common/IteratorIterable.java
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/common/IteratorIterable.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/common/IteratorIterable.java?rev=675420&r1=675419&r2=675420&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/common/IteratorIterable.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/common/IteratorIterable.java Wed Jul 9 19:46:36 2008
@@ -25,7 +25,7 @@
*/
public final class IteratorIterable<T> implements Iterable<T> {
- private final Iterator<T> iterator;
+ private Iterator<T> iterator;
/**
* <p>Constructs an {@link IteratorIterable} for an {@link Iterator}.</p>
@@ -40,7 +40,12 @@
}
public Iterator<T> iterator() {
- return iterator;
+ if (iterator == null) {
+ throw new IllegalStateException("iterator() has already been called");
+ }
+ Iterator<T> result = iterator;
+ iterator = null;
+ return result;
}
@Override