|
From: Stefan F. <ste...@us...> - 2012-06-13 17:52:44
|
src/rails/algorithms/RevenueBonusTemplate.java | 4
src/rails/algorithms/RevenueManager.java | 12
src/rails/common/parser/ComponentManager.java | 16
src/rails/common/parser/ConfigurableComponent.java | 37
src/rails/common/parser/ConfigurableComponentI.java | 37
src/rails/common/parser/GameFileParser.java | 8
src/rails/game/AbstractRound.java | 545 -----------
src/rails/game/Bank.java | 6
src/rails/game/BonusToken.java | 4
src/rails/game/Company.java | 4
src/rails/game/CompanyManager.java | 14
src/rails/game/CompanyManagerI.java | 70 -
src/rails/game/CompanyType.java | 2
src/rails/game/EndOfGameRound.java | 2
src/rails/game/Game.java | 2
src/rails/game/GameManager.java | 10
src/rails/game/MapHex.java | 4
src/rails/game/MapManager.java | 4
src/rails/game/OperatingRound.java | 2
src/rails/game/Phase.java | 4
src/rails/game/PhaseManager.java | 4
src/rails/game/PlayerManager.java | 4
src/rails/game/PrivateCompany.java | 2
src/rails/game/Round.java | 543 ++++++++++
src/rails/game/StartItem.java | 4
src/rails/game/StartRound.java | 2
src/rails/game/StockMarket.java | 6
src/rails/game/StockRound.java | 2
src/rails/game/SwitchableUIRound.java | 2
src/rails/game/TileManager.java | 4
src/rails/game/TrainManager.java | 6
src/rails/game/TrainType.java | 2
src/rails/game/action/BuyCertificate.java | 2
src/rails/game/action/BuyTrain.java | 4
src/rails/game/action/MergeCompanies.java | 2
src/rails/game/action/PossibleAction.java | 2
src/rails/game/action/ReachDestinations.java | 4
src/rails/game/action/SellShares.java | 2
src/rails/game/specific/_1835/FoldIntoPrussian.java | 2
src/rails/game/specific/_18AL/NamedTrainRevenueModifier.java | 4
src/rails/game/specific/_18AL/NamedTrainToken.java | 4
src/rails/game/specific/_18EU/StartCompany_18EU.java | 2
src/rails/game/specific/_18Kaas/RuhrRevenueModifier.java | 4
src/rails/ui/swing/ORPanel.java | 6
src/test/GameTestServlet.java | 4
src/test/StockMarketTestServlet.java | 4
src/test/StockTest.java | 4
47 files changed, 660 insertions(+), 758 deletions(-)
New commits:
commit 7286b3efe40f2c6303b72c84a0740c12d6b57d6f
Author: Stefan Frey <ste...@we...>
Date: Wed Jun 13 19:51:16 2012 +0200
renamed ConfigurableCompenentI to ConfigurableComponent
diff --git a/src/rails/algorithms/RevenueBonusTemplate.java b/src/rails/algorithms/RevenueBonusTemplate.java
index c4ce053..69b535f 100644
--- a/src/rails/algorithms/RevenueBonusTemplate.java
+++ b/src/rails/algorithms/RevenueBonusTemplate.java
@@ -6,7 +6,7 @@ import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import rails.common.parser.ConfigurableComponentI;
+import rails.common.parser.ConfigurableComponent;
import rails.common.parser.ConfigurationException;
import rails.common.parser.Tag;
import rails.game.GameManager;
@@ -21,7 +21,7 @@ import rails.game.TrainType;
* will be converted to a true RevenueBonus object during each revenue calculation
* @author freystef
*/
-public final class RevenueBonusTemplate implements ConfigurableComponentI {
+public final class RevenueBonusTemplate implements ConfigurableComponent {
protected static Logger log =
LoggerFactory.getLogger(RevenueBonusTemplate.class.getPackage().getName());
diff --git a/src/rails/algorithms/RevenueManager.java b/src/rails/algorithms/RevenueManager.java
index c367678..0c14e5d 100644
--- a/src/rails/algorithms/RevenueManager.java
+++ b/src/rails/algorithms/RevenueManager.java
@@ -9,7 +9,7 @@ import org.slf4j.LoggerFactory;
import rails.common.LocalText;
-import rails.common.parser.ConfigurableComponentI;
+import rails.common.parser.ConfigurableComponent;
import rails.common.parser.ConfigurationException;
import rails.common.parser.Tag;
import rails.game.GameManager;
@@ -27,12 +27,12 @@ import rails.game.state.Item;
*
*/
-public final class RevenueManager extends AbstractItem implements ConfigurableComponentI {
+public final class RevenueManager extends AbstractItem implements ConfigurableComponent {
protected static Logger log =
LoggerFactory.getLogger(RevenueManager.class.getPackage().getName());
- private final HashSet<ConfigurableComponentI> configurableModifiers = new HashSet<ConfigurableComponentI>();
+ private final HashSet<ConfigurableComponent> configurableModifiers = new HashSet<ConfigurableComponent>();
private final ArrayListState<NetworkGraphModifier> graphModifiers = ArrayListState.create();
private final ArrayListState<RevenueStaticModifier> staticModifiers = ArrayListState.create();
@@ -86,8 +86,8 @@ public final class RevenueManager extends AbstractItem implements ConfigurableCo
throw new ConfigurationException(LocalText.getText(
"ClassIsNotAModifier", className));
}
- if (isModifier && modifier instanceof ConfigurableComponentI) {
- configurableModifiers.add((ConfigurableComponentI)modifier);
+ if (isModifier && modifier instanceof ConfigurableComponent) {
+ configurableModifiers.add((ConfigurableComponent)modifier);
}
}
}
@@ -104,7 +104,7 @@ public final class RevenueManager extends AbstractItem implements ConfigurableCo
public void finishConfiguration(GameManager parent)
throws ConfigurationException {
- for (ConfigurableComponentI modifier:configurableModifiers) {
+ for (ConfigurableComponent modifier:configurableModifiers) {
modifier.finishConfiguration(parent);
}
}
diff --git a/src/rails/common/parser/ComponentManager.java b/src/rails/common/parser/ComponentManager.java
index ffb19ff..daa7f30 100644
--- a/src/rails/common/parser/ComponentManager.java
+++ b/src/rails/common/parser/ComponentManager.java
@@ -25,8 +25,8 @@ public class ComponentManager {
protected Logger log = LoggerFactory.getLogger(ComponentManager.class.getPackage().getName());
protected List<String> directories = new ArrayList<String>();
- private Map<String, ConfigurableComponentI> mComponentMap =
- new HashMap<String, ConfigurableComponentI>();
+ private Map<String, ConfigurableComponent> mComponentMap =
+ new HashMap<String, ConfigurableComponent>();
public ComponentManager(Context context, String gameName, Tag tag, Map<String, String> gameOptions)
throws ConfigurationException {
@@ -64,13 +64,13 @@ public class ComponentManager {
}
// Now construct the component
- ConfigurableComponentI component;
+ ConfigurableComponent component;
try {
- Class<? extends ConfigurableComponentI> compClass;
+ Class<? extends ConfigurableComponent> compClass;
compClass =
Class.forName(clazz).asSubclass(
- ConfigurableComponentI.class);
- Constructor<? extends ConfigurableComponentI> compCons =
+ ConfigurableComponent.class);
+ Constructor<? extends ConfigurableComponent> compCons =
compClass.getConstructor(new Class[0]);
component = compCons.newInstance(new Object[0]);
} catch (Exception ex) {
@@ -110,8 +110,8 @@ public class ComponentManager {
* @param componentName the of the component sought.
* @return the component sought, or null if it has not been configured.
*/
- public ConfigurableComponentI findComponent(String componentName) throws ConfigurationException {
- ConfigurableComponentI comp = mComponentMap.get(componentName);
+ public ConfigurableComponent findComponent(String componentName) throws ConfigurationException {
+ ConfigurableComponent comp = mComponentMap.get(componentName);
//FIXME: Revenue Manager is currently optional.
if (comp == null && componentName != "RevenueManager") {
diff --git a/src/rails/common/parser/ConfigurableComponent.java b/src/rails/common/parser/ConfigurableComponent.java
new file mode 100644
index 0000000..02e67f1
--- /dev/null
+++ b/src/rails/common/parser/ConfigurableComponent.java
@@ -0,0 +1,37 @@
+/* $Header: /Users/blentz/rails_rcs/cvs/18xx/rails/game/ConfigurableComponentI.java,v 1.7 2009/10/31 17:08:26 evos Exp $ */
+package rails.common.parser;
+
+import rails.game.GameManager;
+
+/**
+ * Interface for rails.game components which can be configured from an XML
+ * element.
+ */
+public interface ConfigurableComponent {
+
+ /**
+ * Instructs the component to configure itself from the provided XML
+ * element.
+ *
+ * @param element the XML element containing the configuration
+ * @throws ConfigurationException
+ */
+ void configureFromXML(Tag tag) throws ConfigurationException;
+
+ /**
+ * This method is intended to be called for each configurable
+ * component, to perforn any initialisation activities that
+ * require any other components to be initialised first.
+ * This includes creating any required relationships to other
+ * configured components and objects.
+ * <p>This method should be called where necessary after all
+ * XML file parsing has completed, so that all objects that
+ * need to be related to do exist.
+ * @param parent The 'parent' configurable component is passed to allow
+ * the 'child' to access any other object without the need to resort to
+ * static calls where possible.
+ */
+ void finishConfiguration (GameManager parent)
+ throws ConfigurationException;
+
+}
diff --git a/src/rails/common/parser/ConfigurableComponentI.java b/src/rails/common/parser/ConfigurableComponentI.java
deleted file mode 100644
index c0741f2..0000000
--- a/src/rails/common/parser/ConfigurableComponentI.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/* $Header: /Users/blentz/rails_rcs/cvs/18xx/rails/game/ConfigurableComponentI.java,v 1.7 2009/10/31 17:08:26 evos Exp $ */
-package rails.common.parser;
-
-import rails.game.GameManager;
-
-/**
- * Interface for rails.game components which can be configured from an XML
- * element.
- */
-public interface ConfigurableComponentI {
-
- /**
- * Instructs the component to configure itself from the provided XML
- * element.
- *
- * @param element the XML element containing the configuration
- * @throws ConfigurationException
- */
- void configureFromXML(Tag tag) throws ConfigurationException;
-
- /**
- * This method is intended to be called for each configurable
- * component, to perforn any initialisation activities that
- * require any other components to be initialised first.
- * This includes creating any required relationships to other
- * configured components and objects.
- * <p>This method should be called where necessary after all
- * XML file parsing has completed, so that all objects that
- * need to be related to do exist.
- * @param parent The 'parent' configurable component is passed to allow
- * the 'child' to access any other object without the need to resort to
- * static calls where possible.
- */
- void finishConfiguration (GameManager parent)
- throws ConfigurationException;
-
-}
diff --git a/src/rails/game/Bank.java b/src/rails/game/Bank.java
index fac4fe1..392c62c 100644
--- a/src/rails/game/Bank.java
+++ b/src/rails/game/Bank.java
@@ -7,7 +7,7 @@ import org.slf4j.LoggerFactory;
import rails.common.LocalText;
import rails.common.parser.Config;
-import rails.common.parser.ConfigurableComponentI;
+import rails.common.parser.ConfigurableComponent;
import rails.common.parser.ConfigurationException;
import rails.common.parser.Tag;
import rails.game.model.CashMoneyModel;
@@ -18,7 +18,7 @@ import rails.game.state.BooleanState;
import rails.game.state.Item;
import rails.util.*;
-public class Bank extends AbstractItem implements CashOwner, ConfigurableComponentI {
+public class Bank extends AbstractItem implements CashOwner, ConfigurableComponent {
private static Bank instance = null;
@@ -81,7 +81,7 @@ public class Bank extends AbstractItem implements CashOwner, ConfigurableCompone
}
/**
- * @see rails.common.parser.ConfigurableComponentI#configureFromXML(org.w3c.dom.Element)
+ * @see rails.common.parser.ConfigurableComponent#configureFromXML(org.w3c.dom.Element)
*/
public void configureFromXML(Tag tag) throws ConfigurationException {
diff --git a/src/rails/game/BonusToken.java b/src/rails/game/BonusToken.java
index 9c8f871..acfcfe7 100644
--- a/src/rails/game/BonusToken.java
+++ b/src/rails/game/BonusToken.java
@@ -1,6 +1,6 @@
package rails.game;
-import rails.common.parser.ConfigurableComponentI;
+import rails.common.parser.ConfigurableComponent;
import rails.common.parser.ConfigurationException;
import rails.common.parser.Tag;
import rails.game.state.Item;
@@ -15,7 +15,7 @@ import rails.util.Util;
* @author Erik Vos
*/
-public final class BonusToken extends Token implements Closeable, ConfigurableComponentI {
+public final class BonusToken extends Token implements Closeable, ConfigurableComponent {
private int value;
private String name;
diff --git a/src/rails/game/Company.java b/src/rails/game/Company.java
index 58bc80f..04f9658 100644
--- a/src/rails/game/Company.java
+++ b/src/rails/game/Company.java
@@ -7,7 +7,7 @@ import org.slf4j.LoggerFactory;
import com.google.common.collect.ImmutableList;
-import rails.common.parser.ConfigurableComponentI;
+import rails.common.parser.ConfigurableComponent;
import rails.common.parser.ConfigurationException;
import rails.common.parser.Tag;
import rails.game.special.SpecialProperty;
@@ -17,7 +17,7 @@ import rails.game.state.Item;
import rails.game.state.PortfolioList;
import rails.util.Util;
-public abstract class Company extends AbstractItem implements ConfigurableComponentI,
+public abstract class Company extends AbstractItem implements ConfigurableComponent,
Cloneable, Comparable<Company> {
/** The name of the XML tag used to configure a company. */
diff --git a/src/rails/game/CompanyManager.java b/src/rails/game/CompanyManager.java
index 0adc9f1..399e514 100644
--- a/src/rails/game/CompanyManager.java
+++ b/src/rails/game/CompanyManager.java
@@ -9,12 +9,12 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import rails.common.LocalText;
-import rails.common.parser.ConfigurableComponentI;
+import rails.common.parser.ConfigurableComponent;
import rails.common.parser.ConfigurationException;
import rails.common.parser.Tag;
import rails.game.state.AbstractItem;
-public class CompanyManager extends AbstractItem implements ConfigurableComponentI {
+public class CompanyManager extends AbstractItem implements ConfigurableComponent {
/**
* This is the name by which the CompanyManager should be registered with
@@ -71,7 +71,7 @@ public class CompanyManager extends AbstractItem implements ConfigurableComponen
public CompanyManager() { }
/**
- * @see rails.common.parser.ConfigurableComponentI#configureFromXML(org.w3c.dom.Element)
+ * @see rails.common.parser.ConfigurableComponent#configureFromXML(org.w3c.dom.Element)
*/
public void configureFromXML(Tag tag) throws ConfigurationException {
diff --git a/src/rails/game/CompanyType.java b/src/rails/game/CompanyType.java
index dad9339..cae1e49 100644
--- a/src/rails/game/CompanyType.java
+++ b/src/rails/game/CompanyType.java
@@ -63,7 +63,7 @@ public class CompanyType extends AbstractItem {
}
/**
- * @see rails.common.parser.ConfigurableComponentI#configureFromXML(org.w3c.dom.Element)
+ * @see rails.common.parser.ConfigurableComponent#configureFromXML(org.w3c.dom.Element)
*/
public void configureFromXML(Tag tag) throws ConfigurationException {
//No longer needed.
diff --git a/src/rails/game/GameManager.java b/src/rails/game/GameManager.java
index 1b9bf81..2ba7b72 100644
--- a/src/rails/game/GameManager.java
+++ b/src/rails/game/GameManager.java
@@ -27,7 +27,7 @@ import rails.util.Util;
* This class manages the playing rounds by supervising all implementations of
* Round. Currently everything is hardcoded à la 1830.
*/
-public class GameManager extends AbstractItem implements ConfigurableComponentI {
+public class GameManager extends AbstractItem implements ConfigurableComponent {
/** Version ID of the Save file header, as written in save() */
private static final long saveFileHeaderVersionID = 3L;
/**
diff --git a/src/rails/game/MapHex.java b/src/rails/game/MapHex.java
index 71f758e..e338c10 100644
--- a/src/rails/game/MapHex.java
+++ b/src/rails/game/MapHex.java
@@ -59,7 +59,7 @@ import rails.util.*;
*/
// FIXME: MapHex was previous a model
-public class MapHex extends AbstractItem implements PortfolioHolder, ConfigurableComponentI,
+public class MapHex extends AbstractItem implements PortfolioHolder, ConfigurableComponent,
StationHolder {
private static final String[] ewOrNames =
@@ -193,7 +193,7 @@ StationHolder {
}
/**
- * @see rails.common.parser.ConfigurableComponentI#configureFromXML(org.w3c.dom.Element)
+ * @see rails.common.parser.ConfigurableComponent#configureFromXML(org.w3c.dom.Element)
*/
public void configureFromXML(Tag tag) throws ConfigurationException {
Pattern namePattern = Pattern.compile("(\\D+?)(-?\\d+)");
diff --git a/src/rails/game/MapManager.java b/src/rails/game/MapManager.java
index f8f6d19..de07282 100644
--- a/src/rails/game/MapManager.java
+++ b/src/rails/game/MapManager.java
@@ -17,7 +17,7 @@ import rails.util.Util;
/**
* MapManager configures the map layout from XML
*/
-public class MapManager extends AbstractItem implements ConfigurableComponentI {
+public class MapManager extends AbstractItem implements ConfigurableComponent {
private String mapUIClassName = null;
@@ -68,7 +68,7 @@ public class MapManager extends AbstractItem implements ConfigurableComponentI {
}
/**
- * @see rails.common.parser.ConfigurableComponentI#configureFromXML(org.w3c.dom.Element)
+ * @see rails.common.parser.ConfigurableComponent#configureFromXML(org.w3c.dom.Element)
*/
public void configureFromXML(Tag tag) throws ConfigurationException {
String attr = tag.getAttributeAsString("tileOrientation");
diff --git a/src/rails/game/Phase.java b/src/rails/game/Phase.java
index 1b20e8d..7857bf7 100644
--- a/src/rails/game/Phase.java
+++ b/src/rails/game/Phase.java
@@ -10,13 +10,13 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import rails.common.LocalText;
-import rails.common.parser.ConfigurableComponentI;
+import rails.common.parser.ConfigurableComponent;
import rails.common.parser.ConfigurationException;
import rails.common.parser.Tag;
import rails.game.state.Owner;
import rails.util.Util;
-public class Phase implements ConfigurableComponentI {
+public class Phase implements ConfigurableComponent {
protected int index;
diff --git a/src/rails/game/PhaseManager.java b/src/rails/game/PhaseManager.java
index 2b80119..0b2c1a0 100644
--- a/src/rails/game/PhaseManager.java
+++ b/src/rails/game/PhaseManager.java
@@ -5,7 +5,7 @@ import java.util.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import rails.common.parser.ConfigurableComponentI;
+import rails.common.parser.ConfigurableComponent;
import rails.common.parser.ConfigurationException;
import rails.common.parser.Tag;
import rails.game.state.AbstractItem;
@@ -14,7 +14,7 @@ import rails.game.state.Item;
import rails.game.state.Owner;
import rails.game.state.State;
-public class PhaseManager extends AbstractItem implements ConfigurableComponentI {
+public class PhaseManager extends AbstractItem implements ConfigurableComponent {
protected ArrayList<Phase> phaseList;
protected HashMap<String, Phase> phaseMap;
diff --git a/src/rails/game/PlayerManager.java b/src/rails/game/PlayerManager.java
index ce1e653..a7329a2 100644
--- a/src/rails/game/PlayerManager.java
+++ b/src/rails/game/PlayerManager.java
@@ -3,13 +3,13 @@ package rails.game;
import java.util.*;
import rails.common.LocalText;
-import rails.common.parser.ConfigurableComponentI;
+import rails.common.parser.ConfigurableComponent;
import rails.common.parser.ConfigurationException;
import rails.common.parser.Tag;
import rails.game.model.MoneyModel;
import rails.game.state.AbstractItem;
-public class PlayerManager extends AbstractItem implements ConfigurableComponentI {
+public class PlayerManager extends AbstractItem implements ConfigurableComponent {
private int numberOfPlayers;
private List<Player> players;
diff --git a/src/rails/game/PrivateCompany.java b/src/rails/game/PrivateCompany.java
index 0d7aebe..87b47d6 100644
--- a/src/rails/game/PrivateCompany.java
+++ b/src/rails/game/PrivateCompany.java
@@ -93,7 +93,7 @@ public class PrivateCompany extends Company implements Ownable<PrivateCompany>,
}
/**
- * @see rails.common.parser.ConfigurableComponentI#configureFromXML(org.w3c.dom.Element)
+ * @see rails.common.parser.ConfigurableComponent#configureFromXML(org.w3c.dom.Element)
*/
@Override
public void configureFromXML(Tag tag) throws ConfigurationException {
diff --git a/src/rails/game/StockMarket.java b/src/rails/game/StockMarket.java
index 72f09b3..d8a4c08 100644
--- a/src/rails/game/StockMarket.java
+++ b/src/rails/game/StockMarket.java
@@ -5,14 +5,14 @@ import java.util.HashMap;
import java.util.List;
import rails.common.LocalText;
-import rails.common.parser.ConfigurableComponentI;
+import rails.common.parser.ConfigurableComponent;
import rails.common.parser.ConfigurationException;
import rails.common.parser.Tag;
import rails.game.state.AbstractItem;
import rails.game.state.BooleanState;
import rails.game.state.Item;
-public class StockMarket extends AbstractItem implements ConfigurableComponentI {
+public class StockMarket extends AbstractItem implements ConfigurableComponent {
/**
* This is the name by which the CompanyManager should be registered with
@@ -62,7 +62,7 @@ public class StockMarket extends AbstractItem implements ConfigurableComponentI
/**
- * @see rails.common.parser.ConfigurableComponentI#configureFromXML(org.w3c.dom.Element)
+ * @see rails.common.parser.ConfigurableComponent#configureFromXML(org.w3c.dom.Element)
*/
public void configureFromXML(Tag tag) throws ConfigurationException {
diff --git a/src/rails/game/TileManager.java b/src/rails/game/TileManager.java
index 6c68fab..c8e9465 100644
--- a/src/rails/game/TileManager.java
+++ b/src/rails/game/TileManager.java
@@ -16,7 +16,7 @@ import rails.game.Stop.Type;
import rails.game.state.AbstractItem;
import rails.util.Util;
-public class TileManager extends AbstractItem implements ConfigurableComponentI {
+public class TileManager extends AbstractItem implements ConfigurableComponent {
protected Map<Integer, Tile> tileMap = new HashMap<Integer, Tile>();
protected List<Integer> tileIds = new ArrayList<Integer>();
@@ -40,7 +40,7 @@ public class TileManager extends AbstractItem implements ConfigurableComponentI
}
/**
- * @see rails.common.parser.ConfigurableComponentI#configureFromXML(org.w3c.dom.Element)
+ * @see rails.common.parser.ConfigurableComponent#configureFromXML(org.w3c.dom.Element)
*/
public void configureFromXML(Tag tileSetTop) throws ConfigurationException {
/*
diff --git a/src/rails/game/TrainManager.java b/src/rails/game/TrainManager.java
index 3b5bfc2..3138b08 100644
--- a/src/rails/game/TrainManager.java
+++ b/src/rails/game/TrainManager.java
@@ -11,7 +11,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import rails.common.LocalText;
-import rails.common.parser.ConfigurableComponentI;
+import rails.common.parser.ConfigurableComponent;
import rails.common.parser.ConfigurationException;
import rails.common.parser.Tag;
import rails.game.model.PortfolioModel;
@@ -21,7 +21,7 @@ import rails.game.state.IntegerState;
import rails.game.state.Item;
import rails.game.state.Owner;
-public class TrainManager extends AbstractItem implements ConfigurableComponentI {
+public class TrainManager extends AbstractItem implements ConfigurableComponent {
// Static attributes
protected final List<TrainType> lTrainTypes = new ArrayList<TrainType>();
@@ -83,7 +83,7 @@ public class TrainManager extends AbstractItem implements ConfigurableComponentI
public TrainManager() { }
/**
- * @see rails.common.parser.ConfigurableComponentI#configureFromXML(org.w3c.dom.Element)
+ * @see rails.common.parser.ConfigurableComponent#configureFromXML(org.w3c.dom.Element)
*/
public void configureFromXML(Tag tag) throws ConfigurationException {
diff --git a/src/rails/game/TrainType.java b/src/rails/game/TrainType.java
index a9932cc..eb4be47 100644
--- a/src/rails/game/TrainType.java
+++ b/src/rails/game/TrainType.java
@@ -54,7 +54,7 @@ public class TrainType implements Cloneable {
}
/**
- * @see rails.common.parser.ConfigurableComponentI#configureFromXML(org.w3c.dom.Element)
+ * @see rails.common.parser.ConfigurableComponent#configureFromXML(org.w3c.dom.Element)
*/
public void configureFromXML(Tag tag) throws ConfigurationException {
diff --git a/src/rails/game/specific/_18AL/NamedTrainRevenueModifier.java b/src/rails/game/specific/_18AL/NamedTrainRevenueModifier.java
index 9471a5e..6f6bd83 100644
--- a/src/rails/game/specific/_18AL/NamedTrainRevenueModifier.java
+++ b/src/rails/game/specific/_18AL/NamedTrainRevenueModifier.java
@@ -10,14 +10,14 @@ import rails.algorithms.RevenueBonus;
import rails.algorithms.RevenueDynamicModifier;
import rails.algorithms.RevenueStaticModifier;
import rails.algorithms.RevenueTrainRun;
-import rails.common.parser.ConfigurableComponentI;
+import rails.common.parser.ConfigurableComponent;
import rails.common.parser.ConfigurationException;
import rails.common.parser.Tag;
import rails.game.GameManager;
import rails.game.MapHex;
import rails.game.Train;
-public class NamedTrainRevenueModifier implements RevenueStaticModifier, RevenueDynamicModifier, ConfigurableComponentI {
+public class NamedTrainRevenueModifier implements RevenueStaticModifier, RevenueDynamicModifier, ConfigurableComponent {
private boolean dynamic;
private List<RevenueBonus> bonuses;
diff --git a/src/rails/game/specific/_18AL/NamedTrainToken.java b/src/rails/game/specific/_18AL/NamedTrainToken.java
index f91f343..84c8720 100644
--- a/src/rails/game/specific/_18AL/NamedTrainToken.java
+++ b/src/rails/game/specific/_18AL/NamedTrainToken.java
@@ -10,14 +10,14 @@ import org.slf4j.LoggerFactory;
//import rails.algorithms.RevenueBonus;
//import rails.algorithms.RevenueManager;
//import rails.algorithms.RevenueStaticModifier;
-import rails.common.parser.ConfigurableComponentI;
+import rails.common.parser.ConfigurableComponent;
import rails.common.parser.ConfigurationException;
import rails.common.parser.Tag;
import rails.game.*;
import rails.game.state.Item;
import rails.util.Util;
-public class NamedTrainToken extends Token implements ConfigurableComponentI /*, RevenueStaticModifier */ {
+public class NamedTrainToken extends Token implements ConfigurableComponent /*, RevenueStaticModifier */ {
protected static Logger log =
LoggerFactory.getLogger(NamedTrainToken.class.getPackage().getName());
diff --git a/src/rails/game/specific/_18Kaas/RuhrRevenueModifier.java b/src/rails/game/specific/_18Kaas/RuhrRevenueModifier.java
index 4258d37..e75463c 100644
--- a/src/rails/game/specific/_18Kaas/RuhrRevenueModifier.java
+++ b/src/rails/game/specific/_18Kaas/RuhrRevenueModifier.java
@@ -10,12 +10,12 @@ import rails.algorithms.NetworkVertex;
import rails.algorithms.RevenueAdapter;
import rails.algorithms.RevenueBonus;
import rails.algorithms.RevenueStaticModifier;
-import rails.common.parser.ConfigurableComponentI;
+import rails.common.parser.ConfigurableComponent;
import rails.common.parser.ConfigurationException;
import rails.common.parser.Tag;
import rails.game.GameManager;
-public class RuhrRevenueModifier implements RevenueStaticModifier, ConfigurableComponentI {
+public class RuhrRevenueModifier implements RevenueStaticModifier, ConfigurableComponent {
protected static Logger log =
LoggerFactory.getLogger(RuhrRevenueModifier.class.getPackage().getName());
commit 5856b28b19d275b4255d1c090abfbcabeedd04d6
Author: Stefan Frey <ste...@we...>
Date: Wed Jun 13 19:49:39 2012 +0200
removed CompanyManagerI interface
diff --git a/src/rails/common/parser/GameFileParser.java b/src/rails/common/parser/GameFileParser.java
index 0462a7a..528892e 100644
--- a/src/rails/common/parser/GameFileParser.java
+++ b/src/rails/common/parser/GameFileParser.java
@@ -7,7 +7,7 @@ import rails.common.DisplayBuffer;
import rails.common.LocalText;
import rails.common.parser.ComponentManager;
import rails.game.Bank;
-import rails.game.CompanyManagerI;
+import rails.game.CompanyManager;
import rails.game.GameManager;
import rails.game.MapManager;
import rails.game.PhaseManager;
@@ -24,7 +24,7 @@ public class GameFileParser extends XMLParser {
private ComponentManager componentManager;
private GameManager gameManager;
- private CompanyManagerI companyManager;
+ private CompanyManager companyManager;
private PlayerManager playerManager;
private PhaseManager phaseManager;
private TrainManager trainManager;
@@ -47,7 +47,7 @@ public class GameFileParser extends XMLParser {
playerManager = (PlayerManager) componentManager.findComponent("PlayerManager");
bank = (Bank) componentManager.findComponent("Bank");
- companyManager = (CompanyManagerI) componentManager.findComponent(CompanyManagerI.COMPONENT_NAME);
+ companyManager = (CompanyManager) componentManager.findComponent(CompanyManager.COMPONENT_NAME);
stockMarket = (StockMarket) componentManager.findComponent(StockMarket.COMPONENT_NAME);
gameManager = (GameManager) componentManager.findComponent("GameManager");
phaseManager = (PhaseManager) componentManager.findComponent("PhaseManager");
@@ -82,7 +82,7 @@ public class GameFileParser extends XMLParser {
/**
* @return the companyManager
*/
- public CompanyManagerI getCompanyManager() {
+ public CompanyManager getCompanyManager() {
return companyManager;
}
diff --git a/src/rails/game/CompanyManager.java b/src/rails/game/CompanyManager.java
index f581c81..0adc9f1 100644
--- a/src/rails/game/CompanyManager.java
+++ b/src/rails/game/CompanyManager.java
@@ -14,7 +14,13 @@ import rails.common.parser.ConfigurationException;
import rails.common.parser.Tag;
import rails.game.state.AbstractItem;
-public class CompanyManager extends AbstractItem implements CompanyManagerI, ConfigurableComponentI {
+public class CompanyManager extends AbstractItem implements ConfigurableComponentI {
+
+ /**
+ * This is the name by which the CompanyManager should be registered with
+ * the ComponentManager.
+ */
+ public static final String COMPONENT_NAME = "CompanyManager";
/** A List with all private companies */
private List<PrivateCompany> lPrivateCompanies =
@@ -223,7 +229,7 @@ public class CompanyManager extends AbstractItem implements CompanyManagerI, Con
}
}
/**
- * @see rails.game.CompanyManagerI#getCompany(java.lang.String)
+ * @see rails.game.CompanyManager#getCompany(java.lang.String)
*
*/
public PrivateCompany getPrivateCompany(String name) {
diff --git a/src/rails/game/CompanyManagerI.java b/src/rails/game/CompanyManagerI.java
deleted file mode 100644
index e3c927b..0000000
--- a/src/rails/game/CompanyManagerI.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package rails.game;
-
-import java.util.List;
-
-import rails.common.parser.ConfigurableComponentI;
-
-/**
- * Interface for CompanyManager objects. A company manager is a factory which
- * vends Company objects.
- */
-public interface CompanyManagerI extends ConfigurableComponentI {
-
- /**
- * This is the name by which the CompanyManager should be registered with
- * the ComponentManager.
- */
- static final String COMPONENT_NAME = "CompanyManager";
-
- /**
- * Returns the Private Company identified by the supplied name.
- *
- * @param name the name of the company sought
- * @return the Private Company with the supplied name
- */
- PrivateCompany getPrivateCompany(String name);
-
- /**
- * Returns the Public Company identified by the supplied name.
- *
- * @param name the name of the company sought
- * @return the Public Company with the supplied name
- */
- PublicCompany getPublicCompany(String name);
-
- /**
- * Gives a list of all the registered Private Companies.
- *
- * @return a list of all the registered Private Companies
- */
- List<PrivateCompany> getAllPrivateCompanies();
-
- /**
- * Gives a list of all the registered Private Companies.
- *
- * @return a list of all the registered Private Companies
- */
- List<PublicCompany> getAllPublicCompanies();
-
- /**
- * Find a company by type and name
- *
- * @param type The name of the CompanyType
- * @param name The name of the Company
- * @return The company object, or null if not found.
- */
- public Company getCompany(String type, String name);
-
- public String checkAlias (String alias);
- public String checkAliasInCertId (String certId);
-
- public List<CompanyType> getCompanyTypes();
-
- public void closeAllPrivates();
-
- public List<PrivateCompany> getPrivatesOwnedByPlayers();
-
- public StartPacket getStartPacket (int index);
- public StartPacket getStartPacket (String name);
-
-}
diff --git a/src/rails/game/Game.java b/src/rails/game/Game.java
index c04e148..961c7b2 100644
--- a/src/rails/game/Game.java
+++ b/src/rails/game/Game.java
@@ -19,7 +19,7 @@ public class Game {
/** The component Manager */
protected GameManager gameManager;
- protected CompanyManagerI companyManager;
+ protected CompanyManager companyManager;
protected PlayerManager playerManager;
protected PhaseManager phaseManager;
protected TrainManager trainManager;
diff --git a/src/rails/game/GameManager.java b/src/rails/game/GameManager.java
index 8a4fec5..1b9bf81 100644
--- a/src/rails/game/GameManager.java
+++ b/src/rails/game/GameManager.java
@@ -51,7 +51,7 @@ public class GameManager extends AbstractItem implements ConfigurableComponentI
protected String orWindowClassName = GuiDef.getDefaultClassName(GuiDef.ClassName.OR_WINDOW);
protected PlayerManager playerManager;
- protected CompanyManagerI companyManager;
+ protected CompanyManager companyManager;
protected PhaseManager phaseManager;
protected TrainManager trainManager;
protected StockMarket stockMarket;
@@ -531,11 +531,11 @@ public class GameManager extends AbstractItem implements ConfigurableComponentI
}
/* (non-Javadoc)
- * @see rails.game.GameManager#startGame(rails.game.PlayerManager, rails.game.CompanyManagerI, rails.game.PhaseManager)
+ * @see rails.game.GameManager#startGame(rails.game.PlayerManager, rails.game.CompanyManager, rails.game.PhaseManager)
*/
public void init(String gameName,
PlayerManager playerManager,
- CompanyManagerI companyManager,
+ CompanyManager companyManager,
PhaseManager phaseManager,
TrainManager trainManager,
StockMarket stockMarket,
@@ -637,7 +637,7 @@ public class GameManager extends AbstractItem implements ConfigurableComponentI
/* (non-Javadoc)
* @see rails.game.GameManager#getCompanyManager()
*/
- public CompanyManagerI getCompanyManager() {
+ public CompanyManager getCompanyManager() {
return companyManager;
}
diff --git a/src/rails/game/Round.java b/src/rails/game/Round.java
index a6378ea..61cb531 100644
--- a/src/rails/game/Round.java
+++ b/src/rails/game/Round.java
@@ -33,7 +33,7 @@ public abstract class Round extends AbstractItem {
LoggerFactory.getLogger(Round.class.getPackage().getName());
protected GameManager gameManager = null;
- protected CompanyManagerI companyManager = null;
+ protected CompanyManager companyManager = null;
protected PlayerManager playerManager = null;
protected Bank bank = null;
protected PortfolioModel ipo = null;
diff --git a/src/rails/game/StartItem.java b/src/rails/game/StartItem.java
index ed9a83d..65987cd 100644
--- a/src/rails/game/StartItem.java
+++ b/src/rails/game/StartItem.java
@@ -71,7 +71,7 @@ public class StartItem extends AbstractItem {
// Static properties
//protected static Portfolio ipo;
//protected static Portfolio unavailable;
- //protected static CompanyManagerI compMgr;
+ //protected static CompanyManager compMgr;
//protected static int nextIndex = 0;
protected static Map<String, StartItem> startItemMap;
@@ -161,7 +161,7 @@ public class StartItem extends AbstractItem {
PortfolioModel ipo = gameManager.getBank().getIpo();
PortfolioModel unavailable = gameManager.getBank().getUnavailable();
- CompanyManagerI compMgr = gameManager.getCompanyManager();
+ CompanyManager compMgr = gameManager.getCompanyManager();
Company company = compMgr.getCompany(type, name);
if (company instanceof PrivateCompany) {
diff --git a/src/rails/game/action/BuyCertificate.java b/src/rails/game/action/BuyCertificate.java
index a906b62..6ddd43d 100644
--- a/src/rails/game/action/BuyCertificate.java
+++ b/src/rails/game/action/BuyCertificate.java
@@ -149,7 +149,7 @@ public class BuyCertificate extends PossibleAction {
GameManager gameManager = GameManager.getInstance();
/* Check for aliases (old company names) */
- CompanyManagerI companyManager = gameManager.getCompanyManager();
+ CompanyManager companyManager = gameManager.getCompanyManager();
companyName = companyManager.checkAlias (companyName);
if (certUniqueId != null) {
diff --git a/src/rails/game/action/BuyTrain.java b/src/rails/game/action/BuyTrain.java
index 905e375..f41090b 100644
--- a/src/rails/game/action/BuyTrain.java
+++ b/src/rails/game/action/BuyTrain.java
@@ -11,7 +11,7 @@ import java.util.ArrayList;
import java.util.List;
import rails.game.Bank;
-import rails.game.CompanyManagerI;
+import rails.game.CompanyManager;
import rails.game.GameManager;
import rails.game.Train;
import rails.game.TrainManager;
@@ -302,7 +302,7 @@ public class BuyTrain extends PossibleORAction {
GameManager gameManager = GameManager.getInstance();
TrainManager trainManager = gameManager.getTrainManager();
- CompanyManagerI companyManager = gameManager.getCompanyManager();
+ CompanyManager companyManager = gameManager.getCompanyManager();
fromName = companyManager.checkAlias (fromName);
diff --git a/src/rails/game/action/MergeCompanies.java b/src/rails/game/action/MergeCompanies.java
index e4600e3..fd30b6a 100644
--- a/src/rails/game/action/MergeCompanies.java
+++ b/src/rails/game/action/MergeCompanies.java
@@ -141,7 +141,7 @@ public class MergeCompanies extends PossibleAction {
selectedTargetCompanyName = (String) fields.get("selectedTargetCompanyName", selectedTargetCompanyName);
replaceToken = fields.get("replaceToken", replaceToken);
- CompanyManagerI cmgr = getCompanyManager();
+ CompanyManager cmgr = getCompanyManager();
mergingCompany = cmgr.getPublicCompany(mergingCompanyName);
diff --git a/src/rails/game/action/PossibleAction.java b/src/rails/game/action/PossibleAction.java
index 4673537..a1c0211 100644
--- a/src/rails/game/action/PossibleAction.java
+++ b/src/rails/game/action/PossibleAction.java
@@ -106,7 +106,7 @@ public abstract class PossibleAction implements Serializable {
return GameManager.getInstance();
}
- protected CompanyManagerI getCompanyManager () {
+ protected CompanyManager getCompanyManager () {
return getGameManager().getCompanyManager();
}
diff --git a/src/rails/game/action/ReachDestinations.java b/src/rails/game/action/ReachDestinations.java
index 8f3c405..be45f55 100644
--- a/src/rails/game/action/ReachDestinations.java
+++ b/src/rails/game/action/ReachDestinations.java
@@ -5,7 +5,7 @@ import java.io.ObjectInputStream;
import java.util.ArrayList;
import java.util.List;
-import rails.game.CompanyManagerI;
+import rails.game.CompanyManager;
import rails.game.PublicCompany;
import rails.util.Util;
@@ -91,7 +91,7 @@ public class ReachDestinations extends PossibleORAction {
in.defaultReadObject();
- CompanyManagerI cmgr = getCompanyManager();
+ CompanyManager cmgr = getCompanyManager();
possibleCompanies = new ArrayList<PublicCompany>();
if (Util.hasValue(possibleCompanyNames)) {
diff --git a/src/rails/game/action/SellShares.java b/src/rails/game/action/SellShares.java
index 3ee4222..ceb8588 100644
--- a/src/rails/game/action/SellShares.java
+++ b/src/rails/game/action/SellShares.java
@@ -124,7 +124,7 @@ public class SellShares extends PossibleAction {
in.defaultReadObject();
- CompanyManagerI companyManager = getCompanyManager();
+ CompanyManager companyManager = getCompanyManager();
if (Util.hasValue(companyName))
companyName = companyManager.checkAlias(companyName);
company = companyManager.getPublicCompany(companyName);
diff --git a/src/rails/game/specific/_1835/FoldIntoPrussian.java b/src/rails/game/specific/_1835/FoldIntoPrussian.java
index cf85408..6695678 100644
--- a/src/rails/game/specific/_1835/FoldIntoPrussian.java
+++ b/src/rails/game/specific/_1835/FoldIntoPrussian.java
@@ -91,7 +91,7 @@ public class FoldIntoPrussian extends PossibleAction {
in.defaultReadObject();
- CompanyManagerI cmgr = getCompanyManager();
+ CompanyManager cmgr = getCompanyManager();
if (foldableCompanyNames != null) {
foldableCompanies = new ArrayList<Company>();
for (String name : foldableCompanyNames.split(",")) {
diff --git a/src/rails/game/specific/_18EU/StartCompany_18EU.java b/src/rails/game/specific/_18EU/StartCompany_18EU.java
index 6527454..1726d61 100644
--- a/src/rails/game/specific/_18EU/StartCompany_18EU.java
+++ b/src/rails/game/specific/_18EU/StartCompany_18EU.java
@@ -119,7 +119,7 @@ public class StartCompany_18EU extends StartCompany {
in.defaultReadObject();
- CompanyManagerI cmgr = getCompanyManager();
+ CompanyManager cmgr = getCompanyManager();
if (minorsToMergeNames != null) {
minorsToMerge = new ArrayList<PublicCompany>();
for (String name : minorsToMergeNames.split(",")) {
diff --git a/src/rails/ui/swing/ORPanel.java b/src/rails/ui/swing/ORPanel.java
index 8edcdea..15d0484 100644
--- a/src/rails/ui/swing/ORPanel.java
+++ b/src/rails/ui/swing/ORPanel.java
@@ -509,7 +509,7 @@ implements ActionListener, KeyListener, RevenueListener {
protected void addCompanynfo() {
- CompanyManagerI cm = orUIManager.getGameUIManager().getGameManager().getCompanyManager();
+ CompanyManager cm = orUIManager.getGameUIManager().getGameManager().getCompanyManager();
List<CompanyType> comps = cm.getCompanyTypes();
JMenu compMenu, menu, item;
@@ -604,7 +604,7 @@ implements ActionListener, KeyListener, RevenueListener {
}
if (revenue_suggest) {
- CompanyManagerI cm = orUIManager.getGameUIManager().getGameManager().getCompanyManager();
+ CompanyManager cm = orUIManager.getGameUIManager().getGameManager().getCompanyManager();
for (PublicCompany comp : cm.getAllPublicCompanies()) {
if (!comp.hasFloated() || comp.isClosed()) continue;
JMenuItem item = new JMenuItem(comp.getId());
@@ -626,7 +626,7 @@ implements ActionListener, KeyListener, RevenueListener {
mapGraph = NetworkGraphBuilder.optimizeGraph(mapGraph);
NetworkGraphBuilder.visualize(mapGraph, "Optimized Map Network");
} else {
- CompanyManagerI cm = gm.getCompanyManager();
+ CompanyManager cm = gm.getCompanyManager();
PublicCompany company = cm.getPublicCompany(companyName);
//
// NetworkGraphBuilder nwGraph = NetworkGraphBuilder.create(gm);
diff --git a/src/test/GameTestServlet.java b/src/test/GameTestServlet.java
index 3c3deaf..764d051 100644
--- a/src/test/GameTestServlet.java
+++ b/src/test/GameTestServlet.java
@@ -51,7 +51,7 @@
*
* private PlayerManager playerManager = null;
*
- * private CompanyManagerI companyManager = null;
+ * private CompanyManager companyManager = null;
*
* private Round currentRound = null;
*
@@ -505,7 +505,7 @@
* out.append("<table class=bordertable cellspacing=0 cellpadding=0>\n");
* out.append("<tr><th>Company</th><th>Par</th><th>Price</th><th>Cash</th><th>Revenue</th>")
* .append("<th>Privates</th><th>IPO</th><th>Pool</th></tr>\n");
- * CompanyManagerI compMgr = Game.getCompanyManager(); iterator =
+ * CompanyManager compMgr = Game.getCompanyManager(); iterator =
* compMgr.getAllPublicCompanies().iterator(); while (iterator.hasNext()) {
* company = (PublicCompany) iterator.next(); companyName = company.getName();
* companyNumber = company.getCompanyNumber(); out.append("<tr><td>" +
diff --git a/src/test/StockMarketTestServlet.java b/src/test/StockMarketTestServlet.java
index f63fc2d..939defe 100644
--- a/src/test/StockMarketTestServlet.java
+++ b/src/test/StockMarketTestServlet.java
@@ -68,7 +68,7 @@
/* Process the action performed. Note: companies not mentioned yet. */
// iterator = game.getCompanyManager().getAllCompanies().iterator();
/*
- * CompanyManagerI compMgr = Game.getCompanyManager(); iterator =
+ * CompanyManager compMgr = Game.getCompanyManager(); iterator =
* compMgr.getAllPublicNames().iterator(); while (iterator.hasNext()) {
* //company = (Company) iterator.next(); comp = (Company)
* compMgr.getPublicCompany((String) iterator.next()); if (!(comp instanceof
@@ -159,7 +159,7 @@
* action=\"http://localhost:8080/18xx/servlet/game.test.StockMarketTestServlet\">\n");
* out.append( "<form method=\"POST\" action=\"" + servletPrefix +
* "game.test.StockMarketTestServlet\">\n"); out.append("<table
- * cellspacing=\"0\" cellpadding=\"0\">\n"); CompanyManagerI compMgr =
+ * cellspacing=\"0\" cellpadding=\"0\">\n"); CompanyManager compMgr =
* Game.getCompanyManager(); iterator =
* compMgr.getAllPublicCompanies().iterator(); while (iterator.hasNext()) {
* company = (PublicCompany) iterator.next(); companyName = company.getName();
diff --git a/src/test/StockTest.java b/src/test/StockTest.java
index ace4aad..3d53620 100644
--- a/src/test/StockTest.java
+++ b/src/test/StockTest.java
@@ -43,8 +43,8 @@
* //ComponentManager.configureInstance(elem);
*
* ComponentManager componentMan = ComponentManager.getInstance();
- * CompanyManagerI companyManager = (CompanyManagerI) componentMan
- * .findComponent(CompanyManagerI.COMPONENT_NAME);
+ * CompanyManager companyManager = (CompanyManager) componentMan
+ * .findComponent(CompanyManager.COMPONENT_NAME);
*
* List companies = companyManager.getAllCompanies();
* System.out.println(companies.size() + " companies are registered"); for (int
commit 2cc6100e81921f30fba7aa5ecc08ea4d2fb65e30
Author: Stefan Frey <ste...@we...>
Date: Wed Jun 13 19:46:52 2012 +0200
Removed Round Interface and renamed AbstractRound to Round
diff --git a/src/rails/game/AbstractRound.java b/src/rails/game/AbstractRound.java
deleted file mode 100644
index 03fe440..0000000
--- a/src/rails/game/AbstractRound.java
+++ /dev/null
@@ -1,545 +0,0 @@
-package rails.game;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import rails.common.*;
-import rails.game.action.*;
-import rails.game.model.CashOwner;
-import rails.game.model.MoneyModel;
-import rails.game.model.PortfolioModel;
-import rails.game.special.SpecialProperty;
-import rails.game.state.AbstractItem;
-import rails.game.state.ArrayListState;
-import rails.game.state.BooleanState;
-import rails.game.state.ChangeStack;
-import rails.game.state.Item;
-import rails.game.state.Portfolio;
-
-/**
- * @author Erik Vos
- */
-public abstract class AbstractRound extends AbstractItem implements Round {
-
- protected PossibleActions possibleActions = PossibleActions.getInstance();
- protected GuiHints guiHints = null;
-
- protected static Logger log =
- LoggerFactory.getLogger(AbstractRound.class.getPackage().getName());
-
- protected GameManager gameManager = null;
- protected CompanyManagerI companyManager = null;
- protected PlayerManager playerManager = null;
- protected Bank bank = null;
- protected PortfolioModel ipo = null;
- protected PortfolioModel pool = null;
- protected PortfolioModel unavailable = null;
- protected PortfolioModel scrapHeap = null;
- protected StockMarket stockMarket = null;
- protected MapManager mapManager = null;
-
- protected final BooleanState wasInterrupted = BooleanState.create(false);
-
- protected ChangeStack changeStack = null;
-
-
- /** Autopasses */
- // TODO: Should this be moved to the StockRound classes?
- // Only initialized if used
- protected ArrayListState<Player> autopasses = null;
- protected ArrayListState<Player> canRequestTurn = null;
- protected ArrayListState<Player> hasRequestedTurn = null;
-
- /**
- * Constructor with the GameManager, will call setGameManager with the parameter to initialize
- *
- * @param aGameManager The GameManager Object needed to initialize the Round Class
- *
- */
- public AbstractRound (GameManager aGameManager) {
-
- this.gameManager = aGameManager;
-
- if (gameManager == null) {
- companyManager = null;
- } else {
- companyManager = gameManager.getCompanyManager();
- playerManager = gameManager.getPlayerManager();
- bank = gameManager.getBank();
- ipo = bank.getIpo();
- pool = bank.getPool();
- unavailable = bank.getUnavailable();
- scrapHeap = bank.getScrapHeap();
- stockMarket = gameManager.getStockMarket();
- mapManager = gameManager.getMapManager();
-
- changeStack = gameManager.getChangeStack();
- }
-
- guiHints = gameManager.getUIHints();
- guiHints.setCurrentRoundType(getClass());
- }
-
- @Override
- public void init(Item parent, String id) {
- super.init(parent, id);
- wasInterrupted.init(this, "RoundInterrupted");
- }
-
- public Player getCurrentPlayer() {
-
- if (gameManager != null) return gameManager.getCurrentPlayer();
- return null;
- }
-
- /**
- * @return Returns the currentPlayerIndex.
- */
- public int getCurrentPlayerIndex() {
- return getCurrentPlayer().getIndex();
- }
-
- public void setCurrentPlayerIndex(int newIndex) {
- gameManager.setCurrentPlayerIndex(newIndex);
- }
-
- public void setCurrentPlayer(Player player) {
- gameManager.setCurrentPlayer(player);
- }
-
- protected List<Player> getPlayers() {
- return gameManager.getPlayers();
- }
-
- protected int getNumberOfPlayers() {
- return gameManager.getNumberOfPlayers();
- }
-
- protected int getNumberOfActivePlayers () {
- int number = 0;
- for (Player player : getPlayers()) {
- if (!player.isBankrupt()) number++;
- }
- return number;
- }
-
- public Phase getCurrentPhase() {
- return gameManager.getCurrentPhase();
- }
-
- /** Allows round instances to tell the UI what type of window to raise.
- * Normally the type corresponds to the round type (e.g. OperatingRound
- * needs ORWindow), but sometimes deviations occur (such as the
- * CGRFormationRound, which isn't a StockRound type but needs StatusWindow).
- * @return
- */
- public Class<? extends Round> getRoundTypeForUI () {
- return this.getClass();
- }
-
- public String getGameOption (String name) {
- return gameManager.getGameOption(name);
- }
-
- // TODO: Remove as this is abstract class?
- public String getHelp() {
- // TODO Auto-generated method stub
- return null;
- }
-
- // TODO: Remove as this is abstract class?
- public List<SpecialProperty> getSpecialProperties() {
- // TODO Auto-generated method stub
- return null;
- }
-
- public boolean process(PossibleAction action) {
- return true;
- }
-
- protected boolean exchangeTokens(ExchangeTokens action, boolean linkedMoveSet) {
-
- String errMsg = null;
-
- List<ExchangeableToken> tokens = action.getTokensToExchange();
- int min = action.getMinNumberToExchange();
- int max = action.getMaxNumberToExchange();
- int exchanged = 0;
-
- checks: {
-
- for (ExchangeableToken token : tokens) {
- if (token.isSelected()) exchanged++;
- }
- if (exchanged < min || exchanged > max) {
- errMsg = LocalText.getText("WrongNumberOfTokensExchanged",
- action.getCompany(),
- min, max, exchanged);
- break checks;
- }
- }
-
- if (errMsg != null) {
- DisplayBuffer.add(LocalText.getText("CannotExchangeTokens",
- action.getCompany(),
- action.toString(),
- errMsg));
-
- return false;
- }
-
- // TODO: changeStack.start(true);
- // FIMXE: if (linkedMoveSet) changeStack.linkToPreviousMoveSet();
-
- if (exchanged > 0) {
- MapHex hex;
- Stop city;
- String cityName, hexName;
- int cityNumber;
- String[] ct;
- PublicCompany comp = action.getCompany();
-
- ReportBuffer.add("");
-
- for (ExchangeableToken token : tokens) {
- cityName = token.getCityName();
- ct = cityName.split("/");
- hexName = ct[0];
- try {
- cityNumber = Integer.parseInt(ct[1]);
- } catch (NumberFormatException e) {
- cityNumber = 1;
- }
- hex = mapManager.getHex(hexName);
- city = hex.getStop(cityNumber);
-
- if (token.isSelected()) {
-
- // For now we'll assume that the old token(s) have already been removed.
- // This is true in the 1856 CGR formation.
- if (hex.layBaseToken(comp, city.getNumber())) {
- /* TODO: the false return value must be impossible. */
- ReportBuffer.add(LocalText.getText("ExchangesBaseToken",
- comp.getId(),
- token.getOldCompanyName(),
- city.getId()));
- comp.layBaseToken(hex, 0);
- }
- } else {
- ReportBuffer.add(LocalText.getText("NoBaseTokenExchange",
- comp.getId(),
- token.getOldCompanyName(),
- city.getId()));
- }
- }
- }
-
- return true;
- }
-
-
- /**
- * Default version, does nothing. Subclasses should override this method
- * with a real version.
- */
- // TODO: Remove as this is abstract class?
- public boolean setPossibleActions() {
- return false;
- }
-
- /** Set the operating companies in their current acting order */
- public List<PublicCompany> setOperatingCompanies() {
- return setOperatingCompanies (null, null);
- }
-
- public List<PublicCompany> setOperatingCompanies(List<PublicCompany> oldOperatingCompanies,
- PublicCompany lastOperatingCompany) {
-
- Map<Integer, PublicCompany> operatingCompanies =
- new TreeMap<Integer, PublicCompany>();
- List<PublicCompany> newOperatingCompanies;
- StockSpace space;
- int key;
- int minorNo = 0;
- boolean reorder = gameManager.isDynamicOperatingOrder()
- && oldOperatingCompanies != null && lastOperatingCompany != null;
-
- int lastOperatingCompanyndex;
- if (reorder) {
- newOperatingCompanies = oldOperatingCompanies;
- lastOperatingCompanyndex = oldOperatingCompanies.indexOf(lastOperatingCompany);
- } else {
- newOperatingCompanies = companyManager.getAllPublicCompanies();
- lastOperatingCompanyndex = -1;
- }
-
- for (PublicCompany company : newOperatingCompanies) {
- if (!reorder && !canCompanyOperateThisRound(company)) continue;
-
- if (reorder
- && oldOperatingCompanies.indexOf(company) <= lastOperatingCompanyndex) {
- // Companies that have operated this round get lowest keys
- key = oldOperatingCompanies.indexOf(company);
- } else if (company.hasStockPrice()) {
- // Key must put companies in reverse operating order, because sort
- // is ascending.
- space = company.getCurrentSpace();
- key = 1000000 * (999 - space.getPrice())
- + 10000 * (99 - space.getColumn())
- + 100 * (space.getRow()+1)
- + space.getStackPosition(company);
- } else {
- key = 50 + ++minorNo;
- }
- operatingCompanies.put(new Integer(key), company);
- }
-
- return new ArrayList<PublicCompany>(operatingCompanies.values());
- }
-
- /** Can a public company operate? (Default version) */
- protected boolean canCompanyOperateThisRound (PublicCompany company) {
- return company.hasFloated() && !company.isClosed();
- }
-
- /**
- * Check if a company must be floated, and if so, do it. <p>This method is
- * included here because it is used in various types of Round.
- *
- * @param company
- */
- protected void checkFlotation(PublicCompany company) {
-
- if (!company.hasStarted() || company.hasFloated()) return;
-
- if (getSoldPercentage(company) >= company.getFloatPercentage()) {
- // Company floa...
[truncated message content] |