Commit 5e5b7c79d5d68800cdf15d0c85590e100046568d

Authored by Thomas Ziemer
1 parent 6a9824ee

feature: RoleViewController erweitert (WIP)

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
... ...