From: "Enrico Weigelt, metux IT consult" <enrico.weig...@gr13.net>

---
 src/net/sf/freecol/common/model/Colony.java              | 13 +++++++++----
 src/net/sf/freecol/common/model/Tile.java                |  8 ++++----
 src/net/sf/freecol/common/model/TileImprovement.java     |  7 +++----
 src/net/sf/freecol/common/model/TileImprovementType.java | 12 ++++++------
 src/net/sf/freecol/common/model/TileType.java            | 12 ++++++------
 5 files changed, 28 insertions(+), 24 deletions(-)

diff --git a/src/net/sf/freecol/common/model/Colony.java 
b/src/net/sf/freecol/common/model/Colony.java
index cd62183f987..0fd5cfc0c2b 100644
--- a/src/net/sf/freecol/common/model/Colony.java
+++ b/src/net/sf/freecol/common/model/Colony.java
@@ -929,13 +929,18 @@ public class Colony extends Settlement implements 
Nameable, TradeLocation {
      * colony.  This list comprises all natural disasters that can
      * strike the colony's tiles.
      *
-     * @return A stream of {@code Disaster}s.
+     * @param result List to fill results into {@code Disaster}s.
      */
-    public Stream<RandomChoice<Disaster>> getDisasterChoices() {
-        return flatten(getColonyTiles(),
-                ct -> ct.getWorkTile().getDisasterChoices());
+    public void getDisasterChoices(List<RandomChoice<Disaster>> result) {
+        for (ColonyTile ct : getColonyTiles())
+            ct.getWorkTile().getDisasterChoices(result);
     }
 
+    public List<RandomChoice<Disaster>> getDisasterChoices() {
+        List<RandomChoice<Disaster>> result = new ArrayList<>();
+        getDisasterChoices(result);
+        return result;
+    }
 
     // What are we building?  What can we build?
 
diff --git a/src/net/sf/freecol/common/model/Tile.java 
b/src/net/sf/freecol/common/model/Tile.java
index ecbef32a9a5..ed0957a15d0 100644
--- a/src/net/sf/freecol/common/model/Tile.java
+++ b/src/net/sf/freecol/common/model/Tile.java
@@ -1006,10 +1006,10 @@ public final class Tile extends UnitLocation implements 
Named, Ownable {
      *
      * @return A stream of {@code Disaster} choices.
      */
-    public Stream<RandomChoice<Disaster>> getDisasterChoices() {
-        return concat(type.getDisasterChoices(),
-                      flatten(getCompleteTileImprovements(),
-                              ti -> ti.getDisasterChoices()));
+    public void getDisasterChoices(List<RandomChoice<Disaster>> result) {
+        type.getDisasterChoices(result);
+        for (TileImprovement ti : getCompleteTileImprovements())
+            ti.getDisasterChoices(result);
     }
 
 
diff --git a/src/net/sf/freecol/common/model/TileImprovement.java 
b/src/net/sf/freecol/common/model/TileImprovement.java
index 4093d939f73..e04804c782e 100644
--- a/src/net/sf/freecol/common/model/TileImprovement.java
+++ b/src/net/sf/freecol/common/model/TileImprovement.java
@@ -431,10 +431,9 @@ public class TileImprovement extends TileItem implements 
Named {
      *
      * @return A stream of {@code Disaster} choices.
      */
-    public Stream<RandomChoice<Disaster>> getDisasterChoices() {
-        return (this.type == null)
-            ? Stream.<RandomChoice<Disaster>>empty()
-            : this.type.getDisasterChoices();
+    public void getDisasterChoices(List<RandomChoice<Disaster>> result) {
+        if (this.type != null)
+            this.type.getDisasterChoices(result);
     }
 
 
diff --git a/src/net/sf/freecol/common/model/TileImprovementType.java 
b/src/net/sf/freecol/common/model/TileImprovementType.java
index 50c18c4a689..85792d37afd 100644
--- a/src/net/sf/freecol/common/model/TileImprovementType.java
+++ b/src/net/sf/freecol/common/model/TileImprovementType.java
@@ -26,7 +26,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
-import java.util.stream.Stream;
 
 import javax.xml.stream.XMLStreamException;
 
@@ -178,10 +177,9 @@ public final class TileImprovementType extends 
FreeColSpecObjectType {
      *
      * @return A stream of {@code Disaster} choices.
      */
-    public Stream<RandomChoice<Disaster>> getDisasterChoices() {
-        return (disasters == null)
-            ? Stream.<RandomChoice<Disaster>>empty()
-            : disasters.stream();
+    public void getDisasterChoices(List<RandomChoice<Disaster>> result) {
+        if (disasters != null)
+            result.addAll(disasters);
     }
 
     /**
@@ -471,7 +469,9 @@ public final class TileImprovementType extends 
FreeColSpecObjectType {
             }
         }
 
-        for (RandomChoice<Disaster> choice : iterable(getDisasterChoices())) {
+        List<RandomChoice<Disaster>> desasters = new ArrayList<>();
+        getDisasterChoices(desasters);
+        for (RandomChoice<Disaster> choice : desasters) {
             xw.writeStartElement(DISASTER_TAG);
 
             xw.writeAttribute(ID_ATTRIBUTE_TAG, choice.getObject().getId());
diff --git a/src/net/sf/freecol/common/model/TileType.java 
b/src/net/sf/freecol/common/model/TileType.java
index 860b36c4371..e0e50d35a5d 100644
--- a/src/net/sf/freecol/common/model/TileType.java
+++ b/src/net/sf/freecol/common/model/TileType.java
@@ -22,7 +22,6 @@ package net.sf.freecol.common.model;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
-import java.util.stream.Stream;
 
 import javax.xml.stream.XMLStreamException;
 
@@ -262,10 +261,9 @@ public final class TileType extends FreeColSpecObjectType
      *
      * @return A stream of {@code Disaster} choices.
      */
-    public Stream<RandomChoice<Disaster>> getDisasterChoices() {
-        return (this.disasters == null)
-            ? Stream.<RandomChoice<Disaster>>empty()
-            : disasters.stream();
+    public void getDisasterChoices(List<RandomChoice<Disaster>> result) {
+        if (disasters != null)
+            result.addAll(disasters);
     }
 
     /**
@@ -474,7 +472,9 @@ public final class TileType extends FreeColSpecObjectType
             xw.writeEndElement();
         }
 
-        for (RandomChoice<Disaster> choice : iterable(getDisasterChoices())) {
+        List<RandomChoice<Disaster>> desasters = new ArrayList<>();
+        getDisasterChoices(desasters);
+        for (RandomChoice<Disaster> choice : desasters) {
             xw.writeStartElement(DISASTER_TAG);
 
             xw.writeAttribute(ID_ATTRIBUTE_TAG, choice.getObject());
-- 
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