1 22 23 package org.continuent.sequoia.console.text.commands.sqlconsole; 24 25 import java.io.IOException ; 26 import java.sql.Connection ; 27 import java.sql.Savepoint ; 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 39 public class Rollback extends ConsoleCommand 40 { 41 42 47 public Rollback(VirtualDatabaseConsole module) 48 { 49 super(module); 50 } 51 52 55 public void parse(String commandText) throws IOException , ConsoleException 56 { 57 VirtualDatabaseConsole consoleModule = (VirtualDatabaseConsole) module; 58 Connection connection = consoleModule.getConnection(); 59 60 String savePointName = commandText.trim(); 61 62 try 63 { 64 if (consoleModule.getRequestDelimiter().equals(savePointName) 65 || "".equals(savePointName)) { 67 connection.rollback(); 68 console.printInfo(ConsoleTranslate.get("sql.command.rollback.done")); } 70 else 71 { 72 Savepoint savepoint = ((VirtualDatabaseConsole) module) 73 .getSavePoint(savePointName); 74 if (savepoint == null) 75 { 76 console.printError(ConsoleTranslate.get( 77 "sql.command.rollback.no.savepoint", savePointName)); return; 79 } 80 connection.rollback(savepoint); 81 console.printInfo(ConsoleTranslate.get( 82 "sql.command.rollback.to.savepoint", savePointName)); } 84 connection.setAutoCommit(true); 85 } 86 catch (Exception e) 87 { 88 console.printError(ConsoleTranslate.get("sql.display.exception", e), e); } 90 91 } 92 93 96 public String getCommandName() 97 { 98 return "rollback"; } 100 101 104 public String getCommandParameters() 105 { 106 return ConsoleTranslate.get("sql.command.rollback.params"); } 108 109 112 public String getCommandDescription() 113 { 114 return ConsoleTranslate.get("sql.command.rollback.description"); } 116 } | Popular Tags |