KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > bull > eclipse > jonas > Jonas40Bootstrap


1 package com.bull.eclipse.jonas;
2
3 /*
4  * (c) Copyright Bull SA 2003.
5  * All Rights Reserved.
6  */

7
8 import java.io.File JavaDoc;
9 import java.util.Vector JavaDoc;
10
11 import org.eclipse.core.runtime.IPath;
12 import org.eclipse.core.runtime.Path;
13
14 import com.bull.eclipse.jonas.utils.TemplateDirUtil;
15 import com.bull.eclipse.jonas.utils.VMLauncherUtility;
16
17
18 /**
19  * See %JONAS_ROOT/bin/nt/jonas.bat
20  */

21 public class Jonas40Bootstrap extends JonasBootstrap {
22     
23     private String JavaDoc startCommand = "org.objectweb.jonas.server.Server";
24     private String JavaDoc adminCommand = "org.objectweb.jonas.adm.JonasAdmin";
25     private String JavaDoc mainClass = "org.objectweb.jonas.server.Bootstrap";
26     /*
27      * @see JonasBootstrap#getClasspath()
28      */

29     public String JavaDoc[] getClasspath() {
30         String JavaDoc[] classpath = new String JavaDoc[4];
31         classpath[0] = getJonasDir() + File.separator + "lib" + File.separator + "common" + File.separator + "ow_jonas_bootstrap.jar";
32         // Add tools.jar JDK file to classpath
33
String JavaDoc toolsJarLocation = VMLauncherUtility.getVMInstall().getInstallLocation() + File.separator + "lib" + File.separator + "tools.jar";
34         classpath[1] = toolsJarLocation;
35         String JavaDoc templateDir = TemplateDirUtil.getTemplateDir();
36         classpath[2] = templateDir;
37         String JavaDoc jonasConfig = getJonasDir() + File.separator + "conf";
38         classpath[3] = jonasConfig;
39
40         return classpath;
41     }
42
43
44     /*
45      * @see JonasBootstrap#getMainClass()
46      */

47     public String JavaDoc getMainClass() {
48         return mainClass;
49     }
50
51     /*
52      * @see JonasBootstrap#getStartCommand()
53      */

54     public String JavaDoc getStartCommand() {
55         return startCommand;
56     }
57
58     /*
59      * @see JonasBootstrap#getStopCommand()
60      */

61     public String JavaDoc getStopCommand() {
62         return adminCommand;
63
64     }
65
66     public String JavaDoc getAdminCommand() {
67         return adminCommand;
68
69     }
70
71     public String JavaDoc[] getPrgArgs(String JavaDoc command,String JavaDoc[] options) {
72         if ((command.equals(adminCommand)) && (options == null)) {
73             // Stop JOnAS
74
String JavaDoc[] prgArgs = new String JavaDoc[2];
75             prgArgs[0] = adminCommand;
76             prgArgs[1] = "-s";
77             return prgArgs;
78         } else {
79             if (options != null) {
80                 int nbOptions = options.length;
81                 String JavaDoc [] prgArgs = new String JavaDoc[nbOptions + 1];
82                 prgArgs[0] = adminCommand;
83                 for (int i=0; i<nbOptions; i++) {
84                         JonasLauncherPlugin.log("Option " + i + " =" + options[i]);
85                         prgArgs[i+1] = options[i];
86                 }
87                 return prgArgs;
88             } else {
89                 // On démarre JOnAS
90
String JavaDoc[] prgArgs = new String JavaDoc[1];
91                 prgArgs[0] = command;
92                 return prgArgs;
93             }
94         }
95     
96         
97     }
98
99
100     /*
101      * @see JonasBootstrap#getVmArgs()
102      */

103     public String JavaDoc[] getVmArgs() {
104         String JavaDoc[] vmArgs = new String JavaDoc[8];
105         
106         vmArgs[0] = "-Dinstall.root=" + getJonasDir();
107     
108         vmArgs[1] = "-Djava.security.policy=" + getJonasDir() + File.separator + "conf" + File.separator + "java.policy";
109         vmArgs[2] = "-Dobjectweb.orb=";
110         vmArgs[3] = "-Djonas.base=" + getBaseDir();
111         vmArgs[4] = "-Djonas.classpath=" + getXtraClasspath();
112         vmArgs[5] = "-Djonas.default.classloader=true";
113         vmArgs[6] = "-Djavax.rmi.CORBA.PortableRemoteObjectClass=org.objectweb.carol.rmi.multi.MultiPRODelegate";
114         vmArgs[7] = "-Djava.naming.factory.initial=org.objectweb.carol.jndi.spi.MultiOrbInitialContextFactory";
115                     
116         return vmArgs;
117     }
118
119     
120     /**
121      * @see JonasBootstrap#getLabel()
122      */

123     public String JavaDoc getLabel() {
124         return "Jonas 4.x.x";
125     }
126
127     /**
128      * @see JonasBootstrap#getJonasRMIJarPath()
129      */

130     public Vector JavaDoc getJonasJarPath() {
131         Vector JavaDoc vec = new Vector JavaDoc();
132         IPath libPath = new Path("lib").append("jonas.jar");
133         vec.add(libPath);
134         return vec;
135     }
136     
137
138     /**
139      * @see JonasBootstrap#getJonasWebJarPath()
140      */

141     public Vector JavaDoc getJonasWebJarPath() {
142         Vector JavaDoc vec = new Vector JavaDoc();
143         IPath libPath = new Path("lib").append("web_catalina.jar");
144         vec.add(libPath);
145         
146         return vec;
147     }
148 }
149
150
Popular Tags