KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > corba > logservice > LogORBInitializerImpl


1 // ====================================================================
2
//
3
// ECM: The Extensible Container Model
4
// Copyright (C) 2004 THALES
5
// Contact: openccm-ecm@objectweb.org
6
//
7
// This library is free software; you can redistribute it and/or
8
// modify it under the terms of the GNU Lesser General Public
9
// License as published by the Free Software Foundation; either
10
// version 2.1 of the License, or any later version.
11
//
12
// This library is distributed in the hope that it will be useful,
13
// but WITHOUT ANY WARRANTY; without even the implied warranty of
14
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
// Lesser General Public License for more details.
16
//
17
// You should have received a copy of the GNU Lesser General Public
18
// License along with this library; if not, write to the Free Software
19
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20
// USA
21
//
22
// Initial developer(s): Mathieu Vadet.
23
// Initial Funding: IST COACH European project (IST-2001-34445)
24
// http://www.ist-coach.org
25
//
26
// ====================================================================
27

28
29
30 package org.objectweb.corba.logservice;
31
32 import org.objectweb.corba.runtime.*;
33
34 /**
35  ** <p>Implementation of the <tt>PortableInterceptor::ORBInitializer</tt> interface
36  ** for the CORBA log service.</p>
37  **/

38 public class LogORBInitializerImpl
39 extends org.omg.CORBA.LocalObject JavaDoc
40 implements org.omg.PortableInterceptor.ORBInitializer JavaDoc
41 {
42     public
43     LogORBInitializerImpl()
44     {
45     }
46
47     //
48
// IDL:omg.org/PortableInterceptor/ORBInitializer:1.0
49
//
50

51     final public void
52     pre_init(org.omg.PortableInterceptor.ORBInitInfo JavaDoc info)
53     {
54     }
55
56     final public void
57     post_init(org.omg.PortableInterceptor.ORBInitInfo JavaDoc info)
58     {
59         // create IOP 1.2 codec
60
org.omg.IOP.Encoding JavaDoc enc = new org.omg.IOP.Encoding JavaDoc();
61         enc.format = org.omg.IOP.ENCODING_CDR_ENCAPS.value;
62         enc.major_version = (byte)1;
63         enc.minor_version = (byte)2;
64
65         org.omg.IOP.CodecFactory JavaDoc fact = null;
66         org.omg.IOP.Codec JavaDoc codec = null;
67
68         fact = info.codec_factory();
69
70         try {
71             codec = fact.create_codec(enc);
72         } catch (org.omg.IOP.CodecFactoryPackage.UnknownEncoding JavaDoc ex) {
73             return ;
74         }
75
76         // allocate slot
77
int slot = info.allocate_slot_id();
78
79         // register Log current
80
LogCurrentImpl logcurrent = new LogCurrentImpl(info, slot, info.orb_id());
81         try {
82             info.register_initial_reference(LOG_CURRENT_ID.value, logcurrent);
83         } catch (org.omg.PortableInterceptor.ORBInitInfoPackage.InvalidName JavaDoc ex) {
84             throw new java.lang.Error JavaDoc(ex.getMessage());
85         }
86
87         // register log CRI and SRI
88
try {
89             info.add_client_request_interceptor(new LogCRIImpl(info, codec, slot));
90             info.add_server_request_interceptor(new LogSRIImpl(codec, slot));
91         } catch (org.omg.PortableInterceptor.ORBInitInfoPackage.DuplicateName JavaDoc ex) {
92             throw new java.lang.Error JavaDoc(ex.getMessage());
93         }
94     }
95 }
96
Popular Tags