Mercurial > hg > Database > Christie
view src/main/java/christie/datagear/LocalDataGearManager.java @ 210:9a1d9c99e708
fix Command run to execute
author | akahori |
---|---|
date | Mon, 11 Mar 2019 16:45:37 +0900 |
parents | 2ecb3a93b8ae |
children | e486c13d9ea9 |
line wrap: on
line source
package christie.datagear; import christie.datagear.command.*; import christie.datagear.dg.DataGear; /** * Created by e125769 on 12/7/17. */ public class LocalDataGearManager extends DataGearManager { public void put(String key, Object data) {//main use DataGear dg = new DataGear(data); put(key, dg); } public void put(String key, DataGear dg){ runCommand(new PutCommand(1, "local", key, dg)); } public void runCommand(Command cm){ switch (cm.type) { case PUT: dataGears.setData(cm); if (waitList.containsKey(cm.key)){ runCommand(waitList.getAndRemoveCommand(cm.key)); } break; case TAKE: case REMOTETAKE: case PEEK: case REMOTEPEEK: if (dataGears.containsKey(cm.key)) { cm.setDg(dataGears.getData(cm)); cm.execute(); } else { waitList.add(cm); } break; case REPLY: cm.execute(); break; } } @Override public void resolveWaitCommand(String key, DataGear dg) { } @Override public void finish() { System.exit(0); } @Override public void close() { } @Override public void shutdown() { } }