diff src/main/java/jp/ac/u_ryukyu/alicevnc/CheckCurrentInfo.java @ 34:aace9df1462e

refactor
author sugi
date Thu, 13 Nov 2014 16:09:09 +0900
parents 7d65ad341cc9
children 9354e8a1d03b
line wrap: on
line diff
--- a/src/main/java/jp/ac/u_ryukyu/alicevnc/CheckCurrentInfo.java	Sun Nov 09 17:33:43 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/alicevnc/CheckCurrentInfo.java	Thu Nov 13 16:09:09 2014 +0900
@@ -19,39 +19,37 @@
 
     @Override
     public void run() {
-        System.out.println("check");
         AliceVNCMessage current = info.asClass(AliceVNCMessage.class);
 
-        if (current.allowChange) {
-            // send Stop message to current
-            current.messageID = MessageType.StopProxy.getId();
-            int last = current.route.size() - 1;
-            String address = current.route.get(last);
-            current.route.remove(last);
-            ods.put(address, "changeRequest", current);
-
-            AliceVNCMessage mes = new AliceVNCMessage(MessageType.StartNegotiate);
-            mes.route = new ArrayList<String>();
-            for (String s : order.route) {
-                mes.route.add(s);
-            }
-            mes.name = "node0";
+        if (order.name.equals(current.name)) {
+            // need check route and node name
+            ods.update("currentServer", current);
+        } else {
+            if (current.allowChange) {
+                // send Stop message to current
+                current.messageID = MessageType.StopProxy.getId();
+                String address = current.getNextAddress();
+                ods.put(address, "AliceVNCMessage", current);
 
-            last = mes.route.size() - 1;
-            address = mes.route.get(last);
-            mes.route.remove(last);
-            ods.put(address, "changeRequest", mes);
-        } else {
-            // not allow to change
-            int last = order.route.size() - 1;
-            String address = order.route.get(last);
-            order.route.remove(last);
-            ods.put(address, "changeRequest", order);
+                AliceVNCMessage mes = new AliceVNCMessage(MessageType.StartNegotiate);
+                mes.route = new ArrayList<String>();
+                for (String s : order.route) {
+                    mes.route.add(s);
+                }
+                mes.name = "node0";
+                address = mes.getNextAddress();
+                ods.put(address, "AliceVNCMessage", mes);
+            } else {
+                // not allow to change
+                order.messageID = MessageType.DeniedRequest.getId();
+                order.name = "node0";
+                String address = order.getNextAddress();
+                ods.put(address, "AliceVNCMessage", order);
 
-            // update current server info
-            ods.update("currentServer", current);
+                // update current server info
+                ods.update("currentServer", current);
+            }
         }
-        new ReceiveChangeRequest();
+        new ReceiveAliceVNCMessage();
     }
-
 }