⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 admintool.java

📁 一个类似于openJMS分布在ObjectWeb之下的JMS消息中间件。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        ((CardLayout) editPanel.getLayout()).show(editPanel, "destination");      } else if (selection instanceof DestinationRootTreeNode) {        if (selection.getChildCount() == 0) {          // Means that the destinations may not have been initialized          DestinationRootTreeNode drtn = (DestinationRootTreeNode)selection;          ServerTreeNode stn = drtn.getParentServerTreeNode();          c.updateDestinations(stn.getServerId(),                               stn.getDestinationRoot());        }      } else if (selection instanceof UserRootTreeNode) {        if (selection.getChildCount() == 0) {          // Means that the users may not have been initialized          UserRootTreeNode urtn = (UserRootTreeNode)selection;          ServerTreeNode stn = urtn.getParentServerTreeNode();          c.updateUsers(stn.getServerId(),                        stn.getUserRoot());        }      } else if (selection instanceof SubscriptionRootTreeNode) {        if (selection.getChildCount() == 0) {          // Means that the subscriptions may not have been initialized          SubscriptionRootTreeNode subRootTn = (SubscriptionRootTreeNode)selection;          UserTreeNode userTn = (UserTreeNode)subRootTn.getParent();          updateSubscriptions(userTn.getUser(),                              subRootTn);        }      } else if (selection instanceof SubscriptionTreeNode) {        SubscriptionTreeNode subTn = (SubscriptionTreeNode) selection;        SubscriptionRootTreeNode subRootTn =           (SubscriptionRootTreeNode)subTn.getParent();        UserTreeNode userTn = (UserTreeNode)subRootTn.getParent();        ServerTreeNode serverTn = userTn.getParentServerTreeNode();        // subscriptionPanel.setSubscription(subtn.getSubscription());//         subscriptionPanel.setServerId(serverTn.getServerId());//         subscriptionPanel.setUserName(userTn.getUserName());//         subscriptionPanel.loadMessageIds();//         ((CardLayout) editPanel.getLayout()).show(editPanel, "subscription");        if (subTn.getChildCount() == 0) {          String[] ids = userTn.getUser().getMessageIds(            subTn.getSubscription().getName());          for (int i = 0; i < ids.length; i++) {            MessageTreeNode msgNode = new MessageTreeNode(              c, ids[i]);            c.getAdminTreeModel().insertNodeInto(              msgNode,               subTn,              subTn.getChildCount());          }        }      } else if (selection instanceof MessageTreeNode) {        Message msg;        MessageTreeNode msgTn = (MessageTreeNode)selection;        DefaultMutableTreeNode parentTn =           (DefaultMutableTreeNode)msgTn.getParent();        if (parentTn instanceof SubscriptionTreeNode) {          SubscriptionTreeNode subTn =             (SubscriptionTreeNode)parentTn;          SubscriptionRootTreeNode subRootTn =             (SubscriptionRootTreeNode)subTn.getParent();          UserTreeNode userTn = (UserTreeNode)subRootTn.getParent();          ServerTreeNode serverTn = userTn.getParentServerTreeNode();          msg = userTn.getUser().readMessage(            subTn.getSubscription().getName(),             msgTn.getMessageId());        } else {          MessageRootTreeNode msgRootTn =             (MessageRootTreeNode)parentTn;          QueueTreeNode queueTn =             (QueueTreeNode)msgRootTn.getParent();          msg = queueTn.getQueue().readMessage(            msgTn.getMessageId());        }        messagePanel.setMessage(msg);        ((CardLayout) editPanel.getLayout()).show(editPanel, "message");      } else if (selection instanceof SubscriberRootTreeNode) {        SubscriberRootTreeNode subRootTn =           (SubscriberRootTreeNode)selection;        if (subRootTn.getChildCount() == 0) {          TopicTreeNode topicTn = (TopicTreeNode)subRootTn.getParent();          String[] subscriberIds =             topicTn.getTopic().getSubscriberIds();          for (int i = 0; i < subscriberIds.length; i++) {            SubscriberTreeNode subTn = new SubscriberTreeNode(              subscriberIds[i]);            c.getAdminTreeModel().insertNodeInto(              subTn,              subRootTn,              subRootTn.getChildCount());          }        }      } else if (selection instanceof MessageRootTreeNode) {        MessageRootTreeNode msgRootTn =           (MessageRootTreeNode)selection;        if (msgRootTn.getChildCount() == 0) {          QueueTreeNode queueTn =             (QueueTreeNode)msgRootTn.getParent();          String[] msgIds = queueTn.getQueue().getMessageIds();          for (int i = 0; i < msgIds.length; i++) {            MessageTreeNode msgTn = new MessageTreeNode(              c, msgIds[i]);            c.getAdminTreeModel().insertNodeInto(              msgTn,              msgRootTn,              msgRootTn.getChildCount());          }        }      }    } catch (Exception exc) {      if (Log.logger.isLoggable(BasicLevel.DEBUG))        Log.logger.log(BasicLevel.DEBUG, "", exc);      displayError(exc.getMessage());    }  }  private class JndiConnectAction extends AbstractAction  {    public JndiConnectAction()      {        super("Connect...");        putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_J, KeyEvent.ALT_DOWN_MASK));      }    public void actionPerformed(ActionEvent e)      {        ConnectJndiDialog dialog;        try          {   	    dialog = ConnectJndiDialog.showDialog();          }        catch (Exception exc) {          JOptionPane.showMessageDialog(AdminTool.this, exc.getMessage());          return;        }                             if (dialog.getActionCancelled())          return;        try          {            c.connectJndi(dialog.getJndiHost(), dialog.getJndiPort(), dialog.getNamedContext());            jndiConnectAction.setEnabled(false);            jndiDisconnectAction.setEnabled(true);            jndiRefreshAction.setEnabled(true);            if (c.isAdminConnected())              jndiCreateFactoryAction.setEnabled(true);          }        catch (Exception x) {          JOptionPane.showMessageDialog(AdminTool.this, x.getMessage());        }      }  }  private class JndiDisconnectAction extends AbstractAction  {    public JndiDisconnectAction()      {        super("Disconnect");      }    public void actionPerformed(ActionEvent e)      {        try          {            c.disconnectJndi();          }        catch (Exception x) {          JOptionPane.showMessageDialog(AdminTool.this, x.getMessage());        }        finally {          jndiDisconnectAction.setEnabled(false);          jndiConnectAction.setEnabled(true);          jndiRefreshAction.setEnabled(false);          jndiCreateFactoryAction.setEnabled(false);          if (tabbedPane.getSelectedIndex() == 0) {            msgPane.setText("");            ((CardLayout) editPanel.getLayout()).show(editPanel, "html");          }        }      }  }  private class JndiRefreshAction extends AbstractAction  {    public JndiRefreshAction()      {        super("Refresh", AdminToolConstants.refreshIcon);      }    public void actionPerformed(ActionEvent e)      {        try          {            c.refreshJndiData();          }        catch (Exception x) {          JOptionPane.showMessageDialog(AdminTool.this, x.getMessage());        }      }  }  private class JndiCreateFactoryAction extends AbstractAction  {    public JndiCreateFactoryAction()      {        super("Create Connection Factory...");      }    public void actionPerformed(ActionEvent e)      {        try          {            CreateFactoryDialog dialog = CreateFactoryDialog.showDialog();            if (!dialog.getActionCancelled())              c.createConnectionFactory(dialog.getHost(), dialog.getPort(), dialog.getFactoryName(),                                        dialog.getFactoryType());          }        catch (Exception x) {          JOptionPane.showMessageDialog(AdminTool.this, x.getMessage());        }      }  }  private class AdminConnectAction extends AbstractAction  {    public AdminConnectAction()      {        super("Connect...");        putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_A, KeyEvent.ALT_DOWN_MASK));      }    public void actionPerformed(ActionEvent e)      {        ConnectAdminDialog dialog;        try	  {            dialog = ConnectAdminDialog.showDialog();	  }        catch (Exception exc) {          JOptionPane.showMessageDialog(AdminTool.this, exc.getMessage());          return;        }                           if (dialog.getActionCancelled())          return;        try	  {            c.connectAdmin(dialog.getAdminHost(), dialog.getAdminPort(),                           dialog.getAdminUser(), dialog.getAdminPassword());            adminConnectAction.setEnabled(false);            adminDisconnectAction.setEnabled(true);            adminRefreshAction.setEnabled(true);            if (c.isJndiConnected())              jndiCreateFactoryAction.setEnabled(true);	  }        catch (Exception x) {          if (Log.logger.isLoggable(BasicLevel.DEBUG))            Log.logger.log(              BasicLevel.DEBUG, "", x);          JOptionPane.showMessageDialog(AdminTool.this, x.getMessage());        }      }  }  private class AdminDisconnectAction extends AbstractAction  {    public AdminDisconnectAction()      {        super("Disconnect");      }    public void actionPerformed(ActionEvent e)      {        try	  {            c.disconnectAdmin();	  }        catch (Exception x) {          JOptionPane.showMessageDialog(AdminTool.this, x.getMessage());        }        finally {          adminDisconnectAction.setEnabled(false);          adminConnectAction.setEnabled(true);          adminRefreshAction.setEnabled(false);          jndiCreateFactoryAction.setEnabled(false);          if (tabbedPane.getSelectedIndex() == 0) {            msgPane.setText("");            ((CardLayout) editPanel.getLayout()).show(editPanel, "html");          }        }      }  }  private class AdminRefreshAction extends AbstractAction  {    public AdminRefreshAction()      {        super("Refresh", AdminToolConstants.refreshIcon);      }    public void actionPerformed(ActionEvent e)      {        AdminTool.invokeLater(new CommandWorker() {            public void run() throws Exception {              c.refreshAdminData();            }          });      }  }  private class ExitAction extends AbstractAction  {    public ExitAction() { super("Exit"); }        public void actionPerformed(ActionEvent e)      {        System.exit(0);      }  }  private class ConfigTreeCellRenderer extends DefaultTreeCellRenderer  {    public ConfigTreeCellRenderer() {      super();      setClosedIcon(AdminToolConstants.collapsedIcon);      setOpenIcon(AdminToolConstants.expandedIcon);    }    public Component getTreeCellRendererComponent(      JTree tree,      Object value,      boolean sel,      boolean expanded,      boolean leaf,      int row,      boolean hasFocus)      {        super.getTreeCellRendererComponent(          tree, value, sel,          expanded, leaf, row,          hasFocus);        ImageIcon icon = null;        if (value instanceof AdminTreeNode) {          icon = ((AdminTreeNode) value).getImageIcon();          setText(value.toString());        }        else if (value == c.getAdminTreeModel().getRoot())          icon = AdminToolConstants.homeIcon;        if (icon != null)          setIcon(icon);        return this;      }  }  private class PopupListener extends MouseAdapter {    public void mousePressed(MouseEvent e) {      maybeShowPopup(e);    }    public void mouseReleased(MouseEvent e) {      maybeShowPopup(e);    }    private void maybeShowPopup(MouseEvent e) {      if (e.isPopupTrigger()) {        TreePath tp;        if (tabbedPane.getSelectedIndex() == 0) {          tp = configTree.getPathForLocation(            e.getPoint().x, e.getPoint().y);        } else {          tp = jndiTree.getPathForLocation(            e.getPoint().x, e.getPoint().y);        }        if (tp != null) {          Object o = tp.getLastPathComponent();          if (o instanceof AdminTreeNode) {            JPopupMenu popup = ((AdminTreeNode) o).getContextMenu();            if (popup != null) {              popup.show(e.getComponent(), e.getX(), e.getY());            }          }        }      }    }  }  public static AdminTool getInstance()    {      if (adminTool == null) {        AdminController c = new AdminController();        adminTool = new AdminTool(c);        c.setControllerEventListener(adminTool);        adminTool.addWindowListener(new WindowAdapter() {            public void windowClosing(WindowEvent e) { System.exit(0); }          });      }      return adminTool;    }  /**   * Start the admin tool by creating the controller and the main window.   */  public static void main(String[] args)    {      AdminTool frame = getInstance();      frame.setSize(AdminToolConstants.STARTUP_SIZE);      frame.setVisible(true);      frame.splitter.setDividerLocation(AdminToolConstants.DIVIDER_PROPORTION);      frame.repaint();    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -