From d179cfa6ee128d67a4e66377ac0321bc78c6613f Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Thu, 22 Dec 2022 02:57:23 +0100 Subject: Napravljen viewModel za prikaz pokemona za abilitijima. Prikaz na stranici korisnika. --- jstl-1.2.jar.zip | Bin 367905 -> 0 bytes pokemon.sql | 22 ++++++++++-- src/main/java/database/Database.java | 42 +++++++++++++++++++++- src/main/java/models/Ability.java | 6 ++-- src/main/java/pokemon/IService.java | 2 ++ src/main/java/pokemon/Service.java | 7 ++++ src/main/webapp/pages/pokemonViewModel.jsp | 56 +++++++++++++++++++++++++++++ src/main/webapp/pages/userIndex.jsp | 19 +++------- 8 files changed, 133 insertions(+), 21 deletions(-) delete mode 100644 jstl-1.2.jar.zip create mode 100644 src/main/webapp/pages/pokemonViewModel.jsp diff --git a/jstl-1.2.jar.zip b/jstl-1.2.jar.zip deleted file mode 100644 index 4f8c7a8..0000000 Binary files a/jstl-1.2.jar.zip and /dev/null differ diff --git a/pokemon.sql b/pokemon.sql index d8ad22f..f7972b7 100644 --- a/pokemon.sql +++ b/pokemon.sql @@ -3,7 +3,7 @@ -- https://www.phpmyadmin.net/ -- -- Host: 127.0.0.1:3306 --- Generation Time: Dec 22, 2022 at 01:17 AM +-- Generation Time: Dec 22, 2022 at 01:40 AM -- Server version: 5.7.31 -- PHP Version: 7.4.9 @@ -38,7 +38,25 @@ CREATE TABLE IF NOT EXISTS `ability` ( `type` int(11) NOT NULL, `power` float NOT NULL, PRIMARY KEY (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; +) ENGINE=MyISAM AUTO_INCREMENT=13 DEFAULT CHARSET=utf8; + +-- +-- Dumping data for table `ability` +-- + +INSERT INTO `ability` (`id`, `monsterId`, `name`, `description`, `type`, `power`) VALUES +(1, 1, 'Thunderbolt', 'Thunderbolt desc', 0, 1000), +(2, 1, 'Light Ball', 'Light Ball dedasdasdsa dasdas', 1, 2500), +(3, 1, 'Heal light', 'Heal light fgdsfdsfsd', 2, 500), +(4, 1, 'Rock', 'Rock Shild', 3, 700), +(5, 2, 'Fire Spin', 'Fire Spin fdsfsd', 0, 2500), +(6, 2, 'Fire Blast', 'Fire Blast special desc', 1, 3000), +(7, 2, 'Earthquake', 'Earthquake heal', 2, 600), +(8, 2, 'Toxic ', 'Toxic Shield', 3, 1200), +(9, 3, 'Sleep Powder', 'Sleep Powder descdsa', 0, 1000), +(10, 3, 'Swords Dance', 'Swords Dance dsadas', 1, 2500), +(11, 3, 'Leaf Heal', 'Leaf Heal dfsadasdsa', 2, 1000), +(12, 3, 'Rock Shield', 'Rock Shield dfsadas', 3, 1500); -- -------------------------------------------------------- diff --git a/src/main/java/database/Database.java b/src/main/java/database/Database.java index 80307db..7e0997f 100644 --- a/src/main/java/database/Database.java +++ b/src/main/java/database/Database.java @@ -10,6 +10,7 @@ import java.util.LinkedList; import java.util.List; import models.Ability; +import models.AbilityType; import models.Monster; import models.MonsterViewModel; import models.User; @@ -127,7 +128,7 @@ public class Database { ps.setString(2, ability.getName()); ps.setString(3, ability.getDescription()); ps.setInt(4, ability.getType().ordinal()); - ps.setInt(5, ability.getPower()); + ps.setFloat(5, ability.getPower()); if(ps.executeUpdate()==1) { result=true; } @@ -200,5 +201,44 @@ public class Database { } } + public MonsterViewModel getMonsterViewModel(long id) { + MonsterViewModel monster=null; + + String sql="SELECT * FROM monster m JOIN ability a ON m.id=? AND m.id=a.monsterId"; + try { + PreparedStatement statement = conn.prepareStatement(sql); + statement.setLong(1, id); + ResultSet res=statement.executeQuery(); + int i=0; + while(res.next()) { + if(i==0) + { + monster=new MonsterViewModel(); + monster.setId(res.getLong("m.id")); + monster.setName(res.getString("m.name")); + monster.setDescription(res.getString("m.description")); + monster.setHp(res.getInt("m.hp")); + monster.setBase64Image(res.getString("m.base64Image")); + monster.abilities=new ArrayList(); + i++; + } + Ability a=new Ability(); + a.setId(res.getLong("a.id")); + a.setMonsterId(res.getLong("m.id")); + a.setName(res.getString("a.name")); + a.setDescription(res.getString("a.description")); + a.setType(AbilityType.values()[res.getInt("a.type")]); + a.setPower(res.getFloat("a.power")); + monster.abilities.add(a); + + } + + } catch (SQLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return monster; + + } } diff --git a/src/main/java/models/Ability.java b/src/main/java/models/Ability.java index 1a174cf..5706ba1 100644 --- a/src/main/java/models/Ability.java +++ b/src/main/java/models/Ability.java @@ -8,7 +8,7 @@ public class Ability implements Serializable { public String Name; public String description; public AbilityType type; - public int power; + public float power; public Ability() { @@ -46,10 +46,10 @@ public class Ability implements Serializable { public void setType(AbilityType type) { this.type = type; } - public int getPower() { + public float getPower() { return power; } - public void setPower(int power) { + public void setPower(float power) { this.power = power; } diff --git a/src/main/java/pokemon/IService.java b/src/main/java/pokemon/IService.java index 172c392..538dacd 100644 --- a/src/main/java/pokemon/IService.java +++ b/src/main/java/pokemon/IService.java @@ -6,6 +6,7 @@ import java.util.ArrayList; import models.Ability; import models.Monster; +import models.MonsterViewModel; import models.User; public interface IService extends Remote { @@ -16,5 +17,6 @@ public interface IService extends Remote { public ArrayList getMonsters()throws RemoteException; public Monster getUserMonster(String username) throws RemoteException; public void addMonsterToUser(long id,long monsterId)throws RemoteException; + public MonsterViewModel getMonsterViewModel(long id)throws RemoteException; } diff --git a/src/main/java/pokemon/Service.java b/src/main/java/pokemon/Service.java index 579a0c4..cfdc076 100644 --- a/src/main/java/pokemon/Service.java +++ b/src/main/java/pokemon/Service.java @@ -7,6 +7,7 @@ import java.util.ArrayList; import database.Database; import models.Ability; import models.Monster; +import models.MonsterViewModel; import models.User; public class Service extends UnicastRemoteObject implements IService { @@ -57,6 +58,12 @@ public class Service extends UnicastRemoteObject implements IService { db.addMonsterToUser(id, monsterId); } + + @Override + public MonsterViewModel getMonsterViewModel(long id) throws RemoteException { + Database db=Database.getInstance(); + return db.getMonsterViewModel(id); + } } diff --git a/src/main/webapp/pages/pokemonViewModel.jsp b/src/main/webapp/pages/pokemonViewModel.jsp new file mode 100644 index 0000000..ba0068b --- /dev/null +++ b/src/main/webapp/pages/pokemonViewModel.jsp @@ -0,0 +1,56 @@ +<%@page import="models.MonsterViewModel"%> +<%@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" %> + + + + +Insert title here + + +<% + long monsterId=Long.parseLong(request.getParameter("monsterId")); + IService service=(IService)Naming.lookup(CONSTS.rmiUrl); + MonsterViewModel monster=service.getMonsterViewModel(monsterId); + request.setAttribute("monster", monster); + + +%> + + + + + + + + + + + + + +
ImeOpisHpSlika
+ + + + + + + + + + + + + + + + +
ImeOpisTypeSnaga
+ + + \ No newline at end of file diff --git a/src/main/webapp/pages/userIndex.jsp b/src/main/webapp/pages/userIndex.jsp index 5bf5320..e54c742 100644 --- a/src/main/webapp/pages/userIndex.jsp +++ b/src/main/webapp/pages/userIndex.jsp @@ -44,24 +44,14 @@ Trenutno izabran pokemon: } else{ %> - - - - - - - - - - - - - -
ImeOpisHpSlika
+ + + <% } %>


+

Svi pokemoni

@@ -93,6 +83,5 @@ Trenutno izabran pokemon:
Ime
- \ No newline at end of file -- cgit v1.2.3