Commit 5e5b7c79d5d68800cdf15d0c85590e100046568d
1 parent
6a9824ee
feature: RoleViewController erweitert (WIP)
Showing
1 changed file
with
128 additions
and
2 deletions
src/main/java/net/ziemers/swxercise/ui/RoleViewController.java
@@ -26,12 +26,12 @@ public class RoleViewController { | @@ -26,12 +26,12 @@ public class RoleViewController { | ||
26 | private RoleService roleService; | 26 | private RoleService roleService; |
27 | 27 | ||
28 | /** | 28 | /** |
29 | - * Liefert alle Rollen-Objekte zurück. | 29 | + * Liefert alle Role-Objekte zurück. |
30 | * <p> | 30 | * <p> |
31 | * Aufruf: | 31 | * Aufruf: |
32 | * GET http://localhost:8080/swxercise/rest/v1/roles | 32 | * GET http://localhost:8080/swxercise/rest/v1/roles |
33 | * | 33 | * |
34 | - * @return die Rollen-Objekte, oder ein leeres JSON-Array, falls keine existieren. | 34 | + * @return die Role-Objekte, oder ein leeres JSON-Array, falls keine existieren. |
35 | */ | 35 | */ |
36 | @GET | 36 | @GET |
37 | @Path("v1/roles") | 37 | @Path("v1/roles") |
@@ -42,6 +42,43 @@ public class RoleViewController { | @@ -42,6 +42,43 @@ public class RoleViewController { | ||
42 | } | 42 | } |
43 | 43 | ||
44 | /** | 44 | /** |
45 | + * Liefert das Role-Objekt mit der gewünschten Id zurück. | ||
46 | + * <p> | ||
47 | + * Aufruf: | ||
48 | + * GET http://localhost:8080/swxercise/rest/v1/role/42 | ||
49 | + * | ||
50 | + * @param id die Id des gewünschten Role-Objekts | ||
51 | + * @return das Role-Objekt als JSON, oder <code>null</code>, falls keines existiert. | ||
52 | + */ | ||
53 | + @GET | ||
54 | + @Path("v1/role/{id}") | ||
55 | + @Produces(MediaType.APPLICATION_JSON) | ||
56 | + @RolesAllowed(RightState.Constants.ADMIN) | ||
57 | + public User getRole(@PathParam("id") Long id) { | ||
58 | + // TODO noch zu implementieren | ||
59 | + //return roleService.findRole(id); | ||
60 | + return null; | ||
61 | + } | ||
62 | + | ||
63 | + /** | ||
64 | + * Liefert das Role-Objekt des zurzeit angemeldeten Benutzers zurück. | ||
65 | + * <p> | ||
66 | + * Aufruf: | ||
67 | + * GET http://localhost:8080/swxercise/rest/v1/role | ||
68 | + * | ||
69 | + * @return das Role-Objekt als JSON, oder <code>null</code>, falls keines existiert. | ||
70 | + */ | ||
71 | + @GET | ||
72 | + @Path("v1/role") | ||
73 | + @Produces(MediaType.APPLICATION_JSON) | ||
74 | + @RolesAllowed(RightState.Constants.LOGGED_IN) | ||
75 | + public User getRole() { | ||
76 | + // TODO noch zu implmentieren | ||
77 | + //return userService.findUser(); | ||
78 | + return null; | ||
79 | + } | ||
80 | + | ||
81 | + /** | ||
45 | * Erstellt ein neues Role-Objekt mit den gewünschten Eigenschaften, welche mittels {@link RoleDto} definiert werden. | 82 | * Erstellt ein neues Role-Objekt mit den gewünschten Eigenschaften, welche mittels {@link RoleDto} definiert werden. |
46 | * <p> | 83 | * <p> |
47 | * Aufruf: | 84 | * Aufruf: |
@@ -64,6 +101,95 @@ public class RoleViewController { | @@ -64,6 +101,95 @@ public class RoleViewController { | ||
64 | } | 101 | } |
65 | 102 | ||
66 | /** | 103 | /** |
104 | + * Aktualisiert das Role-Objekt mit der gewünschten Id mit den Eigenschaften, | ||
105 | + * welche mittels {@link RoleDto} definiert werden. Der Pfadparameter wird | ||
106 | + * als erstes ge'marshal't, das DTO im Post-Content danach (REST-Konvention). | ||
107 | + * <p> | ||
108 | + * Aufruf: | ||
109 | + * PUT http://localhost:8080/swxercise/rest/v1/role/42 | ||
110 | + * | ||
111 | + * @param id die Id des zu aktualisierenden Role-Objekts | ||
112 | + * @param dto das mittels der als JSON-Objekt übergebenenen Eigenschaften zu füllende {@link RoleDto} | ||
113 | + * @return ein {@link ResponseState}-Objekt mit den Ergebnisinformationen des Aufrufs. | ||
114 | + */ | ||
115 | + @PUT | ||
116 | + @Path("v1/role/{id}") | ||
117 | + @Consumes(MediaType.APPLICATION_JSON) | ||
118 | + @Produces(MediaType.APPLICATION_JSON) | ||
119 | + @RolesAllowed(RightState.Constants.ADMIN) | ||
120 | + public RestResponse updateRole(@PathParam("id") Long id, RoleDto dto) { | ||
121 | + // TODO noch zu implementieren | ||
122 | + //if (roleService.updateRole(id, dto)) { | ||
123 | + // return new RestResponse(); | ||
124 | + //} | ||
125 | + return new RestResponse(ResponseState.FAILED); | ||
126 | + } | ||
127 | + | ||
128 | + /** | ||
129 | + * Aktualisiert das Role-Objekt des zurzeit angemeldeten Benutzers mit den | ||
130 | + * Eigenschaften, welche mittels {@link RoleDto} definiert werden. Der | ||
131 | + * Pfadparameter wird als erstes ge'marshal't, das DTO im Post-Content | ||
132 | + * danach (REST-Konvention). | ||
133 | + * <p> | ||
134 | + * Aufruf: | ||
135 | + * PUT http://localhost:8080/swxercise/rest/v1/role | ||
136 | + * | ||
137 | + * @param dto das mittels der als JSON-Objekt übergebenenen Eigenschaften zu füllende {@link RoleDto} | ||
138 | + * @return ein {@link ResponseState}-Objekt mit den Ergebnisinformationen des Aufrufs. | ||
139 | + */ | ||
140 | + @PUT | ||
141 | + @Path("v1/role") | ||
142 | + @Consumes(MediaType.APPLICATION_JSON) | ||
143 | + @Produces(MediaType.APPLICATION_JSON) | ||
144 | + @RolesAllowed(RightState.Constants.LOGGED_IN) | ||
145 | + public RestResponse updateRole(RoleDto dto) { | ||
146 | + // TODO noch zu implementieren | ||
147 | + //if (roleService.updateRole(dto)) { | ||
148 | + // return new RestResponse(); | ||
149 | + //} | ||
150 | + return new RestResponse(ResponseState.FAILED); | ||
151 | + } | ||
152 | + | ||
153 | + /** | ||
154 | + * Löscht das Role-Objekt mit der gewünschten Id. | ||
155 | + * <p> | ||
156 | + * Aufruf: | ||
157 | + * DELETE http://localhost:8080/swxercise/rest/v1/role/42 | ||
158 | + * | ||
159 | + * @param id die Id des gewünschten Role-Objekts | ||
160 | + * @return ein {@link ResponseState}-Objekt mit den Ergebnisinformationen des Aufrufs. | ||
161 | + */ | ||
162 | + @DELETE | ||
163 | + @Path("v1/role/{id}") | ||
164 | + @Produces(MediaType.APPLICATION_JSON) | ||
165 | + @RolesAllowed(RightState.Constants.ADMIN) | ||
166 | + public RestResponse deletetRole(@PathParam("id") Long id) { | ||
167 | + // TODO noch zu implementieren | ||
168 | + //roleService.deleteRole(id); | ||
169 | + return new RestResponse(); | ||
170 | + } | ||
171 | + | ||
172 | + /** | ||
173 | + * Löscht das Role-Objekt des zurzeit angemeldeten Benutzers. | ||
174 | + * <p> | ||
175 | + * Aufruf: | ||
176 | + * DELETE http://localhost:8080/swxercise/rest/v1/role | ||
177 | + * | ||
178 | + * @return ein {@link ResponseState}-Objekt mit den Ergebnisinformationen des Aufrufs. | ||
179 | + */ | ||
180 | + @DELETE | ||
181 | + @Path("v1/role") | ||
182 | + @Produces(MediaType.APPLICATION_JSON) | ||
183 | + @RolesAllowed(RightState.Constants.LOGGED_IN) | ||
184 | + public RestResponse deleteRole() { | ||
185 | + // TODO noch zu implementieren | ||
186 | + //if (roleService.deleteRole()) { | ||
187 | + // return new RestResponse(); | ||
188 | + //} | ||
189 | + return new RestResponse(ResponseState.FAILED); | ||
190 | + } | ||
191 | + | ||
192 | + /** | ||
67 | * Verknüpft eine Rolle (die "Kindrolle") mit einer anderen Rolle (der "Vaterrolle"). | 193 | * Verknüpft eine Rolle (die "Kindrolle") mit einer anderen Rolle (der "Vaterrolle"). |
68 | * | 194 | * |
69 | * @param childName die Kindrolle, welche mit der Vaterrolle verknüpft werden soll | 195 | * @param childName die Kindrolle, welche mit der Vaterrolle verknüpft werden soll |