KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > commons > dbcp > datasources > SharedPoolDataSourceFactory


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.commons.dbcp.datasources;
18
19 import javax.naming.RefAddr JavaDoc;
20 import javax.naming.Reference JavaDoc;
21
22 /**
23  * A JNDI ObjectFactory which creates <code>SharedPoolDataSource</code>s
24  * @version $Revision: 1.4 $ $Date: 2004/02/28 12:18:17 $
25  */

26 public class SharedPoolDataSourceFactory
27     extends InstanceKeyObjectFactory
28 {
29     private static final String JavaDoc SHARED_POOL_CLASSNAME =
30         SharedPoolDataSource.class.getName();
31
32     protected boolean isCorrectClass(String JavaDoc className) {
33         return SHARED_POOL_CLASSNAME.equals(className);
34     }
35
36     protected InstanceKeyDataSource getNewInstance(Reference JavaDoc ref) {
37         SharedPoolDataSource spds = new SharedPoolDataSource();
38         RefAddr JavaDoc ra = ref.get("maxActive");
39         if (ra != null && ra.getContent() != null) {
40             spds.setMaxActive(
41                 Integer.parseInt(ra.getContent().toString()));
42         }
43
44         ra = ref.get("maxIdle");
45         if (ra != null && ra.getContent() != null) {
46             spds.setMaxIdle(
47                 Integer.parseInt(ra.getContent().toString()));
48         }
49
50         ra = ref.get("maxWait");
51         if (ra != null && ra.getContent() != null) {
52             spds.setMaxWait(
53                 Integer.parseInt(ra.getContent().toString()));
54         }
55         
56         return spds;
57     }
58 }
59
60
Popular Tags