diff --git a/pom.xml b/pom.xml index 57c3d209..7c85d73a 100644 --- a/pom.xml +++ b/pom.xml @@ -364,7 +364,18 @@ commons-javaflow 1590792-patched-play-1.3.0 - + + + + org.projectlombok + lombok + 1.18.12 + provided + + + + + siacoes diff --git a/src/main/java/br/edu/utfpr/dv/siacoes/dao/ActivityUnitDAO.java b/src/main/java/br/edu/utfpr/dv/siacoes/dao/ActivityUnitDAO.java index 6b0977ab..197374ef 100644 --- a/src/main/java/br/edu/utfpr/dv/siacoes/dao/ActivityUnitDAO.java +++ b/src/main/java/br/edu/utfpr/dv/siacoes/dao/ActivityUnitDAO.java @@ -11,25 +11,27 @@ import br.edu.utfpr.dv.siacoes.log.UpdateEvent; import br.edu.utfpr.dv.siacoes.model.ActivityUnit; +// A classe está implementada dentro dos meus conhecimentos sobre java(jdbc) + public class ActivityUnitDAO { - + public List listAll() throws SQLException{ Connection conn = null; Statement stmt = null; ResultSet rs = null; - + try{ conn = ConnectionDAO.getInstance().getConnection(); stmt = conn.createStatement(); - + rs = stmt.executeQuery("SELECT * FROM activityunit ORDER BY description"); - + List list = new ArrayList(); - + while(rs.next()){ list.add(this.loadObject(rs)); } - + return list; }finally{ if((rs != null) && !rs.isClosed()) @@ -40,91 +42,116 @@ public List listAll() throws SQLException{ conn.close(); } } - + public ActivityUnit findById(int id) throws SQLException{ Connection conn = null; PreparedStatement stmt = null; ResultSet rs = null; - + try{ conn = ConnectionDAO.getInstance().getConnection(); stmt = conn.prepareStatement("SELECT * FROM activityunit WHERE idActivityUnit=?"); - + stmt.setInt(1, id); - + rs = stmt.executeQuery(); - + if(rs.next()){ return this.loadObject(rs); - }else{ - return null; } + return null; }finally{ - if((rs != null) && !rs.isClosed()) + if(rs != null && !rs.isClosed()) rs.close(); - if((stmt != null) && !stmt.isClosed()) + if(stmt != null && !stmt.isClosed()) stmt.close(); - if((conn != null) && !conn.isClosed()) + if(conn != null && !conn.isClosed()) conn.close(); } } - + public int save(int idUser, ActivityUnit unit) throws SQLException{ + boolean insert = (unit.getIdActivityUnit() == 0); + if(insert){ + return salvar(idUser, unit); + }else{ + return alterar(idUser, unit); + } + } + + public int salvar(int idUser, ActivityUnit unit) throws SQLException{ boolean insert = (unit.getIdActivityUnit() == 0); Connection conn = null; PreparedStatement stmt = null; ResultSet rs = null; - + try{ conn = ConnectionDAO.getInstance().getConnection(); - - if(insert){ - stmt = conn.prepareStatement("INSERT INTO activityunit(description, fillAmount, amountDescription) VALUES(?, ?, ?)", Statement.RETURN_GENERATED_KEYS); - }else{ - stmt = conn.prepareStatement("UPDATE activityunit SET description=?, fillAmount=?, amountDescription=? WHERE idActivityUnit=?"); - } - + + stmt = conn.prepareStatement("INSERT INTO activityunit(description, fillAmount, amountDescription) VALUES(?, ?, ?)", Statement.RETURN_GENERATED_KEYS); + stmt.setString(1, unit.getDescription()); stmt.setInt(2, (unit.isFillAmount() ? 1 : 0)); stmt.setString(3, unit.getAmountDescription()); - - if(!insert){ - stmt.setInt(4, unit.getIdActivityUnit()); - } - + stmt.execute(); - - if(insert){ - rs = stmt.getGeneratedKeys(); - - if(rs.next()){ - unit.setIdActivityUnit(rs.getInt(1)); - } - - new UpdateEvent(conn).registerInsert(idUser, unit); - } else { - new UpdateEvent(conn).registerUpdate(idUser, unit); + + rs = stmt.getGeneratedKeys(); + + if(rs.next()){ + unit.setIdActivityUnit(rs.getInt(1)); } - + new UpdateEvent(conn).registerInsert(idUser, unit); + return unit.getIdActivityUnit(); }finally{ - if((rs != null) && !rs.isClosed()) + if(rs != null && !rs.isClosed()) rs.close(); - if((stmt != null) && !stmt.isClosed()) + if(stmt != null && !stmt.isClosed()) stmt.close(); - if((conn != null) && !conn.isClosed()) + if(conn != null && !conn.isClosed()) conn.close(); } } - + + public int alterar(int idUser, ActivityUnit unit) throws SQLException{ + Connection conn = null; + PreparedStatement stmt = null; + ResultSet rs = null; + + try{ + conn = ConnectionDAO.getInstance().getConnection(); + + stmt = conn.prepareStatement("UPDATE activityunit SET description=?, fillAmount=?, amountDescription=? WHERE idActivityUnit=?"); + + stmt.setString(1, unit.getDescription()); + stmt.setInt(2, (unit.isFillAmount() ? 1 : 0)); + stmt.setString(3, unit.getAmountDescription()); + stmt.setInt(4, unit.getIdActivityUnit()); + + stmt.execute(); + + new UpdateEvent(conn).registerUpdate(idUser, unit); + + return unit.getIdActivityUnit(); + }finally{ + if(rs != null && !rs.isClosed()) + rs.close(); + if(stmt != null && !stmt.isClosed()) + stmt.close(); + if(conn != null && !conn.isClosed()) + conn.close(); + } + } + private ActivityUnit loadObject(ResultSet rs) throws SQLException{ ActivityUnit unit = new ActivityUnit(); - + unit.setIdActivityUnit(rs.getInt("idActivityUnit")); unit.setDescription(rs.getString("Description")); unit.setFillAmount(rs.getInt("fillAmount") == 1); unit.setAmountDescription(rs.getString("amountDescription")); - + return unit; } diff --git a/src/main/java/br/edu/utfpr/dv/siacoes/dao/BugReportDAO.java b/src/main/java/br/edu/utfpr/dv/siacoes/dao/BugReportDAO.java index bec25ab5..be722244 100644 --- a/src/main/java/br/edu/utfpr/dv/siacoes/dao/BugReportDAO.java +++ b/src/main/java/br/edu/utfpr/dv/siacoes/dao/BugReportDAO.java @@ -14,23 +14,25 @@ import br.edu.utfpr.dv.siacoes.model.Module; import br.edu.utfpr.dv.siacoes.model.User; +// A classe está implementada dentro dos meus conhecimentos sobre java + public class BugReportDAO { - + public BugReport findById(int id) throws SQLException{ Connection conn = null; PreparedStatement stmt = null; ResultSet rs = null; - + try{ conn = ConnectionDAO.getInstance().getConnection(); - stmt = conn.prepareStatement("SELECT bugreport.*, \"user\".name " + - "FROM bugreport INNER JOIN \"user\" ON \"user\".idUser=bugreport.idUser " + - "WHERE idBugReport = ?"); - + stmt = conn.prepareStatement("SELECT bugreport.*, \"user\".name " + + "FROM bugreport INNER JOIN \"user\" ON \"user\".idUser=bugreport.idUser " + + "WHERE idBugReport = ?"); + stmt.setInt(1, id); - + rs = stmt.executeQuery(); - + if(rs.next()){ return this.loadObject(rs); }else{ @@ -45,25 +47,25 @@ public BugReport findById(int id) throws SQLException{ conn.close(); } } - + public List listAll() throws SQLException{ Connection conn = null; Statement stmt = null; ResultSet rs = null; - + try{ conn = ConnectionDAO.getInstance().getConnection(); stmt = conn.createStatement(); - + rs = stmt.executeQuery("SELECT bugreport.*, \"user\".name " + "FROM bugreport INNER JOIN \"user\" ON \"user\".idUser=bugreport.idUser " + "ORDER BY status, reportdate"); List list = new ArrayList(); - + while(rs.next()){ list.add(this.loadObject(rs)); } - + return list; }finally{ if((rs != null) && !rs.isClosed()) @@ -74,22 +76,22 @@ public List listAll() throws SQLException{ conn.close(); } } - + public int save(BugReport bug) throws SQLException{ boolean insert = (bug.getIdBugReport() == 0); Connection conn = null; PreparedStatement stmt = null; ResultSet rs = null; - + try{ conn = ConnectionDAO.getInstance().getConnection(); - + if(insert){ stmt = conn.prepareStatement("INSERT INTO bugreport(idUser, module, title, description, reportDate, type, status, statusDate, statusDescription) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)", Statement.RETURN_GENERATED_KEYS); }else{ stmt = conn.prepareStatement("UPDATE bugreport SET idUser=?, module=?, title=?, description=?, reportDate=?, type=?, status=?, statusDate=?, statusDescription=? WHERE idBugReport=?"); } - + stmt.setInt(1, bug.getUser().getIdUser()); stmt.setInt(2, bug.getModule().getValue()); stmt.setString(3, bug.getTitle()); @@ -103,21 +105,21 @@ public int save(BugReport bug) throws SQLException{ stmt.setDate(8, new java.sql.Date(bug.getStatusDate().getTime())); } stmt.setString(9, bug.getStatusDescription()); - + if(!insert){ stmt.setInt(10, bug.getIdBugReport()); } - + stmt.execute(); - + if(insert){ rs = stmt.getGeneratedKeys(); - + if(rs.next()){ bug.setIdBugReport(rs.getInt(1)); } } - + return bug.getIdBugReport(); }finally{ if((rs != null) && !rs.isClosed()) @@ -128,10 +130,10 @@ public int save(BugReport bug) throws SQLException{ conn.close(); } } - + private BugReport loadObject(ResultSet rs) throws SQLException{ BugReport bug = new BugReport(); - + bug.setIdBugReport(rs.getInt("idBugReport")); bug.setUser(new User()); bug.getUser().setIdUser(rs.getInt("idUser")); @@ -144,8 +146,11 @@ private BugReport loadObject(ResultSet rs) throws SQLException{ bug.setStatus(BugReport.BugStatus.valueOf(rs.getInt("status"))); bug.setStatusDate(rs.getDate("statusDate")); bug.setStatusDescription(rs.getString("statusDescription")); - + return bug; } + + } + diff --git a/src/main/java/br/edu/utfpr/dv/siacoes/dao/DepartmentDAO.java b/src/main/java/br/edu/utfpr/dv/siacoes/dao/DepartmentDAO.java index 933f7e29..6777a3fb 100644 --- a/src/main/java/br/edu/utfpr/dv/siacoes/dao/DepartmentDAO.java +++ b/src/main/java/br/edu/utfpr/dv/siacoes/dao/DepartmentDAO.java @@ -18,18 +18,18 @@ public Department findById(int id) throws SQLException{ Connection conn = null; PreparedStatement stmt = null; ResultSet rs = null; - + try{ conn = ConnectionDAO.getInstance().getConnection(); stmt = conn.prepareStatement( - "SELECT department.*, campus.name AS campusName " + - "FROM department INNER JOIN campus ON campus.idCampus=department.idCampus " + - "WHERE idDepartment = ?"); - + "SELECT department.*, campus.name AS campusName " + + "FROM department INNER JOIN campus ON campus.idCampus=department.idCampus " + + "WHERE idDepartment = ?"); + stmt.setInt(1, id); - + rs = stmt.executeQuery(); - + if(rs.next()){ return this.loadObject(rs); }else{ @@ -44,26 +44,26 @@ public Department findById(int id) throws SQLException{ conn.close(); } } - + public List listAll(boolean onlyActive) throws SQLException{ Connection conn = null; Statement stmt = null; ResultSet rs = null; - + try{ conn = ConnectionDAO.getInstance().getConnection(); stmt = conn.createStatement(); - + rs = stmt.executeQuery("SELECT department.*, campus.name AS campusName " + - "FROM department INNER JOIN campus ON campus.idCampus=department.idCampus " + + "FROM department INNER JOIN campus ON campus.idCampus=department.idCampus " + (onlyActive ? " WHERE department.active=1" : "") + " ORDER BY department.name"); - + List list = new ArrayList(); - + while(rs.next()){ list.add(this.loadObject(rs)); } - + return list; }finally{ if((rs != null) && !rs.isClosed()) @@ -74,26 +74,26 @@ public List listAll(boolean onlyActive) throws SQLException{ conn.close(); } } - + public List listByCampus(int idCampus, boolean onlyActive) throws SQLException{ Connection conn = null; Statement stmt = null; ResultSet rs = null; - + try{ conn = ConnectionDAO.getInstance().getConnection(); stmt = conn.createStatement(); - + rs = stmt.executeQuery("SELECT department.*, campus.name AS campusName " + "FROM department INNER JOIN campus ON campus.idCampus=department.idCampus " + "WHERE department.idCampus=" + String.valueOf(idCampus) + (onlyActive ? " AND department.active=1" : "") + " ORDER BY department.name"); - + List list = new ArrayList(); - + while(rs.next()){ list.add(this.loadObject(rs)); } - + return list; }finally{ if((rs != null) && !rs.isClosed()) @@ -105,51 +105,46 @@ public List listByCampus(int idCampus, boolean onlyActive) throws SQ } } + public int save(int idUser, Department department) throws SQLException{ boolean insert = (department.getIdDepartment() == 0); + if(insert){ + return salvar(idUser, department); + }else{ + return alterar(idUser, department); + } + + } + + public int salvar (int idUser, Department department) throws SQLException { Connection conn = null; PreparedStatement stmt = null; ResultSet rs = null; - + stmt = conn.prepareStatement("INSERT INTO department(idCampus, name, logo, active, site, fullName, initials) VALUES(?, ?, ?, ?, ?, ?, ?)", Statement.RETURN_GENERATED_KEYS); + try{ conn = ConnectionDAO.getInstance().getConnection(); - - if(insert){ - stmt = conn.prepareStatement("INSERT INTO department(idCampus, name, logo, active, site, fullName, initials) VALUES(?, ?, ?, ?, ?, ?, ?)", Statement.RETURN_GENERATED_KEYS); - }else{ - stmt = conn.prepareStatement("UPDATE department SET idCampus=?, name=?, logo=?, active=?, site=?, fullName=?, initials=? WHERE idDepartment=?"); - } - + stmt.setInt(1, department.getCampus().getIdCampus()); stmt.setString(2, department.getName()); if(department.getLogo() == null){ stmt.setNull(3, Types.BINARY); }else{ - stmt.setBytes(3, department.getLogo()); + stmt.setBytes(3, department.getLogo()); } stmt.setInt(4, department.isActive() ? 1 : 0); stmt.setString(5, department.getSite()); stmt.setString(6, department.getFullName()); stmt.setString(7, department.getInitials()); - - if(!insert){ - stmt.setInt(8, department.getIdDepartment()); - } - + stmt.execute(); - - if(insert){ - rs = stmt.getGeneratedKeys(); - - if(rs.next()){ - department.setIdDepartment(rs.getInt(1)); - } - - new UpdateEvent(conn).registerInsert(idUser, department); - } else { - new UpdateEvent(conn).registerUpdate(idUser, department); + + rs = stmt.getGeneratedKeys(); + + if(rs.next()){ + department.setIdDepartment(rs.getInt(1)); } - + new UpdateEvent(conn).registerInsert(idUser, department); return department.getIdDepartment(); }finally{ if((rs != null) && !rs.isClosed()) @@ -160,10 +155,45 @@ public int save(int idUser, Department department) throws SQLException{ conn.close(); } } - + + public int alterar(int idUser, Department department) throws SQLException { + Connection conn = null; + PreparedStatement stmt = null; + ResultSet rs = null; + + try{ + stmt = conn.prepareStatement("UPDATE department SET idCampus=?, name=?, logo=?, active=?, site=?, fullName=?, initials=? WHERE idDepartment=?"); + + stmt.setInt(1, department.getCampus().getIdCampus()); + stmt.setString(2, department.getName()); + if(department.getLogo() == null){ + stmt.setNull(3, Types.BINARY); + }else{ + stmt.setBytes(3, department.getLogo()); + } + stmt.setInt(4, department.isActive() ? 1 : 0); + stmt.setString(5, department.getSite()); + stmt.setString(6, department.getFullName()); + stmt.setString(7, department.getInitials()); + stmt.setInt(8, department.getIdDepartment()); + + stmt.execute(); + + new UpdateEvent(conn).registerUpdate(idUser, department); + return department.getIdDepartment(); + }finally{ + if(rs != null && !rs.isClosed()) + rs.close(); + if(stmt != null && !stmt.isClosed()) + stmt.close(); + if(conn != null && !conn.isClosed()) + conn.close(); + } + } + private Department loadObject(ResultSet rs) throws SQLException{ Department department = new Department(); - + department.setIdDepartment(rs.getInt("idDepartment")); department.getCampus().setIdCampus(rs.getInt("idCampus")); department.setName(rs.getString("name")); @@ -173,8 +203,8 @@ private Department loadObject(ResultSet rs) throws SQLException{ department.setSite(rs.getString("site")); department.getCampus().setName(rs.getString("campusName")); department.setInitials(rs.getString("initials")); - + return department; } - + } diff --git a/src/main/java/br/edu/utfpr/dv/siacoes/model/Department.java b/src/main/java/br/edu/utfpr/dv/siacoes/model/Department.java index 8bc4d2e7..5ffe6411 100644 --- a/src/main/java/br/edu/utfpr/dv/siacoes/model/Department.java +++ b/src/main/java/br/edu/utfpr/dv/siacoes/model/Department.java @@ -1,7 +1,12 @@ package br.edu.utfpr.dv.siacoes.model; +import lombok.Getter; +import lombok.Setter; + import java.io.Serializable; +@Getter +@Setter public class Department implements Serializable { private static final long serialVersionUID = 1L; @@ -25,56 +30,12 @@ public Department(){ this.setSite(""); this.setInitials(""); } - - public int getIdDepartment() { - return idDepartment; - } - public void setIdDepartment(int idDepartment) { - this.idDepartment = idDepartment; - } - public Campus getCampus() { - return campus; - } - public void setCampus(Campus campus) { - this.campus = campus; - } - public String getName() { - return name; - } - public void setName(String name) { - this.name = name; - } - public String getFullName(){ - return fullName; - } - public void setFullName(String fullName){ - this.fullName = fullName; - } - public byte[] getLogo() { - return logo; - } - public void setLogo(byte[] logo) { - this.logo = logo; - } + + public boolean isActive() { return active; } - public void setActive(boolean active) { - this.active = active; - } - public String getSite(){ - return site; - } - public void setSite(String site){ - this.site = site; - } - public String getInitials() { - return initials; - } - public void setInitials(String initials) { - this.initials = initials; - } - + public String toString(){ return this.getName(); } diff --git a/src/main/java/br/edu/utfpr/dv/siacoes/model/DepartmentTest.java b/src/main/java/br/edu/utfpr/dv/siacoes/model/DepartmentTest.java new file mode 100644 index 00000000..6770c283 --- /dev/null +++ b/src/main/java/br/edu/utfpr/dv/siacoes/model/DepartmentTest.java @@ -0,0 +1,20 @@ +package br.edu.utfpr.dv.siacoes.model; + + +import org.junit.Test; + +class DepartmentTest { + + private final Department dep = new Department(); + + @Test + public void teste_classe(){ + assertEquals(0, dep.idDepartment(); + + } + + + + + +} \ No newline at end of file