diff options
author | Ognjen Cirkovic <ciraboxkg@gmail.com> | 2022-12-22 04:11:28 +0100 |
---|---|---|
committer | Ognjen Cirkovic <ciraboxkg@gmail.com> | 2022-12-22 04:11:28 +0100 |
commit | da35da09c1dfb1069d217fb730c098ef457513ad (patch) | |
tree | 941699b1fc20b6c21aaecca55680b1d26e308d99 /src/main | |
parent | a3166fd29e01a31c2f72ca28123e5afbaac6f86a (diff) |
Omoguceno adminu dodavanje pokemona sa abilitijima.
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/models/PokemonAddModel.java | 46 | ||||
-rw-r--r-- | src/main/java/pokemon/IService.java | 2 | ||||
-rw-r--r-- | src/main/java/pokemon/Service.java | 22 | ||||
-rw-r--r-- | src/main/webapp/pages/addNewPokemon.jsp | 49 | ||||
-rw-r--r-- | src/main/webapp/pages/addNewPokemonHelper.jsp | 46 | ||||
-rw-r--r-- | src/main/webapp/pages/adminIndex.jsp | 3 |
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); |