📄 8047664ef4b7001a1c27ace50896501e
字号:
*
*/
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 + -