From: "Enrico Weigelt, metux IT consult" <[email protected]>
---
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/freecol-developers