From 976ed2b105e80b257ebb724b3061400f37460041 Mon Sep 17 00:00:00 2001 From: Mike Vink Date: Thu, 24 Jun 2021 23:11:39 +0200 Subject: mega commit --- api/src/main/java/mancala/api/PlayMancala.java | 55 ++++++++++++++++++++++ api/src/main/java/mancala/api/StartMancala.java | 5 +- api/src/main/java/mancala/api/models/PlayInfo.java | 17 +++++++ 3 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 api/src/main/java/mancala/api/PlayMancala.java create mode 100644 api/src/main/java/mancala/api/models/PlayInfo.java (limited to 'api/src') diff --git a/api/src/main/java/mancala/api/PlayMancala.java b/api/src/main/java/mancala/api/PlayMancala.java new file mode 100644 index 0000000..3b59710 --- /dev/null +++ b/api/src/main/java/mancala/api/PlayMancala.java @@ -0,0 +1,55 @@ +package mancala.api; + +import java.io.IOException; +import jakarta.servlet.http.*; +import jakarta.servlet.ServletException; +import jakarta.ws.rs.*; +import jakarta.ws.rs.core.*; + +import mancala.api.models.*; +import mancala.domain.MancalaException; +import mancala.domain.MancalaImpl; + +// public class StartMancala { +// @POST +// @Consumes(MediaType.APPLICATION_JSON) +// @Produces(MediaType.APPLICATION_JSON) +// public Response initialize( +// @Context HttpServletRequest request, +// PlayerInput players) { +// // var mancala = new MancalaImpl(); +// var mancala = new MancalaImpl(new int[] {0,1,2,3,4,5,6,7,8,9,10,11,12,13}); +// String namePlayer1 = players.getNameplayer1(); +// String namePlayer2 = players.getNameplayer2(); +// +// HttpSession session = request.getSession(true); +// session.setAttribute("mancala", mancala); +// session.setAttribute("player1", namePlayer1); +// session.setAttribute("player2", namePlayer2); +// +// var output = new Mancala(mancala, namePlayer1, namePlayer2); +// return Response.status(200).entity(output).build(); +// } +// } +@Path("/play") +public class PlayMancala { + @POST + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) + public Response initialize(@Context HttpServletRequest request, PlayInfo playInfo) { + + HttpSession session = request.getSession(); + + MancalaImpl mancala = (MancalaImpl) session.getAttribute("mancala"); + String namePlayer1 = (String) session.getAttribute("player1"); + String namePlayer2 = (String) session.getAttribute("player2"); + try { + mancala.playPit(playInfo.getIndex()); + } catch (MancalaException e) { + return Response.status(403).build(); + } + var output = new Mancala(mancala, namePlayer1, namePlayer2); + + return Response.status(200).entity(output).build(); + } +} diff --git a/api/src/main/java/mancala/api/StartMancala.java b/api/src/main/java/mancala/api/StartMancala.java index 7bd2330..62339d7 100644 --- a/api/src/main/java/mancala/api/StartMancala.java +++ b/api/src/main/java/mancala/api/StartMancala.java @@ -15,12 +15,13 @@ public class StartMancala { @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public Response initialize( - @Context HttpServletRequest request, + @Context HttpServletRequest request, PlayerInput players) { var mancala = new MancalaImpl(); + // var mancala = new MancalaImpl(new int[] {40,40,40,40,40,40,40,40,40,40,40,40,40,40}); String namePlayer1 = players.getNameplayer1(); String namePlayer2 = players.getNameplayer2(); - + HttpSession session = request.getSession(true); session.setAttribute("mancala", mancala); session.setAttribute("player1", namePlayer1); diff --git a/api/src/main/java/mancala/api/models/PlayInfo.java b/api/src/main/java/mancala/api/models/PlayInfo.java new file mode 100644 index 0000000..9caca4d --- /dev/null +++ b/api/src/main/java/mancala/api/models/PlayInfo.java @@ -0,0 +1,17 @@ +package mancala.api.models; + +public class PlayInfo { + int player; + int index; + + + + public void setPlayer(int player) {this.player = player;} + public int getPlayer() {return player;} + + public void setIndex(int index) { + this.index = index; + } + public int getIndex() {return index;} + +} -- cgit v1.2.3