From da35da09c1dfb1069d217fb730c098ef457513ad Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Thu, 22 Dec 2022 04:11:28 +0100 Subject: Omoguceno adminu dodavanje pokemona sa abilitijima. --- src/main/java/models/PokemonAddModel.java | 46 +++++++++++++++++++++++++ src/main/java/pokemon/IService.java | 2 ++ src/main/java/pokemon/Service.java | 22 ++++++++++++ src/main/webapp/pages/addNewPokemon.jsp | 49 +++++++++++++++++++++++++++ src/main/webapp/pages/addNewPokemonHelper.jsp | 46 +++++++++++++++++++++++++ src/main/webapp/pages/adminIndex.jsp | 3 ++ 6 files changed, 168 insertions(+) create mode 100644 src/main/java/models/PokemonAddModel.java create mode 100644 src/main/webapp/pages/addNewPokemon.jsp create mode 100644 src/main/webapp/pages/addNewPokemonHelper.jsp 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 getAbilities() { + return abilities; + } + public void setAbilities(ArrayList abilities) { + this.abilities = abilities; + } + public String base64Image; + public ArrayList 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 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"%> + + + + +Insert title here + + + + + +
+ Ime
+ Opis
+ Hp
+ ImageString64
+ +

Abilities

+

ATTACK

+ Ime
+ Opis
+ + Snaga
+

SPECIAL

+ Ime
+ Opis
+ + Snaga
+

HEAL

+ Ime
+ Opis
+ + Snaga
+

SHIELD

+ Ime
+ Opis
+ + Snaga
+ + + + + +
+ + + + \ 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"%> + + + + +Insert title here + + + + + +<% +IService service=(IService)Naming.lookup(CONSTS.rmiUrl); +List names=Arrays.asList(request.getParameterValues("abilitiesName")); +List desc=Arrays.asList(request.getParameterValues("abilitiesDesc")); +List type=Arrays.asList(request.getParameterValues("abilitiesType")); +List power=Arrays.asList(request.getParameterValues("abilitiesPower")); +pokemon.abilities=new ArrayList(); + +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"); + + +%> + + + \ 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 @@ + + +

Lista korisnika

<% IService service=(IService)Naming.lookup(CONSTS.rmiUrl); -- cgit v1.2.3