01: /**
02: * Library name : Primrose - A Java Database Connection Pool.
03: * Published by Ben Keeping, http://primrose.org.uk .
04: * Copyright (C) 2004 Ben Keeping, primrose.org.uk
05: * Email: Use "Contact Us Form" on website
06: *
07: * This library is free software; you can redistribute it and/or
08: * modify it under the terms of the GNU Lesser General Public
09: * License as published by the Free Software Foundation; either
10: * version 2.1 of the License, or (at your option) 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 USA
20: */package uk.org.primrose.vendor.glassfish;
21:
22: import uk.org.primrose.console.GenericWebConsoleFactory;
23: import java.util.*;
24: import javax.naming.*;
25: import javax.naming.spi.ObjectFactory;
26:
27: public class WebConsoleFactory extends GenericWebConsoleFactory
28: implements ObjectFactory {
29: /**
30: * Initialize a pool as defined in a config file.
31: * The config file may contain multiple pools, but only the one specified is loaded
32: * because Glassfish does the JNDI binding itself (one datasource at a time)
33: *
34: */
35: public Object getObjectInstance(Object refObj, Name nm,
36: Context ctx, Hashtable env) throws Exception {
37: Reference ref = (Reference) refObj;
38:
39: if (ref.get("port") == null || ref.get("logFile") == null) {
40: throw new Exception(
41: "You must specify at least a 'port' and a 'logFile' in the <Resource> tag");
42: }
43:
44: String port = (String) ref.get("port").getContent();
45: String logFile = (String) ref.get("logFile").getContent();
46:
47: Object tmp = ref.get("username");
48: String username = null;
49: if (tmp != null)
50: username = (String) ref.get("username").getContent();
51:
52: tmp = ref.get("password");
53: String password = null;
54: if (tmp != null)
55: password = (String) ref.get("password").getContent();
56:
57: tmp = ref.get("logLevel");
58: String logLevel = "verbose,info,warn,error,crisis";
59: if (tmp != null)
60: logLevel = (String) ref.get("logLevel").getContent();
61:
62: this .setUsername(username);
63: this .setPassword(password);
64: this .setLogLevel(logLevel);
65: this .setPort(port);
66: this .setLogFile(logFile); // this triggers start (don't ask)
67:
68: return this;
69: }
70:
71: }
|