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: ServicesCluster.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.Services;
029:
030: /**
031: * Define ServicesCluster task
032: * @author Benoit Pelletier
033: */
034: public class ServicesCluster extends ClusterTasks {
035:
036: /**
037: * Info for the logger
038: */
039: private static final String INFO = "[ServicesCluster] ";
040: /**
041: * Partial list of the JOnAS's services to be used whether the chosen
042: * architecture is separated web/ejb
043: */
044: private String partialList = null;
045:
046: /**
047: * Partial list of the JOnAS's services to be used whether the chosen
048: * architecture is both web/ejb
049: */
050: private String fullList = null;
051:
052: /**
053: * Default constructor
054: */
055: public ServicesCluster() {
056: super ();
057: }
058:
059: /**
060: * Set the partial list of the JOnAS's services
061: * @param partialList partial list of JOnAS services
062: */
063: public void setPartialList(String partialList) {
064: this .partialList = partialList;
065:
066: }
067:
068: /**
069: * Set the full list of the JOnAS's services
070: * @param fullList full list of JOnAS services
071: */
072: public void setFullList(String fullList) {
073: this .fullList = fullList;
074:
075: }
076:
077: /**
078: * Generates the Services tasks for each JOnAS's instances
079: */
080: public void generatesTasks() {
081:
082: for (int i = getDestDirSuffixIndFirst(); i <= getDestDirSuffixIndLast(); i++) {
083:
084: String destDir = getDestDir(getDestDirPrefix(), i);
085:
086: log(INFO + "tasks generation for " + destDir);
087:
088: // creation of the Services task
089: Services services = new Services();
090:
091: if (this .getArch().compareTo(ARCH_BOTH_WEB_EJB) == 0) {
092: services.setNames(fullList);
093: } else {
094: services.setNames(partialList);
095: }
096: services.setDestDir(new File(destDir));
097:
098: addTask(services);
099: }
100: }
101: }
|