From 0da2cc42367ce63ba0796c3ce73055ae8b692198 Mon Sep 17 00:00:00 2001
From: Leonard <Leonard@Leonard.Leo>
Date: Thu, 2 Jul 2020 15:16:42 +0300
Subject: [PATCH] controller

---
 .../Communication/ClientControllerCommunicator.java        | 2 +-
 .../galaxytrucker/galaxytruckerreloaded/Model/Ship.java    | 6 +++---
 .../galaxytruckerreloaded/Model/ShipLayout/Room.java       | 3 ++-
 .../Model/ShipLayout/WeaponSystem.java                     | 7 ++-----
 .../galaxytrucker/galaxytruckerreloaded/Model/User.java    | 4 ++--
 5 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Communication/ClientControllerCommunicator.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Communication/ClientControllerCommunicator.java
index 179b77c8..eddd4de9 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Communication/ClientControllerCommunicator.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Communication/ClientControllerCommunicator.java
@@ -63,7 +63,7 @@ public class ClientControllerCommunicator {
         if (singleton == null){
             singleton = new ClientControllerCommunicator(client);
         }
-        // TODO CREATE ALL CONTROLLERS HERE
+        // TODO CREATE ALL CONTROLLERS HERE, all controllers should be singletons
         return singleton;
     }
 }
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Ship.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Ship.java
index caaac09f..7fbcebfc 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Ship.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Ship.java
@@ -83,7 +83,7 @@ public class Ship implements Serializable {
      * The planet the ship is currently at
      */
     @NonNull
-    @ManyToOne
+    @ManyToOne(cascade = CascadeType.ALL)
     private Planet planet;
 
     /** Shields */
@@ -98,12 +98,12 @@ public class Ship implements Serializable {
 
     /** This ship's systems */
     @NonNull
-    @OneToMany
+    @OneToMany(cascade = CascadeType.ALL)
     private List<Room> systems;
 
     /** Inventory */
     @NonNull
-    @OneToMany
+    @OneToMany(cascade = CascadeType.ALL)
     private List<Weapon> inventory;
 
     /** Whether or not the ship is in combat */
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/Room.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/Room.java
index 2999c1c4..71331091 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/Room.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/Room.java
@@ -4,6 +4,7 @@ package com.galaxytrucker.galaxytruckerreloaded.Model.ShipLayout;
 import com.galaxytrucker.galaxytruckerreloaded.Model.Crew.Crew;
 import lombok.*;
 
+import javax.persistence.CascadeType;
 import javax.persistence.Entity;
 import javax.persistence.Id;
 import javax.persistence.OneToMany;
@@ -57,6 +58,6 @@ public abstract class Room implements Serializable {
 
     /** Crew in this system */
     @NonNull
-    @OneToMany
+    @OneToMany(cascade = CascadeType.ALL)
     private List<Crew> crew;
 }
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/WeaponSystem.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/WeaponSystem.java
index 04622e6a..6da0fbb0 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/WeaponSystem.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/WeaponSystem.java
@@ -3,10 +3,7 @@ package com.galaxytrucker.galaxytruckerreloaded.Model.ShipLayout;
 import com.galaxytrucker.galaxytruckerreloaded.Model.Weapons.Weapon;
 import lombok.*;
 
-import javax.persistence.ElementCollection;
-import javax.persistence.Entity;
-import javax.persistence.ManyToOne;
-import javax.persistence.OneToMany;
+import javax.persistence.*;
 import java.util.List;
 
 @RequiredArgsConstructor(access = AccessLevel.PUBLIC)
@@ -20,7 +17,7 @@ public class WeaponSystem extends System {
     private boolean manned = false;
 
     /** List of weapons this ship has */
-    @OneToMany
+    @OneToMany(cascade = CascadeType.ALL)
     private List<Weapon> shipWeapons;
 
 }
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/User.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/User.java
index de50f177..7c233300 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/User.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/User.java
@@ -26,11 +26,11 @@ public class User implements Serializable {
     /**
      * The user's ship
      */
-    @OneToOne
+    @OneToOne(cascade = CascadeType.ALL)
     private Ship userShip;
 
     /** The user's overWorld map */
-    @OneToOne
+    @OneToOne(cascade = CascadeType.ALL)
     private Overworld overworld;
 
     /** Whether or not the user is logged in */
-- 
GitLab