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

📄 8047664ef4b7001a1c27ace50896501e

📁 这是一个用java和xml编写的流媒体服务器管理软件
💻
📖 第 1 页 / 共 3 页
字号:
   * 
   */
  public GroupData getNewGroupData()
  {
    System.out.println("calling getNewGroupData");

    DefaultMutableTreeNode thisNode = 
      (DefaultMutableTreeNode) getLastSelectedPathComponent();
    int type = getSelectedNodeType();

    return new DataFragment(FEATURE_GROUP, this, thisNode);
  }

  

  

  public DvrAccreditData getDvrData()
  {
    return dataManager;
  }
  
  public DvrAccreditData getNewDvrData()
  {	  
	  //return null;
	
    DefaultMutableTreeNode thisNode = 
      (DefaultMutableTreeNode) getLastSelectedPathComponent();    
    return new AccDataFragment(DVR, this, thisNode);
   
  }
  
  public EnvData getEnvData()
  {
    return dataManager;
  }

  /**
   * 
   */
  public EnvData getNewEnvData()
  {
    DefaultMutableTreeNode thisNode = 
      (DefaultMutableTreeNode) getLastSelectedPathComponent();

    return new DataFragment(ENV, this, thisNode);
  }
  /**
   * 
   */
  public OSPData getOSPData()
  {
    return dataManager;
  }

  /**
   * 
   */
  public GlobalData getGlobalData()
  {
    return dataManager;
  }

  /**
   * 
   */
  public DialPlanData getDialPlanData()
  {
    return dataManager;
  }

  /**
   * 
   */
  public DialPlanData getNewDialPlanData()
  {
    return dataManager;
  }

  /**
   * 
   */
  public CdrData getCdrData()
  {
    return dataManager;
  }
  

  /**
   * 
   */
  public CdrData getNewCdrData()
  {
    DefaultMutableTreeNode thisNode = 
      (DefaultMutableTreeNode) getLastSelectedPathComponent();

    return new DataFragment(CDR_SERVER, this, thisNode);
  }
  
   
  /**
   * 
   */
  public HeartbeatData getHeartbeatData()
  {
    return dataManager;
  }

  /**
   * 
   */
  public HeartbeatData getNewHeartbeatData()
  {
    DefaultMutableTreeNode thisNode = 
      (DefaultMutableTreeNode) getLastSelectedPathComponent();

    return new DataFragment(HEARTBEAT_SERVER, this, thisNode);
  }

  // 
  // Classes
  // 

  /**
   * DOM tree model.
   */
  static class Model extends DefaultTreeModel implements Serializable
  {

    // 
    // Data
    // 

    /**
     * Document.
     */
    private Document treeDOM;

    /**
     * Node Map.
     */
    private Hashtable nodeMap = new Hashtable();

    /**
     * tree nodes to be expanded at initialization
     */
    Vector treeNodesToExpand = new Vector();

    // 
    // Constructors
    // 

    /**
     * Default constructor.
     */
    public Model()
    {
      super(new DefaultMutableTreeNode(new AccUserObject(UNKNOWN, "")));

      System.out.println("Building DOM tree");

      // create document
      try
      {
        this.treeDOM = DvrFileToDOM.readFiles();
      }
      catch (Exception e)
      {
        e.printStackTrace();
      }

      // clear tree and re-populate
      ((DefaultMutableTreeNode) getRoot()).removeAllChildren();
      nodeMap.clear();
      buildTree();
      fireTreeStructureChanged(this, new Object[]
      {
        getRoot()
      }, new int[0], new Object[0]);

    }

    // 
    // Public methods
    // 

    /**
     * rebuilds the tree after the DOM has been modified
     */
    public synchronized DefaultMutableTreeNode rebuildTree(DefaultMutableTreeNode currentNode)
    {

      // clear branch and re-populate
      Node domNode = getNode(currentNode);
      DefaultMutableTreeNode parent = 
        (DefaultMutableTreeNode) (currentNode.getParent());

      parent.remove(currentNode);

      DefaultMutableTreeNode newNode = 
        (DefaultMutableTreeNode) (insertElementNode(domNode, parent));

      nodeStructureChanged(parent);

      return newNode;
    }

    /**
     * 
     */
    public Vector getTreeNodesToExpand()
    {
      return treeNodesToExpand;
    }

    /**
     * Returns the document.
     */
    public Document getTreeDOM()
    {
      return treeDOM;
    }

    /**
     * get the org.w3c.Node for a MutableTreeNode.
     */
    public Node getNode(Object treeNode)
    {
      return (Node) nodeMap.get(treeNode);
    }

    /**
     * replace an entry in nodeMap
     */
    public void replaceNodeInMap(Object key, Object replacement)
    {
      nodeMap.put(key, replacement);
    }

    /**
     * remove the org.w3c.Node from the nodeMap
     * and remove the associated TreeNode from the tree.
     * @return the parent of the node removed.
     */
    public DefaultMutableTreeNode deleteNode(DefaultMutableTreeNode treeNode)
    {
      DefaultMutableTreeNode treeParent = 
        (DefaultMutableTreeNode) treeNode.getParent();
      Enumeration childrenEnum = treeNode.children();
      DefaultMutableTreeNode child = null;

      while (childrenEnum.hasMoreElements())
      {
        child = (DefaultMutableTreeNode) childrenEnum.nextElement();

        deleteNode(child);
      }

      Object removedObject = nodeMap.remove(treeNode);

      System.out.println("removing " + removedObject.toString() 
                         + " from tree");

      if (removedObject instanceof Node)
      {

        // the nodemap also holds strings and possibly other things
        Node removedNode = (Node) removedObject;
        Node nodeParent = removedNode.getParentNode();

        if (nodeParent != null)
        {
          nodeParent.removeChild(removedNode);
        }
      }

      treeParent.remove(treeNode);
      nodeStructureChanged(treeNode);

      return treeParent;
    }

    /**
     * For all children of this node,
     * remove the org.w3c.Node from the nodeMap
     * and remove the associated TreeNode from the tree.
     */
    public void deleteChildrenOfNode(DefaultMutableTreeNode treeNode)
    {
      while (treeNode.getChildCount() > 0)
      {
        DefaultMutableTreeNode child = 
          (DefaultMutableTreeNode) treeNode.getFirstChild();

        deleteNode(child);
      }
    }

    // 
    // Private methods
    // 

    /**
     * Builds the tree.
     * Modified original to include a NodeFilter
     */

    private void buildTree()
    {


      // is there anything to do?
      if (treeDOM == null)
      {
        return;
      }

      // iterate over children of this node
      NodeList nodes = treeDOM.getChildNodes();
      int len = (nodes != null) ? nodes.getLength() : 0;
      MutableTreeNode root = (MutableTreeNode) getRoot();

      for (int i = 0; i < len; i++)
      {
        Node node = nodes.item(i);          
        switch (node.getNodeType())
        {

          case Node.DOCUMENT_NODE:
          {
            root = insertDocumentNode(node, root);

            break;
          }

          case Node.ELEMENT_NODE:
          {
            insertElementNode(node, root);

            break;
          }

          default:      // ignore

        }               // switch

      }                 // for

    }                   // buildTree()

    /**
     * Inserts a node and returns a reference to the new node.
     */
    private MutableTreeNode insertNode(String what, MutableTreeNode where)
    {
      return insertNode(what, where, UNKNOWN);
    }

    /**
     * Inserts a typed node and returns a reference to the new node.
     */
    private MutableTreeNode insertNode(String what, MutableTreeNode where, 
            int type)
    {

      MutableTreeNode node = new DefaultMutableTreeNode(new AccUserObject(type, 
              what));

      insertNodeInto(node, where, where.getChildCount());

      return node;

    }   // insertNode(Node,MutableTreeNode):MutableTreeNode


    /**
     * Inserts the document node.
     */
    private MutableTreeNode insertDocumentNode(Node what, 
            MutableTreeNode where)
    {
      MutableTreeNode treeNode = insertNode("<" + what.getNodeName() + '>', 
              where);

      nodeMap.put(treeNode, what);

      return treeNode;
    }

    /**
     * Inserts a document fragment.
     * Note that this only works for a fragment with a single
     * child. Returns the single child.
     */
    private DefaultMutableTreeNode insertFragmentNode(DocumentFragment what, 
            MutableTreeNode where)
    {

      Node parent = getNode(where);

      parent.appendChild(what);

      Node child = parent.getLastChild();
      DefaultMutableTreeNode treeNode = 
        (DefaultMutableTreeNode) (insertElementNode(child, where));

      return treeNode;
    }

    /**
     * The public version of insertElementNode
     */
    public void addElementToParent(Node what, MutableTreeNode where)
    {
      insertElementNode(what, where);
      nodeStructureChanged(where);
    }

    /**
     * Inserts an element node.
     * 插入一个节点
     */
    private MutableTreeNode insertElementNode(Node what, 
            MutableTreeNode where)
    {
      NodeFilter elementFilter = new NodeFilter()
      {

        /**
         * 
         */
        public short acceptNode(Node node)
        {
          String nodeName = node.getNodeName();
          System.out.println(".......................................................................");
          //System.out.println(nodeName.toString());
          //当节点为以下的值时,把它们过滤掉不显示
          if ((nodeName.equals("group")) || (nodeName.equals("type")) 
              || (nodeName.equals("expiryTimer")) 
              || (nodeName.equals("multicastHost")) 
              || (nodeName.equals("maxMissedHeartbeats")) 
              || (nodeName.equals("heartbeatInterval")) 
              || (nodeName.equals("proxyAuthKey")) 
              || (nodeName.equals("redirectReasonInSIP")) 
              || (nodeName.equals("startRange")) 
              || (nodeName.equals("endRange")) 
              || (nodeName.equals("servicePoints")) 
              || (nodeName.equals("localValidation")) 
              || (nodeName.equals("sslLifetime")) 
              || (nodeName.equals("http")) 
              || (nodeName.equals("ospExtension")) 
              || (nodeName.equals("customerID")) 
              || (nodeName.equals("deviceID")) 
              || (nodeName.equals("auditURL")) 
              || (nodeName.equals("uaVMServers")) 
              || (nodeName.equals("gateway")) 
              || (nodeName.equals("noResponseTimer")) 

⌨️ 快捷键说明

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