1 23 24 package com.sun.enterprise.cli.commands; 25 26 import com.sun.enterprise.cli.framework.*; 27 import com.sun.enterprise.util.SystemPropertyConstants; 28 import com.sun.enterprise.util.OS; 29 import com.sun.enterprise.util.io.FileUtils; 30 import java.io.File ; 31 32 33 42 public abstract class DatabaseCommand extends S1ASCommand 43 { 44 private final static String DB_HOST = "dbhost"; 45 private final static String DB_PORT = "dbport"; 46 47 protected String dbHost; 48 protected String dbPort; 49 protected String dbLocation; 50 protected String sJavaHome; 51 protected String sInstallRoot; 52 protected String sClasspath; 53 protected String sDatabaseClasspath; 54 55 59 protected void prepareProcessExecutor() throws Exception 60 { 61 dbHost = getOption(DB_HOST); 62 dbPort = getOption(DB_PORT); 63 checkIfPortIsValid(dbPort); 64 dbLocation = System.getProperty(SystemPropertyConstants.DERBY_ROOT_PROPERTY); 65 sJavaHome = System.getProperty(SystemPropertyConstants.JAVA_ROOT_PROPERTY); 66 sInstallRoot = System.getProperty(SystemPropertyConstants.INSTALL_ROOT_PROPERTY); 67 sClasspath = sInstallRoot+File.separator+"lib"+File.separator+ 69 "appserv-rt.jar"+File.pathSeparator+sInstallRoot+ 70 File.separator+"lib"+File.separator+"admin-cli.jar"; 71 sDatabaseClasspath = dbLocation+File.separator+"lib"+ 72 File.separator+"derby.jar"+ 73 File.pathSeparator+dbLocation+ 74 File.separator+"lib"+File.separator+ 75 "derbytools.jar"+File.pathSeparator+ 76 dbLocation+File.separator+"lib"+ 77 File.separator+"derbynet.jar"+ 78 File.pathSeparator+dbLocation+File.separator+ 79 "lib"+File.separator+"derbyclient.jar"; 80 } 81 82 83 86 private void checkIfPortIsValid(final String port) throws CommandValidationException 87 { 88 try 89 { 90 Integer.parseInt(port); 91 } 92 catch(Exception e) 93 { 94 throw new CommandValidationException(getLocalizedString("InvalidPortNumber", new Object [] {port})); 95 } 96 } 97 98 99 100 105 protected String [] pingDatabaseCmd(boolean bRedirect) throws Exception 106 { 107 if (OS.isDarwin()) { 108 return new String [] { 109 sJavaHome+File.separator+"bin"+File.separator+"java", 110 "-Djava.library.path="+sInstallRoot+File.separator+"lib", 111 "-Dderby.storage.fileSyncTransactionLog=True", 112 "-cp", 113 sClasspath + File.pathSeparator + sDatabaseClasspath, 114 "com.sun.enterprise.cli.commands.DerbyControl", 115 "ping", dbHost, dbPort, new Boolean (bRedirect).toString() 116 }; 117 } 118 else { 119 return new String [] { 120 sJavaHome+File.separator+"bin"+File.separator+"java", 121 "-Djava.library.path="+sInstallRoot+File.separator+"lib", 122 "-cp", 123 sClasspath + File.pathSeparator + sDatabaseClasspath, 124 "com.sun.enterprise.cli.commands.DerbyControl", 125 "ping", dbHost, dbPort, new Boolean (bRedirect).toString() 126 }; 127 } 128 } 129 } 130 | Popular Tags |