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

📄 ntftreecreator.java

📁 UCS (Ultra Corba Simulator) is one more powerful corba client/servant simulator tool than other simi
💻 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 + -