Mercurial > hg > Database > Christie
diff src/main/java/christie/codegear/CodeGear.java @ 21:5baccb8f7fbd
add RemoteTake, but it isn't working
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 22 Jan 2018 23:22:09 +0900 |
parents | 7b45ccc0f70e |
children | 77583ea56656 |
line wrap: on
line diff
--- a/src/main/java/christie/codegear/CodeGear.java Mon Jan 22 15:34:38 2018 +0900 +++ b/src/main/java/christie/codegear/CodeGear.java Mon Jan 22 23:22:09 2018 +0900 @@ -1,14 +1,15 @@ package christie.codegear; import christie.annotation.Peek; +import christie.annotation.RemoteTake; import christie.annotation.Take; -import christie.daemon.ChristieDaemon; +import christie.datagear.Command; +import christie.datagear.CommandType; import christie.datagear.DataGear; import christie.datagear.DataGearManager; import java.lang.reflect.Field; import java.util.ArrayList; -import java.util.HashMap; /** * Created by e125769 on 12/7/17. @@ -33,19 +34,22 @@ for (Field field : this.getClass().getDeclaredFields()) {//AnnotationからInputDataGearをセット if (field.isAnnotationPresent(Take.class)) { Take ano = field.getAnnotation(Take.class); - checkAndSetCommand(field, ano.value()); + checkAndSetCommand(field, "local", ano.value()); } else if (field.isAnnotationPresent(Peek.class)) { Peek ano = field.getAnnotation(Peek.class); - checkAndSetCommand(field, ano.value()); + checkAndSetCommand(field, "local", ano.value()); + } else if (field.isAnnotationPresent(RemoteTake.class)) { + RemoteTake ano = field.getAnnotation(RemoteTake.class); + checkAndSetCommand(field, ano.dsmName(), ano.key()); } } idg.finishInput(cgm, commandList); } - public void checkAndSetCommand(Field field, String name){ + public void checkAndSetCommand(Field field, String dsmName, String key){ - if (!field.getName().equals(name)){ + if (!field.getName().equals(key)){ throw new IllegalArgumentException("key and DataGearName do not match"); } @@ -60,7 +64,7 @@ throw new NullPointerException("please initialize DataGear"); } - commandList.add(new Command(this, dg, cgm.cgmID,"local", name, CommandType.TAKE)); + commandList.add(new Command(CommandType.TAKE, this, cgm.cgmID, dsmName, key, dg)); } public DataGearManager getLocalDGM() {