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

📄 corbacreator.java

📁 Icarnegie university SSD8电子书和全部练习答案
💻 JAVA
字号:
www.pudn.com > Exercise5.rar > CorbaCreator.java


import java.util.*; 
import org.omg.CORBA.*; 
import org.omg.CosNaming.*; 
import org.omg.PortableServer.POA; 
import CreatorFile.*; 

/** 
* The client creator in a Corba system. 
* 
* @author Jinjiang 
* 
*/ 
public class CorbaCreator extends CreatorPOA { 

ORB orb; 

org.omg.CORBA.Object obj, remoteRef; 

NamingContext namingContext; 

NameComponent component; 

Vector<String> users = new Vector<String>(); 

public CorbaCreator(String args[]) { 

try { 
orb = ORB.init(args, null); 
} catch (Exception e) { 
} 
} 

/** 
* Do the register operation. 
* 
*/ 
public boolean register(String username, String password) { 

if (username.equals("") || password.equals("")) 
return false; 

if (users.contains(username)) 
return false; 

try { 

POA rootpoa = (POA) orb.resolve_initial_references("RootPOA"); 
rootpoa.the_POAManager().activate(); 

CorbaList list = new CorbaList(username, password); 
remoteRef = rootpoa.servant_to_reference(list); 

obj = orb.resolve_initial_references("NameService"); 
namingContext = NamingContextHelper.narrow(obj); 

component = new NameComponent(username, ""); 
NameComponent[] componentList = { component }; 

namingContext.rebind(componentList, remoteRef); 
users.add(username); 

return true; 
} catch (Exception e) { 
} 

return false; 
} 
} 








⌨️ 快捷键说明

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