home *** CD-ROM | disk | FTP | other *** search
- import java.util.Calendar;
-
- public class PostThread extends Thread {
- private static final int MAXTRYS = 200;
- private static int sequencenumber = 0;
- private static String posturl = null;
- private static String midletid = null;
- private String message = null;
- private String answer = null;
- private boolean ready = false;
- private int fail = 0;
- private ChessGame chessgame;
- private static String[] posthistory = new String[3];
-
- public PostThread(ChessGame var1, String var2) {
- this.message = new String(var2);
- this.chessgame = var1;
- this.ready = false;
- ++sequencenumber;
- this.fail = 0;
- }
-
- public String getMessage() {
- return !this.ready ? null : this.message;
- }
-
- public static String getPostHistory() {
- String var0 = "";
- int var1 = sequencenumber % 3;
- if (posthistory[var1] != null) {
- var0 = var0 + posthistory[var1] + "\n";
- }
-
- var1 = (var1 + 2) % 3;
- if (posthistory[var1] != null) {
- var0 = var0 + posthistory[var1] + "\n";
- }
-
- var1 = (var1 + 2) % 3;
- if (posthistory[var1] != null) {
- var0 = var0 + posthistory[var1] + "\n";
- }
-
- return var0;
- }
-
- private void invokeServlet() throws Exception {
- this.storePost();
- switch (sequencenumber) {
- case 1:
- this.answer = "logon Logon OK |";
- break;
- case 2:
- this.answer = "who Ebbi Ottifloh Jaap";
- break;
- case 3:
- this.answer = "match Issuing: reaaft (++++) PowB (1568) unrated blitz 5 0. --** PowB is a computer **--";
- break;
- case 4:
- this.answer = "poll Ebbi accepts your challenge.";
- break;
- case 5:
- this.answer = "refresh <12> rnbqkbnr pppppppp -------- -------- -------- -------- PPPPPPPP RNBQKBNR W -1 1 1 1 1 0 2 motb motw -1 5 0 39 39 300 300 1 none (0:00) none 1 ";
- break;
- case 6:
- this.answer = "nextstate <12> rnbqkbnr pppppppp -------- -------- -P------ -------- P-PPPPPP RNBQKBNR B 1 1 1 1 1 0 2 motb motw 1 5 0 39 39 237 300 1 P/b2-b4 (1:03) b4 1 ";
- break;
- case 7:
- this.answer = "move <12> rnbqkbnr p-pppppp -p------ -------- -P------ -------- P-PPPPPP RNBQKBNR W -1 1 1 1 1 0 2 motb motw -1 5 0 39 39 237 273 2 P/b7-b6 (0:27) b6 1";
- break;
- case 8:
- this.answer = "nextstate <12> rnbqkbnr p-pppppp -p------ -------- -P------ ---P---- P-P-PPPP RNBQKBNR B -1 1 1 1 1 0 2 motb motw 1 5 0 39 39 192 273 2 P/d2-d3 (0:45) d3 1";
- break;
- case 9:
- this.answer = "move <12> rnbqkbnr p-pp-ppp -p--p--- -------- -P------ ---P---- P-P-PPPP RNBQKBNR W -1 1 1 1 1 0 2 motb motw -1 5 0 39 39 192 245 3 P/e7-e6 (0:28) e6 1";
- break;
- case 10:
- this.answer = "nextstate <12> rnbqkbnr p-pp-ppp -p--p--- -------- -P------ ---P---N P-P-PPPP RNBQKB-R B -1 1 1 1 1 1 2 motb motw 1 5 0 39 39 112 245 3 N/g1-h3 (1:20) Nh3 1";
- break;
- case 11:
- this.answer = "move <12> rnbqk-nr p-pp-ppp -p--p--- -------- -b------ ---P---N P-P-PPPP RNBQKB-R W -1 1 1 1 1 0 2 motb motw -1 5 0 38 39 112 221 4 B/f8-b4 (0:24) Bxb4+ 1";
- break;
- case 12:
- this.answer = "nextstate <12> rnbqk-nr p-pp-ppp -p--p--- -------- -b------ --NP---N P-P-PPPP R-BQKB-R B -1 1 1 1 1 1 2 motb motw 1 5 0 38 39 75 221 4 N/b1-c3 (0:37) Nc3 1";
- break;
- case 13:
- this.answer = "move <12> rnbqk-nr p-pp-ppp -p--p--- -------- -------- --bP---N P-P-PPPP R-BQKB-R W -1 1 1 1 1 0 2 motb motw -1 5 0 35 39 75 196 5 B/b4-c3 (0:25) Bxc3+ 1";
- break;
- case 14:
- this.answer = "nextstate {Game 2 (motb vs. motw) motb resigns} 0-1";
- break;
- default:
- this.answer = "";
- }
-
- this.ready = true;
- this.storeResponse();
- this.chessgame.receiveServletResponse(this.answer);
- }
-
- public void run() {
- CU.shout("PostThread started");
-
- try {
- Thread.sleep(1000L);
- } catch (Exception var2) {
- }
-
- try {
- this.invokeServlet();
- CU.shout("Post succeeded " + CU.int2str(this.fail) + " failures");
- } catch (Exception var3) {
- CU.shout("Post failed: " + ((Throwable)var3).getMessage());
- ++this.fail;
- if (this.fail < 200) {
- this.run();
- } else {
- CU.shout("Post FAILED, MAXIMUM NUMBER OF TRIES EXCEEDED");
- }
- }
-
- }
-
- public static void setMIDletID(String var0) {
- midletid = var0;
- }
-
- public static void setPostURL(String var0) {
- posturl = var0;
- }
-
- public static void setSequenceNumber(int var0) {
- sequencenumber = var0;
- }
-
- private void storePost() {
- int var1 = sequencenumber % 3;
- Calendar var2 = Calendar.getInstance();
- posthistory[var1] = "Posted '" + CU.firstToken(this.message) + "' at " + CU.int2str(var2.get(10)) + ":" + CU.int2str(var2.get(12)) + ":" + CU.int2str(var2.get(13));
- }
-
- private void storeResponse() {
- int var1 = sequencenumber % 3;
- Calendar var2 = Calendar.getInstance();
- String[] var10003 = posthistory;
- var10003[var1] = var10003[var1] + ", received " + CU.int2str(this.answer.length()) + " byte response at " + CU.int2str(var2.get(10)) + ":" + CU.int2str(var2.get(12)) + ":" + CU.int2str(var2.get(13));
- }
- }
-