From 4c99607cff97c2983c9944fe2a3df1a3ae6a8e1c Mon Sep 17 00:00:00 2001 From: marghe Date: Fri, 24 Apr 2020 16:44:53 +0200 Subject: [PATCH] primo commit --- .classpath | 19 ++ .gitignore | 1 + .project | 31 +++ .settings/.jsdtscope | 12 + .settings/org.eclipse.jdt.core.prefs | 7 + .settings/org.eclipse.wst.common.component | 8 + ....eclipse.wst.common.project.facet.core.xml | 10 + ...rg.eclipse.wst.jsdt.ui.superType.container | 1 + .../org.eclipse.wst.jsdt.ui.superType.name | 1 + WebContent/META-INF/MANIFEST.MF | 3 + WebContent/cerca-aggiungi.jsp | 110 +++++++++ WebContent/css/stile.css | 29 +++ WebContent/elenco-contatti.jsp | 94 ++++++++ WebContent/elenco-ordini.jsp | 103 ++++++++ WebContent/error.jsp | 23 ++ WebContent/home-contatto.jsp | 146 ++++++++++++ WebContent/index.jsp | 12 + WebContent/nav.jsp | 32 +++ script_mysql.sql | 21 ++ script_oracle.sql | 18 ++ src/bean/Contatto.java | 208 ++++++++++++++++ src/dao/ContattoDao.java | 221 +++++++++++++++++ src/dao/ContattoDaoI.java | 22 ++ src/dao/MySqlConnection.java | 45 ++++ src/dao/OracleConnection.java | 45 ++++ src/dao/OrdiniDao.java | 223 ++++++++++++++++++ src/dao/OrdiniDaoI.java | 24 ++ src/filtri/FiltroContatto.java | 77 ++++++ src/service/ContattoService.java | 45 ++++ src/service/OrdiniService.java | 43 ++++ src/servlet/ContattiServlet.java | 150 ++++++++++++ src/servlet/OrdiniServlet.java | 98 ++++++++ src/test/TestConnection.java | 14 ++ src/util/Data.java | 9 + 34 files changed, 1905 insertions(+) create mode 100644 .classpath create mode 100644 .gitignore create mode 100644 .project create mode 100644 .settings/.jsdtscope create mode 100644 .settings/org.eclipse.jdt.core.prefs create mode 100644 .settings/org.eclipse.wst.common.component create mode 100644 .settings/org.eclipse.wst.common.project.facet.core.xml create mode 100644 .settings/org.eclipse.wst.jsdt.ui.superType.container create mode 100644 .settings/org.eclipse.wst.jsdt.ui.superType.name create mode 100644 WebContent/META-INF/MANIFEST.MF create mode 100644 WebContent/cerca-aggiungi.jsp create mode 100644 WebContent/css/stile.css create mode 100644 WebContent/elenco-contatti.jsp create mode 100644 WebContent/elenco-ordini.jsp create mode 100644 WebContent/error.jsp create mode 100644 WebContent/home-contatto.jsp create mode 100644 WebContent/index.jsp create mode 100644 WebContent/nav.jsp create mode 100644 script_mysql.sql create mode 100644 script_oracle.sql create mode 100644 src/bean/Contatto.java create mode 100644 src/dao/ContattoDao.java create mode 100644 src/dao/ContattoDaoI.java create mode 100644 src/dao/MySqlConnection.java create mode 100644 src/dao/OracleConnection.java create mode 100644 src/dao/OrdiniDao.java create mode 100644 src/dao/OrdiniDaoI.java create mode 100644 src/filtri/FiltroContatto.java create mode 100644 src/service/ContattoService.java create mode 100644 src/service/OrdiniService.java create mode 100644 src/servlet/ContattiServlet.java create mode 100644 src/servlet/OrdiniServlet.java create mode 100644 src/test/TestConnection.java create mode 100644 src/util/Data.java diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..9226373 --- /dev/null +++ b/.classpath @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..84c048a --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/build/ diff --git a/.project b/.project new file mode 100644 index 0000000..6fd8d19 --- /dev/null +++ b/.project @@ -0,0 +1,31 @@ + + + centralino_brigate + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.wst.validation.validationbuilder + + + + + + org.eclipse.jem.workbench.JavaEMFNature + org.eclipse.wst.common.modulecore.ModuleCoreNature + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.jdt.core.javanature + org.eclipse.wst.jsdt.core.jsNature + + diff --git a/.settings/.jsdtscope b/.settings/.jsdtscope new file mode 100644 index 0000000..92e666d --- /dev/null +++ b/.settings/.jsdtscope @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..0c68a61 --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component new file mode 100644 index 0000000..2459243 --- /dev/null +++ b/.settings/org.eclipse.wst.common.component @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/.settings/org.eclipse.wst.common.project.facet.core.xml b/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 0000000..dac5c33 --- /dev/null +++ b/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/.settings/org.eclipse.wst.jsdt.ui.superType.container b/.settings/org.eclipse.wst.jsdt.ui.superType.container new file mode 100644 index 0000000..3bd5d0a --- /dev/null +++ b/.settings/org.eclipse.wst.jsdt.ui.superType.container @@ -0,0 +1 @@ +org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file diff --git a/.settings/org.eclipse.wst.jsdt.ui.superType.name b/.settings/org.eclipse.wst.jsdt.ui.superType.name new file mode 100644 index 0000000..05bd71b --- /dev/null +++ b/.settings/org.eclipse.wst.jsdt.ui.superType.name @@ -0,0 +1 @@ +Window \ No newline at end of file diff --git a/WebContent/META-INF/MANIFEST.MF b/WebContent/META-INF/MANIFEST.MF new file mode 100644 index 0000000..254272e --- /dev/null +++ b/WebContent/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + diff --git a/WebContent/cerca-aggiungi.jsp b/WebContent/cerca-aggiungi.jsp new file mode 100644 index 0000000..0cf363e --- /dev/null +++ b/WebContent/cerca-aggiungi.jsp @@ -0,0 +1,110 @@ +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" + pageEncoding="UTF-8"%> + + + + +Home + + + + + + + <% + String messaggio = (String) request.getAttribute("messaggio"); + + if (messaggio != null) { + out.print("

