changeset 14:f2b30b47ef67

RemotePutTest is working
author Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
date Thu, 11 Jan 2018 18:02:59 +0900
parents bcd4f2c19185
children 4e867538adb7
files src/main/java/christie/codegear/CodeGear.java src/main/java/christie/codegear/CodeGearManager.java src/main/java/christie/codegear/CommandType.java src/main/java/christie/daemon/IncomingTcpConnection.java src/main/java/christie/datagear/DataGear.java src/main/java/christie/test/Remote/RemotePutTest.java src/main/java/christie/test/TestLocal/StartTest.java
diffstat 7 files changed, 13 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/christie/codegear/CodeGear.java	Wed Jan 10 20:37:47 2018 +0900
+++ b/src/main/java/christie/codegear/CodeGear.java	Thu Jan 11 18:02:59 2018 +0900
@@ -27,7 +27,7 @@
     public void setup(CodeGearManager cgm){
         this.cgm = cgm;
         this.cge = new CodeGearExecutor(this, this.cgm);
-        this.localDGM = cgm.getDGM();
+        this.localDGM = cgm.getLocalDGM();
         odg.initODG(cgm);
 
         for (Field field : this.getClass().getDeclaredFields()) {//AnnotationからInputDataGearをセット
--- a/src/main/java/christie/codegear/CodeGearManager.java	Wed Jan 10 20:37:47 2018 +0900
+++ b/src/main/java/christie/codegear/CodeGearManager.java	Thu Jan 11 18:02:59 2018 +0900
@@ -30,7 +30,7 @@
         new ChristieDaemon(conf, this).listen();//run only first time
     }
 
-    public LocalDataGearManager getDGM(){
+    public LocalDataGearManager getLocalDGM(){
         return localDGM;
     }
 
--- a/src/main/java/christie/codegear/CommandType.java	Wed Jan 10 20:37:47 2018 +0900
+++ b/src/main/java/christie/codegear/CommandType.java	Thu Jan 11 18:02:59 2018 +0900
@@ -16,7 +16,7 @@
 
     private CommandType() {
         this.id = incrementLastId();
-    }
+    }//for init
 
     private int incrementLastId() {
         return ++lastId;
--- a/src/main/java/christie/daemon/IncomingTcpConnection.java	Wed Jan 10 20:37:47 2018 +0900
+++ b/src/main/java/christie/daemon/IncomingTcpConnection.java	Thu Jan 11 18:02:59 2018 +0900
@@ -38,7 +38,6 @@
         while (true) {
             try {
                 Command cmd = null;
-                DataGear dg = null;
                 RemoteMessage msg = unpacker.read(RemoteMessage.class);
                 CommandType type = CommandType.getCommandTypeFromId(msg.type);
                 int dataSize = unpacker.readInt();
@@ -47,7 +46,9 @@
                     case PUT:
                         connection.socket.getInputStream().read(data);
                         try {
-                            cgms.get(msg.cgmName).getDGM().put(msg.key, new DataGear(data, Class.forName(msg.clazz)));
+                            DataGear dg = new DataGear();
+                            dg.setMessagePack(data, Class.forName(msg.clazz));
+                            cgms.get(msg.cgmName).getLocalDGM().put(msg.key, dg);
                         } catch (ClassNotFoundException e) {
                             e.printStackTrace();
                         }
--- a/src/main/java/christie/datagear/DataGear.java	Wed Jan 10 20:37:47 2018 +0900
+++ b/src/main/java/christie/datagear/DataGear.java	Thu Jan 11 18:02:59 2018 +0900
@@ -5,8 +5,8 @@
 import java.io.IOException;
 
 public class DataGear<T>{
-    private T data;
-    private Class<T> clazz;
+    private T data = null;
+    private Class<T> clazz = null;
     private byte[] messagePack = null;
     private int dataSize;
     private MessagePack packer = new MessagePack();
@@ -22,9 +22,9 @@
         this.clazz = type;
     }
 
-    public DataGear(byte[] messagePack, Class clazz){//for remote
+    public void setMessagePack(byte[] messagePack, Class clazz){
         this.data = null;
-        this.clazz = clazz;
+        setClazz(clazz);
         this.messagePack = messagePack;
     }
 
@@ -60,7 +60,7 @@
     public T getData(){
         if (data == null){
             try {
-                setData((T) packer.unconvert(messagePack));//ここで展開できてない
+                setData(packer.read(messagePack, clazz));
             } catch (IOException e) {
                 e.printStackTrace();
             }
--- a/src/main/java/christie/test/Remote/RemotePutTest.java	Wed Jan 10 20:37:47 2018 +0900
+++ b/src/main/java/christie/test/Remote/RemotePutTest.java	Thu Jan 11 18:02:59 2018 +0900
@@ -16,7 +16,7 @@
         System.out.println(hoge.getData());
 
         if (hoge.getData() != 10){
-            cgm.setup(new TestCodeGear());
+            cgm.setup(new RemotePutTest());
             dgm("remote").put("hoge", hoge.getData() + 1);
         }
     }
--- a/src/main/java/christie/test/TestLocal/StartTest.java	Wed Jan 10 20:37:47 2018 +0900
+++ b/src/main/java/christie/test/TestLocal/StartTest.java	Thu Jan 11 18:02:59 2018 +0900
@@ -3,7 +3,6 @@
 import christie.codegear.CodeGearManager;
 import christie.codegear.StartCodeGear;
 import christie.daemon.Config;
-import christie.daemon.RemoteConfig;
 
 public class StartTest extends StartCodeGear{
 
@@ -20,10 +19,8 @@
 
     @Override
     protected void run(CodeGearManager cgm) {
-        TestCodeGear cg = new TestCodeGear();
-        cgm.setup(cg);
+        cgm.setup(new TestCodeGear());
 
         localDGM.put("hoge", 1);
-
     }
 }