1 /***
2 *
3 */
4 package pl.agh.iosr.ballamigos.webapp.jscommunication;
5
6 import java.io.IOException;
7
8 import javax.servlet.ServletConfig;
9 import javax.servlet.ServletContext;
10 import javax.servlet.ServletException;
11 import javax.servlet.http.HttpServlet;
12 import javax.servlet.http.HttpServletRequest;
13 import javax.servlet.http.HttpServletResponse;
14
15 import pl.agh.iosr.ballamigos.common.MatchProperties;
16 import pl.agh.iosr.ballamigos.common.Obstacle;
17 import pl.agh.iosr.ballamigos.webapp.core.WebApplicationCommunicator;
18
19 /***
20 * @author wrobel
21 *
22 */
23 public class LoadArenaServlet extends HttpServlet {
24 private ServletContext context;
25
26 public void init(ServletConfig config) throws ServletException {
27 this.context = config.getServletContext();
28 }
29
30 public void doPost(HttpServletRequest request, HttpServletResponse response)
31 throws IOException, ServletException {
32 String saved;
33
34 response.setContentType("text/xml");
35 response.setHeader("Cache-Control", "no-cache");
36
37 try{
38 WebApplicationCommunicator wac = Helper.getClientCommunicator(request);
39 MatchProperties properties = wac.getMatch().getProperties();
40
41 saved = "^";
42 saved += "" + properties.getSizeX();
43 saved += " " + properties.getSizeY();
44 saved += " " + properties.getLeftGoalPosition().getOffsetFromCorner();
45 saved += " " + properties.getLeftGoalPosition().getSize();
46 saved += " " + properties.getBluePositionY(0) + " " + properties.getBluePositionX(0);
47 saved += " " + properties.getBluePositionY(1) + " " + properties.getBluePositionX(1);
48 saved += " " + properties.getBluePositionY(2) + " " + properties.getBluePositionX(2);
49
50 int nobst = properties.getObstaclesNumber();
51 saved += " " + nobst;
52 for (int i = 0; i < nobst; ++i){
53 Obstacle o = properties.getObstacle(i);
54 int type = o.getObstacleType();
55 if (type == 3)
56 type = 1;
57 else if (type == 1)
58 type = 0;
59 saved += " " + o.getObstacleType();
60 saved += " " + o.getPositionX();
61 saved += " " + o.getPositionX() + o.getSizeX();
62 saved += " " + o.getPositionY();
63 saved += " " + o.getPositionY() + o.getSizeY();
64
65 }
66 response.getWriter().write(saved);
67
68 }catch(Exception ex){
69 response.getWriter().write("Excpetion: " + ex.toString());
70 }
71
72 }
73 }