+ return new RedirectResult(MyDetails.PATH);
+ } else if ("updateResidenceCountry".equals(action)) {
+ cs.update(req);
+ target.setResidenceCountry(cs.getCountry());
+ return new RedirectResult(MyDetails.PATH);
+ } else if ("addGroup".equals(action) || "removeGroup".equals(action)) {
+ selectedGroup.update(req);
+ Group toMod = selectedGroup.getGroup();
+ if ("addGroup".equals(action)) {
+ target.grantGroup(target, toMod);
+ } else {
+ target.revokeGroup(target, toMod);
+ }
+ return new RedirectResult(MyDetails.PATH);
+ } else {
+ throw new GigiApiException("Invalid action.");