aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/models/PokemonAddModel.java46
-rw-r--r--src/main/java/pokemon/IService.java2
-rw-r--r--src/main/java/pokemon/Service.java22
-rw-r--r--src/main/webapp/pages/addNewPokemon.jsp49
-rw-r--r--src/main/webapp/pages/addNewPokemonHelper.jsp46
-rw-r--r--src/main/webapp/pages/adminIndex.jsp3
6 files changed, 168 insertions, 0 deletions
diff --git a/src/main/java/models/PokemonAddModel.java b/src/main/java/models/PokemonAddModel.java
new file mode 100644
index 0000000..a16b425
--- /dev/null
+++ b/src/main/java/models/PokemonAddModel.java
@@ -0,0 +1,46 @@
+package models;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+
+public class PokemonAddModel implements Serializable{
+ public String name;
+ public String description;
+ public int hp;
+ public String getName() {
+ return name;
+ }
+ public void setName(String name) {
+ this.name = name;
+ }
+ public String getDescription() {
+ return description;
+ }
+ public void setDescription(String description) {
+ this.description = description;
+ }
+ public int getHp() {
+ return hp;
+ }
+ public void setHp(int hp) {
+ this.hp = hp;
+ }
+ public String getBase64Image() {
+ return base64Image;
+ }
+ public void setBase64Image(String base64Image) {
+ this.base64Image = base64Image;
+ }
+ public ArrayList<Ability> getAbilities() {
+ return abilities;
+ }
+ public void setAbilities(ArrayList<Ability> abilities) {
+ this.abilities = abilities;
+ }
+ public String base64Image;
+ public ArrayList<Ability> abilities;
+ public PokemonAddModel() {
+ super();
+ }
+
+}
diff --git a/src/main/java/pokemon/IService.java b/src/main/java/pokemon/IService.java
index 30ca93c..32b49b3 100644
--- a/src/main/java/pokemon/IService.java
+++ b/src/main/java/pokemon/IService.java
@@ -7,6 +7,7 @@ import java.util.ArrayList;
import models.Ability;
import models.Monster;
import models.MonsterViewModel;
+import models.PokemonAddModel;
import models.User;
public interface IService extends Remote {
@@ -20,5 +21,6 @@ public interface IService extends Remote {
public MonsterViewModel getMonsterViewModel(long id)throws RemoteException;
public ArrayList<User> getAllUsers()throws RemoteException;
public void deleteUser(long id)throws RemoteException;
+ public boolean addPokemonWithAbilities(PokemonAddModel pokemon)throws RemoteException;
}
diff --git a/src/main/java/pokemon/Service.java b/src/main/java/pokemon/Service.java
index 91e8dae..180af9e 100644
--- a/src/main/java/pokemon/Service.java
+++ b/src/main/java/pokemon/Service.java
@@ -8,6 +8,7 @@ import database.Database;
import models.Ability;
import models.Monster;
import models.MonsterViewModel;
+import models.PokemonAddModel;
import models.User;
public class Service extends UnicastRemoteObject implements IService {
@@ -77,6 +78,27 @@ public class Service extends UnicastRemoteObject implements IService {
db.deleteUser(id);
}
+ public boolean addPokemonWithAbilities(PokemonAddModel pokemon)throws RemoteException {
+ boolean res=false;
+ Database db=Database.getInstance();
+ long monsterId=db.addMonster(addModelToMonster(pokemon));
+ for(Ability a:pokemon.abilities) {
+ a.monsterId=monsterId;
+ db.addAbility(a);
+ }
+ res=true;
+ return res;
+
+ }
+ public Monster addModelToMonster(PokemonAddModel pokemon) {
+ Monster newMonster=new Monster();
+ newMonster.setName(pokemon.getName());
+ newMonster.setDescription(pokemon.getDescription());
+ newMonster.setHp(pokemon.getHp());
+ newMonster.setBase64Image(pokemon.getBase64Image());
+ return newMonster;
+
+ }
}
diff --git a/src/main/webapp/pages/addNewPokemon.jsp b/src/main/webapp/pages/addNewPokemon.jsp
new file mode 100644
index 0000000..201370b
--- /dev/null
+++ b/src/main/webapp/pages/addNewPokemon.jsp
@@ -0,0 +1,49 @@
+<%@ 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="addNewPokemonHelper.jsp">
+<input type="text" name="name"> Ime <br>
+<input type="text" name="description"> Opis <br>
+<input type="text" name="hp"> Hp <br>
+<input type="text" name="base64Image"> ImageString64 <br>
+
+<h2>Abilities</h2>
+<h3>ATTACK</h3>
+<input type="text" name="abilitiesName"> Ime <br>
+<input type="text" name="abilitiesDesc"> Opis <br>
+<input type="hidden" name="abilitiesType" value="0">
+<input type="text" name="abilitiesPower"> Snaga <br>
+<h3>SPECIAL</h3>
+<input type="text" name="abilitiesName"> Ime <br>
+<input type="text" name="abilitiesDesc"> Opis <br>
+<input type="hidden" name="abilitiesType" value="1">
+<input type="text" name="abilitiesPower"> Snaga <br>
+<h3>HEAL</h3>
+<input type="text" name="abilitiesName"> Ime <br>
+<input type="text" name="abilitiesDesc"> Opis <br>
+<input type="hidden" name="abilitiesType" value="2">
+<input type="text" name="abilitiesPower"> Snaga <br>
+<h3>SHIELD</h3>
+<input type="text" name="abilitiesName"> Ime <br>
+<input type="text" name="abilitiesDesc"> Opis <br>
+<input type="hidden" name="abilitiesType" value="3">
+<input type="text" name="abilitiesPower"> Snaga <br>
+
+<button type="submit">Dodaj</button>
+
+
+
+</form>
+
+
+</body>
+</html> \ No newline at end of file
diff --git a/src/main/webapp/pages/addNewPokemonHelper.jsp b/src/main/webapp/pages/addNewPokemonHelper.jsp
new file mode 100644
index 0000000..2553bb9
--- /dev/null
+++ b/src/main/webapp/pages/addNewPokemonHelper.jsp
@@ -0,0 +1,46 @@
+<%@page import="models.AbilityType"%>
+<%@page import="models.Ability"%>
+<%@page import="java.util.List"%>
+<%@page import="java.util.Arrays"%>
+<%@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"%>
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="ISO-8859-1">
+<title>Insert title here</title>
+</head>
+<body>
+<jsp:useBean id="pokemon" class="models.PokemonAddModel"></jsp:useBean>
+
+<jsp:setProperty property="*" name="pokemon"/>
+<%
+IService service=(IService)Naming.lookup(CONSTS.rmiUrl);
+List<String> names=Arrays.asList(request.getParameterValues("abilitiesName"));
+List<String> desc=Arrays.asList(request.getParameterValues("abilitiesDesc"));
+List<String> type=Arrays.asList(request.getParameterValues("abilitiesType"));
+List<String> power=Arrays.asList(request.getParameterValues("abilitiesPower"));
+pokemon.abilities=new ArrayList<Ability>();
+
+for (int i = 0; i < 4; i++) {
+ Ability tempA=new Ability();
+ tempA.setName(names.get(i));
+ tempA.setDescription(desc.get(i));
+ int tempType=Integer.parseInt(type.get(i));
+ tempA.setType(AbilityType.values()[tempType]);
+ int tempPower=Integer.parseInt(power.get(i));
+ tempA.setPower(tempPower);
+ pokemon.abilities.add(tempA);
+ }
+service.addPokemonWithAbilities(pokemon);
+response.sendRedirect("adminIndex.jsp");
+
+
+%>
+
+</body>
+</html> \ No newline at end of file
diff --git a/src/main/webapp/pages/adminIndex.jsp b/src/main/webapp/pages/adminIndex.jsp
index 3c16a28..1b0f4e7 100644
--- a/src/main/webapp/pages/adminIndex.jsp
+++ b/src/main/webapp/pages/adminIndex.jsp
@@ -21,6 +21,9 @@
</style>
</head>
<body>
+<a href="logout.jsp">
+ <button>Log out</button>
+</a>
<h1>Lista korisnika</h1>
<%
IService service=(IService)Naming.lookup(CONSTS.rmiUrl);