@Override public String quickRestore(SecurityContext sc, RESTQuickBackup backup) { if (LOGGER.isDebugEnabled()) LOGGER.debug("quickRestore()"); try { LOGGER.error("Deleting all categories"); for (Category category : categoryService.getAll(null, null)) { categoryService.delete(category.getId()); } LOGGER.error("Deleting all resources"); for (ShortResource shortResource : resourceService.getAll(null, null, null)) { resourceService.delete(shortResource.getId()); } for (RESTBackupCategory rbc : backup.getCategories()) { quickRestoreCategory(rbc); } return "ok"; } catch (Exception ex) { LOGGER.error(ex.getMessage(), ex); throw new InternalErrorWebEx(ex.getMessage()); } }
@Override public long insert(Category category) throws BadRequestServiceEx, NotFoundServiceEx { if (LOGGER.isDebugEnabled()) { LOGGER.debug("Persisting Category ... "); } if (category == null) { throw new BadRequestServiceEx("Category type must be specified !"); } Category cat = new Category(); cat.setName(category.getName()); categoryDAO.persist(cat); // // // // Persisting SecurityRule // // // List<SecurityRule> rules = category.getSecurity(); // // if (rules != null) { // for (SecurityRule rule : rules) { // rule.setCategory(cat); // securityDAO.persist(rule); // } // } return cat.getId(); }
@Override public long update(SecurityContext sc, long id, Category category) { try { Category old = categoryService.get(id); if (old == null) throw new NotFoundWebEx("Category not found"); // // Authorization check. // boolean canUpdate = false; User authUser = extractAuthUser(sc); canUpdate = resourceAccessWrite(authUser, old.getId()); if (canUpdate) { id = categoryService.update(category); } else { throw new ForbiddenErrorWebEx("This user cannot update this category !"); } } catch (BadRequestServiceEx e) { throw new BadRequestWebEx(e.getMessage()); } return id; }
@Override public long insert(SecurityContext sc, Category category) { if (category == null) throw new BadRequestWebEx("Category is null"); if (category.getId() != null) throw new BadRequestWebEx("Id should be null"); long id = -1; // // Preparing Security Rule // // User authUser = extractAuthUser(sc); // SecurityRule securityRule = new SecurityRule(); // securityRule.setCanRead(true); // securityRule.setCanWrite(true); // securityRule.setUser(authUser); // // List<SecurityRule> securities = new ArrayList<SecurityRule>(); // securities.add(securityRule); // // category.setSecurity(securities); try { id = categoryService.insert(category); } catch (NotFoundServiceEx e) { throw new NotFoundWebEx(e.getMessage()); } catch (BadRequestServiceEx e) { throw new BadRequestWebEx(e.getMessage()); } return id; }
RESTCategory newrc = resource.getCategory(); Category oldrc = old.getCategory(); if ((newrc.getId() != null && !newrc.getId().equals(oldrc.getId())) || (newrc.getName() != null && !newrc.getName().equals(oldrc.getName()))) { LOGGER.info("Trying to change category old(" + oldrc.getId() + ":" + oldrc.getName() + ") new(" + newrc.getId() + ":" + newrc.getName() + ")");