webidor/src/main/java/cz/xelfi/quoridor/webidor/resources/Games.java
changeset 38 373f537e0153
parent 37 782d925cb5a1
child 39 6b889f2717e9
     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);