KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > taglibs > jndi > UseDirContextTag


1 /*
2  * Copyright 1999,2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16
17 package org.apache.taglibs.jndi;
18
19 import javax.servlet.jsp.*;
20 import javax.servlet.jsp.tagext.*;
21
22 import java.util.Hashtable JavaDoc;
23 import java.util.Enumeration JavaDoc;
24
25 import javax.naming.*;
26 import javax.naming.directory.*;
27
28 /**
29  *
30  * @author Danno Ferrin <shemnon@earthlink.net>
31  * @version $Revision: 1.2 $
32  */

33 public class UseDirContextTag extends UseContextTag {
34  
35     public Class JavaDoc getClassOfExportedObject() {
36         return DirContext.class;
37     }
38
39     protected Object JavaDoc getObjectToExport() throws JspException
40     {
41         try {
42             Context ctx = new InitialDirContext(env);
43             if (url != null) {
44                 Object JavaDoc o = ctx.lookup(url);
45                 if (o instanceof DirContext) {
46                     ctx = (DirContext) o;
47                 }
48             }
49             return ctx;
50         } catch (NamingException ne) {
51             //XXX add some sort of logging hook?
52
throw new JspException(ne.toString());
53         }
54     }
55     
56     //TODO when implicit context scoping w/o ID is implemented also have this listen to
57
// getAttribute tags and forEachAttribute itteration tags
58

59 }
60
Popular Tags