On 25/06/2008, at 6:06 PM, Emmanuel Venisse wrote:
+ int i = 0;
+ while ( i <= files.size() - 1 )
+ {
+ ChangeFile file = files.get( i );
+ boolean found = false;
+ for ( String module : modules )
+ {
+ if ( file.getName().indexOf( module ) > 0 )
+ {
+ files.remove( file );
+ found = true;
+ break;
+ }
+ }
+ if ( !found )
+ {
+ i++;
+ }
+ else
+ {
+ break;
+ }
+ }
can't the i stuff be a standard for loop?
What do you mean?
I can't use a 'for' loop for the i stuff because in this loop I
remove
some
file in the list.
I think that's a bug then? It will break from both loops (found =
true).
You probably want to use an iterator, and then use i.remove()?
I didn't see a bug in all tests I done, I know I don't have
writtten junit
test and it's bad.
I'll look to refactor it with iterator
I fix an issue with my implementation but not in this part.
Actual implementation works fine.
I tested with an iterator but I get a concurrent modification
exception so I
think I'll let this part as is.
concurrent modification exception using i.remove(), or using
files.remove( file )?
I'm really confused, because AFAICT if found = true, both loops break
anyway right now.
- Brett
--
Brett Porter
[EMAIL PROTECTED]
http://blogs.exist.com/bporter/