package my.pack.test;
import java.io.IOException;
import my.pack.util.AccountConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.betfair.aping.ApiNGJsonRpcDemo;
import com.betfair.aping.exceptions.APINGException;
import com.betfair.aping.util.HttpClientSSO;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
public class TestClass {
private static final String SESSION_TOKEN = "sessionToken";
private static final Logger log = LoggerFactory.getLogger(TestClass.class);
private static final ObjectMapper om = new ObjectMapper();
public static void main(String[] args) throws JsonProcessingException, IOException, APINGException {
String sessionToken = getSessionToken();
final String applicationKey = AccountConstants.APP_KEY;
ApiNGJsonRpcDemo jsonRpcDemo = new ApiNGJsonRpcDemo();
jsonRpcDemo.start(applicationKey, sessionToken);
}
// TODO: how to process wrong session token - exception or errorCode
private static String getSessionToken() {
JsonNode jsonNode = null;
String sessionToken = null;
try {
String sessionResponse = null;
if ((sessionResponse = HttpClientSSO.getSessionTokenResponse()) != null) {
jsonNode = om.readTree(sessionResponse);
sessionToken = jsonNode.get(SESSION_TOKEN).toString();
log.info("Session token: {}", sessionToken);
} else {
log.error("Getting null session token from BetFair");
}
} catch (IOException e) {
log.error("Exception while processing session token: {}", e);
}
return sessionToken;
}
}