1 26 27 package com.rift.coad.client.naming; 28 29 import java.util.Hashtable ; 31 import java.util.Properties ; 32 import javax.naming.Context ; 33 import javax.naming.NamingException ; 34 import javax.naming.spi.InitialContextFactory ; 35 import org.omg.CORBA.ORB ; 36 37 import com.rift.coad.client.interceptor.iiop.ClientInterceptorIntializer; 39 import com.rift.coad.lib.interceptor.credentials.Login; 40 41 47 public class CoadunationInitialContextFactory implements InitialContextFactory { 48 49 public final static String USERNAME = "com.rift.coad.username"; 51 public final static String PASSWORD = "com.rift.coad.password"; 52 53 public static ThreadLocal userLogin = new ThreadLocal (); 55 56 60 public CoadunationInitialContextFactory() { 61 } 62 63 71 public Context getInitialContext(Hashtable environment) throws 72 NamingException { 73 if (environment.containsKey(USERNAME) && 74 environment.containsKey(PASSWORD)) { 75 userLogin.set(new Login((String )environment.get(USERNAME), 76 (String )environment.get(PASSWORD))); 77 } 78 else { 79 userLogin.set(null); 80 } 81 82 System.setProperty("org.omg.PortableInterceptor.ORBInitializerClass." + 84 ClientInterceptorIntializer.class.getName(),""); 85 Properties properties = new Properties (); 86 properties.setProperty("org.omg.CORBA.ORBClass", 87 "org.jacorb.orb.ORB"); 88 properties.setProperty("org.omg.CORBA.ORBSingletonClass", 89 "org.jacorb.orb.ORBSingleton"); 90 ORB orb = ORB.init(new String [0],properties); 91 92 environment.put(Context.INITIAL_CONTEXT_FACTORY, 94 "com.sun.jndi.cosnaming.CNCtxFactory"); 95 environment.put("java.naming.corba.orb",orb); 96 97 if (environment.containsKey(Context.PROVIDER_URL)) { 98 String url = "corbaloc:iiop:" + 99 (String )environment.get(Context.PROVIDER_URL) + 100 "/StandardNS/NameServer-POA/_root"; 101 environment.put(Context.PROVIDER_URL,url); 102 } 103 104 return new CoadunationContext(orb,environment); 106 } 107 } 108 | Popular Tags |