From 2b368d173e4c0eb4ef09a5a99dad0ac0cd7fb56e Mon Sep 17 00:00:00 2001 From: Ray Greenwell Date: Wed, 27 May 2009 17:43:19 +0000 Subject: [PATCH] Went ahead and did the complicated thing, it's good exercise. Definitely does not pass the "less code is better code" test. :( git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@827 ed5b42cb-e716-0410-a449-f6a68f950b19 --- .../bundle/BundledComponentRepository.java | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/java/com/threerings/cast/bundle/BundledComponentRepository.java b/src/java/com/threerings/cast/bundle/BundledComponentRepository.java index c0e6f3b1..51e8b3a3 100644 --- a/src/java/com/threerings/cast/bundle/BundledComponentRepository.java +++ b/src/java/com/threerings/cast/bundle/BundledComponentRepository.java @@ -32,6 +32,7 @@ import java.awt.Graphics2D; import java.awt.Rectangle; import java.awt.image.BufferedImage; +import com.google.common.base.Function; import com.google.common.base.Predicate; import com.google.common.collect.Iterators; import com.google.common.collect.Lists; @@ -226,12 +227,19 @@ public class BundledComponentRepository // documentation inherited public Iterator enumerateComponentIds (final ComponentClass compClass) { - return Iterators.filter(_components.keySet().iterator(), new Predicate() { - public boolean apply (Integer input) { - CharacterComponent comp = _components.get(input); - return comp.componentClass.equals(compClass); - } - }); + Predicate> pred = + new Predicate>() { + public boolean apply (Map.Entry entry) { + return entry.getValue().componentClass.equals(compClass); + } + }; + Function,Integer> func = + new Function,Integer>() { + public Integer apply (Map.Entry entry) { + return entry.getKey(); + } + }; + return Iterators.transform(Iterators.filter(_components.entrySet().iterator(), pred), func); } /**