src/main/java/de/uapcore/lightpit/modules/UsersModule.java

changeset 184
e8eecee6aadf
parent 183
61669abf277f
child 185
5ec9fcfbdf9c
--- a/src/main/java/de/uapcore/lightpit/modules/UsersModule.java	Sat Jan 23 14:47:59 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright 2021 Mike Becker. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- *   1. Redistributions of source code must retain the above copyright
- *      notice, this list of conditions and the following disclaimer.
- *
- *   2. Redistributions in binary form must reproduce the above copyright
- *      notice, this list of conditions and the following disclaimer in the
- *      documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- */
-package de.uapcore.lightpit.modules;
-
-import de.uapcore.lightpit.AbstractServlet;
-import de.uapcore.lightpit.Constants;
-import de.uapcore.lightpit.HttpMethod;
-import de.uapcore.lightpit.RequestMapping;
-import de.uapcore.lightpit.dao.DataAccessObject;
-import de.uapcore.lightpit.entities.User;
-import de.uapcore.lightpit.viewmodel.UsersEditView;
-import de.uapcore.lightpit.viewmodel.UsersView;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.sql.SQLException;
-import java.util.NoSuchElementException;
-
-@WebServlet(
-        name = "UsersModule",
-        urlPatterns = "/teams/*"
-)
-public final class UsersModule extends AbstractServlet {
-
-    private static final Logger LOG = LoggerFactory.getLogger(UsersModule.class);
-
-    @RequestMapping(method = HttpMethod.GET)
-    public void index(HttpServletRequest req, HttpServletResponse resp, DataAccessObject dao) throws SQLException, ServletException, IOException {
-        final var viewModel = new UsersView();
-        viewModel.setUsers(dao.listUsers());
-        setViewModel(req, viewModel);
-        setContentPage(req, "users");
-
-        renderSite(req, resp);
-    }
-
-    @RequestMapping(requestPath = "edit", method = HttpMethod.GET)
-    public void edit(HttpServletRequest req, HttpServletResponse resp, DataAccessObject dao) throws SQLException, ServletException, IOException {
-
-        final var viewModel = new UsersEditView();
-        viewModel.setUser(findByParameter(req, Integer.class, "id", dao::findUser).orElse(new User(-1)));
-
-        setViewModel(req, viewModel);
-        setContentPage(req, "user-form");
-
-        renderSite(req, resp);
-    }
-
-    @RequestMapping(requestPath = "commit", method = HttpMethod.POST)
-    public void commit(HttpServletRequest req, HttpServletResponse resp, DataAccessObject dao) throws ServletException, IOException {
-
-        User user = new User(-1);
-        try {
-            user = new User(getParameter(req, Integer.class, "userid").orElseThrow());
-            user.setUsername(getParameter(req, String.class, "username").orElseThrow());
-            getParameter(req, String.class, "givenname").ifPresent(user::setGivenname);
-            getParameter(req, String.class, "lastname").ifPresent(user::setLastname);
-            getParameter(req, String.class, "mail").ifPresent(user::setMail);
-
-            if (user.getId() > 0) {
-                dao.updateUser(user);
-            } else {
-                dao.insertUser(user);
-            }
-
-            setRedirectLocation(req, "./teams/");
-            setContentPage(req, Constants.JSP_COMMIT_SUCCESSFUL);
-
-            LOG.debug("Successfully updated user {}", user.getUsername());
-        } catch (NoSuchElementException | IllegalArgumentException ex) {
-            final var viewModel = new UsersEditView();
-            viewModel.setUser(user);
-            // TODO: viewModel.setErrorText()
-            setViewModel(req, viewModel);
-            setContentPage(req, "user-form");
-            LOG.warn("Form validation failure: {}", ex.getMessage());
-            LOG.debug("Details:", ex);
-        }
-
-        renderSite(req, resp);
-    }
-}

mercurial