Csiv2Initializer.java

00001 
00026 package org.objectweb.jonas.security.iiop;
00027 
00028 import org.omg.IOP.Codec;
00029 import org.omg.IOP.ENCODING_CDR_ENCAPS;
00030 import org.omg.IOP.Encoding;
00031 import org.omg.IOP.CodecFactoryPackage.UnknownEncoding;
00032 import org.omg.PortableInterceptor.ORBInitInfo;
00033 import org.omg.PortableInterceptor.ORBInitializer;
00034 
00035 import org.objectweb.carol.util.csiv2.SasPolicy;
00036 import org.objectweb.carol.util.csiv2.SasPolicyFactory;
00037 
00038 import org.objectweb.jonas.common.Log;
00039 
00040 import org.objectweb.util.monolog.api.BasicLevel;
00041 import org.objectweb.util.monolog.api.Logger;
00042 
00047 public class Csiv2Initializer extends org.omg.CORBA.LocalObject implements ORBInitializer {
00048 
00052     private static Logger logger = Log.getLogger(Log.JONAS_CSIV2_SECURITY_PREFIX);
00053 
00057     private static Logger loggerDetails = Log.getLogger(Log.JONAS_CSIV2_DETAILS_SECURITY_PREFIX);
00058 
00066     public void post_init(ORBInitInfo info) {
00067         // Interceptors (server, client, IOR)
00068         if (logger.isLoggable(BasicLevel.DEBUG)) {
00069             logger.log(BasicLevel.DEBUG, "Initializing SAS Interceptors");
00070         }
00071 
00072         // Codec for GIOP 1.2
00073         Encoding encoding = new Encoding(ENCODING_CDR_ENCAPS.value, (byte) 1, (byte) 2);
00074         Codec codec = null;
00075         try {
00076             codec = info.codec_factory().create_codec(encoding);
00077         } catch (UnknownEncoding ue) {
00078             String err = "Cannot use a given encoding : '" + ue.getMessage() + "'.";
00079             logger.log(BasicLevel.ERROR, err);
00080             throw new RuntimeException(err);
00081         }
00082 
00083         try {
00084             info.add_server_request_interceptor(new Csiv2ServerInterceptor(codec, logger, loggerDetails));
00085         } catch (Exception e) {
00086             logger.log(BasicLevel.ERROR, "Unable to register CSIv2 server interceptor : '" + e.getMessage() + "'.");
00087         }
00088         try {
00089             info.add_client_request_interceptor(new Csiv2ClientInterceptor(codec, logger, loggerDetails));
00090         } catch (Exception e) {
00091             logger.log(BasicLevel.ERROR, "Unable to register CSIv2 client interceptor : '" + e.getMessage() + "'.");
00092         }
00093 
00094         try {
00095             info.add_ior_interceptor(new Csiv2IorInterceptor(codec, logger, loggerDetails));
00096         } catch (Exception e) {
00097             logger.log(BasicLevel.ERROR, "Unable to register CSIv2 IOR interceptor : '" + e.getMessage() + "'.");
00098         }
00099 
00100         // Factory
00101         if (logger.isLoggable(BasicLevel.DEBUG)) {
00102             logger.log(BasicLevel.DEBUG, "Initializing SAS policy factory");
00103         }
00104         info.register_policy_factory(SasPolicy.POLICY_TYPE, new SasPolicyFactory());
00105 
00106     }
00107 
00116     public void pre_init(ORBInitInfo info) {
00117         // TODO Auto-generated method stub
00118 
00119     }
00120 }

Generated on Tue Feb 15 15:05:21 2005 for JOnAS by  doxygen 1.3.9.1