KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > continuent > sequoia > console > text > commands > controller > ShutdownVirtualDatabase


1 /**
2  * Sequoia: Database clustering technology.
3  * Copyright (C) 2002-2004 French National Institute For Research In Computer
4  * Science And Control (INRIA).
5  * Contact: sequoia@continuent.org
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  * Initial developer(s): Nicolas Modrzyk
20  * Contributor(s): ______________________.
21  */

22
23 package org.continuent.sequoia.console.text.commands.controller;
24
25 import java.util.StringTokenizer JavaDoc;
26
27 import org.continuent.sequoia.common.i18n.ConsoleTranslate;
28 import org.continuent.sequoia.common.util.Constants;
29 import org.continuent.sequoia.console.text.commands.ConsoleCommand;
30 import org.continuent.sequoia.console.text.module.AbstractConsoleModule;
31
32 /**
33  * Drop a virtual database from a controller command
34  *
35  * @author <a HREF="mailto:Nicolas.Modrzyk@inria.fr">Nicolas Modrzyk </a>
36  * @version 1.0
37  */

38 public class ShutdownVirtualDatabase extends ConsoleCommand
39 {
40
41   /**
42    * Creates a new <code>Load.java</code> object
43    *
44    * @param module the command is attached to
45    */

46   public ShutdownVirtualDatabase(AbstractConsoleModule module)
47   {
48     super(module);
49   }
50
51   /**
52    * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#parse(java.lang.String)
53    */

54   public void parse(String JavaDoc commandText) throws Exception JavaDoc
55   {
56     checkJmxConnectionToController();
57     StringTokenizer JavaDoc st = new StringTokenizer JavaDoc(commandText.trim());
58
59     String JavaDoc database = null;
60     int mode = Constants.SHUTDOWN_SAFE;
61     try
62     {
63       database = st.nextToken();
64       String JavaDoc modeStr = st.nextToken();
65       mode = Integer.parseInt(modeStr);
66     }
67     catch (Exception JavaDoc e)
68     {
69     }
70
71     if (database == null || database.length() == 0)
72     {
73       console.printError(ConsoleTranslate
74           .get("controller.command.shutdown.virtualdatabase.null")); //$NON-NLS-1$
75
console.printError(getUsage());
76       return;
77     }
78
79     String JavaDoc user = console.readLine(ConsoleTranslate.get("admin.login.user")); //$NON-NLS-1$
80
if (user == null)
81       return;
82
83     String JavaDoc password = console.readPassword(ConsoleTranslate
84         .get("admin.login.password")); //$NON-NLS-1$
85
if (password == null)
86       return;
87
88     console.printInfo(ConsoleTranslate.get(
89         "controller.command.shutdown.virtualdatabase.echo", database)); //$NON-NLS-1$
90

91     jmxClient.getVirtualDatabaseProxy(database, user, password).shutdown(mode);
92
93     console.printInfo(ConsoleTranslate.get(
94         "controller.command.shutdown.virtualdatabase.success", database)); //$NON-NLS-1$
95
}
96
97   /**
98    * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#getCommandName()
99    */

100   public String JavaDoc getCommandName()
101   {
102     return "shutdown virtualdatabase"; //$NON-NLS-1$
103
}
104
105   /**
106    * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#getCommandParameters()
107    */

108   public String JavaDoc getCommandParameters()
109   {
110     return ConsoleTranslate
111         .get("controller.command.shutdown.virtualdatabase.params"); //$NON-NLS-1$
112
}
113
114   /**
115    * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#getCommandDescription()
116    */

117   public String JavaDoc getCommandDescription()
118   {
119     return ConsoleTranslate
120         .get("controller.command.shutdown.virtualdatabase.description"); //$NON-NLS-1$
121
}
122
123 }
124
Popular Tags