1.1 --- a/webidor/src/main/java/cz/xelfi/quoridor/webidor/resources/Games.java Wed Jul 29 08:19:35 2009 +0200
1.2 +++ b/webidor/src/main/java/cz/xelfi/quoridor/webidor/resources/Games.java Wed Jul 29 17:24:20 2009 +0200
1.3 @@ -74,16 +74,41 @@
1.4 }
1.5
1.6 @POST
1.7 - public Game createGame(@QueryParam("white") String user1, @QueryParam("black") String user2) {
1.8 - Game g = new Game(user1, user2);
1.9 + @Produces(MediaType.APPLICATION_JSON)
1.10 + public Game createGame(
1.11 + @QueryParam("white") String white,
1.12 + @QueryParam("black") String black
1.13 + ) {
1.14 + if (white == null) {
1.15 + throw new IllegalArgumentException("Must specify white");
1.16 + }
1.17 + if (black == null) {
1.18 + throw new IllegalArgumentException("Must specify black");
1.19 + }
1.20 + Game g = new Game(white, black);
1.21 games.add(g);
1.22 return g;
1.23 }
1.24
1.25 + @GET
1.26 + @Path("{id}")
1.27 + @Produces(MediaType.TEXT_PLAIN)
1.28 + public String getBoard(@PathParam("id") String id) {
1.29 + Game g = findGame(id);
1.30 + if (g == null) {
1.31 + throw new IllegalArgumentException("Unknown game " + id);
1.32 + }
1.33 + return g.getBoard().toString();
1.34 + }
1.35 +
1.36 @PUT
1.37 @Path("{id}")
1.38 - public Game applyMove(@PathParam("id") String id, @QueryParam("player") String player, @QueryParam("move") String move)
1.39 - throws IllegalPositionException {
1.40 + @Produces(MediaType.APPLICATION_JSON)
1.41 + public Game applyMove(
1.42 + @PathParam("id") String id,
1.43 + @QueryParam("player") String player,
1.44 + @QueryParam("move") String move
1.45 + ) throws IllegalPositionException {
1.46 Game g = findGame(id);
1.47 if (g == null) {
1.48 throw new IllegalArgumentException("Unknown game " + id);