KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > openccm > explorer > CORBA > InitialReferenceContext


1 /*====================================================================
2
3 OpenCCM: The Open CORBA Component Model Platform
4 Copyright (C) 2000-2004 INRIA - USTL - LIFL - GOAL
5 Contact: openccm@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): Jerome Moroy.
23 Contributor(s): ______________________________________.
24
25 ====================================================================*/

26 package org.objectweb.openccm.explorer.CORBA;
27
28
29 /** To use the ORB interface. */
30 import org.objectweb.util.explorer.api.Context;
31 import org.objectweb.util.explorer.api.Entry;
32 import org.objectweb.util.explorer.core.naming.lib.DefaultEntry;
33 import org.omg.CORBA.ORB JavaDoc;
34
35 /**
36  * Basic implementation of the Context interface
37  * for managing CORBA initial references.
38  *
39  * @author <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a>,
40  * <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a>
41  * @version 0.1
42  */

43 public class InitialReferenceContext
44     implements Context {
45
46     // ==================================================================
47
//
48
// No Internal state.
49
//
50
// ==================================================================
51

52     // ==================================================================
53
//
54
// Constructors.
55
//
56
// ==================================================================
57

58     // ==================================================================
59
//
60
// Internal methods.
61
//
62
// ==================================================================
63

64     protected Entry getLocalEntry(String JavaDoc name, ORB JavaDoc orb) {
65         if (orb != null) {
66             Object JavaDoc value = getLocalValue(name, orb);
67             return (value != null) ? new DefaultEntry(name, value) : null;
68         }
69         return null;
70     }
71
72     protected Object JavaDoc getLocalValue(String JavaDoc name, ORB JavaDoc orb) {
73         // Lookups the name into the CORBA initrial references.
74
if (orb != null) {
75             try {
76                 return orb.resolve_initial_references(name);
77             } catch (org.omg.CORBA.ORBPackage.InvalidName JavaDoc ex) {
78                 return null;
79                 // or MUST BE wrapped in the API by an exception ???
80
}
81         }
82         return null;
83     }
84
85     // ==================================================================
86
//
87
// Public methods for interface Context.
88
//
89
// ==================================================================
90

91     /**
92      * Returns an array containing the entries contained by the target context.
93      * @return A new array of entry.
94      */

95     public Entry[] getEntries(Object JavaDoc object) {
96         ORB JavaDoc orb = (ORB JavaDoc)object;
97         String JavaDoc[] objects = orb.list_initial_services();
98         Entry[] values = new Entry[objects.length];
99         for (int i = 0; i < objects.length; i++)
100             values[i] = getLocalEntry(objects[i], orb);
101         return values;
102     }
103
104 }
105
Popular Tags