public void getBitcoinAccountList() throws Exception { System.out.println("getBitcoinAccountList strts "); btcClient = (BitcoinClient) btcClientMap.get(serverID); List accountsList = btcClient.getAccountList(); for (int j = 0; j < accountsList.size(); j++) { String data[] = (String[]) accountsList.get(j); WalletData walletData = Utility.getWalletData(); if (walletData == null) { System.out.println("getBitcoinAccountList - walletData returns null"); return; } int count = (int) walletData.GetBitcoinAcctCount(); BitcoinAcct btcAcct = null; boolean acctExists = false; for (int i = 0; i < count; i++) { acctExists = false; btcAcct = walletData.GetBitcoinAcct(i); if (btcAcct != null && btcAcct.getAcct_id().equals(data[0])) { acctExists = true; break; } } if (!acctExists) { Storable storable = otapi.CreateObject(StoredObjectType.STORED_OBJ_BITCOIN_ACCT); if (storable != null) { btcAcct = BitcoinAcct.ot_dynamic_cast(storable); if (btcAcct != null) { btcAcct.setGui_label(data[0]); btcAcct.setBitcoin_acct_name(data[0]); btcAcct.setAcct_id(data[0]); btcAcct.setServer_id(serverID); boolean status = walletData.AddBitcoinAcct(btcAcct); System.out.println("status walletData.AddBitcoinAcct:" + status); status = otapi.StoreObject(walletData, "moneychanger", "gui_wallet.dat"); System.out.println("status otapi.StoreObject:" + status); } } } if (btcAcct != null) { key = btcAcct.getAcct_id(); label = btcAcct.getGui_label(); amount = data[1]; accountList.put(key, new String[] {label, amount, type, key}); } } System.out.println("getBitcoinAccountList ends "); }
private void setBTCClient(String serverID) { try { this.serverID = serverID; if (!btcClientMap.containsKey(serverID)) { // get the details from bitcoin object from datastore WalletData walletData = Utility.getWalletData(); if (walletData == null) { System.out.println("setBTCClient - walletData returns null"); return; } for (int i = 0; i < walletData.GetBitcoinServerCount(); i++) { BitcoinServer btcServer = walletData.GetBitcoinServer(i); if (btcServer == null) { continue; } System.out.println( "serverID:" + serverID + " btcServer.getServer_id():" + btcServer.getServer_id()); if (serverID.equals(btcServer.getServer_id())) { int port = 8332; try { port = Integer.parseInt(btcServer.getServer_port()); } catch (NumberFormatException nfe) { } System.out.println( "btcServer.getServer_host():" + btcServer.getServer_host() + " btcServer.getBitcoin_username():" + btcServer.getBitcoin_username() + " btcServer.getBitcoin_password():" + btcServer.getBitcoin_password() + " port:" + port); // btcClient = new BitcoinClient(Configuration.getHostBitcoin(), // Configuration.getUserBitcoin(), Configuration.getPwdBitcoin(), // Configuration.getPortBitcoin()); btcClient = new BitcoinClient( btcServer.getServer_host(), btcServer.getBitcoin_username(), btcServer.getBitcoin_password(), port); btcClientMap.put(serverID, btcClient); break; } } } } catch (Exception e) { e.printStackTrace(); return; } }
@Override public boolean editLabel(String accountID, String newLabel) { // Loop boolean status = false; WalletData walletData = Utility.getWalletData(); if (walletData == null) { System.out.println("editLabel - walletData returns null"); return false; } for (int i = 0; i < walletData.GetBitcoinAcctCount(); i++) { BitcoinAcct btcAcct = walletData.GetBitcoinAcct(i); if (btcAcct == null) continue; if (accountID.equals(btcAcct.getAcct_id())) { btcAcct.setGui_label(newLabel); status = otapi.StoreObject(walletData, "moneychanger", "gui_wallet.dat"); System.out.println("Edit label status otapi.StoreObject:" + status); break; } } return status; }
public Map getRecevingAddrBoxData(String account) { HashMap data = new HashMap(); btcClient = (BitcoinClient) btcClientMap.get(serverID); List listOfAddress = btcClient.getAddressesByAccount(account); for (int i = 0; i < listOfAddress.size(); i++) { String address = (String) listOfAddress.get(i); boolean addAddress = true; double amount = 0.0; List list = btcClient.listTransactions(account); for (int j = 0; j < list.size(); j++) { TransactionInfo info = (TransactionInfo) list.get(j); if (address != null && address.equals(info.getAddress()) && "send".equalsIgnoreCase(info.getCategory())) { addAddress = false; break; } else if (address != null && address.equals(info.getAddress()) && "receive".equalsIgnoreCase(info.getCategory())) { amount += info.getAmount(); } } if (addAddress) { String[] row = new String[3]; row[0] = btcClient.getLabel(address); row[1] = address; row[2] = String.valueOf(Utility.roundTwoDecimals(amount)); data.put(row[1], row); } } return data; }