@Override public void update(String name, RESTInputUser user) throws BadRequestRestEx, NotFoundRestEx, InternalErrorRestEx { try { GSUser old = userAdminService.get(name); update(old.getId(), user); } catch (NotFoundServiceEx ex) { LOGGER.warn("User not found: " + name); throw new NotFoundRestEx("User not found: " + name); } }
protected GSUser getUser(IdName userFilter) throws BadRequestRestEx, NotFoundRestEx { try { if (userFilter.getId() != null) { throw new BadRequestRestEx("Users can only be referenced by name"); } else if (userFilter.getName() != null) { return userAdminService.get(userFilter.getName()); } else { throw new BadRequestRestEx("Bad GSUser filter " + userFilter); } } catch (NotFoundServiceEx e) { LOGGER.warn("GSUser not found " + userFilter); throw new NotFoundRestEx("GSUser not found " + userFilter); } }
@Override public Response delete(String username, boolean cascade) throws ConflictRestEx, NotFoundRestEx, InternalErrorRestEx { try { if ( cascade ) { ruleAdminService.deleteRulesByUser(username); } else { RuleFilter filter = new RuleFilter(SpecialFilterType.ANY); filter.setUser(username); filter.getUser().setIncludeDefault(false); long cnt = ruleAdminService.count(filter); if ( cnt > 0 ) { throw new ConflictRestEx("Existing rules reference the user " + username); } } GSUser user = userAdminService.get(username); // may throw NotFoundServiceEx if ( ! userAdminService.delete(user.getId())) { LOGGER.warn("ILLEGAL STATE -- User not found: " + user); // this should not happen throw new NotFoundRestEx("ILLEGAL STATE -- User not found: " + user); } return Response.status(Status.OK).entity("OK\n").build(); } catch (GeoFenceRestEx ex) { // already handled throw ex; } catch (NotFoundServiceEx ex) { LOGGER.warn("User not found: " + username); throw new NotFoundRestEx("User not found: " +username); } catch (Exception ex) { LOGGER.error(ex.getMessage(), ex); throw new InternalErrorRestEx(ex.getMessage()); } }
public void deleteUser(GSUserModel user) throws ApplicationException { org.geoserver.geofence.core.model.GSUser remote_user = null; try { remote_user = geofenceRemoteService.getUserAdminService().get(user.getId()); geofenceRemoteService.getUserAdminService().delete(remote_user.getId()); } catch (NotFoundServiceEx e) { logger.error(e.getLocalizedMessage(), e.getCause()); throw new ApplicationException(e.getLocalizedMessage(), e.getCause()); } }
userAdminService.get(user.getName()); exists = true; } catch (NotFoundServiceEx ex) {
GSUser old = userAdminService.get(id);
remote_user = geofenceRemoteService.getUserAdminService().get(user.getId()); copyUser(user, remote_user); geofenceRemoteService.getUserAdminService().update(remote_user);