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 org.continuent.sequoia.common.i18n.ConsoleTranslate;
24: import org.continuent.sequoia.common.jmx.mbeans.VirtualDatabaseMBean;
25: import org.continuent.sequoia.console.text.module.VirtualDatabaseAdmin;
26:
27: /**
28: * This class defines a SetCheckpoint
29: *
30: * @author <a href="mailto:Nicolas.Modrzyk@inrialpes.fr">Nicolas Modrzyk </a>
31: * @version 1.0
32: */
33: public class SetCheckpoint extends AbstractAdminCommand {
34:
35: /**
36: * Creates a new <code>SetCheckpoint</code> object
37: *
38: * @param module module that owns this commands
39: */
40: public SetCheckpoint(VirtualDatabaseAdmin module) {
41: super (module);
42: }
43:
44: /**
45: * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#parse(java.lang.String)
46: */
47: public void parse(String commandText) throws Exception {
48: commandText = commandText.trim();
49: int firstWhiteSpace = commandText.indexOf(" "); //$NON-NLS-1$
50: if (firstWhiteSpace < 0) {
51: console.printError(getUsage());
52: return;
53: }
54: String backendName = commandText.substring(0, firstWhiteSpace)
55: .trim();
56: String checkpointName = commandText.substring(firstWhiteSpace,
57: commandText.length()).trim();
58: if ("".equals(checkpointName)) //$NON-NLS-1$
59: {
60: console.printError(getUsage());
61: return;
62: }
63: console.printInfo(ConsoleTranslate.get(
64: "admin.command.set.checkpoint.echo", //$NON-NLS-1$
65: new String[] { backendName, checkpointName }));
66: VirtualDatabaseMBean vdjc = jmxClient.getVirtualDatabaseProxy(
67: dbName, user, password);
68: vdjc.setBackendLastKnownCheckpoint(backendName, checkpointName);
69: }
70:
71: /**
72: * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#getCommandName()
73: */
74: public String getCommandName() {
75: return "force checkpoint"; //$NON-NLS-1$
76: }
77:
78: /**
79: * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#getCommandDescription()
80: */
81: public String getCommandDescription() {
82: return ConsoleTranslate
83: .get("admin.command.set.checkpoint.description"); //$NON-NLS-1$
84: }
85:
86: /**
87: * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#getCommandParameters()
88: */
89: public String getCommandParameters() {
90: return ConsoleTranslate
91: .get("admin.command.set.checkpoint.params"); //$NON-NLS-1$
92: }
93: }
|