From: "Enrico Weigelt, metux IT consult" <enrico.weig...@gr13.net>
--- .../sf/freecol/common/model/TileItemContainer.java | 52 +++++++++++++--------- 1 file changed, 30 insertions(+), 22 deletions(-) diff --git a/src/net/sf/freecol/common/model/TileItemContainer.java b/src/net/sf/freecol/common/model/TileItemContainer.java index 55fb144822b..7092436474b 100644 --- a/src/net/sf/freecol/common/model/TileItemContainer.java +++ b/src/net/sf/freecol/common/model/TileItemContainer.java @@ -21,7 +21,6 @@ package net.sf.freecol.common.model; import java.util.ArrayList; import java.util.List; -import java.util.function.Predicate; import java.util.logging.Logger; import java.util.stream.Stream; @@ -250,10 +249,13 @@ public class TileItemContainer extends FreeColGameObject { */ public TileImprovement getImprovement(TileImprovementType type) { synchronized (tileItems) { - return (TileImprovement)find(tileItems, - ti -> (ti instanceof TileImprovement - && ((TileImprovement)ti).getType() == type)); + for (TileItem ti : tileItems) { + if (ti instanceof TileImprovement + && ((TileImprovement)ti).getType() == type) + return (TileImprovement)ti; + } } + return null; } /** @@ -293,25 +295,18 @@ public class TileItemContainer extends FreeColGameObject { } /** - * Find a tile item matching a predicate. - * - * @param pred The {@code Predicate} to match. - * @return The {@code TileItem} found, or null if none present. - */ - private TileItem findTileItem(Predicate<TileItem> pred) { - synchronized (tileItems) { - return find(tileItems, pred); - } - } - - /** * Gets any lost city rumour in this container. * * @return A {@code LostCityRumour} item if any, or null if * not found. */ public final LostCityRumour getLostCityRumour() { - return (LostCityRumour)findTileItem(ti -> ti instanceof LostCityRumour); + synchronized (tileItems) { + for (TileItem ti : tileItems) + if (ti instanceof LostCityRumour) + return (LostCityRumour)ti; + } + return null; } /** @@ -320,7 +315,12 @@ public class TileItemContainer extends FreeColGameObject { * @return A {@code Resource} item, or null is none found. */ public final Resource getResource() { - return (Resource)findTileItem(ti -> ti instanceof Resource); + synchronized (tileItems) { + for (TileItem ti : tileItems) + if (ti instanceof Resource) + return (Resource)ti; + } + return null; } /** @@ -330,8 +330,12 @@ public class TileItemContainer extends FreeColGameObject { * not found. */ public TileImprovement getRoad() { - return (TileImprovement)findTileItem(ti -> - ti instanceof TileImprovement && ((TileImprovement)ti).isRoad()); + synchronized (tileItems) { + for (TileItem ti : tileItems) + if (ti instanceof TileImprovement && ((TileImprovement)ti).isRoad()) + return (TileImprovement)ti; + } + return null; } /** @@ -341,8 +345,12 @@ public class TileItemContainer extends FreeColGameObject { * not found. */ public TileImprovement getRiver() { - return (TileImprovement)findTileItem(ti -> - ti instanceof TileImprovement && ((TileImprovement)ti).isRiver()); + synchronized (tileItems) { + for (TileItem ti : tileItems) + if (ti instanceof TileImprovement && ((TileImprovement)ti).isRiver()) + return (TileImprovement)ti; + } + return null; } /** -- 2.11.0.rc0.7.gbe5a750 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Freecol-developers mailing list Freecol-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freecol-developers