aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/database/Database.java38
-rw-r--r--src/main/java/pokemon/IService.java2
-rw-r--r--src/main/java/pokemon/Service.java13
-rw-r--r--src/main/webapp/pages/adminIndex.jsp60
-rw-r--r--src/main/webapp/pages/deleteUser.jsp11
-rw-r--r--src/main/webapp/pages/pokemonViewModel.jsp2
6 files changed, 125 insertions, 1 deletions
diff --git a/src/main/java/database/Database.java b/src/main/java/database/Database.java
index 7e0997f..ee07fac 100644
--- a/src/main/java/database/Database.java
+++ b/src/main/java/database/Database.java
@@ -240,5 +240,43 @@ public class Database {
return monster;
}
+ public ArrayList<User> getAllUsers(){
+ ArrayList<User> users=new ArrayList<User>();
+ try {
+ String sql="SELECT * FROM user";
+ Statement statement = conn.createStatement();
+ ResultSet res=statement.executeQuery(sql);
+ while(res.next()) {
+ User tempUser=new User();
+ tempUser=new User();
+ tempUser.setId(res.getLong("id"));
+ tempUser.setAdmin(res.getBoolean("admin"));
+ tempUser.setUsername(res.getString("username"));
+ if(res.getObject("pokemonId")!=null)
+ tempUser.setmonsterId(res.getLong("pokemonId"));
+ else
+ tempUser.setmonsterId(-1);
+ users.add(tempUser);
+ }
+
+ } catch (SQLException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ return users;
+
+ }
+ public void deleteUser(long id) {
+ String sql="DELETE FROM user WHERE id=?";
+ try {
+ PreparedStatement preStatement=conn.prepareStatement(sql);
+ preStatement.setLong(1, id);
+ preStatement.executeUpdate();
+ } catch (SQLException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
}
diff --git a/src/main/java/pokemon/IService.java b/src/main/java/pokemon/IService.java
index 538dacd..30ca93c 100644
--- a/src/main/java/pokemon/IService.java
+++ b/src/main/java/pokemon/IService.java
@@ -18,5 +18,7 @@ public interface IService extends Remote {
public Monster getUserMonster(String username) throws RemoteException;
public void addMonsterToUser(long id,long monsterId)throws RemoteException;
public MonsterViewModel getMonsterViewModel(long id)throws RemoteException;
+ public ArrayList<User> getAllUsers()throws RemoteException;
+ public void deleteUser(long id)throws RemoteException;
}
diff --git a/src/main/java/pokemon/Service.java b/src/main/java/pokemon/Service.java
index cfdc076..91e8dae 100644
--- a/src/main/java/pokemon/Service.java
+++ b/src/main/java/pokemon/Service.java
@@ -64,6 +64,19 @@ public class Service extends UnicastRemoteObject implements IService {
Database db=Database.getInstance();
return db.getMonsterViewModel(id);
}
+
+ @Override
+ public ArrayList<User> getAllUsers() throws RemoteException {
+ Database db=Database.getInstance();
+ return db.getAllUsers();
+ }
+
+ @Override
+ public void deleteUser(long id) throws RemoteException {
+ Database db=Database.getInstance();
+ db.deleteUser(id);
+
+ }
}
diff --git a/src/main/webapp/pages/adminIndex.jsp b/src/main/webapp/pages/adminIndex.jsp
index e4225e2..3c16a28 100644
--- a/src/main/webapp/pages/adminIndex.jsp
+++ b/src/main/webapp/pages/adminIndex.jsp
@@ -1,13 +1,73 @@
+<%@page import="models.User"%>
+<%@page import="models.Monster"%>
+<%@page import="java.util.ArrayList"%>
+<%@page import="models.CONSTS"%>
+<%@page import="java.rmi.Naming"%>
+<%@page import="pokemon.IService"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
+ <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Admin</title>
+<style>
+ table, th, td {
+ border: 1px solid black;
+ border-collapse: collapse;
+ padding:2px;
+ }
+</style>
</head>
<body>
+<h1>Lista korisnika</h1>
+<%
+IService service=(IService)Naming.lookup(CONSTS.rmiUrl);
+ArrayList<User>users=service.getAllUsers();
+request.setAttribute("users", users);
+%>
+
+<table>
+<tr>
+<th>Id</th>
+<th>Username</th>
+<th>admin</th>
+<th>pokemonId</th>
+<th></th>
+</tr>
+<c:forEach items="${users}" var="item">
+<tr>
+ <td>
+ <c:out value="${item.id}"/>
+ </td>
+ <td>
+ <c:out value="${item.username}"/>
+ </td>
+ <td>
+ <c:out value="${item.admin}"/>
+ </td>
+ <td>
+ <c:if test="${item.monsterId!=-1}">
+ <c:out value="${item.monsterId}"/>
+ </c:if>
+ </td>
+ <td>
+ <c:if test="${!item.admin}">
+ <a href="deleteUser.jsp?userId=${item.id}">
+ <button>Izbrisi</button>
+ </a>
+ </c:if>
+ </td>
+</tr>
+</c:forEach>
+
+</table>
+
+
+
+<br><br>
<h1>Registracija novog admina</h1>
<form method="post" action="registerAdmin.jsp">
<input type="text" name="username"> Korisnicko ime
diff --git a/src/main/webapp/pages/deleteUser.jsp b/src/main/webapp/pages/deleteUser.jsp
new file mode 100644
index 0000000..e8de025
--- /dev/null
+++ b/src/main/webapp/pages/deleteUser.jsp
@@ -0,0 +1,11 @@
+<%@page import="models.CONSTS"%>
+<%@page import="java.rmi.Naming"%>
+<%@page import="pokemon.IService"%>
+<%
+long userId=Long.parseLong(request.getParameter("userId"));
+IService service=(IService)Naming.lookup(CONSTS.rmiUrl);
+service.deleteUser(userId);
+
+response.sendRedirect("adminIndex.jsp");
+
+%> \ No newline at end of file
diff --git a/src/main/webapp/pages/pokemonViewModel.jsp b/src/main/webapp/pages/pokemonViewModel.jsp
index ba0068b..fb10281 100644
--- a/src/main/webapp/pages/pokemonViewModel.jsp
+++ b/src/main/webapp/pages/pokemonViewModel.jsp
@@ -31,7 +31,7 @@
<td><c:out value="${monster.name}"/></td>
<td><c:out value="${monster.description}"/></td>
<td><c:out value="${monster.hp}"/></td>
- <td><img style="height: 50px" src="data:image/*;base64, ${monster.base64Image }" /></td>
+ <td><img style="height: 50px" src="data:image/*;base64, ${monster.base64Image}" /></td>
</tr>
</table>
<table>