📄 dynamicenv.java
字号:
package org.osu.ogsa.stream.util;import javax.swing.tree.DefaultMutableTreeNode;import java.util.Hashtable;import java.util.Vector;import java.util.Enumeration;import org.osu.ogsa.stream.util.Visit;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;public class DynamicEnv{ public String name; public int dist; /* 1/distance from the start node */ public int real_dist; public int prev; /* previous node of the shortest path */ public int succ,pred; /* node in Sbar with finite dist. */ public boolean bVisited; public Hashtable hashTreenode;// public Hashtable hashInstanceIndex;// public int [] table; public String strPlacement[];// public Vector vecStages; public Visit visitArray[]; public int numVisits; private static Log log = LogFactory.getLog(DynamicEnv.class.getName()); public DynamicEnv() { hashTreenode = new Hashtable();// hashInstanceIndex = new Hashtable(); } public synchronized InstanceIndex [] getInstanceIndex(DefaultMutableTreeNode treenode) { if(treenode == null) return null; InstanceIndex [] iiArray = new InstanceIndex[100]; InstanceIndex ii; int i = 0; for(Enumeration e = hashTreenode.keys();e.hasMoreElements();) { ii = (InstanceIndex)e.nextElement(); if(treenode.equals(hashTreenode.get(ii))) { iiArray[i] = ii; i++; } } if(i == 0) return null; InstanceIndex [] iiArray2 = new InstanceIndex[i]; for(int j = 0; j < i ; j++) { iiArray2[j] = iiArray[j]; } return iiArray2; } public synchronized InstanceIndex getInstanceIndex(DefaultMutableTreeNode treenode, int nstage) { if(treenode == null) return null; InstanceIndex ii; for(Enumeration e = hashTreenode.keys();e.hasMoreElements();) { ii = (InstanceIndex)e.nextElement(); log.debug("treenode: " + treenode +" 's nstage is " + ii.nstage); if(ii.nstage == nstage && treenode.equals(hashTreenode.get(ii))) return ii; } return null; } public synchronized DefaultMutableTreeNode getTreeNode(int nstage, int nplacement) { InstanceIndex instance = new InstanceIndex(nstage, nplacement); return (DefaultMutableTreeNode)hashTreenode.get(instance); } public synchronized void put(InstanceIndex ii, DefaultMutableTreeNode treenode) { if(treenode == null|| ii == null) return; hashTreenode.put(ii, treenode); } public synchronized void put(DefaultMutableTreeNode treenode, int nstage, int nplacement) { if(treenode == null) return; InstanceIndex instance = new InstanceIndex(nstage, nplacement); hashTreenode.put(instance, treenode);// hashInstanceIndex.put(treenode, instance); }/* public void remove(DefaultMutableTreeNode treenode) { if(treenode == null) return; InstanceIndex instance = (InstanceIndex)hashInstanceIndex.remove(treenode); if(instance != null) hashTreenode.remove(instance); } */ public synchronized void replace(DefaultMutableTreeNode exist, DefaultMutableTreeNode replacement) { if(exist == null || replacement == null) return; InstanceIndex [] iis = getInstanceIndex(exist); if(iis == null) return; int length = iis.length; for(int i = 0; i < length ; i ++) put(iis[i], replacement); } public synchronized void remove(int nstage, int nplacement) { log.debug(nstage + ":" + nplacement); DefaultMutableTreeNode treenode = (DefaultMutableTreeNode)hashTreenode.remove(new InstanceIndex(nstage, nplacement)); Enumeration e = hashTreenode.keys(); InstanceIndex ii; for(;e.hasMoreElements();) { ii = (InstanceIndex)(e.nextElement()); log.debug("stage " + ii.nstage +":placement" + ii.nplacement); } } public synchronized DefaultMutableTreeNode[] treeNodes() { Enumeration e = hashTreenode.elements(); int length; for(length = 0;e.hasMoreElements();e.nextElement()) { length++; } log.debug("the length is :" + length); if(length == 0) { return null; } DefaultMutableTreeNode [] nodes = new DefaultMutableTreeNode[length]; e = hashTreenode.elements(); int i; for(i = 0;e.hasMoreElements();i++) nodes[i] = (DefaultMutableTreeNode)(e.nextElement()); return nodes; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -