00001
00027 package org.objectweb.jonas.ant;
00028
00029 import org.apache.tools.ant.BuildException;
00030 import org.apache.tools.ant.taskdefs.Java;
00031
00036 public class JOnASTask extends BootstrapTask {
00037
00041 private static final String START_CLASS = "org.objectweb.jonas.server.Server";
00042
00046 private static final String ADMIN_CLASS = "org.objectweb.jonas.adm.JonasAdmin";
00047
00051 private static final String CHECKENV_CLASS = "org.objectweb.jonas.tools.CheckEnv";
00052
00056 private static final String VERSION_CLASS = "org.objectweb.jonas_lib.version.Version";
00057
00061 private static final int START_MODE = 0;
00062
00066 private static final int STOP_MODE = 1;
00067
00071 private static final int JNDI_MODE = 2;
00072
00076 private static final int CHECK_MODE = 3;
00077
00081 private static final int VERSION_MODE = 4;
00082
00086 private static final int PING_MODE = 5;
00087
00091 private static final int DEFAULT_MODE = START_MODE;
00092
00096 private String mode = null;
00097
00102 public void execute() {
00103 int userMode = DEFAULT_MODE;
00104
00105 if (mode.equalsIgnoreCase("start")) {
00106 userMode = START_MODE;
00107 } else if (mode.equalsIgnoreCase("stop")) {
00108 userMode = STOP_MODE;
00109 } else if (mode.equalsIgnoreCase("jndi")) {
00110 userMode = JNDI_MODE;
00111 } else if (mode.equalsIgnoreCase("check")) {
00112 userMode = CHECK_MODE;
00113 } else if (mode.equalsIgnoreCase("version")) {
00114 userMode = VERSION_MODE;
00115 } else if (mode.equalsIgnoreCase("ping")) {
00116 userMode = PING_MODE;
00117 } else {
00118 throw new BuildException("The mode '" + mode + "' is invalid.");
00119 }
00120
00121
00122 Java bootstrapTask = null;
00123 switch (userMode) {
00124 default:
00125 case START_MODE:
00126 bootstrapTask = getBootstraptask(START_CLASS);
00127 break;
00128 case STOP_MODE:
00129 bootstrapTask = getBootstraptask(ADMIN_CLASS);
00130 bootstrapTask.createArg().setValue("-s");
00131 break;
00132 case JNDI_MODE:
00133 bootstrapTask = getBootstraptask(ADMIN_CLASS);
00134 bootstrapTask.createArg().setValue("-j");
00135 break;
00136 case CHECK_MODE:
00137 bootstrapTask = getBootstraptask(CHECKENV_CLASS);
00138 break;
00139 case VERSION_MODE:
00140 bootstrapTask = getBootstraptask(VERSION_CLASS);
00141 break;
00142 case PING_MODE:
00143 bootstrapTask = getBootstraptask(ADMIN_CLASS);
00144 bootstrapTask.createArg().setValue("-ping");
00145 break;
00146 }
00147
00148 bootstrapTask.executeJava();
00149
00150 }
00151
00155 public String getMode() {
00156 return mode;
00157 }
00158
00163 public void setMode(String mode) {
00164 this.mode = mode;
00165 }
00166 }