KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > ejbca > ui > cli > Upgrade


1 /*************************************************************************
2  * *
3  * EJBCA: The OpenSource Certificate Authority *
4  * *
5  * This software is free software; you can redistribute it and/or *
6  * modify it under the terms of the GNU Lesser General Public *
7  * License as published by the Free Software Foundation; either *
8  * version 2.1 of the License, or any later version. *
9  * *
10  * See terms of license at gnu.org. *
11  * *
12  *************************************************************************/

13  
14 package org.ejbca.ui.cli;
15
16 import java.rmi.RemoteException JavaDoc;
17
18 import javax.ejb.CreateException JavaDoc;
19 import javax.naming.Context JavaDoc;
20 import javax.naming.NamingException JavaDoc;
21
22 import org.ejbca.core.ejb.upgrade.IUpgradeSessionHome;
23 import org.ejbca.core.ejb.upgrade.IUpgradeSessionRemote;
24
25 /**
26  * Implements call to the upgrade function
27  *
28  * @version $Id: Upgrade.java,v 1.4 2007/01/12 09:42:54 anatom Exp $
29  */

30 public class Upgrade extends BaseCommand {
31
32     /**
33      *
34      */

35     public Upgrade() {
36         super();
37     }
38     
39     public boolean upgrade() {
40         debug(">upgrade");
41         
42         boolean ret = false;
43         String JavaDoc database = System.getProperty("ejbcaDB");
44         debug("ejbcaDB="+database);
45         
46         String JavaDoc upgradefrom31 = System.getProperty("ejbcaUpgradeFrom31");
47         debug("ejbcaUpgradeFrom31="+database);
48         
49         // Check prerequisited
50
if (!appServerRunning()) {
51            error("The application server must be running.");
52            return false;
53         }
54        // Upgrade the database
55
try {
56           IUpgradeSessionRemote upgradesession = getUpgradeSessionRemote();
57           String JavaDoc[] args = new String JavaDoc[2];
58           args[0] = database;
59           args[1] = upgradefrom31;
60           ret = upgradesession.upgrade(administrator, args);
61        } catch (Exception JavaDoc 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 JavaDoc, CreateException JavaDoc, RemoteException JavaDoc {
71         Context JavaDoc 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     /**
78      * main Upgrade
79      *
80      * @param args command line arguments
81      */

82     public static void main(String JavaDoc[] 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 JavaDoc e) {
92             //System.out.println(e.getMessage());
93
upgrade.error("Error doing upgrade: ", e);
94             System.exit(-1);
95         }
96     }
97
98 }
99
Popular Tags