1 13 14 package org.ejbca.ui.cli; 15 16 import java.rmi.RemoteException ; 17 18 import javax.ejb.CreateException ; 19 import javax.naming.Context ; 20 import javax.naming.NamingException ; 21 22 import org.ejbca.core.ejb.upgrade.IUpgradeSessionHome; 23 import org.ejbca.core.ejb.upgrade.IUpgradeSessionRemote; 24 25 30 public class Upgrade extends BaseCommand { 31 32 35 public Upgrade() { 36 super(); 37 } 38 39 public boolean upgrade() { 40 debug(">upgrade"); 41 42 boolean ret = false; 43 String database = System.getProperty("ejbcaDB"); 44 debug("ejbcaDB="+database); 45 46 String upgradefrom31 = System.getProperty("ejbcaUpgradeFrom31"); 47 debug("ejbcaUpgradeFrom31="+database); 48 49 if (!appServerRunning()) { 51 error("The application server must be running."); 52 return false; 53 } 54 try { 56 IUpgradeSessionRemote upgradesession = getUpgradeSessionRemote(); 57 String [] args = new String [2]; 58 args[0] = database; 59 args[1] = upgradefrom31; 60 ret = upgradesession.upgrade(administrator, args); 61 } catch (Exception e) { 62 error("Can't upgrade: ", e); 63 ret = false; 64 } 65 66 debug("<upgrade"); 67 return ret; 68 } 69 70 protected IUpgradeSessionRemote getUpgradeSessionRemote() throws NamingException , CreateException , RemoteException { 71 Context ctx = getInitialContext(); 72 IUpgradeSessionHome home = (IUpgradeSessionHome) javax.rmi.PortableRemoteObject.narrow(ctx.lookup("UpgradeSession"), IUpgradeSessionHome.class ); 73 IUpgradeSessionRemote upgradesession = home.create(); 74 return upgradesession; 75 } 76 77 82 public static void main(String [] args) { 83 Upgrade upgrade = new Upgrade(); 84 try { 85 boolean ret = upgrade.upgrade(); 86 if (!ret) { 87 upgrade.error("Upgrade not performed, see server log for details."); 88 } else { 89 upgrade.info("Upgrade completed."); 90 } 91 } catch (Exception e) { 92 upgrade.error("Error doing upgrade: ", e); 94 System.exit(-1); 95 } 96 } 97 98 } 99 | Popular Tags |