diff -r 4f912cd42876 -r 86b5d8a1662f src/main/java/de/uapcore/lightpit/modules/UsersModule.java --- a/src/main/java/de/uapcore/lightpit/modules/UsersModule.java Fri Nov 06 10:50:32 2020 +0100 +++ b/src/main/java/de/uapcore/lightpit/modules/UsersModule.java Thu Nov 19 13:58:54 2020 +0100 @@ -32,7 +32,7 @@ import de.uapcore.lightpit.Constants; import de.uapcore.lightpit.HttpMethod; import de.uapcore.lightpit.RequestMapping; -import de.uapcore.lightpit.dao.DataAccessObjects; +import de.uapcore.lightpit.dao.DaoProvider; import de.uapcore.lightpit.entities.User; import de.uapcore.lightpit.viewmodel.UsersEditView; import de.uapcore.lightpit.viewmodel.UsersView; @@ -61,7 +61,7 @@ } @RequestMapping(method = HttpMethod.GET) - public void index(HttpServletRequest req, HttpServletResponse resp, DataAccessObjects dao) throws SQLException, ServletException, IOException { + public void index(HttpServletRequest req, HttpServletResponse resp, DaoProvider dao) throws SQLException, ServletException, IOException { final var userDao = dao.getUserDao(); final var viewModel = new UsersView(); @@ -73,7 +73,7 @@ } @RequestMapping(requestPath = "edit", method = HttpMethod.GET) - public void edit(HttpServletRequest req, HttpServletResponse resp, DataAccessObjects dao) throws SQLException, ServletException, IOException { + public void edit(HttpServletRequest req, HttpServletResponse resp, DaoProvider dao) throws SQLException, ServletException, IOException { final var viewModel = new UsersEditView(); viewModel.setUser(findByParameter(req, Integer.class, "id", @@ -86,7 +86,7 @@ } @RequestMapping(requestPath = "commit", method = HttpMethod.POST) - public void commit(HttpServletRequest req, HttpServletResponse resp, DataAccessObjects dao) throws ServletException, IOException { + public void commit(HttpServletRequest req, HttpServletResponse resp, DaoProvider dao) throws ServletException, IOException { User user = new User(-1); try { @@ -96,13 +96,19 @@ getParameter(req, String.class, "lastname").ifPresent(user::setLastname); getParameter(req, String.class, "mail").ifPresent(user::setMail); - dao.getUserDao().saveOrUpdate(user); + final var userDao = dao.getUserDao(); + if (user.getId() > 0) { + // TODO: unused return value + userDao.update(user); + } else { + userDao.save(user); + } setRedirectLocation(req, "./teams/"); setContentPage(req, Constants.JSP_COMMIT_SUCCESSFUL); LOG.debug("Successfully updated user {}", user.getUsername()); - } catch (NoSuchElementException | IllegalArgumentException | SQLException ex) { + } catch (NoSuchElementException | IllegalArgumentException ex) { final var viewModel = new UsersEditView(); viewModel.setUser(user); // TODO: viewModel.setErrorText()