Roles added
[staff/due1/sed-hs15-srs-purple.git] / src / main / java / ch / bfh / ti / srs / dataschema / Reservation.java
index 8ad99e9..29689a6 100644 (file)
@@ -11,7 +11,7 @@ import java.util.UUID;
 \r
 import ch.bfh.ti.daterange.DateRange;\r
 \r
-public class Reservation {\r
+public class Reservation implements Modify {\r
 \r
        private UUID id;\r
        private UUID groupId;\r
@@ -20,18 +20,27 @@ public class Reservation {
        private DateRange dateRange;\r
        private String remark;\r
 \r
-       public Reservation(User user, Resource resource, DateRange DateRange, String remark) {\r
-//             if (user == null)\r
-//                     throw new IllegalArgumentException("User must not be null");\r
-//             if (resource == null)\r
-//                     throw new IllegalArgumentException("Resource must not be null");\r
-//             if (dateRange == null)\r
-//                     throw new IllegalArgumentException("DateRange must not be null");\r
+       public Reservation(UUID groupId, User user, Resource resource, DateRange DateRange, String remark) {\r
+               if (user == null)\r
+                       throw new IllegalArgumentException("User must not be null");\r
+               if (resource == null)\r
+                       throw new IllegalArgumentException("Resource must not be null");\r
 \r
+               this.groupId = groupId;\r
                this.user = user;\r
                this.resource = resource;\r
                this.dateRange = DateRange;\r
                this.remark = remark;\r
+\r
+               this.id = UUID.randomUUID();\r
+       }\r
+\r
+       public UUID getId() {\r
+               return id;\r
+       }\r
+\r
+       public UUID getGroupId() {\r
+               return groupId;\r
        }\r
 \r
        public User getUser() {\r
@@ -53,7 +62,7 @@ public class Reservation {
        public void setUser(User user) {\r
                this.user = user;\r
        }\r
\r
+\r
        public void setResource(Resource resource) {\r
                this.resource = resource;\r
        }\r
@@ -65,8 +74,23 @@ public class Reservation {
        public void setRemark(String remark) {\r
                this.remark = remark;\r
        }\r
-       \r
-       private UUID createUUID() {\r
-               return null;\r
+\r
+       @Override\r
+       public boolean isModified(Object obj) {\r
+               if (obj == this) {\r
+                       return false;\r
+               }\r
+               if (obj == null) {\r
+                       return true;\r
+               }\r
+               Reservation otherReservation = (Reservation) obj;\r
+               return this.user != otherReservation.getUser() || this.resource != otherReservation.getResource()\r
+                               || this.dateRange.compareTo(otherReservation.getDateRange()) != 0\r
+                               || this.remark != otherReservation.getRemark();\r
+       }\r
+\r
+       @Override\r
+       public Reservation clone() throws CloneNotSupportedException {\r
+               return (Reservation) super.clone();\r
        }\r
 }\r