diff --git a/.password b/.password new file mode 100644 index 0000000000000000000000000000000000000000..34de5c7cdbc7b04a70081bb65523b4cf9f5a3cf0 --- /dev/null +++ b/.password @@ -0,0 +1 @@ +b5bb4cb9 diff --git a/.ssh b/.ssh new file mode 100755 index 0000000000000000000000000000000000000000..598511507f7b7c0b877f961500acdb92ada2baa9 --- /dev/null +++ b/.ssh @@ -0,0 +1 @@ +ssh student@129.241.99.33 diff --git a/src/main/java/dao/GroupChatDAO.java b/src/main/java/dao/GroupChatDAO.java index 4269d354e1345d2047a2ca8132513dc506c34848..d91ae29643b972fa35e3f19ed6fca096578ebf9f 100644 --- a/src/main/java/dao/GroupChatDAO.java +++ b/src/main/java/dao/GroupChatDAO.java @@ -4,6 +4,7 @@ import data.GroupChat; import data.Message; import data.User; +import javax.swing.*; import java.sql.*; import java.util.ArrayList; import java.util.List; @@ -104,8 +105,7 @@ public class GroupChatDAO { - public void addGroupChat(GroupChat groupChat) { - + public GroupChat addGroupChat(GroupChat groupChat) { Connection connection = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null; @@ -123,12 +123,15 @@ public class GroupChatDAO { if (resultSet.next()) groupChat.setGroupChatId(resultSet.getInt(1)); } }catch (SQLIntegrityConstraintViolationException e){ - e.printStackTrace(); + groupChat = new GroupChat(); + return groupChat; } catch (SQLException e) { + groupChat = null; e.printStackTrace(); }finally{ close(connection, preparedStatement, resultSet); } + return groupChat; } @@ -196,7 +199,7 @@ public class GroupChatDAO { - public void addMessage(Message message) { + public Message addMessage(Message message) { Connection connection = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null; @@ -218,10 +221,12 @@ public class GroupChatDAO { } }catch (SQLIntegrityConstraintViolationException e){ message = new Message(); + return message; } catch (SQLException e) { e.printStackTrace(); }finally{ close(connection, preparedStatement, resultSet); } + return message; } } diff --git a/src/main/java/resources/GroupChatResource.java b/src/main/java/resources/GroupChatResource.java index a24331a5faa8f57bafa5f563108d5615153573af..91d7fea4e3f248765f40a3b741a27d748d614062 100644 --- a/src/main/java/resources/GroupChatResource.java +++ b/src/main/java/resources/GroupChatResource.java @@ -1,9 +1,15 @@ package resources; +import dao.GroupChatDAO; import data.GroupChat; +import data.Message; +import data.User; +import javax.print.attribute.standard.Media; +import javax.swing.*; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; +import java.util.ArrayList; /** * GroupChat resource exposed at "/groupchat" path @@ -20,7 +26,44 @@ public class GroupChatResource { @Path ("{groupChatId}") @Produces (MediaType.APPLICATION_JSON) public GroupChat getGroupChat(@PathParam("groupChatId") int groupChatId){ - return null; + GroupChatDAO dao = new GroupChatDAO(); + return dao.getGroupChat(groupChatId); } + @GET + @Path ("user/{userId}") + @Consumes (MediaType.APPLICATION_JSON) + @Produces (MediaType.APPLICATION_JSON) + public ArrayList<GroupChat> getGroupChatByUser(@PathParam("userId") int userId) { + GroupChatDAO dao = new GroupChatDAO(); + return dao.getGroupChatByUserId(userId); + } + + @POST + @Consumes (MediaType.APPLICATION_JSON) + @Produces (MediaType.APPLICATION_JSON) + public GroupChat postGroupChat(GroupChat groupChat){ + GroupChatDAO dao = new GroupChatDAO(); + groupChat = dao.addGroupChat(groupChat); + return groupChat; + } + + @GET + @Produces (MediaType.APPLICATION_JSON) + @Path ("{groupChatId}/message") + public ArrayList<Message> getGroupChatMessages(@PathParam("groupChatId") int groupChatId) { + GroupChatDAO dao = new GroupChatDAO(); + return dao.getGroupChatMessages(groupChatId); + } + + @POST + @Produces (MediaType.APPLICATION_JSON) + @Consumes (MediaType.APPLICATION_JSON) + @Path ("{groupChatId}/message") + public Message postGroupChatMessage(@PathParam("groupChatId") int groupChatId, Message message) { + GroupChatDAO dao = new GroupChatDAO(); + return dao.addMessage(message); + } + + } diff --git a/src/main/webapp/app.html b/src/main/webapp/app.html index 227bb615896b34c95b2160aeb94fa16e53554b5b..aba5731ca6458addd2c44deabc56eac348c2ba4f 100644 --- a/src/main/webapp/app.html +++ b/src/main/webapp/app.html @@ -31,7 +31,7 @@ <ul id="userList"> <li onclick="openCalculator(); toggleUserList();"><i class="fas fa-user userIcon"></i>Kalkulator</li> - <li onclick="openNewGroupChatForm();"><i class="fas fa-plus userIcon">Gruppesamtale</i></li> + <li onclick="openNewGroupChatForm();"><i class="fas fa-plus userIcon"></i>Gruppesamtale</li> </ul> <ul id="groupChatList">