1.1 --- a/freemarkerdor/src/main/java/cz/xelfi/quoridor/freemarkerdor/UI.java Sun Oct 18 21:33:27 2009 +0200
1.2 +++ b/freemarkerdor/src/main/java/cz/xelfi/quoridor/freemarkerdor/UI.java Sat Oct 24 08:42:37 2009 +0200
1.3 @@ -36,7 +36,6 @@
1.4 import com.sun.net.httpserver.HttpServer;
1.5 import cz.xelfi.quoridor.Board;
1.6 import cz.xelfi.quoridor.IllegalPositionException;
1.7 -import java.awt.Image;
1.8 import java.io.IOException;
1.9 import java.io.InputStream;
1.10 import java.net.URI;
1.11 @@ -55,6 +54,7 @@
1.12 import javax.ws.rs.PathParam;
1.13 import javax.ws.rs.Produces;
1.14 import javax.ws.rs.QueryParam;
1.15 +import javax.ws.rs.core.CacheControl;
1.16 import javax.ws.rs.core.Context;
1.17 import javax.ws.rs.core.Cookie;
1.18 import javax.ws.rs.core.HttpHeaders;
1.19 @@ -135,18 +135,22 @@
1.20
1.21 @GET
1.22 @Produces(MediaType.TEXT_HTML)
1.23 - public Viewable welcome(@QueryParam("maxItems") @DefaultValue("10") int maxItems) {
1.24 + public Response welcome(@QueryParam("maxItems") @DefaultValue("10") int maxItems) {
1.25 Viewable v = checkLogin();
1.26 - if (v != null) {
1.27 - return v;
1.28 + ResponseBuilder resp = Response.ok();
1.29 + if (v == null) {
1.30 + v = welcomeImpl("maxItems", maxItems);
1.31 }
1.32 - return welcomeImpl("maxItems", maxItems);
1.33 + CacheControl cc = new CacheControl();
1.34 + cc.setNoCache(true);
1.35 + resp.cacheControl(cc);
1.36 + return resp.entity(v).build();
1.37 }
1.38
1.39 @GET
1.40 @Path("games/{id}.png")
1.41 @Produces("image/png")
1.42 - public Image getBoardImage(
1.43 + public Response getBoardImage(
1.44 @PathParam("id") String id,
1.45 @QueryParam("fieldSize") @DefaultValue("50") int fieldSize,
1.46 @QueryParam("move") @DefaultValue("-1") int move
1.47 @@ -157,7 +161,11 @@
1.48 }
1.49 String txt = wr.accept(MediaType.TEXT_PLAIN).get(String.class);
1.50 Board b = Board.valueOf(txt);
1.51 - return BoardImage.draw(b, fieldSize);
1.52 + ResponseBuilder resp = Response.ok();
1.53 + CacheControl cc = new CacheControl();
1.54 + cc.setNoCache(true);
1.55 + resp.cacheControl(cc);
1.56 + return resp.entity(BoardImage.draw(b, fieldSize)).build();
1.57 }
1.58
1.59
1.60 @@ -190,6 +198,9 @@
1.61 url = url.queryParam("move", "" + move);
1.62 }
1.63 ResponseBuilder resp = Response.ok();
1.64 + CacheControl cc = new CacheControl();
1.65 + cc.setNoCache(true);
1.66 + resp.cacheControl(cc);
1.67 Cookie cFormat = headers.getCookies().get("format");
1.68 if (format.length() == 0) {
1.69 if (cFormat != null) {