aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/models/Ability.java10
-rw-r--r--src/main/java/models/AbilityType.java4
-rw-r--r--src/main/java/models/CONSTS.java6
-rw-r--r--src/main/java/models/Monster.java4
-rw-r--r--src/main/java/models/MonsterViewModel.java3
-rw-r--r--src/main/java/models/User.java13
-rw-r--r--src/main/java/pokemon/IService.java18
-rw-r--r--src/main/java/pokemon/Server.java27
-rw-r--r--src/main/java/pokemon/Service.java49
-rw-r--r--src/main/webapp/index.jsp38
-rw-r--r--src/main/webapp/pages/adminIndex.jsp38
-rw-r--r--src/main/webapp/pages/login.jsp32
-rw-r--r--src/main/webapp/pages/register.jsp19
-rw-r--r--src/main/webapp/pages/registerAdmin.jsp20
-rw-r--r--src/main/webapp/pages/registerPage.jsp24
-rw-r--r--src/main/webapp/pages/userIndex.jsp12
16 files changed, 300 insertions, 17 deletions
diff --git a/src/main/java/models/Ability.java b/src/main/java/models/Ability.java
index e6a00d1..1a174cf 100644
--- a/src/main/java/models/Ability.java
+++ b/src/main/java/models/Ability.java
@@ -1,8 +1,10 @@
package models;
-public class Ability {
+import java.io.Serializable;
+
+public class Ability implements Serializable {
public long id;
- public int monsterId;
+ public long monsterId;
public String Name;
public String description;
public AbilityType type;
@@ -20,10 +22,10 @@ public class Ability {
public void setId(long id) {
this.id = id;
}
- public int getMonsterId() {
+ public long getMonsterId() {
return monsterId;
}
- public void setMonsterId(int monsterId) {
+ public void setMonsterId(long monsterId) {
this.monsterId = monsterId;
}
public String getName() {
diff --git a/src/main/java/models/AbilityType.java b/src/main/java/models/AbilityType.java
index 5b4e1eb..43dd3dc 100644
--- a/src/main/java/models/AbilityType.java
+++ b/src/main/java/models/AbilityType.java
@@ -1,6 +1,8 @@
package models;
-public enum AbilityType {
+import java.io.Serializable;
+
+public enum AbilityType implements Serializable{
ATTACK,
SPECIAL,
HEAL,
diff --git a/src/main/java/models/CONSTS.java b/src/main/java/models/CONSTS.java
new file mode 100644
index 0000000..3e66a69
--- /dev/null
+++ b/src/main/java/models/CONSTS.java
@@ -0,0 +1,6 @@
+package models;
+
+public class CONSTS {
+ public static final String rmiUrl="rmi://localhost:5555/rmi";
+
+}
diff --git a/src/main/java/models/Monster.java b/src/main/java/models/Monster.java
index dc16205..a4b40e8 100644
--- a/src/main/java/models/Monster.java
+++ b/src/main/java/models/Monster.java
@@ -1,6 +1,8 @@
package models;
-public class Monster {
+import java.io.Serializable;
+
+public class Monster implements Serializable{
public long id;
public String name;
public String description;
diff --git a/src/main/java/models/MonsterViewModel.java b/src/main/java/models/MonsterViewModel.java
index fed9152..b10cd34 100644
--- a/src/main/java/models/MonsterViewModel.java
+++ b/src/main/java/models/MonsterViewModel.java
@@ -1,8 +1,9 @@
package models;
+import java.io.Serializable;
import java.util.ArrayList;
-public class MonsterViewModel {
+public class MonsterViewModel implements Serializable{
public long id;
public String name;
public String description;
diff --git a/src/main/java/models/User.java b/src/main/java/models/User.java
index 08e4ab0..3c341a2 100644
--- a/src/main/java/models/User.java
+++ b/src/main/java/models/User.java
@@ -1,11 +1,22 @@
package models;
-public class User {
+import java.io.Serializable;
+
+public class User implements Serializable{
public long id;
public String username;
public String password;
public boolean admin;
+ public long monsterId;
+ public long getmonsterId() {
+ return monsterId;
+ }
+
+ public void setmonsterId(long monsterId) {
+ this.monsterId = monsterId;
+ }
+
public long getId() {
return id;
}
diff --git a/src/main/java/pokemon/IService.java b/src/main/java/pokemon/IService.java
new file mode 100644
index 0000000..c99271c
--- /dev/null
+++ b/src/main/java/pokemon/IService.java
@@ -0,0 +1,18 @@
+package pokemon;
+
+import java.rmi.Remote;
+import java.rmi.RemoteException;
+import java.util.ArrayList;
+
+import models.Ability;
+import models.Monster;
+import models.User;
+
+public interface IService extends Remote {
+ public boolean addUser(User user)throws RemoteException;
+ public User login(User user)throws RemoteException;
+ public long addMonster(Monster monster)throws RemoteException;
+ public boolean addAbility(Ability ability)throws RemoteException;
+ public ArrayList<Monster> getMonsters()throws RemoteException;
+
+}
diff --git a/src/main/java/pokemon/Server.java b/src/main/java/pokemon/Server.java
new file mode 100644
index 0000000..695fafb
--- /dev/null
+++ b/src/main/java/pokemon/Server.java
@@ -0,0 +1,27 @@
+package pokemon;
+
+import java.net.MalformedURLException;
+import java.rmi.Naming;
+import java.rmi.RemoteException;
+import java.rmi.registry.LocateRegistry;
+
+import models.CONSTS;
+
+public class Server {
+
+ public static void main(String[] args) {
+ try {
+ IService s=new Service();
+ System.out.println("created registry at 5555");
+ LocateRegistry.createRegistry(5555);
+ Naming.rebind(CONSTS.rmiUrl, s);
+
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+
+ }
+
+}
diff --git a/src/main/java/pokemon/Service.java b/src/main/java/pokemon/Service.java
new file mode 100644
index 0000000..0931a0f
--- /dev/null
+++ b/src/main/java/pokemon/Service.java
@@ -0,0 +1,49 @@
+package pokemon;
+
+import java.rmi.RemoteException;
+import java.rmi.server.UnicastRemoteObject;
+import java.util.ArrayList;
+
+import database.Database;
+import models.Ability;
+import models.Monster;
+import models.User;
+
+public class Service extends UnicastRemoteObject implements IService {
+
+ protected Service() throws RemoteException {
+ super();
+ }
+
+ @Override
+ public boolean addUser(User user) throws RemoteException{
+ Database db=Database.getInstance();
+ return db.addUser(user);
+ }
+
+ @Override
+ public User login(User user) throws RemoteException{
+ Database db=Database.getInstance();
+ return db.login(user);
+ }
+
+ @Override
+ public long addMonster(Monster monster)throws RemoteException {
+ Database db=Database.getInstance();
+ return db.addMonster(monster);
+ }
+
+ @Override
+ public boolean addAbility(Ability ability) throws RemoteException{
+ Database db=Database.getInstance();
+ return db.addAbility(ability);
+ }
+
+ @Override
+ public ArrayList<Monster> getMonsters()throws RemoteException {
+ Database db=Database.getInstance();
+ return db.getMonsters();
+ }
+
+
+}
diff --git a/src/main/webapp/index.jsp b/src/main/webapp/index.jsp
index 68385f6..2086f22 100644
--- a/src/main/webapp/index.jsp
+++ b/src/main/webapp/index.jsp
@@ -1,3 +1,5 @@
+<%@page import="java.rmi.Naming"%>
+<%@page import="pokemon.IService"%>
<%@page import="java.util.ArrayList"%>
<%@page import="models.Monster"%>
<%@page import="models.User"%>
@@ -9,21 +11,39 @@
<html>
<head>
<meta charset="ISO-8859-1">
-<title>Insert title here</title>
+<title>Login</title>
</head>
<body>
-<%
+<h1>Login</h1>
-Database db=Database.getInstance();
+<form method="post" action="pages/login.jsp">
+ <input type="text" name="username"> Korisnicko ime
+ <br>
+ <input type="password" name="password">Sifra
+ <br>
+ <p style="color:red;">
+ <%
+ if(request.getParameter("id")!=null &&request.getParameter("id").equals("-1") )
+ out.print("Pogresan login");
+ %>
+ </p>
+ <p style="color:green;">
+ <%
+ if(request.getParameter("id")!=null &&request.getParameter("id").equals("-2") )
+ out.print("Uspesna registracija");
+ %>
+ </p>
+ <button type="submit">Prijava</button>
+</form>
-ArrayList<Monster> m=db.getMonsters();
+<br>
+<a href="pages/registerPage.jsp">
+ <button>Registracija</button>
+</a>
+<br><br>
+<h1>Lista korisnika</h1>
-for(Monster mon:m){
- out.println(mon+"<br>");
-}
-%>
-
</body>
</html> \ No newline at end of file
diff --git a/src/main/webapp/pages/adminIndex.jsp b/src/main/webapp/pages/adminIndex.jsp
new file mode 100644
index 0000000..e4225e2
--- /dev/null
+++ b/src/main/webapp/pages/adminIndex.jsp
@@ -0,0 +1,38 @@
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+ pageEncoding="ISO-8859-1"%>
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="ISO-8859-1">
+<title>Admin</title>
+</head>
+<body>
+
+<h1>Registracija novog admina</h1>
+<form method="post" action="registerAdmin.jsp">
+ <input type="text" name="username"> Korisnicko ime
+ <br>
+ <input type="password" name="password">Sifra
+ <br>
+ <p style="color:red;">
+ <%
+ if(request.getParameter("id")!=null &&request.getParameter("id").equals("-1") )
+ out.print("Username vec postoji");
+ %>
+ </p>
+ <p style="color:green;">
+ <%
+ if(request.getParameter("id")!=null &&request.getParameter("id").equals("-2") )
+ out.print("Uspesna registracija");
+ %>
+ </p>
+ <button type="submit">Registruj admina</button>
+</form>
+<h1>
+</h1>
+
+
+
+
+</body>
+</html> \ No newline at end of file
diff --git a/src/main/webapp/pages/login.jsp b/src/main/webapp/pages/login.jsp
new file mode 100644
index 0000000..71650c5
--- /dev/null
+++ b/src/main/webapp/pages/login.jsp
@@ -0,0 +1,32 @@
+<%@page import="models.User"%>
+<%@page import="models.CONSTS"%>
+<%@page import="java.rmi.Naming"%>
+<%@page import="pokemon.IService"%>
+<jsp:useBean id="user" class="models.User"></jsp:useBean>
+
+<jsp:setProperty property="*" name="user"/>
+
+<%
+ IService service=(IService)Naming.lookup(CONSTS.rmiUrl);
+ User s=service.login(user);
+ if(s==null)
+ {
+ response.sendRedirect("../index.jsp?id=-1");
+ }else {
+ session.setAttribute("id", s.getId());
+ session.setAttribute("username", s.getUsername());
+ session.setAttribute("admin", s.isAdmin());
+ if(s.isAdmin())
+ response.sendRedirect("adminIndex.jsp");
+ else
+ response.sendRedirect("userIndex.jsp");
+ }
+
+
+
+
+
+
+
+
+%> \ No newline at end of file
diff --git a/src/main/webapp/pages/register.jsp b/src/main/webapp/pages/register.jsp
new file mode 100644
index 0000000..e8de339
--- /dev/null
+++ b/src/main/webapp/pages/register.jsp
@@ -0,0 +1,19 @@
+<%@page import="models.User"%>
+<%@page import="models.CONSTS"%>
+<%@page import="java.rmi.Naming"%>
+<%@page import="pokemon.IService"%>
+<jsp:useBean id="user" class="models.User"></jsp:useBean>
+
+<jsp:setProperty property="*" name="user"/>
+
+<%
+ IService service=(IService)Naming.lookup(CONSTS.rmiUrl);
+ boolean s=service.addUser(user);
+ if(s)
+ {
+ response.sendRedirect("../index.jsp?id=-2");
+ }
+ else{
+ response.sendRedirect("registerPage.jsp?id=-1");
+ }
+%> \ No newline at end of file
diff --git a/src/main/webapp/pages/registerAdmin.jsp b/src/main/webapp/pages/registerAdmin.jsp
new file mode 100644
index 0000000..1dd42bf
--- /dev/null
+++ b/src/main/webapp/pages/registerAdmin.jsp
@@ -0,0 +1,20 @@
+<%@page import="models.User"%>
+<%@page import="models.CONSTS"%>
+<%@page import="java.rmi.Naming"%>
+<%@page import="pokemon.IService"%>
+<jsp:useBean id="user" class="models.User"></jsp:useBean>
+
+<jsp:setProperty property="*" name="user"/>
+
+<%
+ IService service=(IService)Naming.lookup(CONSTS.rmiUrl);
+ user.setAdmin(true);
+ boolean s=service.addUser(user);
+ if(s)
+ {
+ response.sendRedirect("adminIndex.jsp?id=-2");
+ }
+ else{
+ response.sendRedirect("adminIndex.jsp?id=-1");
+ }
+%> \ No newline at end of file
diff --git a/src/main/webapp/pages/registerPage.jsp b/src/main/webapp/pages/registerPage.jsp
new file mode 100644
index 0000000..0f6cf3e
--- /dev/null
+++ b/src/main/webapp/pages/registerPage.jsp
@@ -0,0 +1,24 @@
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+ pageEncoding="ISO-8859-1"%>
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="ISO-8859-1">
+<title>Insert title here</title>
+</head>
+<body>
+<form method="post" action="register.jsp">
+ <input type="text" name="username"> Korisnicko ime
+ <br>
+ <input type="password" name="password">Sifra
+ <br>
+ <p style="color:red;">
+ <%
+ if(request.getParameter("id")!=null &&request.getParameter("id").equals("-1") )
+ out.print("Username vec postoji");
+ %>
+ </p>
+ <button type="submit">Registracija</button>
+</form>
+</body>
+</html> \ No newline at end of file
diff --git a/src/main/webapp/pages/userIndex.jsp b/src/main/webapp/pages/userIndex.jsp
new file mode 100644
index 0000000..6379107
--- /dev/null
+++ b/src/main/webapp/pages/userIndex.jsp
@@ -0,0 +1,12 @@
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+ pageEncoding="ISO-8859-1"%>
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="ISO-8859-1">
+<title>User</title>
+</head>
+<body>
+
+</body>
+</html> \ No newline at end of file