public class OfxBankServer implements OFXServer {
private static final Logger log =
Logger.getLogger(OfxBankServer.class.getName());
@Override
public ResponseEnvelope getResponse(RequestEnvelope requestEnvelope) {
SortedSet<ResponseMessageSet> response =
new TreeSet<ResponseMessageSet>();
BankingResponseMessageSet brms = new BankingResponseMessageSet();
List<BankStatementResponseTransaction> bsrts =
new ArrayList<BankStatementResponseTransaction>();
BankStatementResponseTransaction bsrt =
new BankStatementResponseTransaction();
bsrt.setUID("Test"); // <--
StatusCode mystatus = new StatusCode() {
@Override
public int getCode() {
return 0;
}
@Override
public Severity getDefaultSeverity() {
return Severity.INFO;
}
@Override
public String getMessage() {
return "SUCCESS";
}
@Override
public String toString() {
return "0";
}
};
status.setCode(mystatus);
// status.setSeverity(Severity.INFO);
bsrt.setStatus(status);
BankStatementResponse bsr = new BankStatementResponse();
BankAccountDetails bad = new BankAccountDetails();
bad.setBankId("WalletBank");
bad.setAccountNumber(account);
bad.setAccountType(AccountType.CHECKING);
bsr.setAccount(bad);
TransactionList trs = new TransactionList();
List<Transaction> transactions =
new ArrayList<Transaction>();
Date finish = new Date(0);
Date start = new Date(Long.MAX_VALUE);
int i = 0;
for(WalletTransaction ct : wallettransactions) {
Transaction t = new Transaction();
t.setDatePosted(ct.when);
t.setId(ct.id.toString());
t.setTransactionType(TransactionType.CASH);
t.setAmount(Double.parseDouble(ct.amount));
t.setMemo(ct.memo);
t.setPayeeId("Lidl");//ct.partner);
transactions.add(t);
if(start.after(ct.when)) {
start = ct.when;
}
if(finish.before(ct.when)) {
finish = ct.when;
}
++i;
}
trs.setStart(start);
trs.setEnd(finish);
if(i > 0){
log.warning(i+" transactions send");
trs.setTransactions(transactions);
} else {
log.warning("No transactions send");
}
bsr.setTransactionList(trs);
bsrt.setMessage(bsr);
bsrts.add(bsrt);
brms.setStatementResponses(bsrts);
response.add(brms);
ResponseEnvelope re = new ResponseEnvelope();
re.setMessageSets(response);
return re;
}
}