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): Jeff Mesnil
20: * Contributor(s): ______________________.
21: */package org.continuent.sequoia.console.text.commands.sqlconsole;
22:
23: import java.io.IOException;
24: import java.sql.Connection;
25: import java.sql.Savepoint;
26:
27: import org.continuent.sequoia.common.i18n.ConsoleTranslate;
28: import org.continuent.sequoia.console.text.ConsoleException;
29: import org.continuent.sequoia.console.text.commands.ConsoleCommand;
30: import org.continuent.sequoia.console.text.module.VirtualDatabaseConsole;
31:
32: /**
33: * This class defines a "savepoint" sql command
34: *
35: * @author <a href="mailto:jeff.mesnil@emicnetworks.com">Jeff Mesnil</a>
36: */
37: public class SetSavePoint extends ConsoleCommand {
38:
39: /**
40: * Creates a new <code>SetSavePoint</code> object
41: *
42: * @param module the command is attached to
43: */
44: public SetSavePoint(VirtualDatabaseConsole module) {
45: super (module);
46: }
47:
48: /**
49: * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#parse(java.lang.String)
50: */
51: public void parse(String commandText) throws IOException,
52: ConsoleException {
53: if (commandText.trim().length() == 0) {
54: console.printError(getUsage());
55: return;
56: }
57: String name = commandText.trim();
58:
59: Connection connection = ((VirtualDatabaseConsole) module)
60: .getConnection();
61: try {
62: Savepoint savePoint = connection.setSavepoint(name);
63: ((VirtualDatabaseConsole) module).addSavePoint(savePoint);
64: console.printInfo(ConsoleTranslate.get(
65: "sql.command.savepoint.saved", name)); //$NON-NLS-1$
66: } catch (Exception e) {
67: console.printError(ConsoleTranslate.get(
68: "sql.display.exception", e), e); //$NON-NLS-1$
69: }
70: }
71:
72: /**
73: * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#getCommandName()
74: */
75: public String getCommandName() {
76: return "savepoint"; //$NON-NLS-1$
77: }
78:
79: /**
80: * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#getCommandParameters()
81: */
82: public String getCommandParameters() {
83: return ConsoleTranslate.get("sql.command.savepoint.params"); //$NON-NLS-1$
84: }
85:
86: /**
87: * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#getCommandDescription()
88: */
89: public String getCommandDescription() {
90: return ConsoleTranslate
91: .get("sql.command.savepoint.description"); //$NON-NLS-1$
92: }
93: }
|