01: /**
02: * Sequoia: Database clustering technology.
03: * Copyright (C) 2002-2004 French National Institute For Research In Computer
04: * Science And Control (INRIA).
05: * Contact: sequoia@continuent.org
06: *
07: * Licensed under the Apache License, Version 2.0 (the "License");
08: * you may not use this file except in compliance with the License.
09: * 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: */package org.continuent.sequoia.console.text.commands.dbadmin;
22:
23: import java.util.StringTokenizer;
24:
25: import org.continuent.sequoia.common.i18n.ConsoleTranslate;
26: import org.continuent.sequoia.common.jmx.mbeans.VirtualDatabaseMBean;
27: import org.continuent.sequoia.console.text.module.VirtualDatabaseAdmin;
28:
29: /**
30: * This class defines a transferBackend
31: *
32: * @author <a href="mailto:Nicolas.Modrzyk@inrialpes.fr">Nicolas Modrzyk </a>
33: * @version 1.0
34: */
35: public class TransferBackend extends AbstractAdminCommand {
36:
37: /**
38: * Creates a new <code>transferBackend</code> object
39: *
40: * @param module the command is attached to
41: */
42: public TransferBackend(VirtualDatabaseAdmin module) {
43: super (module);
44: }
45:
46: /**
47: * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#parse(java.lang.String)
48: */
49: public void parse(String commandText) throws Exception {
50: String controller = null;
51: String backendName = null;
52: StringTokenizer st = new StringTokenizer(commandText.trim());
53:
54: if (st == null || st.countTokens() != 2) {
55: console.printError(getUsage());
56: return;
57: }
58:
59: backendName = st.nextToken();
60: controller = st.nextToken();
61:
62: console.printInfo(ConsoleTranslate.get(
63: "admin.command.transfer.echo", //$NON-NLS-1$
64: new String[] { backendName, controller }));
65: VirtualDatabaseMBean vjdc = jmxClient.getVirtualDatabaseProxy(
66: dbName, user, password);
67: vjdc.transferBackend(backendName, controller);
68: }
69:
70: /**
71: * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#getCommandName()
72: */
73: public String getCommandName() {
74: return "transfer backend"; //$NON-NLS-1$
75: }
76:
77: /**
78: * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#getCommandDescription()
79: */
80: public String getCommandDescription() {
81: return ConsoleTranslate
82: .get("admin.command.transfer.description"); //$NON-NLS-1$
83: }
84:
85: /**
86: * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#getCommandParameters()
87: */
88: public String getCommandParameters() {
89: return ConsoleTranslate.get("admin.command.transfer.params"); //$NON-NLS-1$
90: }
91: }
|