KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > taglibs > standard > tag > el > sql > SetDataSourceTag


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.standard.tag.el.sql;
18
19 import javax.servlet.jsp.JspException JavaDoc;
20
21 import org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager;
22 import org.apache.taglibs.standard.tag.common.sql.SetDataSourceTagSupport;
23
24 /**
25  * <p>Tag handler for &lt;SetDataSource&gt; in JSTL, used to create
26  * a simple DataSource for prototyping.</p>
27  *
28  */

29 public class SetDataSourceTag extends SetDataSourceTagSupport {
30
31     private String JavaDoc dataSourceEL;
32     private String JavaDoc driverClassNameEL;
33     private String JavaDoc jdbcURLEL;
34     private String JavaDoc userNameEL;
35     private String JavaDoc passwordEL;
36
37     //*********************************************************************
38
// Accessor methods
39

40     public void setDataSource(String JavaDoc dataSourceEL) {
41     this.dataSourceEL = dataSourceEL;
42     this.dataSourceSpecified = true;
43     }
44
45     public void setDriver(String JavaDoc driverClassNameEL) {
46     this.driverClassNameEL = driverClassNameEL;
47     }
48
49     public void setUrl(String JavaDoc jdbcURLEL) {
50     this.jdbcURLEL = jdbcURLEL;
51     }
52
53     public void setUser(String JavaDoc userNameEL) {
54     this.userNameEL = userNameEL;
55     }
56
57     public void setPassword(String JavaDoc passwordEL) {
58     this.passwordEL = passwordEL;
59     }
60
61     //*********************************************************************
62
// Tag logic
63

64     public int doStartTag() throws JspException JavaDoc {
65         evaluateExpressions();
66
67         return super.doStartTag();
68     }
69
70
71     //*********************************************************************
72
// Private utility methods
73

74     // Evaluates expressions as necessary
75
private void evaluateExpressions() throws JspException JavaDoc {
76         if (dataSourceEL != null) {
77                 dataSource = ExpressionEvaluatorManager.evaluate
78                 ("dataSource", dataSourceEL, Object JavaDoc.class, this, pageContext);
79         }
80
81         if (driverClassNameEL != null) {
82                 driverClassName = (String JavaDoc) ExpressionEvaluatorManager.evaluate
83                 ("driver", driverClassNameEL, String JavaDoc.class, this, pageContext);
84         }
85
86         if (jdbcURLEL != null) {
87                 jdbcURL = (String JavaDoc) ExpressionEvaluatorManager.evaluate
88                 ("url", jdbcURLEL, String JavaDoc.class, this, pageContext);
89         }
90
91         if (userNameEL != null) {
92                 userName = (String JavaDoc) ExpressionEvaluatorManager.evaluate
93                 ("user", userNameEL, String JavaDoc.class, this, pageContext);
94         }
95
96         if (passwordEL != null) {
97                 password = (String JavaDoc) ExpressionEvaluatorManager.evaluate
98                 ("password", passwordEL, String JavaDoc.class, this, pageContext);
99         }
100     }
101
102 }
103
Popular Tags