KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > continuent > sequoia > console > text > commands > sqlconsole > Rollback


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): Jeff Mesnil
20  * Contributor(s): ______________________.
21  */

22
23 package org.continuent.sequoia.console.text.commands.sqlconsole;
24
25 import java.io.IOException JavaDoc;
26 import java.sql.Connection JavaDoc;
27 import java.sql.Savepoint JavaDoc;
28
29 import org.continuent.sequoia.common.i18n.ConsoleTranslate;
30 import org.continuent.sequoia.console.text.ConsoleException;
31 import org.continuent.sequoia.console.text.commands.ConsoleCommand;
32 import org.continuent.sequoia.console.text.module.VirtualDatabaseConsole;
33
34 /**
35  * This class defines a "rollback" sql command
36  *
37  * @author <a HREF="mailto:jeff.mesnil@emicnetworks.com">Jeff Mesnil</a>
38  */

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

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

55   public void parse(String JavaDoc commandText) throws IOException JavaDoc, ConsoleException
56   {
57     VirtualDatabaseConsole consoleModule = (VirtualDatabaseConsole) module;
58     Connection JavaDoc connection = consoleModule.getConnection();
59
60     String JavaDoc savePointName = commandText.trim();
61
62     try
63     {
64       if (consoleModule.getRequestDelimiter().equals(savePointName)
65           || "".equals(savePointName)) //$NON-NLS-1$
66
{
67         connection.rollback();
68         console.printInfo(ConsoleTranslate.get("sql.command.rollback.done")); //$NON-NLS-1$
69
}
70       else
71       {
72         Savepoint JavaDoc savepoint = ((VirtualDatabaseConsole) module)
73             .getSavePoint(savePointName);
74         if (savepoint == null)
75         {
76           console.printError(ConsoleTranslate.get(
77               "sql.command.rollback.no.savepoint", savePointName)); //$NON-NLS-1$
78
return;
79         }
80         connection.rollback(savepoint);
81         console.printInfo(ConsoleTranslate.get(
82             "sql.command.rollback.to.savepoint", savePointName)); //$NON-NLS-1$
83
}
84       connection.setAutoCommit(true);
85     }
86     catch (Exception JavaDoc e)
87     {
88       console.printError(ConsoleTranslate.get("sql.display.exception", e), e); //$NON-NLS-1$
89
}
90
91   }
92
93   /**
94    * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#getCommandName()
95    */

96   public String JavaDoc getCommandName()
97   {
98     return "rollback"; //$NON-NLS-1$
99
}
100
101   /**
102    * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#getCommandParameters()
103    */

104   public String JavaDoc getCommandParameters()
105   {
106     return ConsoleTranslate.get("sql.command.rollback.params"); //$NON-NLS-1$
107
}
108
109   /**
110    * @see org.continuent.sequoia.console.text.commands.ConsoleCommand#getCommandDescription()
111    */

112   public String JavaDoc getCommandDescription()
113   {
114     return ConsoleTranslate.get("sql.command.rollback.description"); //$NON-NLS-1$
115
}
116 }
Popular Tags