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

Reply via email to