UpdatesServlet.java 920 B

1234567891011121314151617181920212223242526272829
  1. package hello;
  2. import com.dslplatform.json.JsonWriter;
  3. import dsl.FrameworkBench.World;
  4. import javax.servlet.ServletException;
  5. import javax.servlet.http.*;
  6. import java.io.IOException;
  7. import java.util.ArrayList;
  8. public class UpdatesServlet extends HttpServlet {
  9. @Override
  10. protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
  11. res.setContentType("application/json");
  12. final int count = Utils.parseBoundParam(req);
  13. final Context ctx = Utils.getContext();
  14. final JsonWriter json = ctx.json;
  15. ctx.loadWorlds(count);
  16. final World[] worlds = ctx.worlds;
  17. final ArrayList<World> changed = new ArrayList<>(count);
  18. for (int i = 0; i < count; i++) {
  19. changed.add(worlds[i].setRandomNumber(ctx.getRandom10k()));
  20. }
  21. ctx.repository.update(changed);
  22. json.serialize(worlds, count);
  23. json.toStream(res.getOutputStream());
  24. }
  25. }