From 06ba4af039034bf0ae30e1677993aab52b45858f Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Thu, 23 Aug 2012 20:17:50 +0000 Subject: [PATCH] Fixing issues on other computers. --- gemp-lotr/gemp-lotr-common/pom.xml | 5 +++++ .../lotro/common/ApplicationRoot.java | 21 ++++++++++++++----- .../src/main/resources/gemp-lotr.properties | 3 +++ .../actions/DefaultActionsEnvironment.java | 8 ++++--- .../com/gempukku/lotro/AbstractServer.java | 5 +++++ .../com/gempukku/lotro/ServerCleaner.java | 2 +- .../lotro/collection/CollectionsManager.java | 4 +++- .../gempukku/lotro/server/ServerResource.java | 9 -------- .../lotro/server/provider/MapProvider.java | 14 ++++++------- .../src/main/resources/log4j.xml | 2 +- 10 files changed, 46 insertions(+), 27 deletions(-) create mode 100644 gemp-lotr/gemp-lotr-common/src/main/resources/gemp-lotr.properties diff --git a/gemp-lotr/gemp-lotr-common/pom.xml b/gemp-lotr/gemp-lotr-common/pom.xml index 6bd934ab6..0041ec954 100644 --- a/gemp-lotr/gemp-lotr-common/pom.xml +++ b/gemp-lotr/gemp-lotr-common/pom.xml @@ -11,6 +11,11 @@ gemp-lotr-common 1.0-SNAPSHOT + + log4j + log4j + 1.2.16 + junit junit diff --git a/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/ApplicationRoot.java b/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/ApplicationRoot.java index ca2a45587..a3492b6fb 100644 --- a/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/ApplicationRoot.java +++ b/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/ApplicationRoot.java @@ -1,15 +1,26 @@ package com.gempukku.lotro.common; +import org.apache.log4j.Logger; + import java.io.File; +import java.util.Properties; public class ApplicationRoot { + private static Logger LOGGER = Logger.getLogger(ApplicationRoot.class); private static File _root; - public static void setRoot(File file) { - _root = file; - } - - public static File getRoot() { + public synchronized static File getRoot() { + if (_root == null) { + Properties props = new Properties(); + try { + props.load(ApplicationRoot.class.getResourceAsStream("/gemp-lotr.properties")); + _root = new File(props.getProperty("application.root")); + LOGGER.debug("Application root is: "+_root.getAbsolutePath()); + } catch (Exception exp) { + LOGGER.error("Can't find application root", exp); + throw new RuntimeException("Unable to load gemp-lotr.properties"); + } + } return _root; } } diff --git a/gemp-lotr/gemp-lotr-common/src/main/resources/gemp-lotr.properties b/gemp-lotr/gemp-lotr-common/src/main/resources/gemp-lotr.properties new file mode 100644 index 000000000..62e5a7c49 --- /dev/null +++ b/gemp-lotr/gemp-lotr-common/src/main/resources/gemp-lotr.properties @@ -0,0 +1,3 @@ +application.root=/etc/gemp-lotr +## My home location +#application.root=i:\gemp-lotr \ No newline at end of file diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/actions/DefaultActionsEnvironment.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/actions/DefaultActionsEnvironment.java index 3ff0237a5..516ebba6a 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/actions/DefaultActionsEnvironment.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/actions/DefaultActionsEnvironment.java @@ -18,10 +18,12 @@ import com.gempukku.lotro.logic.timing.results.CharacterLostSkirmishResult; import com.gempukku.lotro.logic.timing.results.CharacterWonSkirmishResult; import com.gempukku.lotro.logic.timing.results.PlayCardResult; import com.gempukku.lotro.logic.timing.rules.CharacterDeathRule; +import org.apache.log4j.Logger; import java.util.*; public class DefaultActionsEnvironment implements ActionsEnvironment { + private static Logger LOG = Logger.getLogger(DefaultActionsEnvironment.class); private LotroGame _lotroGame; private CharacterDeathRule _characterDeathRule; private ActionStack _actionStack; @@ -526,7 +528,7 @@ public class DefaultActionsEnvironment implements ActionsEnvironment { if (action != null) _actions.add(action); else - System.out.println("Null action from: " + physicalCard.getBlueprint().getName()); + LOG.error("Null action from: " + physicalCard.getBlueprint().getName()); } } final List extraActions = _game.getModifiersQuerying().getExtraPhaseActions(_game.getGameState(), physicalCard); @@ -535,7 +537,7 @@ public class DefaultActionsEnvironment implements ActionsEnvironment { if (action != null) _actions.add(action); else - System.out.println("Null action from: " + physicalCard.getBlueprint().getName()); + LOG.debug("Null action from: " + physicalCard.getBlueprint().getName()); } } } @@ -568,7 +570,7 @@ public class DefaultActionsEnvironment implements ActionsEnvironment { if (action != null) _actions.add(action); else - System.out.println("Null action from: " + physicalCard.getBlueprint().getName()); + LOG.debug("Null action from: " + physicalCard.getBlueprint().getName()); } } } diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/AbstractServer.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/AbstractServer.java index b6eebfa31..ed08e4341 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/AbstractServer.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/AbstractServer.java @@ -1,6 +1,9 @@ package com.gempukku.lotro; +import org.apache.log4j.Logger; + public abstract class AbstractServer { + private static Logger _logger = Logger.getLogger(AbstractServer.class); private static ServerCleaner _cleaningTask = new ServerCleaner(); private boolean _started; @@ -9,6 +12,7 @@ public abstract class AbstractServer { if (!_started) { _cleaningTask.addServer(this); _started = true; + _logger.debug("Started: "+getClass().getSimpleName()); doAfterStartup(); } } @@ -21,6 +25,7 @@ public abstract class AbstractServer { if (_started) { _cleaningTask.removeServer(this); _started = false; + _logger.debug("Stopped: "+getClass().getSimpleName()); } } diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/ServerCleaner.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/ServerCleaner.java index b03ac3d63..4432e2676 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/ServerCleaner.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/ServerCleaner.java @@ -12,7 +12,7 @@ public class ServerCleaner { private CleaningThread _thr; public synchronized void addServer(AbstractServer server) { - System.out.println("Adding server: " + server.getClass()); + LOG.debug("Adding server: " + server.getClass()); _servers.add(server); if (_thr == null) { _thr = new CleaningThread(); diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/collection/CollectionsManager.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/collection/CollectionsManager.java index 27d4c3f5a..62184be0d 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/collection/CollectionsManager.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/collection/CollectionsManager.java @@ -6,6 +6,7 @@ import com.gempukku.lotro.db.PlayerDAO; import com.gempukku.lotro.db.vo.CollectionType; import com.gempukku.lotro.game.*; import com.gempukku.lotro.packs.PacksStorage; +import org.apache.log4j.Logger; import java.io.IOException; import java.sql.SQLException; @@ -15,6 +16,7 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.locks.ReentrantReadWriteLock; public class CollectionsManager { + private static Logger _logger = Logger.getLogger(CollectionsManager.class); private ReentrantReadWriteLock _readWriteLock = new ReentrantReadWriteLock(); private Map> _collections = new ConcurrentHashMap>(); @@ -39,7 +41,7 @@ public class CollectionsManager { final int[] cardCounts = new int[]{129, 365, 122, 122, 365, 128, 128, 365, 122, 52, 122, 266, 203, 203, 15, 207, 6, 157, 149, 40}; for (int i = 0; i <= 19; i++) { - System.out.println("Loading set " + i); + _logger.debug("Loading set " + i); for (int j = 1; j <= cardCounts[i]; j++) { String blueprintId = i + "_" + j; try { diff --git a/gemp-lotr/gemp-lotr-web-server/src/main/java/com/gempukku/lotro/server/ServerResource.java b/gemp-lotr/gemp-lotr-web-server/src/main/java/com/gempukku/lotro/server/ServerResource.java index caa1ba3ce..206a75192 100644 --- a/gemp-lotr/gemp-lotr-web-server/src/main/java/com/gempukku/lotro/server/ServerResource.java +++ b/gemp-lotr/gemp-lotr-web-server/src/main/java/com/gempukku/lotro/server/ServerResource.java @@ -1,7 +1,6 @@ package com.gempukku.lotro.server; import com.gempukku.lotro.chat.ChatServer; -import com.gempukku.lotro.common.ApplicationRoot; import com.gempukku.lotro.db.PlayerStatistic; import com.gempukku.lotro.db.vo.GameHistoryEntry; import com.gempukku.lotro.game.*; @@ -20,7 +19,6 @@ import javax.ws.rs.core.StreamingOutput; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; -import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -50,13 +48,6 @@ public class ServerResource extends AbstractResource { @Context private GameRecorder _gameRecorder; - public ServerResource() { - if (!_test) - ApplicationRoot.setRoot(new File("/etc/gemp-lotr")); - else - ApplicationRoot.setRoot(new File("i:\\gemp-lotr")); - } - @Path("/login") @POST @Produces("text/html") diff --git a/gemp-lotr/gemp-lotr-web-server/src/main/java/com/gempukku/lotro/server/provider/MapProvider.java b/gemp-lotr/gemp-lotr-web-server/src/main/java/com/gempukku/lotro/server/provider/MapProvider.java index 83d57cbf6..8e4d846cb 100644 --- a/gemp-lotr/gemp-lotr-web-server/src/main/java/com/gempukku/lotro/server/provider/MapProvider.java +++ b/gemp-lotr/gemp-lotr-web-server/src/main/java/com/gempukku/lotro/server/provider/MapProvider.java @@ -7,13 +7,14 @@ import com.sun.jersey.spi.inject.Injectable; import com.sun.jersey.spi.inject.InjectableProvider; import org.apache.log4j.Logger; -import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import javax.ws.rs.core.Context; +import javax.ws.rs.ext.Provider; import java.lang.reflect.Type; import java.util.HashMap; import java.util.Map; +@Provider public class MapProvider implements InjectableProvider { private static final Logger _logger = Logger.getLogger(PacksStorageBuilder.class); private Map _objectMap = new HashMap(); @@ -23,6 +24,7 @@ public class MapProvider implements InjectableProvider { _objectMap.put(PacksStorage.class, PacksStorageBuilder.createPacksStorage()); DaoBuilder.fillObjectMap(_objectMap); ServerBuilder.fillObjectMap(_objectMap); + ServerBuilder.constructObjects(_objectMap); } catch (Exception exp) { _logger.error("Unable to startup the server", exp); } @@ -33,11 +35,6 @@ public class MapProvider implements InjectableProvider { return ComponentScope.Singleton; } - @PostConstruct - public void constructObjects() { - ServerBuilder.constructObjects(_objectMap); - } - @PreDestroy public void destroyObjects() { ServerBuilder.destroyObjects(_objectMap); @@ -45,10 +42,13 @@ public class MapProvider implements InjectableProvider { @Override public Injectable getInjectable(ComponentContext ic, Context context, final Type type) { + final Object value = _objectMap.get(type); + if (value == null) + return null; return new Injectable() { @Override public Object getValue() { - return _objectMap.get(type); + return value; } }; } diff --git a/gemp-lotr/gemp-lotr-web-server/src/main/resources/log4j.xml b/gemp-lotr/gemp-lotr-web-server/src/main/resources/log4j.xml index 5f21b2e96..4aa73e4b2 100644 --- a/gemp-lotr/gemp-lotr-web-server/src/main/resources/log4j.xml +++ b/gemp-lotr/gemp-lotr-web-server/src/main/resources/log4j.xml @@ -8,7 +8,7 @@ - +