diff src/main/java/christie/codegear/Command.java @ 13:bcd4f2c19185

don't work MessagePack unconvert for remote put
author Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
date Wed, 10 Jan 2018 20:37:47 +0900
parents b49a926cbdd9
children 186a86dc4c8a
line wrap: on
line diff
--- a/src/main/java/christie/codegear/Command.java	Tue Jan 09 17:37:43 2018 +0900
+++ b/src/main/java/christie/codegear/Command.java	Wed Jan 10 20:37:47 2018 +0900
@@ -14,15 +14,17 @@
     public String dsmName = "local";
     public String key;
     public CommandType type;
+    public Class clazz = null;
     private static final MessagePack packer = new MessagePack();
 
     //for put
-    public Command(DataGear dg, String cgmName, String dsmName, String key, CommandType type){
+    public Command(DataGear dg, String cgmName, String dsmName, String key, CommandType type, Class clazz){
         this.dg = dg;
         this.cgmName = cgmName;
         this.dsmName = dsmName;
         this.key = key;
         this.type = type;
+        this.clazz = clazz;
     }
 
     //for take
@@ -46,20 +48,19 @@
             switch (type) {
                 case PUT:
                 case REPLY:
-
-                    RemoteMessage cm = new RemoteMessage();
+                    RemoteMessage mes = new RemoteMessage(type.id, cgmName, key, clazz.getName());
 
                     data = dg.getMessagePack();
+                    command = packer.write(mes);
+                    dataSize = packer.write(data.length);
 
-                    command = packer.write(cm);
-                    dataSize = packer.write(data.length);
                     buf = ByteBuffer.allocate(command.length+dataSize.length+data.length);
                     buf.put(command);
                     buf.put(dataSize);
                     buf.put(data);
                     break;
                 default:
-                    command = packer.write(new RemoteMessage());
+                    command = packer.write(new RemoteMessage(type.id, cgmName, key, clazz.getName()));
                     buf = ByteBuffer.allocate(command.length);
                     buf.put(command);
                     break;