diff --git a/GameServer/build.xml b/GameServer/build.xml index 7f19538..c4b586a 100644 --- a/GameServer/build.xml +++ b/GameServer/build.xml @@ -4,11 +4,12 @@ + - + @@ -18,6 +19,10 @@ + + + + @@ -29,6 +34,7 @@ + diff --git a/GameServer/module/DataStoreCore.jar b/GameServer/module/DataStoreCore.jar new file mode 100644 index 0000000..bfea6ab Binary files /dev/null and b/GameServer/module/DataStoreCore.jar differ diff --git a/GameServer/module/XMLUsingXStreamDataStore.jar b/GameServer/module/XMLUsingXStreamDataStore.jar new file mode 100644 index 0000000..f85dcaa Binary files /dev/null and b/GameServer/module/XMLUsingXStreamDataStore.jar differ diff --git a/GameServer/moparclassic.jar b/GameServer/moparclassic.jar new file mode 100644 index 0000000..edc4207 Binary files /dev/null and b/GameServer/moparclassic.jar differ diff --git a/GameServer/src/org/moparscape/msc/gs/Instance.java b/GameServer/src/org/moparscape/msc/gs/Instance.java index 8d48c67..67bbd72 100644 --- a/GameServer/src/org/moparscape/msc/gs/Instance.java +++ b/GameServer/src/org/moparscape/msc/gs/Instance.java @@ -6,7 +6,7 @@ import org.moparscape.msc.gs.db.DBConnection; import org.moparscape.msc.gs.db.ReportHandlerQueries; import org.moparscape.msc.gs.model.World; import org.moparscape.msc.gs.persistence.DataStore; -import org.moparscape.msc.gs.persistence.DataStoreFactory; +import org.moparscape.msc.gs.persistence.impl.DataStoreFactory; import org.moparscape.msc.gs.plugins.dependencies.PluginHandler; /** diff --git a/GameServer/src/org/moparscape/msc/gs/persistence/DataStoreFactory.java b/GameServer/src/org/moparscape/msc/gs/persistence/impl/DataStoreFactory.java similarity index 65% rename from GameServer/src/org/moparscape/msc/gs/persistence/DataStoreFactory.java rename to GameServer/src/org/moparscape/msc/gs/persistence/impl/DataStoreFactory.java index b444b1b..96bceba 100644 --- a/GameServer/src/org/moparscape/msc/gs/persistence/DataStoreFactory.java +++ b/GameServer/src/org/moparscape/msc/gs/persistence/impl/DataStoreFactory.java @@ -1,4 +1,6 @@ -package org.moparscape.msc.gs.persistence; +package org.moparscape.msc.gs.persistence.impl; + +import org.moparscape.msc.gs.persistence.DataStore; public class DataStoreFactory { diff --git a/LoginServer/build.xml b/LoginServer/build.xml index 5dc76a7..7bfe7e3 100644 --- a/LoginServer/build.xml +++ b/LoginServer/build.xml @@ -26,7 +26,7 @@ - + diff --git a/Modules/DataStore/DataStoreCore.jar b/Modules/DataStore/DataStoreCore.jar new file mode 100644 index 0000000..f6cb33c Binary files /dev/null and b/Modules/DataStore/DataStoreCore.jar differ diff --git a/Modules/DataStore/XMLUsingXStream/build.xml b/Modules/DataStore/XMLUsingXStream/build.xml new file mode 100644 index 0000000..f99a206 --- /dev/null +++ b/Modules/DataStore/XMLUsingXStream/build.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GameServer/lib/xpp3.jar b/Modules/DataStore/XMLUsingXStream/lib/xpp3.jar similarity index 100% rename from GameServer/lib/xpp3.jar rename to Modules/DataStore/XMLUsingXStream/lib/xpp3.jar diff --git a/GameServer/lib/xstream.jar b/Modules/DataStore/XMLUsingXStream/lib/xstream.jar similarity index 100% rename from GameServer/lib/xstream.jar rename to Modules/DataStore/XMLUsingXStream/lib/xstream.jar diff --git a/GameServer/src/org/moparscape/msc/gs/persistence/impl/XMLUsingXStream.java b/Modules/DataStore/XMLUsingXStream/src/org/moparscape/msc/gs/persistence/impl/XMLUsingXStream.java similarity index 95% rename from GameServer/src/org/moparscape/msc/gs/persistence/impl/XMLUsingXStream.java rename to Modules/DataStore/XMLUsingXStream/src/org/moparscape/msc/gs/persistence/impl/XMLUsingXStream.java index 84220c0..1674d17 100644 --- a/GameServer/src/org/moparscape/msc/gs/persistence/impl/XMLUsingXStream.java +++ b/Modules/DataStore/XMLUsingXStream/src/org/moparscape/msc/gs/persistence/impl/XMLUsingXStream.java @@ -36,12 +36,16 @@ import com.thoughtworks.xstream.XStream; * A DataStore that parses XML using XStream. * * @author Joe Pritzel - * + * */ @NotThreadSafe @SuppressWarnings("unchecked") public class XMLUsingXStream implements DataStore { + protected XMLUsingXStream() { + // To conform to the contract specified by the DataStore interface. + } + private static final XStream xstream = new XStream(); static { diff --git a/Modules/DataStore/build.xml b/Modules/DataStore/build.xml new file mode 100644 index 0000000..3837fa3 --- /dev/null +++ b/Modules/DataStore/build.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Modules/DataStore/lib/jcip-annotations-1.0.jar b/Modules/DataStore/lib/jcip-annotations-1.0.jar new file mode 100644 index 0000000..06e9066 Binary files /dev/null and b/Modules/DataStore/lib/jcip-annotations-1.0.jar differ diff --git a/GameServer/src/org/moparscape/msc/gs/persistence/DataStore.java b/Modules/DataStore/src/org/moparscape/msc/gs/persistence/DataStore.java similarity index 91% rename from GameServer/src/org/moparscape/msc/gs/persistence/DataStore.java rename to Modules/DataStore/src/org/moparscape/msc/gs/persistence/DataStore.java index a4d836c..666d47c 100644 --- a/GameServer/src/org/moparscape/msc/gs/persistence/DataStore.java +++ b/Modules/DataStore/src/org/moparscape/msc/gs/persistence/DataStore.java @@ -13,12 +13,17 @@ import org.moparscape.msc.gs.npchandler.NpcHandlerDef; import org.moparscape.msc.gs.phandler.PacketHandlerDef; /** - * Any retrieval of unchanging data should be done through this interface. + * Any retrieval of unchanging data should be done through this interface. All + * implementations should be only accessable by the + * org.moparscape.msc.gs.persistence.impl package.
+ * Implementations should also use JCIP annotations to specify their degree of thread + * saftey. * * @author Joe Pritzel * */ -public interface DataStore { +public abstract interface DataStore { + public PacketHandlerDef[] loadPacketHandlerDefs(); public PacketHandlerDef[] loadLSPacketHandlerDefs();