aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorOgnjen Cirkovic <ciraboxkg@gmail.com>2022-12-22 04:31:20 +0100
committerOgnjen Cirkovic <ciraboxkg@gmail.com>2022-12-22 04:31:20 +0100
commit4c3ff8c0c1bd5f19f9b813acbd127e6975a587ac (patch)
treeb3b17bfc76380a9f6ea971809c4bde8969fae6a1 /src/main
parent92eab92efb1158b94fd6ce283a92191656649b85 (diff)
Omoguceno brisanje pokemona.
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/database/Database.java23
-rw-r--r--src/main/java/pokemon/IService.java1
-rw-r--r--src/main/java/pokemon/Service.java7
-rw-r--r--src/main/webapp/pages/deletePokemon.jsp16
4 files changed, 47 insertions, 0 deletions
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<User> 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