aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/database/Database.java42
-rw-r--r--src/main/java/models/Ability.java6
-rw-r--r--src/main/java/pokemon/IService.java2
-rw-r--r--src/main/java/pokemon/Service.java7
-rw-r--r--src/main/webapp/pages/pokemonViewModel.jsp56
-rw-r--r--src/main/webapp/pages/userIndex.jsp19
6 files changed, 113 insertions, 19 deletions
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<Ability>();
+ 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<Monster> 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" %>
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="ISO-8859-1">
+<title>Insert title here</title>
+</head>
+<body>
+<%
+ long monsterId=Long.parseLong(request.getParameter("monsterId"));
+ IService service=(IService)Naming.lookup(CONSTS.rmiUrl);
+ MonsterViewModel monster=service.getMonsterViewModel(monsterId);
+ request.setAttribute("monster", monster);
+
+
+%>
+<table>
+ <tr>
+ <th>Ime</th>
+ <th>Opis</th>
+ <th>Hp</th>
+ <th>Slika</th>
+ </tr>
+ <tr>
+ <td><c:out value="${monster.name}"/></td>
+ <td><c:out value="${monster.description}"/></td>
+ <td><c:out value="${monster.hp}"/></td>
+ <td><img style="height: 50px" src="data:image/*;base64, ${monster.base64Image }" /></td>
+ </tr>
+</table>
+<table>
+ <tr>
+ <th>Ime</th>
+ <th>Opis</th>
+ <th>Type</th>
+ <th>Snaga</th>
+ </tr>
+ <c:forEach items="${monster.abilities}" var="item">
+ <tr>
+ <td><c:out value="${item.name}"/></td>
+ <td><c:out value="${item.description}"/></td>
+ <td><c:out value="${item.type}"/></td>
+ <td><c:out value="${item.power}"/></td>
+ </tr>
+ </c:forEach>
+
+</table>
+
+</body>
+</html> \ 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{
%>
- <table>
- <tr>
- <th>Ime</th>
- <th>Opis</th>
- <th>Hp</th>
- <th>Slika</th>
- </tr>
- <tr>
- <td><c:out value="${myMonster.name}"/></td>
- <td><c:out value="${myMonster.description}"/></td>
- <td><c:out value="${myMonster.hp}"/></td>
- <td><img style="height: 50px" src="data:image/*;base64, ${myMonster.base64Image }" /></td>
- </tr>
- </table>
+ <jsp:include page="pokemonViewModel.jsp">
+ <jsp:param value="${myMonster.id}" name="monsterId"/>
+ </jsp:include>
<%
}
%>
<br><br><br>
+<h1>Svi pokemoni</h1>
<table>
<tr>
<th>Ime</th>
@@ -93,6 +83,5 @@ Trenutno izabran pokemon:
</c:forEach>
</table>
-
</body>
</html> \ No newline at end of file