001: /**
002: * JOnAS: Java(TM) Open Application Server
003: * Copyright (C) 2005 Bull S.A.
004: * Contact: jonas-team@objectweb.org
005: *
006: * This library is free software; you can redistribute it and/or
007: * modify it under the terms of the GNU Lesser General Public
008: * License as published by the Free Software Foundation; either
009: * version 2.1 of the License, or any later version.
010: *
011: * This library is distributed in the hope that it will be useful,
012: * but WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * Lesser General Public License for more details.
015: *
016: * You should have received a copy of the GNU Lesser General Public
017: * License along with this library; if not, write to the Free Software
018: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
019: * USA
020: *
021: * Initial developer: Benoit Pelletier
022: * --------------------------------------------------------------------------
023: * $Id: JdbcRaCluster.java 6896 2005-06-07 08:21:28Z pelletib $
024: * --------------------------------------------------------------------------
025: */package org.objectweb.jonas.ant.cluster;
026:
027: import java.io.File;
028: import org.objectweb.jonas.ant.jonasbase.JdbcRa;
029:
030: /**
031: * Define JdbcRaCluster task
032: * @author Benoit Pelletier
033: */
034: public class JdbcRaCluster extends ClusterTasks {
035:
036: /**
037: * Info for the logger
038: */
039: private static final String INFO = "[JdbcRaCluster] ";
040:
041: /**
042: * Name of this JDBC Resource Adaptor
043: */
044: private String name = null;
045:
046: /**
047: * Mapper Name of this JDBC Resource Adaptor
048: */
049: private String mapperName = null;
050:
051: /**
052: * username of this JDBC Resource Adaptor
053: */
054: private String user = null;
055:
056: /**
057: * Password of this JDBC Resource Adaptor
058: */
059: private String password = null;
060:
061: /**
062: * URL of this JDBC Resource Adaptor
063: */
064: private String url = null;
065:
066: /**
067: * Driver Name of this JDBC Resource Adaptor (may be set to the P6Spy driver name)
068: */
069: private String driverName = null;
070:
071: /**
072: * Driver Name of this JDBC Resource Adaptor
073: */
074: private String realDriverName = null;
075:
076: /**
077: * Max Pool Size
078: */
079: private String maxPoolSize = "100";
080:
081: /**
082: * JNDI Name of this JDBC Resource Adaptor
083: */
084: private String jndiName = null;
085:
086: /**
087: * Copy to autoload dir or not
088: */
089: private boolean autoload = true;
090:
091: /**
092: * Using of the P6Spy tool or not
093: */
094: private boolean p6spy = false;
095:
096: /**
097: * Default constructor
098: */
099: public JdbcRaCluster() {
100: super ();
101: }
102:
103: /**
104: * Set the name of this JDBC Resource Adaptor
105: * @param name the name of this JDBC Resource Adaptor
106: */
107: public void setName(String name) {
108: this .name = name;
109: }
110:
111: /**
112: * Set the mapper name of this JDBC Resource Adaptor
113: * @param mapperName the mappername of this JDBC Resource Adaptor
114: */
115: public void setMapperName(String mapperName) {
116: this .mapperName = mapperName;
117: }
118:
119: /**
120: * Set the user of this JDBC Resource Adaptor
121: * @param user the user of this JDBC Resource Adaptor
122: */
123: public void setUser(String user) {
124: this .user = user;
125: }
126:
127: /**
128: * Set the password of this JDBC Resource Adaptor
129: * @param password the name of this JDBC Resource Adaptor
130: */
131: public void setPassword(String password) {
132: this .password = password;
133: }
134:
135: /**
136: * Set the url of this JDBC Resource Adaptor
137: * @param url the name of this JDBC Resource Adaptor
138: */
139: public void setUrl(String url) {
140: this .url = url;
141: }
142:
143: /**
144: * Set the max pool size of this JDBC Resource Adaptor Connection Pool
145: * @param maxPoolSize max pool size of connection
146: */
147: public void setMaxPoolSize(String maxPoolSize) {
148: this .maxPoolSize = maxPoolSize;
149: }
150:
151: /**
152: * Set the name of the driver of this JDBC Resource Adaptor
153: * @param driverName the name of the driver of this JDBC Resource Adaptor
154: */
155: public void setDriverName(String driverName) {
156: this .driverName = driverName;
157: this .realDriverName = driverName;
158: }
159:
160: /**
161: * Set the jndiName of this JDBC Resource Adaptor
162: * @param jndiName the jndiName of this JDBC Resource Adaptor
163: */
164: public void setJndiName(String jndiName) {
165: this .jndiName = jndiName;
166: }
167:
168: /**
169: * opy rar to autoload or only in rars/ ?
170: * @param autoload true of false
171: */
172: public void setAutoload(boolean autoload) {
173: this .autoload = autoload;
174: }
175:
176: /**
177: * Configure the using of the P6Spy tool or not ?
178: * @param p6spy true or false
179: */
180: public void setP6spy(boolean p6spy) {
181: this .p6spy = p6spy;
182: }
183:
184: /**
185: * Generates the JdbcRa tasks for each JOnAS's instances
186: */
187: public void generatesTasks() {
188:
189: int portInd = 0;
190:
191: for (int i = getDestDirSuffixIndFirst(); i <= getDestDirSuffixIndLast(); i++) {
192:
193: String destDir = getDestDir(getDestDirPrefix(), i);
194: log(INFO + "tasks generation for " + destDir);
195: // creation of the JdbcRa task
196: JdbcRa jdbcRa = new JdbcRa();
197:
198: jdbcRa.setAutoload(autoload);
199: jdbcRa.setDriverName(driverName);
200: jdbcRa.setJndiName(jndiName);
201: jdbcRa.setMapperName(mapperName);
202: jdbcRa.setMaxPoolSize(maxPoolSize);
203: jdbcRa.setName(name);
204: jdbcRa.setP6spy(p6spy);
205: jdbcRa.setPassword(password);
206: jdbcRa.setUrl(url);
207: jdbcRa.setUser(user);
208:
209: jdbcRa.setDestDir(new File(destDir));
210:
211: addTask(jdbcRa);
212:
213: portInd++;
214:
215: }
216: }
217: }
|