@Override public Answer updateSystemsByUser(User user, List<UserSystem> newGroups) { Answer a = new Answer(new MessageEvent(MessageEventEnum.DATA_OPERATION_OK)); AnswerList an = this.readByUser(user.getLogin()); if (an.isCodeEquals(MessageEventEnum.DATA_OPERATION_OK.getCode())) { List<UserSystem> oldGroups = an.getDataList(); // delete if don't exist in new for (UserSystem old : oldGroups) { if (!newGroups.contains(old)) { Answer del = userSystemDAO.remove(old); if (!del.isCodeEquals(MessageEventEnum.DATA_OPERATION_OK.getCode())) { a = del; } } } // insert if don't exist in old for (UserSystem group : newGroups) { if (!oldGroups.contains(group)) { Answer add = userSystemDAO.create(group); if (!add.isCodeEquals(MessageEventEnum.DATA_OPERATION_OK.getCode())) { a = add; } } } } return a; }
@Override public void updateUserSystems(User user, List<UserSystem> newSystems) throws CerberusException { List<UserSystem> oldSystems = this.findUserSystemByUser(user.getLogin()); // delete if don't exist in new for (UserSystem old : oldSystems) { if (!newSystems.contains(old)) { this.deleteUserSystem(old); } } // insert if don't exist in old for (UserSystem newS : newSystems) { if (!oldSystems.contains(newS)) { this.insertUserSystem(newS); } } }