Search in sources :

Example 1 with OtherTabAccountModel

use of com.moneychanger.ui.model.OtherTabAccountModel in project otapij by FellowTraveler.

the class MainPage method initOtherTab.

private void initOtherTab() {
    try {
        jPanel27.setLayout(new CardLayout());
        jPanel28.setLayout(new CardLayout());
        System.out.println("in initOtherTab");
        //load servers here
        loadOtherTabServers();
        jTable4.getSelectionModel().addListSelectionListener(new ListSelectionListener() {

            public void valueChanged(ListSelectionEvent e) {
                if (e.getValueIsAdjusting()) {
                    return;
                }
                System.out.println("selectedRow:" + jTable4.getSelectedRow());
                if (jTable4.getSelectedRow() >= 0) {
                    String serverID = (String) jTable4.getModel().getValueAt(jTable4.getSelectedRow(), 2);
                    String type = (String) jTable4.getModel().getValueAt(jTable4.getSelectedRow(), 1);
                    System.out.println("selected serverID:" + serverID + " type:" + type);
                    if ("BitcoinAccount".equals(type)) {
                        Account account = null;
                        setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
                        try {
                            try {
                                account = (Account) (Class.forName("com.moneychanger.core." + type)).newInstance();
                                account.setServerID(serverID);
                            } catch (InstantiationException ex) {
                                Logger.getLogger(MainPage.class.getName()).log(Level.SEVERE, null, ex);
                            } catch (IllegalAccessException ex) {
                                Logger.getLogger(MainPage.class.getName()).log(Level.SEVERE, null, ex);
                            }
                        } catch (ClassNotFoundException ex) {
                            Logger.getLogger(MainPage.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        /*if (type.contains("Bitcoin")) {
                            account = new BitcoinAccount(serverID);
                            }*/
                        try {
                            account.loadAccount("", serverID, "");
                            ((OtherTabAccountModel) jTable3.getModel()).setValue(account.getAccountList(), jTable3);
                        } catch (Exception ex) {
                            System.out.println("In BTC load exception:" + ex);
                            JOptionPane.showMessageDialog(null, "Cannot connect to bitcoin service - Connection refused", "Connection Error", JOptionPane.ERROR_MESSAGE);
                        //jTable4.setRowSelectionInterval(WIDTH, WIDTH);
                        } finally {
                            setCursor(Cursor.getDefaultCursor());
                        }
                    } else if ("RippleAccount".equalsIgnoreCase(type)) {
                        CardLayout topLayout = (CardLayout) (jPanel27.getLayout());
                        CardLayout bottomlayout = (CardLayout) (jPanel28.getLayout());
                        topLayout.show(jPanel27, "BlankTop");
                        bottomlayout.show(jPanel28, "BlankBottom");
                        ((OtherTabAccountModel) jTable3.getModel()).clearValue();
                        String[] details = new RippleAccount().loadServerDetails(serverID);
                        if (details != null) {
                            RippleAccountTopPanel.openBrowser(details[0], details[1], details[2], details[3], details[4]);
                        }
                    }
                }
            }
        });
        //((OtherTabServerTableModel) jTable4.getModel()).setValue(new NYM().loadNYM(), jTable4);
        jTable3.getSelectionModel().addListSelectionListener(new ListSelectionListener() {

            public void valueChanged(ListSelectionEvent e) {
                if (e.getValueIsAdjusting()) {
                    return;
                }
                System.out.println("valueChanged Action Listener :" + jTable3.getSelectedRow() + "e:" + e.getSource());
                if (jTable3.getSelectedRow() >= 0) {
                    try {
                        jPanel27.setVisible(true);
                        jPanel28.setVisible(true);
                        CardLayout topLayout = (CardLayout) (jPanel27.getLayout());
                        CardLayout bottomlayout = (CardLayout) (jPanel28.getLayout());
                        String type = null;
                        String accountID = null;
                        type = (String) jTable3.getModel().getValueAt(jTable3.getSelectedRow(), 2);
                        accountID = (String) jTable3.getModel().getValueAt(jTable3.getSelectedRow(), 3);
                        System.out.println("Type:" + type);
                        setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
                        for (int i = 0; i < Account.allAccounts.length; i++) {
                            if (Account.allAccounts[i].equalsIgnoreCase(type)) {
                                try {
                                    topLayout.show(jPanel27, type + "TopPanel");
                                    bottomlayout.show(jPanel28, type + "BottomPanel");
                                    Class obj = Class.forName("com.moneychanger.core." + type);
                                    Account account = (Account) obj.newInstance();
                                    account.setServerID((String) jTable4.getModel().getValueAt(jTable4.getSelectedRow(), 2));
                                    Object details = account.getAccountDetails(accountID);
                                    if (details == null) {
                                        JOptionPane.showMessageDialog(null, "Error loading details", "Details Error", JOptionPane.ERROR_MESSAGE);
                                        break;
                                    }
                                    if ("BitcoinAccount".equalsIgnoreCase(type)) {
                                        BitcoinDetails btcDetails = (BitcoinDetails) details;
                                        populateBitcoinDetails(btcDetails);
                                    }
                                //}
                                } catch (InstantiationException ex) {
                                    Logger.getLogger(MainPage.class.getName()).log(Level.SEVERE, null, ex);
                                } catch (IllegalAccessException ex) {
                                    Logger.getLogger(MainPage.class.getName()).log(Level.SEVERE, null, ex);
                                } catch (ClassNotFoundException ex) {
                                    Logger.getLogger(MainPage.class.getName()).log(Level.SEVERE, null, ex);
                                }
                                repaint();
                            }
                        }
                    } catch (Exception ex) {
                        ex.printStackTrace();
                    } finally {
                        setCursor(Cursor.getDefaultCursor());
                    }
                }
            }
        });
        jPanel27.add(new BlankPanel(), "BlankTop");
        jPanel28.add(new BlankPanel(), "BlankBottom");
        for (int i = 0; i < Account.allAccounts.length; i++) {
            try {
                System.out.println("in initOtherTabloop");
                if (!"OpenTransactionAccount".equals(Account.allAccounts[i]) && !"CashPurseAccount".equals(Account.allAccounts[i])) {
                    System.out.println("initOtherTabloop --- Account.allAccounts[i]:" + Account.allAccounts[i]);
                    Class obj1 = Class.forName("com.moneychanger.ui.panels." + Account.allAccounts[i] + "TopPanel");
                    JPanel topPanel = (JPanel) obj1.newInstance();
                    jPanel27.add(topPanel, Account.allAccounts[i] + "TopPanel");
                    Class obj2 = Class.forName("com.moneychanger.ui.panels." + Account.allAccounts[i] + "BottomPanel");
                    JPanel bottomPanel = (JPanel) obj2.newInstance();
                    // Setting the account account to retrieve in bottom panel
                    jPanel28.add(bottomPanel, Account.allAccounts[i] + "BottomPanel");
                }
            } catch (InstantiationException ex) {
            //Logger.getLogger(MainPage.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex) {
            ///Logger.getLogger(MainPage.class.getName()).log(Level.SEVERE, null, ex);
            } catch (ClassNotFoundException ex) {
            //Logger.getLogger(MainPage.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        // TODO might need to uncomment
        //loadOtherTabAccount("");
        OtherTabAccountModel.removeCols(jTable3);
        OtherTabServerTableModel.removeCols(jTable4);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
Also used : CardLayout(java.awt.CardLayout) OpenTransactionAccount(com.moneychanger.core.OpenTransactionAccount) RippleAccount(com.moneychanger.core.RippleAccount) Account(com.moneychanger.core.Account) JPanel(javax.swing.JPanel) ListSelectionEvent(javax.swing.event.ListSelectionEvent) BlankPanel(com.moneychanger.ui.panels.BlankPanel) OtherTabAccountModel(com.moneychanger.ui.model.OtherTabAccountModel) AWTException(java.awt.AWTException) Point(java.awt.Point) ListSelectionListener(javax.swing.event.ListSelectionListener) ComboObject(com.moneychanger.core.util.ComboObject) RippleAccount(com.moneychanger.core.RippleAccount) BitcoinDetails(com.moneychanger.core.dataobjects.BitcoinDetails)

Example 2 with OtherTabAccountModel

use of com.moneychanger.ui.model.OtherTabAccountModel in project otapij by FellowTraveler.

the class MainPage method loadOtherTabAccount.

public static void loadOtherTabAccount(String serverID) {
    Account account = null;
    for (int i = 0; i < Account.allAccounts.length; i++) {
        try {
            if (!"OpenTransactionAccount".equals(Account.allAccounts[i]) && !"CashPurseAccount".equals(Account.allAccounts[i])) {
                Class obj = Class.forName("com.moneychanger.core." + Account.allAccounts[i]);
                account = (Account) obj.newInstance();
                if (i == 0) {
                    account.clearAccountList();
                }
                account.loadAccount("", serverID, "");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    ((OtherTabAccountModel) jTable3.getModel()).setValue(account.getAccountList(), jTable3);
}
Also used : OpenTransactionAccount(com.moneychanger.core.OpenTransactionAccount) RippleAccount(com.moneychanger.core.RippleAccount) Account(com.moneychanger.core.Account) OtherTabAccountModel(com.moneychanger.ui.model.OtherTabAccountModel) Point(java.awt.Point) AWTException(java.awt.AWTException)

Example 3 with OtherTabAccountModel

use of com.moneychanger.ui.model.OtherTabAccountModel in project otapij by FellowTraveler.

the class MainPage method jButton21ActionPerformed.

//GEN-LAST:event_jButton20ActionPerformed
private void jButton21ActionPerformed(java.awt.event.ActionEvent evt) {
    //GEN-FIRST:event_jButton21ActionPerformed
    try {
        if (jTable4.getSelectedRow() < 0) {
            JOptionPane.showMessageDialog(this, "Please select server to delete", "Error", JOptionPane.ERROR_MESSAGE);
            return;
        }
        int userSelection = JOptionPane.showConfirmDialog(this, "Deleting server will remove all accounts associated with server.\nAre you sure you want to delete server", "Warning", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
        System.out.println("userSelection:" + userSelection);
        if (userSelection == 0) {
            boolean status = StorageHelper.removeOtherTabServer((String) jTable4.getModel().getValueAt(jTable4.getSelectedRow(), 2), (String) jTable4.getModel().getValueAt(jTable4.getSelectedRow(), 1));
            if (status) {
                JOptionPane.showMessageDialog(null, "Server deleted successfully", "Server Delete Success", JOptionPane.INFORMATION_MESSAGE);
                loadOtherTabServers();
                ((OtherTabAccountModel) jTable3.getModel()).clearValue();
                CardLayout topLayout = (CardLayout) (jPanel27.getLayout());
                CardLayout bottomlayout = (CardLayout) (jPanel28.getLayout());
                topLayout.show(jPanel27, "BlankTop");
                bottomlayout.show(jPanel28, "BlankBottom");
            } else {
                JOptionPane.showMessageDialog(null, "Server could not be deleted because of storage failure", "Error", JOptionPane.ERROR_MESSAGE);
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}
Also used : CardLayout(java.awt.CardLayout) OtherTabAccountModel(com.moneychanger.ui.model.OtherTabAccountModel) Point(java.awt.Point) AWTException(java.awt.AWTException)

Aggregations

OtherTabAccountModel (com.moneychanger.ui.model.OtherTabAccountModel)3 AWTException (java.awt.AWTException)3 Point (java.awt.Point)3 Account (com.moneychanger.core.Account)2 OpenTransactionAccount (com.moneychanger.core.OpenTransactionAccount)2 RippleAccount (com.moneychanger.core.RippleAccount)2 CardLayout (java.awt.CardLayout)2 BitcoinDetails (com.moneychanger.core.dataobjects.BitcoinDetails)1 ComboObject (com.moneychanger.core.util.ComboObject)1 BlankPanel (com.moneychanger.ui.panels.BlankPanel)1 JPanel (javax.swing.JPanel)1 ListSelectionEvent (javax.swing.event.ListSelectionEvent)1 ListSelectionListener (javax.swing.event.ListSelectionListener)1