" + messaggio + "

"); + } + %> +
+

Cerca contatto

+
+
+ +
+ + +
+
+

Aggiungi nuovo contatto

+
+
+
+ +
+
+ +
+ + + + +
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+

Composizione nucleo abitativo*

+
+

+
+
+
+
+ + +
+
+
+
+ +
+
+ + + + + \ No newline at end of file diff --git a/WebContent/css/stile.css b/WebContent/css/stile.css new file mode 100644 index 0000000..c7cb609 --- /dev/null +++ b/WebContent/css/stile.css @@ -0,0 +1,29 @@ +@charset "ISO-8859-1"; + +.form-control { + width: 300px; + display: inline-block; +} + +.form-group { + margin-bottom: 10px; +} + +label { + width: 180px; +} + +.number { + width: 70px; +} + + +.cinquanta { + display: inline-block; + width: 45%; + vertical-align: top; +} +body { + background-color: #262626; + color: white; +} \ No newline at end of file diff --git a/WebContent/elenco-contatti.jsp b/WebContent/elenco-contatti.jsp new file mode 100644 index 0000000..25388d7 --- /dev/null +++ b/WebContent/elenco-contatti.jsp @@ -0,0 +1,94 @@ +<%@page import="util.Data"%> +<%@page import="service.ContattoService"%> +<%@page import="service.OrdiniService"%> +<%@page import="bean.Contatto"%> +<%@page import="java.util.ArrayList"%> +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" + pageEncoding="UTF-8"%> + + + + +Elenco contatti + + + + + +
+

Elenco contatti

+ <% + ArrayList elencoContatti = ContattoService.elenco(); + + if (elencoContatti.isEmpty()) { + %> +

Non ci sono contatti

+ <% + } else { + %> + + + + + + + + + + + + + + + + <% + for (int i = 0; i < elencoContatti.size(); i++) { + Contatto contatto = elencoContatti.get(i); + %> + + + + + + + + + + + + + <% + } + %> + +
#Nominativo + IndirizzoZonaTelefonoEmailComponentiComposizione nucleoNote sacchettoUltima consegna
<%=i + 1%><%=contatto.getNome()%> <%=contatto.getCognome()%><%=contatto.getIndirizzo()%><%=contatto.getArea()%><%=contatto.getTelefono()%><%=contatto.getEmail() != null ? contatto.getEmail() : "-"%><%=contatto.getNumero_persone()%><%=contatto.getComposizione_nucleo()%><%=contatto.getNote_sacchetto()%> + <% + if (contatto.getUltima_consegna() == null) { + out.print("-"); + } else { + out.print(Data.formatta(contatto.getUltima_consegna())); + } + %> +
+ <% + } + %> +
+ + + + + \ No newline at end of file diff --git a/WebContent/elenco-ordini.jsp b/WebContent/elenco-ordini.jsp new file mode 100644 index 0000000..2b42838 --- /dev/null +++ b/WebContent/elenco-ordini.jsp @@ -0,0 +1,103 @@ +<%@page import="service.OrdiniService"%> +<%@page import="bean.Contatto"%> +<%@page import="java.util.ArrayList"%> +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" + pageEncoding="UTF-8"%> + + + + +Elenco ordini + + + + + +
+

Elenco ordini

+ <% + ArrayList elencoOrdini = OrdiniService.leggiTutti(); + + if (request.getAttribute("limit") != null) { + int limite = (Integer) request.getAttribute("limit"); + elencoOrdini = OrdiniService.leggiTutti(limite); + } + + if (elencoOrdini.isEmpty()) { + %> +

Non ci sono ordini

+ <% + } else { + %> + +
+ Seleziona i primi +
+
+ + + + + + + + + + + + + <% + for (int i = 0; i < elencoOrdini.size(); i++) { + Contatto contatto = elencoOrdini.get(i); + %> + + + + + + + + + + + + + <% + } + %> +
#NominativoZonaIndirizzoTelefonoComponentiComposizione nucleoNoteConsegnato
<%=i + 1%><%=contatto.getNome()%> <%=contatto.getCognome()%><%=contatto.getArea()%><%=contatto.getIndirizzo()%><%=contatto.getTelefono()%><%=contatto.getNumero_persone()%><%=contatto.getComposizione_nucleo()%><%=contatto.getNote_sacchetto()%> +
+ + +
+
+ <% + } + %> +
+ + + + + \ No newline at end of file diff --git a/WebContent/error.jsp b/WebContent/error.jsp new file mode 100644 index 0000000..b78a855 --- /dev/null +++ b/WebContent/error.jsp @@ -0,0 +1,23 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="ISO-8859-1"%> + + + + + +ERROR + + +

ERRORE

+ <% + String messaggio = (String) request.getAttribute("messaggio"); + + if(messaggio != null){ + out.print(messaggio); + } + %> + + \ No newline at end of file diff --git a/WebContent/home-contatto.jsp b/WebContent/home-contatto.jsp new file mode 100644 index 0000000..1a4e365 --- /dev/null +++ b/WebContent/home-contatto.jsp @@ -0,0 +1,146 @@ +<%@page import="util.Data"%> +<%@page import="bean.Contatto"%> +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="ISO-8859-1"%> + + + + +Contatto + + + + + +
+ <% + Contatto c = (Contatto) request.getAttribute("contatto"); + + if (c == null) { + out.print("ERRORE"); + } else { + %> +

<%=c.getNome() + " " + c.getCognome()%> + <% + if (c.getServizio_sociale() != null && !c.getServizio_sociale().equals("-")) { + %>(contatto ottenuto tramite + <%=c.getServizio_sociale()%>) + <% + } + %> +

+ Indirizzo: + <%=c.getIndirizzo() + " (zona " + c.getArea() + ")"%>
+ Telefono: + <%=c.getTelefono()%>
+ <% + if (c.getEmail() != null) { + %> + Email: + <%=c.getEmail()%>
+ <% + } + %>
+ <%=c.getNumero_persone()%> + persone (<%=c.getComposizione_nucleo()%>)
Note sacchetto: + <%=c.getNote_sacchetto()%>

+ <% + if (c.getUltima_consegna() == null) { + out.print("Non ha ancora ricevuto consegne"); + } else { + out.print("Ultimo ordine consegnato il" + Data.formatta(c.getUltima_consegna())); + } + %> +

+
+ +
+
+

+ +

+
+ +
+
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+ +
+
+ <% + } + %> +
+ + + + + \ No newline at end of file diff --git a/WebContent/index.jsp b/WebContent/index.jsp new file mode 100644 index 0000000..b3239ef --- /dev/null +++ b/WebContent/index.jsp @@ -0,0 +1,12 @@ +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" + pageEncoding="ISO-8859-1"%> + + + + +Insert title here + + + + + \ No newline at end of file diff --git a/WebContent/nav.jsp b/WebContent/nav.jsp new file mode 100644 index 0000000..1b2af96 --- /dev/null +++ b/WebContent/nav.jsp @@ -0,0 +1,32 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> + + + + +Nav + + + + + + \ No newline at end of file diff --git a/script_mysql.sql b/script_mysql.sql new file mode 100644 index 0000000..4b1995f --- /dev/null +++ b/script_mysql.sql @@ -0,0 +1,21 @@ +use brigate; + + + CREATE TABLE CONTATTI + ( NOME VARCHAR(255) NOT NULL, + COGNOME VARCHAR(255) NOT NULL , + SERVIZIO_SOCIALE VARCHAR(255), + AREA VARCHAR(255), + INDIRIZZO VARCHAR(255) NOT NULL, + TELEFONO INTEGER PRIMARY KEY, + NUMERO INTEGER NOT NULL , + COMPOSIZIONE_NUCLEO VARCHAR(255) NOT NULL , + NOTE_SACCHETTO VARCHAR(255), + ULTIMA_CONSEGNA DATE, + EMAIL VARCHAR(256) + ) ; + + +CREATE TABLE ORDINI + ( TELEFONO INTEGER PRIMARY KEy REFERENCES CONTATTI(TELEFONO) + ) ; \ No newline at end of file diff --git a/script_oracle.sql b/script_oracle.sql new file mode 100644 index 0000000..e1d0a34 --- /dev/null +++ b/script_oracle.sql @@ -0,0 +1,18 @@ + + CREATE TABLE CONTATTI + ( NOME VARCHAR2(255 BYTE) NOT NULL, + COGNOME VARCHAR2(255 BYTE) NOT NULL , + SERVIZIO_SOCIALE VARCHAR2(255 BYTE), + AREA VARCHAR2(255 BYTE), + INDIRIZZO VARCHAR2(255 BYTE) NOT NULL, + TELEFONO NUMBER(10) PRIMARY KEY, + NUMERO NUMBER(2) NOT NULL , + COMPOSIZIONE_NUCLEO VARCHAR2(255 BYTE) NOT NULL , + NOTE_SACCHETTO VARCHAR2(255 BYTE), + ULTIMA_CONSEGNA DATE, + EMAIL VARCHAR2(256 BYTE) + ) ; + +CREATE TABLE ORDINI + ( TELEFONO NUMBER(10) PRIMARY KEY REFERENCES CONTATTI(TELEFONO) + ) ; \ No newline at end of file diff --git a/src/bean/Contatto.java b/src/bean/Contatto.java new file mode 100644 index 0000000..4a234d4 --- /dev/null +++ b/src/bean/Contatto.java @@ -0,0 +1,208 @@ +package bean; + +import java.time.LocalDate; + +public class Contatto { + private String nome; + private String email; + private String cognome; + private String servizio_sociale; + private String area; + private String indirizzo; + private long telefono; + private int numero_persone; + private String composizione_nucleo; + private String note_sacchetto; + private LocalDate ultima_consegna; + + public Contatto() { + } + + public Contatto(String nome, String cognome, String servizio_sociale, String area, String indirizzo, + long telefono, String email, int numero_persone, String composizione_nucleo, String note_sacchetto, + LocalDate ultima_consegna) { + this.nome = nome; + this.email=email; + this.cognome = cognome; + this.servizio_sociale = servizio_sociale; + this.area = area; + this.indirizzo = indirizzo; + this.telefono = telefono; + this.numero_persone = numero_persone; + this.composizione_nucleo = composizione_nucleo; + this.note_sacchetto = note_sacchetto; + this.ultima_consegna = ultima_consegna; + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getCognome() { + return cognome; + } + + public void setCognome(String cognome) { + this.cognome = cognome; + } + + public String getServizio_sociale() { + return servizio_sociale; + } + + public void setServizio_sociale(String servizio_sociale) { + this.servizio_sociale = servizio_sociale; + } + + public String getArea() { + return area; + } + + public void setArea(String area) { + this.area = area; + } + + public String getIndirizzo() { + return indirizzo; + } + + public void setIndirizzo(String indirizzo) { + this.indirizzo = indirizzo; + } + + public long getTelefono() { + return telefono; + } + + public void setTelefono(long telefono) { + this.telefono = telefono; + } + + public int getNumero_persone() { + return numero_persone; + } + + public void setNumero_persone(int numero_persone) { + this.numero_persone = numero_persone; + } + + public String getComposizione_nucleo() { + return composizione_nucleo; + } + + public void setComposizione_nucleo(String composizione_nucleo) { + this.composizione_nucleo = composizione_nucleo; + } + + public String getNote_sacchetto() { + return note_sacchetto; + } + + public void setNote_sacchetto(String note_sacchetto) { + this.note_sacchetto = note_sacchetto; + } + + public LocalDate getUltima_consegna() { + return ultima_consegna; + } + + public void setUltima_consegna(LocalDate ultima_consegna) { + this.ultima_consegna = ultima_consegna; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((area == null) ? 0 : area.hashCode()); + result = prime * result + ((cognome == null) ? 0 : cognome.hashCode()); + result = prime * result + ((composizione_nucleo == null) ? 0 : composizione_nucleo.hashCode()); + result = prime * result + ((indirizzo == null) ? 0 : indirizzo.hashCode()); + result = prime * result + ((nome == null) ? 0 : nome.hashCode()); + result = prime * result + ((note_sacchetto == null) ? 0 : note_sacchetto.hashCode()); + result = prime * result + numero_persone; + result = prime * result + ((servizio_sociale == null) ? 0 : servizio_sociale.hashCode()); + result = prime * result + (int) (telefono ^ (telefono >>> 32)); + result = prime * result + ((ultima_consegna == null) ? 0 : ultima_consegna.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + Contatto other = (Contatto) obj; + if (area == null) { + if (other.area != null) + return false; + } else if (!area.equals(other.area)) + return false; + if (cognome == null) { + if (other.cognome != null) + return false; + } else if (!cognome.equals(other.cognome)) + return false; + if (composizione_nucleo == null) { + if (other.composizione_nucleo != null) + return false; + } else if (!composizione_nucleo.equals(other.composizione_nucleo)) + return false; + + if (indirizzo == null) { + if (other.indirizzo != null) + return false; + } else if (!indirizzo.equals(other.indirizzo)) + return false; + if (nome == null) { + if (other.nome != null) + return false; + } else if (!nome.equals(other.nome)) + return false; + if (note_sacchetto == null) { + if (other.note_sacchetto != null) + return false; + } else if (!note_sacchetto.equals(other.note_sacchetto)) + return false; + if (numero_persone != other.numero_persone) + return false; + if (servizio_sociale == null) { + if (other.servizio_sociale != null) + return false; + } else if (!servizio_sociale.equals(other.servizio_sociale)) + return false; + if (telefono != other.telefono) + return false; + if (ultima_consegna == null) { + if (other.ultima_consegna != null) + return false; + } else if (!ultima_consegna.equals(other.ultima_consegna)) + return false; + return true; + } + + @Override + public String toString() { + return "Contatto [ nome=" + nome + ", cognome=" + cognome + ", servizio_sociale=" + + servizio_sociale + ", area=" + area + ", indirizzo=" + indirizzo + ", telefono=" + telefono + + ", numero_persone=" + numero_persone + ", composizione_nucleo=" + composizione_nucleo + + ", note_sacchetto=" + note_sacchetto + ", ultima_consegna=" + ultima_consegna + "]"; + } + + +} diff --git a/src/dao/ContattoDao.java b/src/dao/ContattoDao.java new file mode 100644 index 0000000..b231596 --- /dev/null +++ b/src/dao/ContattoDao.java @@ -0,0 +1,221 @@ +package dao; + +import java.sql.Connection; +import java.sql.Date; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.time.LocalDate; +import java.util.ArrayList; + +import bean.Contatto; + +public class ContattoDao implements ContattoDaoI { + + OracleConnection c = new OracleConnection(); + + @Override + public boolean create(String nome, String cognome, String servizio_sociale, String area, String indirizzo, + long telefono, String email, int numero_persone, String composizione_nucleo, String note_sacchetto) { + + Connection connection = c.open(); + + String query = "insert into contatti (nome, cognome, servizio_sociale, area, indirizzo, telefono, email, numero, composizione_nucleo, note_sacchetto) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; + int n = -1; + + try { + PreparedStatement st = connection.prepareStatement(query); + + st.setString(1, nome); + st.setString(2, cognome); + st.setString(3, servizio_sociale); + st.setString(4, area); + st.setString(5, indirizzo); + st.setLong(6, telefono); + st.setString(7, email); + st.setInt(8, numero_persone); + st.setString(9, composizione_nucleo); + st.setString(10, note_sacchetto); + + n = st.executeUpdate(); + + } catch (SQLException e) { + e.printStackTrace(); + } + + c.close(); + return n == -1 ? false : true; + } + + @Override + public Contatto read(long telefono) { + String query = "select nome, cognome, email, servizio_sociale, area, indirizzo, numero, composizione_nucleo, note_sacchetto, ultima_consegna from contatti where telefono = ?"; + Contatto contatto = null; + + Connection connection = c.open(); + + try { + PreparedStatement st = connection.prepareStatement(query); + st.setLong(1, telefono); + + ResultSet rs = st.executeQuery(); + + while (rs.next()) { + contatto = new Contatto(); + + contatto.setTelefono(telefono); + contatto.setNome(rs.getString(1)); + contatto.setCognome(rs.getString(2)); + contatto.setEmail(rs.getString(3)); + contatto.setServizio_sociale(rs.getString(4)); + contatto.setArea(rs.getString(5)); + contatto.setIndirizzo(rs.getString(6)); + contatto.setNumero_persone(rs.getInt(7)); + contatto.setComposizione_nucleo(rs.getString(8)); + contatto.setNote_sacchetto(rs.getString(9)); + + Date data = rs.getDate(10); + + if (data != null) { + contatto.setUltima_consegna(data.toLocalDate()); + } + + } + + } catch (SQLException e) { + e.printStackTrace(); + } + + c.close(); + + return contatto; + } + + @Override + public boolean updateConsegna(long telefono, LocalDate data_consegna) { + String query = "update contatti set ultima_consegna=? where telefono=?"; + int n = -1; + + Connection connection = c.open(); + + try { + PreparedStatement st = connection.prepareStatement(query); + + st.setDate(1, Date.valueOf(data_consegna)); + st.setLong(2, telefono); + + n = st.executeUpdate(); + + } catch (SQLException e) { + e.printStackTrace(); + } + + c.close(); + + return n == -1 ? false : true; + + } + + @Override + public boolean update(String nome, String cognome, String servizio_sociale, String area, String indirizzo, + long telefono, String email, int numero_persone, String composizione_nucleo, String note_sacchetto) { + String query = "update contatti set nome=?, cognome=?, servizio_sociale=?, area=?, indirizzo=?, telefono=?, email = ?, numero=?, composizione_nucleo=?, note_sacchetto=? where telefono=?"; + int n = -1; + + Connection connection = c.open(); + + try { + PreparedStatement st = connection.prepareStatement(query); + + st.setString(1, nome); + st.setString(2, cognome); + st.setString(3, servizio_sociale); + st.setString(4, area); + st.setString(5, indirizzo); + st.setLong(6, telefono); + st.setString(7, email); + st.setInt(8, numero_persone); + st.setString(9, composizione_nucleo); + st.setString(10, note_sacchetto); + st.setLong(11, telefono); + + n = st.executeUpdate(); + + } catch (SQLException e) { + e.printStackTrace(); + } + + c.close(); + + return n == -1 ? false : true; + } + + @Override + public boolean delete(long telefono) { + String query = "delete from contatti where telefono=?"; + int n = -1; + + Connection connection = c.open(); + + try { + PreparedStatement st = connection.prepareStatement(query); + + st.setLong(1, telefono); + + n = st.executeUpdate(); + + } catch (SQLException e) { + e.printStackTrace(); + + } + + c.close(); + + return n == -1 ? false : true; + } + + @Override + public ArrayList leggiTutti() { + String query = "select telefono, email, nome, cognome, servizio_sociale, area, indirizzo, numero, composizione_nucleo, note_sacchetto, ultima_consegna from contatti"; + ArrayList contatti = new ArrayList(); + + Connection connection = c.open(); + + try { + PreparedStatement st = connection.prepareStatement(query); + + ResultSet rs = st.executeQuery(); + + while (rs.next()) { + Contatto contatto = new Contatto(); + + contatto.setTelefono(rs.getLong(1)); + contatto.setEmail(rs.getString(2)); + contatto.setNome(rs.getString(3)); + contatto.setCognome(rs.getString(4)); + contatto.setServizio_sociale(rs.getString(5)); + contatto.setArea(rs.getString(6)); + contatto.setIndirizzo(rs.getString(7)); + contatto.setNumero_persone(rs.getInt(8)); + contatto.setComposizione_nucleo(rs.getString(9)); + contatto.setNote_sacchetto(rs.getString(10)); + + Date data = rs.getDate(11); + + if (data != null) { + contatto.setUltima_consegna(data.toLocalDate()); + } + + contatti.add(contatto); + } + + } catch (SQLException e) { + e.printStackTrace(); + + } + + c.close(); + return contatti; + } + +} diff --git a/src/dao/ContattoDaoI.java b/src/dao/ContattoDaoI.java new file mode 100644 index 0000000..69fa98f --- /dev/null +++ b/src/dao/ContattoDaoI.java @@ -0,0 +1,22 @@ +package dao; + +import java.time.LocalDate; +import java.util.ArrayList; + +import bean.Contatto; + +public interface ContattoDaoI { + boolean create(String nome, String cognome, String servizio_sociale, String area, String indirizzo, + long telefono, String email, int numero_persone, String composizione_nucleo, String note_sacchetto); + + Contatto read(long telefono); + + boolean update(String nome, String cognome, String servizio_sociale, String area, String indirizzo, + long telefono, String email, int numero_persone, String composizione_nucleo, String note_sacchetto); + + boolean updateConsegna(long telefono, LocalDate data_consegna); + + boolean delete(long telefono); + + ArrayList leggiTutti(); +} diff --git a/src/dao/MySqlConnection.java b/src/dao/MySqlConnection.java new file mode 100644 index 0000000..e15d5fe --- /dev/null +++ b/src/dao/MySqlConnection.java @@ -0,0 +1,45 @@ + +package dao; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; + +public class MySqlConnection { + + public static void main(String[] args) { + MySqlConnection c = new MySqlConnection(); + c.open(); + } + + + private Connection connection; + + + public Connection open() { + String nomeDriver = "com.mysql.driverDriver"; + String utente = "brigate"; //nome utente + String password = "password"; //password + String url = "jdbc:oracle:thin:@localhost:1521:orcl"; + + try { + Class.forName(nomeDriver); + this.connection = DriverManager.getConnection(url, utente, password); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } catch (SQLException e) { + e.printStackTrace(); + } + + return connection; + } + + public void close() { + try { + connection.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + + } +} \ No newline at end of file diff --git a/src/dao/OracleConnection.java b/src/dao/OracleConnection.java new file mode 100644 index 0000000..02f1056 --- /dev/null +++ b/src/dao/OracleConnection.java @@ -0,0 +1,45 @@ + +package dao; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; + +public class OracleConnection { + + public static void main(String[] args) { + OracleConnection c = new OracleConnection(); + c.open(); + } + + private Connection connection; + + + public Connection open() { + String nomeDriver = "oracle.jdbc.driver.OracleDriver"; + String utente = "C##brigate"; //nome utente + String password = "password"; //password + String url = "jdbc:oracle:thin:@localhost:1521:orcl"; + + try { + Class.forName(nomeDriver); + + this.connection = DriverManager.getConnection(url, utente, password); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } catch (SQLException e) { + e.printStackTrace(); + } + + return connection; + } + + public void close() { + try { + connection.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + + } +} \ No newline at end of file diff --git a/src/dao/OrdiniDao.java b/src/dao/OrdiniDao.java new file mode 100644 index 0000000..05eaa12 --- /dev/null +++ b/src/dao/OrdiniDao.java @@ -0,0 +1,223 @@ +package dao; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; + +import bean.Contatto; + +public class OrdiniDao implements OrdiniDaoI { + ContattoDao cd = new ContattoDao(); + + OracleConnection c = new OracleConnection(); + + @Override + public boolean aggiungi(long telefono) { + + // Cerca contatto nel db + Contatto contatto = cd.read(telefono); + Connection connection = c.open(); + + // Se esiste, aggiungilo agli ordini + if (contatto != null) { + String query = "insert into ordini values (?)"; + int n = -1; + + try { + PreparedStatement st = connection.prepareStatement(query); + + st.setLong(1, telefono); + + n = st.executeUpdate(); + + } catch (SQLException e) { + e.printStackTrace(); + + } + + c.close(); + return n == -1 ? false : true; + } else { + c.close(); + return false; + } + } + + @Override + public boolean rimuovi(long telefono) { + String query = "delete from ordini where telefono=?"; + int n = -1; + + Connection connection = c.open(); + + try { + PreparedStatement st = connection.prepareStatement(query); + + st.setLong(1, telefono); + + n = st.executeUpdate(); + + } catch (SQLException e) { + e.printStackTrace(); + } + + return n == -1 ? false : true; + } + + @Override + public boolean aggiungi(Contatto contatto) { + + // Cerca contatto nel db + Contatto cont = cd.read(contatto.getTelefono()); + + Connection connection = c.open(); + + // Se esiste, aggiungilo agli ordini + if (c != null) { + String query = "insert into ordini values (?)"; + int n = -1; + + try { + PreparedStatement st = connection.prepareStatement(query); + + st.setLong(1, cont.getTelefono()); + + n = st.executeUpdate(); + + } catch (SQLException e) { + e.printStackTrace(); + + } + + c.close(); + return n == -1 ? false : true; + } else { + c.close(); + return false; + } + } + + @Override + public boolean rimuovi(Contatto contatto) { + String query = "delete from ordini where telefono=?"; + int n = -1; + + Connection connection = c.open(); + + try { + PreparedStatement st = connection.prepareStatement(query); + + st.setLong(1, contatto.getTelefono()); + + n = st.executeUpdate(); + + } catch (SQLException e) { + e.printStackTrace(); + + } + + c.close(); + return n == -1 ? false : true; + } + + @Override + public ArrayList leggiTutti() { + String query = "select * from ordini"; + ArrayList contatti = new ArrayList(); + Connection connection = c.open(); + + try { + PreparedStatement st = connection.prepareStatement(query); + + ResultSet rs = st.executeQuery(); + + while (rs.next()) { + long telefono = rs.getLong(1); + + Contatto contatto = cd.read(telefono); + + contatti.add(contatto); + } + + } catch (SQLException e) { + e.printStackTrace(); + } + + c.close(); + + return contatti; + } + + @Override + public ArrayList leggiTutti(int limit) { + String query = "select o.telefono from ordini o, contatti c where rownum <= " + limit + " and o.telefono=c.telefono order by c.area"; + ArrayList contatti = new ArrayList(); + Connection connection = c.open(); + + try { + PreparedStatement st = connection.prepareStatement(query); + ResultSet rs = st.executeQuery(); + + while (rs.next()) { + System.out.println("query eseguita"); + long telefono = rs.getLong(1); + + Contatto contatto = cd.read(telefono); + + contatti.add(contatto); + } + + } catch (SQLException e) { + e.printStackTrace(); + } + + c.close(); + + return contatti; + } + + @Override + public boolean rimuoviTutti() { + String query = "delete from ordini"; + int n = -1; + + Connection connection = c.open(); + + try { + PreparedStatement st = connection.prepareStatement(query); + + n = st.executeUpdate(); + + } catch (SQLException e) { + e.printStackTrace(); + + } + + c.close(); + return n == -1 ? false : true; + } + + @Override + public boolean rimuoviPrimi(int numero) { + String query = "delete from ordini limit " + numero; + int n = -1; + + Connection connection = c.open(); + + try { + PreparedStatement st = connection.prepareStatement(query); + + n = st.executeUpdate(); + + } catch (SQLException e) { + e.printStackTrace(); + } + + c.close(); + + return n == -1 ? false : true; + } + +} diff --git a/src/dao/OrdiniDaoI.java b/src/dao/OrdiniDaoI.java new file mode 100644 index 0000000..95cb69f --- /dev/null +++ b/src/dao/OrdiniDaoI.java @@ -0,0 +1,24 @@ +package dao; + +import java.util.ArrayList; + +import bean.Contatto; + +public interface OrdiniDaoI { + + boolean aggiungi(long telefono); + + boolean aggiungi(Contatto contatto); + + boolean rimuovi(long telefono); + + boolean rimuovi(Contatto contatto); + + ArrayList leggiTutti(); + + ArrayList leggiTutti(int limit); + + boolean rimuoviTutti(); + + boolean rimuoviPrimi(int numero); +} diff --git a/src/filtri/FiltroContatto.java b/src/filtri/FiltroContatto.java new file mode 100644 index 0000000..7056cb0 --- /dev/null +++ b/src/filtri/FiltroContatto.java @@ -0,0 +1,77 @@ +package filtri; + +import java.io.IOException; +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.annotation.WebFilter; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import bean.Contatto; +import service.ContattoService; + +/** + * Servlet Filter implementation class FiltroContatto + */ +@WebFilter("/home-contatto.jsp") +public class FiltroContatto implements Filter { + + /** + * Default constructor. + */ + public FiltroContatto() { + // TODO Auto-generated constructor stub + } + + /** + * @see Filter#destroy() + */ + public void destroy() { + // TODO Auto-generated method stub + } + + /** + * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain) + */ + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { + HttpServletRequest req = (HttpServletRequest)request; + HttpServletResponse res = (HttpServletResponse)response; + + String tel = req.getParameter("id"); + System.out.println("tel"); + + if(tel != null) { + Long telefono = Long.parseLong(tel); + System.out.println(telefono); + + Contatto c = ContattoService.cercaPerNumero(telefono); + + System.out.println("Filtro"); + + if(c != null) { + req.setAttribute("contatto", c); + System.out.println("Filtro ::" + c); + chain.doFilter(req, res); + }else { + res.sendRedirect("error.jsp"); + } + + + } + + // pass the request along the filter chain + + } + + /** + * @see Filter#init(FilterConfig) + */ + public void init(FilterConfig fConfig) throws ServletException { + // TODO Auto-generated method stub + } + +} diff --git a/src/service/ContattoService.java b/src/service/ContattoService.java new file mode 100644 index 0000000..753ca8b --- /dev/null +++ b/src/service/ContattoService.java @@ -0,0 +1,45 @@ +package service; + +import java.time.LocalDate; +import java.util.ArrayList; + +import bean.Contatto; +import dao.ContattoDao; + +public class ContattoService { + + private static ContattoDao cd = new ContattoDao(); + + public static boolean aggiungiContatto(String nome, String cognome, String servizio_sociale, String area, + String indirizzo, long telefono, String email, int numero_persone, String composizione_nucleo, String note_sacchetto) { + return cd.create(nome, cognome, servizio_sociale, area, indirizzo, telefono, email, numero_persone, + composizione_nucleo, note_sacchetto); + + } + + public static Contatto cercaPerNumero(long telefono) { + return cd.read(telefono); + } + + public static boolean aggiorna(String nome, String cognome, String servizio_sociale, String area, String indirizzo, + long telefono, String email, int numero_persone, String composizione_nucleo, String note_sacchetto) { + return cd.update(nome, cognome, servizio_sociale, area, indirizzo, telefono, email, numero_persone, + composizione_nucleo, note_sacchetto); + } + + public static boolean consegnatoOggi(long telefono) { + return cd.updateConsegna(telefono, LocalDate.now()); + } + + public static boolean consegnatoIl(long telefono, LocalDate data) { + return cd.updateConsegna(telefono, data); + } + + public static boolean elimina(long telefono) { + return cd.delete(telefono); + } + + public static ArrayList elenco() { + return cd.leggiTutti(); + } +} diff --git a/src/service/OrdiniService.java b/src/service/OrdiniService.java new file mode 100644 index 0000000..2838a40 --- /dev/null +++ b/src/service/OrdiniService.java @@ -0,0 +1,43 @@ +package service; + +import java.util.ArrayList; + +import bean.Contatto; +import dao.OrdiniDao; + +public class OrdiniService { + private static OrdiniDao od = new OrdiniDao(); + + public static boolean aggiungi(long telefono) { + return od.aggiungi(telefono); + } + + public static boolean aggiungi(Contatto contatto) { + return od.aggiungi(contatto); + } + + + public static boolean rimuovi(long telefono) { + return od.rimuovi(telefono); + } + + public static boolean rimuovi(Contatto telefono) { + return od.rimuovi(telefono); + } + + public static ArrayList leggiTutti(){ + return od.leggiTutti(); + } + + public static ArrayList leggiTutti(int limit){ + return od.leggiTutti(limit); + } + + public static boolean rimuoviTutti() { + return od.rimuoviTutti(); + } + + public static boolean rimuoviPrimi(int numero) { + return od.rimuoviPrimi(numero); + } +} diff --git a/src/servlet/ContattiServlet.java b/src/servlet/ContattiServlet.java new file mode 100644 index 0000000..be07849 --- /dev/null +++ b/src/servlet/ContattiServlet.java @@ -0,0 +1,150 @@ +package servlet; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import bean.Contatto; +import service.ContattoService; +import service.OrdiniService; + +/** + * Servlet implementation class ContattiServlet + */ +@WebServlet("/contatti-ctrl") +public class ContattiServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + + /** + * @see HttpServlet#HttpServlet() + */ + public ContattiServlet() { + super(); + // TODO Auto-generated constructor stub + } + + /** + * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse + * response) + */ + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + // TODO Auto-generated method stub + response.getWriter().append("Served at: ").append(request.getContextPath()); + } + + /** + * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse + * response) + */ + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + String azione = request.getParameter("azione"); + + if (azione == null) { + response.sendRedirect("error.jsp"); + } + + // Cerca + if (azione.equals("cerca")) { + String telefono = request.getParameter("telefono"); + + if (telefono != null) { + long t = Long.parseLong(telefono); + + Contatto c = ContattoService.cercaPerNumero(t); + + if (c != null) { + request.setAttribute("contatto", c); + request.getRequestDispatcher("home-contatto.jsp").forward(request, response); + } else { + request.setAttribute("messaggio", "Contatto non trovato"); + request.getRequestDispatcher("cerca-aggiungi.jsp").forward(request, response); + + } + } + } else if (azione.equals("aggiungi")) { + String nome = request.getParameter("nome"); + String cognome = request.getParameter("cognome"); + String servizioSociale = request.getParameter("servizioSociale"); + String area = request.getParameter("area"); + String indirizzo = request.getParameter("indirizzo"); + long telefono = Long.parseLong(request.getParameter("telefono")); + String email = request.getParameter("email"); + int neonat = Integer.parseInt(request.getParameter("neonat")); + int bambin = Integer.parseInt(request.getParameter("bambin")); + int adult = Integer.parseInt(request.getParameter("adult")); + int anzian = Integer.parseInt(request.getParameter("anzian")); + int componenti = neonat + bambin + adult + anzian; + String composizione = (neonat != 0 ? neonat + " neonat* " : "") + (bambin != 0 ? bambin + " bambin* " : "") + + (adult != 0 ? adult + " adult* " : "") + (anzian != 0 ? anzian + " anzian* " : ""); + + String noteSacchetto = request.getParameter("noteSacchetto"); + + boolean ok = ContattoService.aggiungiContatto(nome, cognome, servizioSociale, area, indirizzo, telefono, + email, componenti, composizione, noteSacchetto); + + if (ok) { + Contatto contatto = ContattoService.cercaPerNumero(telefono); + + if (contatto != null) { + System.out.println("inserito contatto - link alla home da servlet"); + response.sendRedirect("home-contatto.jsp?id=" + telefono); + } else { + request.setAttribute("messaggio", "Impossibile aggiungere contatto"); + request.getRequestDispatcher("cerca-aggiungi.jsp").forward(request, response); + } + + } else { + request.setAttribute("messaggio", "Impossibile aggiungere contatto"); + request.getRequestDispatcher("cerca-aggiungi.jsp").forward(request, response); + } + } else if (azione.equals("modifica")) { + String nome = request.getParameter("nome"); + String cognome = request.getParameter("cognome"); + String servizioSociale = request.getParameter("servizioSociale"); + String area = request.getParameter("area"); + String indirizzo = request.getParameter("indirizzo"); + long telefono = Long.parseLong(request.getParameter("telefono")); + String email = request.getParameter("email"); + int componenti = Integer.parseInt(request.getParameter("numero")); + String composizione = request.getParameter("composizioneNucleo"); + String noteSacchetto = request.getParameter("noteSacchetto"); + + boolean ok = ContattoService.aggiorna(nome, cognome, servizioSociale, area, indirizzo, telefono, email, + componenti, composizione, noteSacchetto); + + if (ok) { + Contatto contatto = ContattoService.cercaPerNumero(telefono); + System.out.println("Servlet"); + + if (contatto != null) { + response.sendRedirect("home-contatto.jsp?id=" + telefono); + } else { + request.setAttribute("messaggio", "Impossibile modificare contatto"); + request.getRequestDispatcher("cerca-aggiungi.jsp").forward(request, response); + } + + } else { + request.setAttribute("messaggio", "Impossibile modificare contatto"); + request.getRequestDispatcher("cerca-aggiungi.jsp").forward(request, response); + } + } else if (azione.equals("elimina")) { + long telefono = Long.parseLong(request.getParameter("id")); + boolean ok1 = OrdiniService.rimuovi(telefono); + boolean ok = ContattoService.elimina(telefono); + + if (ok && ok1) { + response.sendRedirect("elenco-contatti.jsp"); + } else { + response.sendRedirect("error.jsp"); + } + } + + // Inserisci + } + +} diff --git a/src/servlet/OrdiniServlet.java b/src/servlet/OrdiniServlet.java new file mode 100644 index 0000000..e380ab3 --- /dev/null +++ b/src/servlet/OrdiniServlet.java @@ -0,0 +1,98 @@ +package servlet; + +import java.io.IOException; +import java.time.LocalDate; +import java.time.temporal.ChronoUnit; +import java.util.ArrayList; + +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import bean.Contatto; +import service.ContattoService; +import service.OrdiniService; + +/** + * Servlet implementation class OrdiniServlet + */ +@WebServlet("/ordini-ctrl") +public class OrdiniServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + + /** + * @see HttpServlet#HttpServlet() + */ + public OrdiniServlet() { + super(); + // TODO Auto-generated constructor stub + } + + /** + * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse + * response) + */ + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + // TODO Auto-generated method stub + response.getWriter().append("Served at: ").append(request.getContextPath()); + } + + /** + * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse + * response) + */ + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + String azione = request.getParameter("azione"); + + if (azione.equals("aggiungi")) { + Long numero = Long.parseLong(request.getParameter("numero")); + + Contatto contatto = ContattoService.cercaPerNumero(numero); + + if (contatto != null) { + + LocalDate ultimaConsegna = contatto.getUltima_consegna(); + + if (ultimaConsegna == null || ChronoUnit.DAYS.between(LocalDate.now(), ultimaConsegna) >= 5) { + boolean ok = OrdiniService.aggiungi(numero); + + if (ok) { + response.sendRedirect("elenco-ordini.jsp"); + } else { + request.setAttribute("messaggio", "Impossibile aggiungere l'ordine"); + request.getRequestDispatcher("error.jsp").forward(request, response); + } + } else { + request.setAttribute("messaggio", "Impossibile aggiungere l'ordine, sono passati meno di 5 gioni"); + request.getRequestDispatcher("error.jsp").forward(request, response); + } + + } else { + request.setAttribute("messaggio", "Impossibile aggiungere l'ordine, contatto inesistente"); + request.getRequestDispatcher("error.jsp").forward(request, response); + } + + } else if (azione.equals("elimina")) { + long telefono = Long.parseLong(request.getParameter("id")); + boolean ok = OrdiniService.rimuovi(telefono); + + if (ok) { + ContattoService.consegnatoIl(telefono, LocalDate.now()); + + response.sendRedirect("elenco-ordini.jsp"); + } else { + response.sendRedirect("error.jsp"); + } + } else if (azione.equals("selectTop")) { + int limite = Integer.parseInt(request.getParameter("limite")); + System.out.println(limite); + request.setAttribute("limit", limite); + request.getRequestDispatcher("elenco-ordini.jsp").forward(request, response); + } + } + +} diff --git a/src/test/TestConnection.java b/src/test/TestConnection.java new file mode 100644 index 0000000..cf6ed44 --- /dev/null +++ b/src/test/TestConnection.java @@ -0,0 +1,14 @@ +package test; + +import java.sql.Connection; + +import dao.OracleConnection; +import service.ContattoService; +import service.OrdiniService; +import servlet.ContattiServlet; + +public class TestConnection { + public static void main(String[] args) { + System.out.println(OrdiniService.leggiTutti(10)); + } +} diff --git a/src/util/Data.java b/src/util/Data.java new file mode 100644 index 0000000..3519cac --- /dev/null +++ b/src/util/Data.java @@ -0,0 +1,9 @@ +package util; + +import java.time.LocalDate; + +public class Data { + public static String formatta(LocalDate data) { + return data.getDayOfMonth() + "/" + data.getMonthValue() + "/" + data.getYear(); + } +}