diff --git a/core/out/production/classes/META-INF/galaxytrucker.core.main.kotlin_module b/core/out/production/classes/META-INF/galaxytrucker.core.main.kotlin_module new file mode 100644 index 0000000000000000000000000000000000000000..8fb60192d378759239a3ecbf60eac8c8de446e9c Binary files /dev/null and b/core/out/production/classes/META-INF/galaxytrucker.core.main.kotlin_module differ diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/Persistence/OverworldDAO.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/Persistence/OverworldDAO.java index e17195dc40979397e32da33452db36d5a5f5fc38..fe6702a08e0923bd37a78987114d6fc25a48ce35 100644 --- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/Persistence/OverworldDAO.java +++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/Persistence/OverworldDAO.java @@ -32,4 +32,12 @@ public class OverworldDAO extends ObjectDAO<Overworld> { public void remove(Overworld o) throws OverworldNotFoundException { } + + /** Get the overworld of a designated user + * @param username - the user whose world map to get + * @return the user's world map + * @throws OverworldNotFoundException if the overworld couldn't be found */ + public Overworld getOverworldByUser(String username) throws OverworldNotFoundException{ + return null; + } } diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/Persistence/RoomDAO.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/Persistence/RoomDAO.java index 08986371083b76707cabcd815f2016b2db4b1a89..9fbbb566c1e7e5cbd9bb5934b02fd19f7ef73249 100644 --- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/Persistence/RoomDAO.java +++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/Persistence/RoomDAO.java @@ -3,10 +3,14 @@ package com.galaxytrucker.galaxytruckerreloaded.Server.Persistence; import com.galaxytrucker.galaxytruckerreloaded.Model.ShipLayout.Room; import com.galaxytrucker.galaxytruckerreloaded.Server.Exception.DuplicateRoomException; import com.galaxytrucker.galaxytruckerreloaded.Server.Exception.RoomNotFoundException; +import com.j256.ormlite.dao.Dao; /** This class manages room objects in the database */ public class RoomDAO extends ObjectDAO<Room> { + /** RoomDAO */ + private Dao<Room,String> roomDAO; + /** * Add a new room to the database * @@ -24,7 +28,7 @@ public class RoomDAO extends ObjectDAO<Room> { * @param r - the room to edit * @throws RoomNotFoundException if the room cannot be found in the database */ - public void edit(Room r) throws RoomNotFoundException { + public void update(Room r) throws RoomNotFoundException { } diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/Persistence/TraderDAO.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/Persistence/TraderDAO.java index 473bcedef29fd5534964266792584f991b9c07b0..0388a8396f3595af814f0fb4c64064370a4e843e 100644 --- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/Persistence/TraderDAO.java +++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/Persistence/TraderDAO.java @@ -3,12 +3,16 @@ package com.galaxytrucker.galaxytruckerreloaded.Server.Persistence; import com.galaxytrucker.galaxytruckerreloaded.Model.Map.Trader; import com.galaxytrucker.galaxytruckerreloaded.Server.Exception.DuplicateTraderException; import com.galaxytrucker.galaxytruckerreloaded.Server.Exception.TraderNotFoundException; +import com.j256.ormlite.dao.Dao; /** * This class handles trader objects in the database */ public class TraderDAO extends ObjectDAO<Trader> { + /** TraderDAO */ + private Dao<Trader,String> traderDAO; + /** * Add a new trader to the database * @@ -26,7 +30,7 @@ public class TraderDAO extends ObjectDAO<Trader> { * @param t - the trader to edit * @throws TraderNotFoundException if the trader cannot be found in the database */ - public void edit(Trader t) throws TraderNotFoundException { + public void update(Trader t) throws TraderNotFoundException { } diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/Persistence/UserDAO.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/Persistence/UserDAO.java index 5f8be49d8033a6bd80789c37db6706b2ce00840d..45c79cb5ee04d0d9d1c60c4c4f2c7ff8bf838ae9 100644 --- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/Persistence/UserDAO.java +++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/Persistence/UserDAO.java @@ -11,7 +11,7 @@ public class UserDAO extends ObjectDAO<User> { /** * UserDAO */ - private Dao<User, String> userDao; + private Dao<User, String> userDAO; /** * Constructor diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/Persistence/WeaponDAO.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/Persistence/WeaponDAO.java index b9081f7bd7a08cb9b338ac780033156c951c431f..01872911dafc60294a4f189ffad06c05ceea6d29 100644 --- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/Persistence/WeaponDAO.java +++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/Persistence/WeaponDAO.java @@ -3,12 +3,16 @@ package com.galaxytrucker.galaxytruckerreloaded.Server.Persistence; import com.galaxytrucker.galaxytruckerreloaded.Model.Weapons.Weapon; import com.galaxytrucker.galaxytruckerreloaded.Server.Exception.DuplicateWeaponException; import com.galaxytrucker.galaxytruckerreloaded.Server.Exception.WeaponNotFoundException; +import com.j256.ormlite.dao.Dao; /** * This class manages weapons in the database */ public class WeaponDAO extends ObjectDAO<Weapon> { + /** WeaponDAO */ + private Dao<Weapon,String> weaponDAO; + /** * Add a new weapon to the database * @@ -26,7 +30,7 @@ public class WeaponDAO extends ObjectDAO<Weapon> { * @param w - the weapon to edit * @throws WeaponNotFoundException if the weapon doesn't exist in the database */ - public void edit(Weapon w) throws WeaponNotFoundException { + public void update(Weapon w) throws WeaponNotFoundException { } diff --git a/desktop/out/production/resources/badlogic.jpg b/desktop/out/production/resources/badlogic.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4390da6e0f6d041590c6313d2b4c978abc00a342 Binary files /dev/null and b/desktop/out/production/resources/badlogic.jpg differ diff --git a/doc/Architekturbeschreibung.tex b/doc/Architekturbeschreibung.tex index a1d598689c339ce860a5bc136159238a638a25dd..b853a0a6242a06adb4cdcc3e94c80fe733895be2 100644 --- a/doc/Architekturbeschreibung.tex +++ b/doc/Architekturbeschreibung.tex @@ -16,12 +16,7 @@ \begin{document} \newcommand\documentTitle{Architekturbeschreibung} -\begin{minipage}[H]{\textwidth} - \vfill - \centering - \includegraphics[scale=0.2]{Logo/Logo.PNG} - \end{minipage} - \vfill + \swpdocument{Karsten Hölscher}{31. Mai 2020}{1.0}% {Fabian Kehlenbeck & fkehlenb@tzi.de}% @@ -1217,6 +1212,23 @@ Es werden alle Daten und Befehle vom Frontend (Interface/View) ins Backend weite \end{figure} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Pakete} \label{sec:pakete} + +\subsection{Persistenz} + +Das folgende Diagramm beschreibt unsere Persistenz. Persistenz Klassen werden dazu genutzt daten in der Datenbank zu speichern, verändern und löschen. Zu jedem im Spiel vorkommenden Objekt, bzw zu der Klasse aus dem das Objekt stammt, muss es ein so gennantes Data Access Object geben (kurz DAO), um diese in der Datenbank verwalten zu können. +Da viele von den DAOs die gleichen Funktionen haben, werden sie alle von einer Oberklasse ObjectDAO erben. ObjectDAO hat in sich drin auch eine Variable, welche die Verbundung zur Datenbank herstellt. Hiermit können so auch alle anderen DAOs auf die Datenbank zugreifen. Da wir ORMLite benutzen, wird auch jede unterklasse eine Variable des Typs Dao haben, welche zur abspeicherung der Daten verwendet wird. Um Daten abzuspeichern, wird die Methode persist(T) benutzt. Um daten zu löschen remove(T). Da manche Objekte in der Datenbank nicht verändert werden müssen (z.B. die Weltkarte), wird es keine Methode in der Oberklasse zum Updaten der Daten geben, sondern in jeder Unterklasse welche diese benötigt. + +\begin{figure}[h!] +\begin{center} + \includegraphics[width=\linewidth]{UML/PersistencePackage.pdf} + \caption{Persistenz} +\end{center} +\end{figure} + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Modulsicht} \label{sec:modulsicht} {\itshape Diese Sicht beschreibt den statischen Aufbau des Systems mit Hilfe von @@ -1327,15 +1339,6 @@ anhand der Strategien erläutert werden.} \end{center} \end{figure} -\subsection{Persistenz} - -\begin{figure}[H] -\begin{center} - \includegraphics[width=\linewidth]{../GT_Modulsicht/src/Persistenz.pdf} - \caption{Das Datenmodell} -\end{center} -\end{figure} - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Datensicht} \label{sec:datensicht} diff --git a/doc/UML/PersistencePackage.drawio b/doc/UML/PersistencePackage.drawio new file mode 100644 index 0000000000000000000000000000000000000000..7a5d0f12519d3ac49c0a4feb20b5c7ef7be05aff --- /dev/null +++ b/doc/UML/PersistencePackage.drawio @@ -0,0 +1 @@ +<mxfile host="app.diagrams.net" modified="2020-05-31T14:30:53.603Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36" etag="3Gld44FJTPROcGOVfXdR" version="13.1.11" type="device"><diagram id="VoNF1Vp0fhK8RiTlHOmJ" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/doc/UML/PersistencePackage.pdf b/doc/UML/PersistencePackage.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e1aea965a76a3a7d488b3b6505f09bc637ec231b Binary files /dev/null and b/doc/UML/PersistencePackage.pdf differ diff --git a/doc/swp-preamble.tex b/doc/swp-preamble.tex index 1e03c7d9cb5986834e82663daede1b46afde1b26..f18596e67c6407783c23fd321463a39cc12b7f11 100644 --- a/doc/swp-preamble.tex +++ b/doc/swp-preamble.tex @@ -116,6 +116,12 @@ \end{center} \end{minipage} \vfill +\begin{minipage}[H]{\textwidth} + \vfill + \centering + \includegraphics[scale=0.2]{Logo/Logo.PNG} + \end{minipage} + \vfill \begin{minipage}[H]{\textwidth} \begin{center} \sffamily