📄 ntftreecreator.java
字号:
package com.corba.mnq.ntf;
import org.omg.CosNotifyChannelAdmin.*;
import org.omg.CORBA.Object;
import com.corba.mnq.tool.CorbaFacility;
import javax.swing.tree.*;
import java.io.FileInputStream;
public class NtfTreeCreator
{
private String ior="";
NtfTree tree;
public NtfTreeCreator(NtfTree inTree,String file)
{
tree=inTree;
try
{
FileInputStream fis = new FileInputStream(file);
String str = "";
while (fis.available() != 0) {
byte[] bA = new byte[fis.available()];
int numRead = fis.read(bA);
System.out.println(numRead);
if (numRead > 0) {
str += new String(bA, 0, numRead);
}
// continue
}
ior = str;
fis.close();
// java.io.BufferedReader in =
// new java.io.BufferedReader(new java.io.FileReader( file ) );
// ior = in.readLine();
// while (ior.indexOf("IOR:") != 0)
// ior = in.readLine();
// in.close();
}
catch ( java.io.IOException io )
{
io.printStackTrace();
}
}
public void buildTree()
{
NtfNode rootData=new NtfNode("EventChannelFactory",NtfNode.TYPE_CHANNEL_FACTORY,ior);
tree.setRootUserObject(rootData);
try
{
Object obj=CorbaFacility.orb.string_to_object(ior);
EventChannelFactory factory=EventChannelFactoryHelper.narrow(obj);
int[] ids=factory.get_all_channels();
//System.out.println("chennal="+ids.length);
for( int i=0;i<ids.length;i++)
{
EventChannel channel=factory.get_event_channel(ids[i]);
processChannel("EventChannel"+ids[i],channel,tree.rootNode);
}
}catch( Exception e){
e.printStackTrace();
}
}
private void processChannel(String name,EventChannel obj, DefaultMutableTreeNode pNode)
{
String iorRef=CorbaFacility.orb.object_to_string(obj);
NtfNode data=new NtfNode(name,NtfNode.TYPE_EVENT_CHANNEL,iorRef);
DefaultMutableTreeNode node = new DefaultMutableTreeNode();
node.setUserObject(data);
node.setAllowsChildren(true);
tree.createChild(pNode,node);
try
{
int[] ids1=obj.get_all_consumeradmins();
int[] ids2=obj.get_all_supplieradmins();
for( int i=0;i<ids1.length;i++)
{
ConsumerAdmin ca=obj.get_consumeradmin(ids1[i]);
processConsumerAdmin("ConsumerAdmin"+ids1[i],ca,node);
}
for( int j=0;j<ids2.length;j++)
{
SupplierAdmin sa=obj.get_supplieradmin(ids2[j]);
processSupplierAdmin("SupplierAdmin"+ids2[j],sa,node);
}
}catch(Exception e) {
e.printStackTrace();
}
}
private void processConsumerAdmin(String name,ConsumerAdmin obj, DefaultMutableTreeNode pNode)
{
String iorRef=CorbaFacility.orb.object_to_string(obj);
NtfNode data=new NtfNode(name,NtfNode.TYPE_CONSUMER_ADMIN,iorRef);
DefaultMutableTreeNode node = new DefaultMutableTreeNode();
node.setUserObject(data);
node.setAllowsChildren(true);
tree.createChild(pNode,node);
try
{
int[] ids1=obj.pull_suppliers();
int[] ids2=obj.push_suppliers();
for( int i=0;i<ids1.length;i++)
{
//try{
//ProxySupplier ps=obj.get_proxy_supplier(ids1[i]);
processProxySupplier("ProxyPullSupplier"+ids1[i],"",node);
//}catch(ProxyNotFound e){
// System.out.println("get_proxy_supplier("+ids1[i]+")");
//}
}
for( int j=0;j<ids2.length;j++)
{
//try{
//ProxySupplier ps=obj.get_proxy_supplier(ids2[j]);
processProxySupplier("ProxyPushSupplier"+ids2[j],"",node);
//}catch(ProxyNotFound e){
// System.out.println("get_proxy_supplier("+ids2[j]+")");
//}
}
}catch(Exception e) {
e.printStackTrace();
}
}
private void processProxySupplier(String name,String obj, DefaultMutableTreeNode pNode)
{
String iorRef=obj;//orb.object_to_string(obj);
NtfNode data=new NtfNode(name,NtfNode.TYPE_PROXY_SUPPLIER,iorRef);
DefaultMutableTreeNode node = new DefaultMutableTreeNode();
node.setUserObject(data);
node.setAllowsChildren(false);
tree.createChild(pNode,node);
}
private void processSupplierAdmin(String name,SupplierAdmin obj, DefaultMutableTreeNode pNode)
{
String iorRef=CorbaFacility.orb.object_to_string(obj);
NtfNode data=new NtfNode(name,NtfNode.TYPE_SUPPLIER_ADMIN,iorRef);
DefaultMutableTreeNode node = new DefaultMutableTreeNode();
node.setUserObject(data);
node.setAllowsChildren(true);
tree.createChild(pNode,node);
try
{
int[] ids1=obj.pull_consumers();
int[] ids2=obj.push_consumers();
for( int i=0;i<ids1.length;i++)
{
//try{
//ProxyConsumer ps=obj.get_proxy_consumer(ids1[i]);
processProxyConsumer("ProxyPullConsumer"+ids1[i],"",node);
//}catch(ProxyNotFound e){
// System.out.println("get_proxy_consumer("+ids1[i]+")");
//}
}
for( int j=0;j<ids2.length;j++)
{
//try{
//ProxyConsumer ps=obj.get_proxy_consumer(ids2[j]);
processProxyConsumer("ProxyPushConsumer"+ids2[j],"",node);
//}catch(ProxyNotFound e){
// System.out.println("get_proxy_consumer("+ids2[j]+")");
//}
}
}catch(Exception e) {
e.printStackTrace();
}
}
private void processProxyConsumer(String name,String obj, DefaultMutableTreeNode pNode)
{
String iorRef=obj;//orb.object_to_string(obj);
NtfNode data=new NtfNode(name,NtfNode.TYPE_PROXY_CONSUMER,iorRef);
DefaultMutableTreeNode node = new DefaultMutableTreeNode();
node.setUserObject(data);
node.setAllowsChildren(false);
tree.createChild(pNode,node);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -