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 | 26 | private RoleService roleService; |
27 | 27 | |
28 | 28 | /** |
29 | - * Liefert alle Rollen-Objekte zurück. | |
29 | + * Liefert alle Role-Objekte zurück. | |
30 | 30 | * <p> |
31 | 31 | * Aufruf: |
32 | 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 | 36 | @GET |
37 | 37 | @Path("v1/roles") |
... | ... | @@ -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 | 82 | * Erstellt ein neues Role-Objekt mit den gewünschten Eigenschaften, welche mittels {@link RoleDto} definiert werden. |
46 | 83 | * <p> |
47 | 84 | * Aufruf: |
... | ... | @@ -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 | 193 | * Verknüpft eine Rolle (die "Kindrolle") mit einer anderen Rolle (der "Vaterrolle"). |
68 | 194 | * |
69 | 195 | * @param childName die Kindrolle, welche mit der Vaterrolle verknüpft werden soll | ... | ... |