StoricoOrdini.java

1
package control;
2
3
import model.acquisto.AcquistoBean;
4
import model.acquisto.AcquistoDAO;
5
import model.ordine.OrdineBean;
6
import model.ordine.OrdineDAO;
7
import model.utente.UtenteBean;
8
9
import javax.servlet.ServletException;
10
import javax.servlet.annotation.WebServlet;
11
import javax.servlet.http.HttpServlet;
12
import javax.servlet.http.HttpServletRequest;
13
import javax.servlet.http.HttpServletResponse;
14
import java.io.IOException;
15
import java.sql.SQLException;
16
import java.util.Collection;
17
import java.util.HashMap;
18
import java.util.Map;
19
20
@WebServlet("/StoricoOrdini")
21
public class StoricoOrdini extends HttpServlet {
22
    @Override
23
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
24
            throws ServletException, IOException {
25
        final String ERROR_PAGE = "/pages/errorpage.jsp";
26
        UtenteBean utenteBean = (UtenteBean) req.getSession().getAttribute("utente");
27
28
        OrdineDAO ordineDAO = new OrdineDAO();
29
        AcquistoDAO acquistoDAO = new AcquistoDAO();
30
31
        try {
32
            Collection<OrdineBean> ordini = ordineDAO.doRetrieveByKey(utenteBean.getUsername());
33
34
            Map<OrdineBean, Collection<AcquistoBean>> map =
35
                    buildOrdiniAcquistiMap(ordini, acquistoDAO);
36
37 1 1. doPost : removed call to javax/servlet/http/HttpServletRequest::setAttribute → KILLED
            req.setAttribute("ordini", map);
38 1 1. doPost : removed call to javax/servlet/RequestDispatcher::forward → KILLED
            req.getRequestDispatcher("pages/profilo.jsp").forward(req, resp);
39
40
        } catch (SQLException e) {
41 1 1. doPost : removed call to javax/servlet/RequestDispatcher::forward → KILLED
            req.getRequestDispatcher(ERROR_PAGE).forward(req, resp);
42
        }
43
    }
44
45
    private Map<OrdineBean, Collection<AcquistoBean>> buildOrdiniAcquistiMap(
46
            Collection<OrdineBean> ordini,
47
            AcquistoDAO acquistoDAO
48
    ) throws SQLException {
49
50
        Map<OrdineBean, Collection<AcquistoBean>> map = new HashMap<>();
51
52
        for (OrdineBean o : ordini) {
53
            map.put(o, acquistoDAO.doRetrieveByOrdine(o.getID()));
54
        }
55
56 1 1. buildOrdiniAcquistiMap : replaced return value with Collections.emptyMap for control/StoricoOrdini::buildOrdiniAcquistiMap → KILLED
        return map;
57
    }
58
59
60
    @Override
61
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
62
            throws ServletException, IOException {
63 1 1. doGet : removed call to control/StoricoOrdini::doPost → KILLED
        doPost(req, resp);
64
    }
65
}

Mutations

37

1.1
Location : doPost
Killed by : control.StoricoOrdiniTest.[engine:junit-jupiter]/[class:control.StoricoOrdiniTest]/[method:doPost_ok_ordiniVuoti_forwardProfilo()]
removed call to javax/servlet/http/HttpServletRequest::setAttribute → KILLED

38

1.1
Location : doPost
Killed by : control.StoricoOrdiniTest.[engine:junit-jupiter]/[class:control.StoricoOrdiniTest]/[method:doGet_delegaDoPost()]
removed call to javax/servlet/RequestDispatcher::forward → KILLED

41

1.1
Location : doPost
Killed by : control.StoricoOrdiniTest.[engine:junit-jupiter]/[class:control.StoricoOrdiniTest]/[method:doPost_acquistoDAOThrows_forwardError()]
removed call to javax/servlet/RequestDispatcher::forward → KILLED

56

1.1
Location : buildOrdiniAcquistiMap
Killed by : control.StoricoOrdiniTest.[engine:junit-jupiter]/[class:control.StoricoOrdiniTest]/[method:buildOrdiniAcquistiMap_ok()]
replaced return value with Collections.emptyMap for control/StoricoOrdini::buildOrdiniAcquistiMap → KILLED

63

1.1
Location : doGet
Killed by : control.StoricoOrdiniTest.[engine:junit-jupiter]/[class:control.StoricoOrdiniTest]/[method:doGet_delegaDoPost()]
removed call to control/StoricoOrdini::doPost → KILLED

Active mutators

Tests examined


Report generated by PIT 1.22.0