From: "Enrico Weigelt, metux IT consult" <enrico.weig...@gr13.net>
--- src/net/sf/freecol/client/gui/panel/InfoPanel.java | 6 +++--- src/net/sf/freecol/common/model/ColonyTile.java | 9 ++++++--- src/net/sf/freecol/common/model/TileType.java | 8 +++++--- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/net/sf/freecol/client/gui/panel/InfoPanel.java b/src/net/sf/freecol/client/gui/panel/InfoPanel.java index 86bef8aeebb..cec6a3269b4 100644 --- a/src/net/sf/freecol/client/gui/panel/InfoPanel.java +++ b/src/net/sf/freecol/client/gui/panel/InfoPanel.java @@ -31,6 +31,7 @@ import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import java.util.logging.Logger; +import java.util.Collections; import javax.swing.ImageIcon; import javax.swing.JButton; @@ -170,9 +171,8 @@ public final class InfoPanel extends FreeColPanel { .addAmount("%cost%", tile.getType().getBasicMoveCost()/3)); add(moveLabel, "span " + PRODUCTION); - List<AbstractGoods> produce - = sort(tile.getType().getPossibleProduction(true), - AbstractGoods.descendingAmountComparator); + List<AbstractGoods> produce = tile.getType().getPossibleProduction(true); + Collections.sort(produce, AbstractGoods.descendingAmountComparator); if (produce.isEmpty()) { add(new JLabel(), "span " + PRODUCTION); } else { diff --git a/src/net/sf/freecol/common/model/ColonyTile.java b/src/net/sf/freecol/common/model/ColonyTile.java index 2d8c3572bec..e69f75d25aa 100644 --- a/src/net/sf/freecol/common/model/ColonyTile.java +++ b/src/net/sf/freecol/common/model/ColonyTile.java @@ -217,10 +217,13 @@ public class ColonyTile extends WorkLocation { } // Tile type change. - final Stream<AbstractGoods> newProd + final List<AbstractGoods> newProd = newType.getPossibleProduction(true); - int food = sum(newProd, AbstractGoods::isFoodType, - AbstractGoods::getAmount); + int food = 0; + for (AbstractGoods ag : newProd) + if (ag.isFoodType()) + food += ag.getAmount(); + // Get the current food production. Otherwise for goods // that are being passively produced and consumed, check // if production remains in surplus following a negative change. diff --git a/src/net/sf/freecol/common/model/TileType.java b/src/net/sf/freecol/common/model/TileType.java index 21893cf7829..860b36c4371 100644 --- a/src/net/sf/freecol/common/model/TileType.java +++ b/src/net/sf/freecol/common/model/TileType.java @@ -360,9 +360,11 @@ public final class TileType extends FreeColSpecObjectType * @param unattended Select unattended production. * @return A stream of produced {@code AbstractGoods}. */ - public Stream<AbstractGoods> getPossibleProduction(boolean unattended) { - return flatten(getAvailableProductionTypes(unattended), - pt -> pt.getOutputs()); + public List<AbstractGoods> getPossibleProduction(boolean unattended) { + List<AbstractGoods> result = new ArrayList<>(); + for (ProductionType pt : getAvailableProductionTypes(unattended)) + result.addAll(pt.getOutputs()); + return result; } /** -- 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