package com.robonobo.wang.client;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.log4j.PropertyConfigurator;
import com.robonobo.common.concurrent.SafetyNet;
import com.robonobo.common.http.PreemptiveHttpClient;
import com.robonobo.common.util.ExceptionEvent;
import com.robonobo.common.util.ExceptionListener;
import com.robonobo.wang.proto.WangProtocol.CoinListMsg;
public class WangTest {
public static void main(String[] args) throws Exception {
SafetyNet.addListener(new ExceptionListener() {
public void onException(ExceptionEvent e) {
e.getException().printStackTrace();
}
});
PropertyConfigurator.configureAndWatch("../wang-server/src/java/log4j.properties");
Log log = LogFactory.getLog(WangTest.class);
WangConfig cfg = new WangConfig();
cfg.setBankUrl("http://localhost:8080/wang-server");
cfg.setAccountEmail("macavity@well.com");
cfg.setAccountPwd("foo");
WangClient client = new WangClient(cfg, new PreemptiveHttpClient());
log.info("Starting client");
client.start();
log.info("My balance: " + client.getAccurateBankBalance() + " (in bank), " + client.getOnHandBalance() + " (in hand)");
log.info("Withdrawing w50");
CoinListMsg coins = client.getCoins(50);
log.info("My balance: " + client.getAccurateBankBalance() + " (in bank), " + client.getOnHandBalance() + " (in hand)");
log.info("Depositing coins");
client.putCoins(coins);
log.info("My balance: " + client.getAccurateBankBalance() + " (in bank), " + client.getOnHandBalance() + " (in hand)");
client.stop();
}
}