FileDocCategorySizeDatePackage
StopDatabaseCommand.javaAPI DocGlassfish v2 API6000Fri May 04 22:25:12 BST 2007com.sun.enterprise.cli.commands

StopDatabaseCommand

public final class StopDatabaseCommand extends DatabaseCommand
stop-database command This command class will invoke DerbyControl to stop the database.
author
Jane Young
version
$Revision: 1.11 $

Fields Summary
private static final String
DB_HOST
private static final String
DB_PORT
Constructors Summary
Methods Summary
public voidrunCommand()
Method that Executes the command

throws
CommandException

        if (!validateOptions())
            throw new CommandValidationException("Validation is false");

        try {
            prepareProcessExecutor();
            CLIProcessExecutor cpe = new CLIProcessExecutor();
            cpe.execute(pingDatabaseCmd(false), true);
            if (cpe.exitValue() > 0) {
                    //if ping is unsuccesfull then database is not up and running
                throw new CommandException(getLocalizedString("StopDatabaseStatus", new Object[]{dbHost, dbPort}));
            }
            else if (cpe.exitValue() <0) {
                    // Something terribly wrong!
                throw new CommandException(getLocalizedString("CommandUnSuccessful",
                                                              new Object[] {name} ));
            }
            else {
                    //database is running so go ahead and stop the database
                cpe.execute(stopDatabaseCmd(), true);
                if (cpe.exitValue() > 0) {
                    throw new CommandException(getLocalizedString("CommandUnSuccessful",
                                                              new Object[] {name} ));
                }
                CLILogger.getInstance().printDetailMessage(getLocalizedString(
                                                           "CommandSuccessful",
                                                           new Object[] {name}));
            }
        }
        catch (Exception e) {
            displayExceptionMessage(e);
        }
    
public java.lang.String[]stopDatabaseCmd()
defines the command to stop the derby database Note that when using Darwin (Mac), the property, "-Dderby.storage.fileSyncTransactionLog=True" is defined.

        if (OS.isDarwin()) {
            return new String [] {
                sJavaHome+File.separator+"bin"+File.separator+"java",
                "-Djava.library.path="+sInstallRoot+File.separator+"lib",
                "-Dderby.storage.fileSyncTransactionLog=True",
                "-cp",
                sClasspath + File.pathSeparator + sDatabaseClasspath,
                "com.sun.enterprise.cli.commands.DerbyControl",
                "shutdown",
                dbHost, dbPort, "false"
            };
        }
        return new String [] {
            sJavaHome+File.separator+"bin"+File.separator+"java",
            "-Djava.library.path="+sInstallRoot+File.separator+"lib",
            "-cp",
            sClasspath + File.pathSeparator + sDatabaseClasspath,
            "com.sun.enterprise.cli.commands.DerbyControl",
            "shutdown",
            dbHost, dbPort, "false"
       };
    
public booleanvalidateOptions()
An method that validates the options on the specification in the xml properties file This method verifies for the correctness of number of operands and if all the required options are supplied by the client.

return
boolean returns true if success else returns false


                                                             
        
    
        return super.validateOptions();