From 4c3ff8c0c1bd5f19f9b813acbd127e6975a587ac Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Thu, 22 Dec 2022 04:31:20 +0100 Subject: Omoguceno brisanje pokemona. --- src/main/java/database/Database.java | 23 +++++++++++++++++++++++ src/main/java/pokemon/IService.java | 1 + src/main/java/pokemon/Service.java | 7 +++++++ src/main/webapp/pages/deletePokemon.jsp | 16 ++++++++++++++++ 4 files changed, 47 insertions(+) create mode 100644 src/main/webapp/pages/deletePokemon.jsp (limited to 'src/main') diff --git a/src/main/java/database/Database.java b/src/main/java/database/Database.java index ee07fac..e5e52e6 100644 --- a/src/main/java/database/Database.java +++ b/src/main/java/database/Database.java @@ -278,5 +278,28 @@ public class Database { e.printStackTrace(); } } + public void deleteMonster(long id) { + try { + conn.setAutoCommit(false); + String sql="DELETE FROM ability WHERE monsterId=?"; + PreparedStatement pre = conn.prepareStatement(sql); + pre.setLong(1, id); + pre.executeUpdate(); + sql="DELETE FROM monster WHERE id=?"; + pre = conn.prepareStatement(sql); + pre.setLong(1, id); + pre.executeUpdate(); + conn.commit(); + + } catch (SQLException e) { + try { + conn.rollback(); + } catch (SQLException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + e.printStackTrace(); + } + } } diff --git a/src/main/java/pokemon/IService.java b/src/main/java/pokemon/IService.java index 32b49b3..79ceea0 100644 --- a/src/main/java/pokemon/IService.java +++ b/src/main/java/pokemon/IService.java @@ -22,5 +22,6 @@ public interface IService extends Remote { public ArrayList getAllUsers()throws RemoteException; public void deleteUser(long id)throws RemoteException; public boolean addPokemonWithAbilities(PokemonAddModel pokemon)throws RemoteException; + public void deleteMonster(long id)throws RemoteException; } diff --git a/src/main/java/pokemon/Service.java b/src/main/java/pokemon/Service.java index 180af9e..77f4cc4 100644 --- a/src/main/java/pokemon/Service.java +++ b/src/main/java/pokemon/Service.java @@ -99,6 +99,13 @@ public class Service extends UnicastRemoteObject implements IService { return newMonster; } + + @Override + public void deleteMonster(long id) throws RemoteException { + Database db=Database.getInstance(); + db.deleteMonster(id); + + } } diff --git a/src/main/webapp/pages/deletePokemon.jsp b/src/main/webapp/pages/deletePokemon.jsp new file mode 100644 index 0000000..46e4ed3 --- /dev/null +++ b/src/main/webapp/pages/deletePokemon.jsp @@ -0,0 +1,16 @@ +<%@page import="models.CONSTS"%> +<%@page import="java.rmi.Naming"%> +<%@page import="pokemon.IService"%> +<% +boolean isAdmin=(Boolean)session.getAttribute("admin"); +if(!isAdmin){ + response.sendRedirect("../index.jsp"); +} +%> +<% +long monsterId=Long.parseLong(request.getParameter("monsterId")); +IService service=(IService)Naming.lookup(CONSTS.rmiUrl); +service.deleteMonster(monsterId); +response.sendRedirect("adminIndex.jsp"); + +%> \ No newline at end of file -- cgit v1.2.3