mirror of https://github.com/FreeCol/freecol.git
Use addAll where possible (findbugs).
This commit is contained in:
parent
97c22df293
commit
e6a30e548b
|
@ -748,10 +748,8 @@ public final class InGameController extends FreeColClientHolder {
|
|||
}
|
||||
}
|
||||
if (!messages.isEmpty()) {
|
||||
for (ModelMessage m : messages) {
|
||||
player.addModelMessage(m);
|
||||
turnReportMessages.add(m);
|
||||
}
|
||||
turnReportMessages.addAll(messages);
|
||||
for (ModelMessage m : messages) player.addModelMessage(m);
|
||||
displayModelMessages(false, false);
|
||||
fail = true;
|
||||
}
|
||||
|
|
|
@ -781,7 +781,7 @@ public final class Canvas extends JDesktopPane {
|
|||
List<Component> allComponents
|
||||
= transform(this.getComponents(),
|
||||
c -> !(c instanceof GrayLayer) && c.isValid());
|
||||
for (FreeColDialog<?> fcd : dialogs) allComponents.add(fcd);
|
||||
allComponents.addAll(dialogs);
|
||||
|
||||
// Find the position with the least overlap
|
||||
int bestScore = Integer.MAX_VALUE;
|
||||
|
|
|
@ -818,7 +818,21 @@ public class Map extends FreeColGameObject implements Location {
|
|||
* @param predicate The <code>Predicate</code> to check.
|
||||
* @return A {@code List} of all matching {@code Tile}s.
|
||||
*/
|
||||
public List<Tile> getTiles(Predicate<Tile> predicate) {
|
||||
public Set<Tile> getTileSet(Predicate<Tile> predicate) {
|
||||
Set<Tile> ret = new HashSet<>();
|
||||
for (Tile t : this.tileList) {
|
||||
if (predicate.test(t)) ret.add(t);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a list of all the tiles that match a predicate.
|
||||
*
|
||||
* @param predicate The <code>Predicate</code> to check.
|
||||
* @return A {@code List} of all matching {@code Tile}s.
|
||||
*/
|
||||
public List<Tile> getTileList(Predicate<Tile> predicate) {
|
||||
List<Tile> ret = new ArrayList<>();
|
||||
for (Tile t : this.tileList) {
|
||||
if (predicate.test(t)) ret.add(t);
|
||||
|
@ -915,6 +929,18 @@ public class Map extends FreeColGameObject implements Location {
|
|||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a shuffled list of all the tiles.
|
||||
*
|
||||
* @param random A pseudo-random number source.
|
||||
* @return A shuffled list of all the {@code Tile}s in this map.
|
||||
*/
|
||||
public List<Tile> getShuffledTiles(Random random) {
|
||||
List<Tile> ret = new ArrayList<>(this.tileList);
|
||||
randomShuffle(logger, "All tile shuffle", ret, random);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* An iterator returning positions in a spiral starting at a given
|
||||
* center tile. The center tile is never included in the returned
|
||||
|
|
|
@ -438,15 +438,15 @@ public class Region extends FreeColGameObject implements Nameable {
|
|||
this.discoveredIn = turn;
|
||||
this.discoverable = false;
|
||||
List<Region> discov = transform(getChildren(), Region::getDiscoverable);
|
||||
List<Region> result = new ArrayList<>(discov.size()+1);
|
||||
result.add(this);
|
||||
for (Region r : discov) {
|
||||
r.discoveredBy = player;
|
||||
r.discoverer = unit.getId();
|
||||
r.discoveredIn = turn;
|
||||
r.discoverable = false;
|
||||
result.add(r);
|
||||
}
|
||||
List<Region> result = new ArrayList<>(discov.size()+1);
|
||||
result.add(this);
|
||||
result.addAll(discov);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
@ -242,7 +242,7 @@ public class SimpleMapGenerator implements MapGenerator {
|
|||
}
|
||||
|
||||
// Make new settlements.
|
||||
List<Tile> iTiles = importMap.getTiles(isNotNull(Tile::getIndianSettlement));
|
||||
List<Tile> iTiles = importMap.getTileList(isNotNull(Tile::getIndianSettlement));
|
||||
Set<IndianSettlement> newSettlements = new HashSet<>(iTiles.size());
|
||||
for (Tile iTile : iTiles) {
|
||||
final IndianSettlement is = iTile.getIndianSettlement();
|
||||
|
@ -391,8 +391,7 @@ public class SimpleMapGenerator implements MapGenerator {
|
|||
// order picking out as many as possible suitable tiles for
|
||||
// native settlements such that can be guaranteed at least one
|
||||
// layer of surrounding tiles to own.
|
||||
List<Tile> allTiles = map.getTiles(alwaysTrue());
|
||||
randomShuffle(logger, "All tile shuffle", allTiles, random);
|
||||
List<Tile> allTiles = map.getShuffledTiles(random);
|
||||
final int minDistance = spec.getRange(GameOptions.SETTLEMENT_NUMBER);
|
||||
List<Tile> settlementTiles = new ArrayList<>();
|
||||
for (Tile tile : allTiles) {
|
||||
|
|
|
@ -667,17 +667,17 @@ public class ServerPlayer extends Player implements TurnTaker {
|
|||
cs.add(See.only(this), tiles);
|
||||
|
||||
// Remove settlements. Update formerly owned tiles.
|
||||
tiles.clear();
|
||||
List<Settlement> settlements = getSettlementList();
|
||||
while (!settlements.isEmpty()) {
|
||||
csDisposeSettlement(settlements.remove(0), cs);
|
||||
}
|
||||
|
||||
// Clean up remaining tile ownerships
|
||||
for (Tile t : game.getMap().getTiles(matchKeyEquals(this, Tile::getOwner))) {
|
||||
tiles.clear();
|
||||
tiles.addAll(game.getMap().getTileList(matchKeyEquals(this, Tile::getOwner)));
|
||||
for (Tile t : tiles) {
|
||||
t.cacheUnseen();//+til
|
||||
t.changeOwnership(null, null);//-til
|
||||
tiles.add(t);
|
||||
}
|
||||
|
||||
// Remove units
|
||||
|
@ -973,19 +973,17 @@ public class ServerPlayer extends Player implements TurnTaker {
|
|||
* @return A list of tiles whose visibility changed.
|
||||
*/
|
||||
public Set<Tile> exploreMap(final boolean reveal) {
|
||||
List<Tile> tiles = getGame().getMap()
|
||||
.getTiles(t -> this.hasExplored(t) != reveal);
|
||||
Set<Tile> result = new HashSet<>(tiles.size());
|
||||
Set<Tile> tiles = getGame().getMap()
|
||||
.getTileSet(t -> this.hasExplored(t) != reveal);
|
||||
for (Tile t : tiles) {
|
||||
t.setExplored(this, reveal);//-vis(this)
|
||||
result.add(t);
|
||||
}
|
||||
invalidateCanSeeTiles();//+vis(this)
|
||||
if (!reveal) {
|
||||
for (Settlement s : getSettlementList()) exploreForSettlement(s);
|
||||
for (Unit u : getUnitSet()) exploreForUnit(u);
|
||||
}
|
||||
return result;
|
||||
return tiles;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -186,7 +186,7 @@ public class MapTest extends FreeColTestCase {
|
|||
});
|
||||
|
||||
int i = 0;
|
||||
for (Tile t : map.getTiles(alwaysTrue())) {
|
||||
for (Tile t : map.getTileList(alwaysTrue())) {
|
||||
i++;
|
||||
assertTrue(allTiles.remove(t));
|
||||
}
|
||||
|
|
|
@ -41,7 +41,6 @@ import net.sf.freecol.common.model.Specification;
|
|||
import net.sf.freecol.common.model.Tile;
|
||||
import net.sf.freecol.common.model.Turn;
|
||||
import net.sf.freecol.common.option.MapGeneratorOptions;
|
||||
import static net.sf.freecol.common.util.CollectionUtils.*;
|
||||
import net.sf.freecol.common.util.LogBuilder;
|
||||
import net.sf.freecol.server.FreeColServer;
|
||||
import net.sf.freecol.server.model.ServerGame;
|
||||
|
@ -136,7 +135,7 @@ public class MapGeneratorTest extends FreeColTestCase {
|
|||
|
||||
// Sufficient land?
|
||||
int total = m.getWidth() * m.getHeight();
|
||||
int land = count(m.getTiles(Tile::isLand));
|
||||
int land = m.getTileSet(Tile::isLand).size();
|
||||
// Land Mass requirement fulfilled?
|
||||
assertTrue(100 * land / total >= g.getMapGeneratorOptions()
|
||||
.getInteger(MapGeneratorOptions.LAND_MASS));
|
||||
|
|
Loading…
Reference in New Issue