Carol.java

00001 
00027 package org.objectweb.jonas.ant.jonasbase;
00028 
00029 import org.objectweb.jonas.ant.JOnASBaseTask;
00030 
00035 public class Carol extends Tasks {
00036 
00040     private static final String INFO = "[Carol] ";
00041 
00045     private static final String PROTOCOLS_PROPERTY = "carol.protocols";
00046 
00050     private static final String DEFAULT_PROTOCOLS = "jrmp";
00051 
00055     private static final String DEFAULT_HOST = "localhost";
00056 
00060     private static final String PROTOCOL_HEADER = "://";
00061 
00065     private static final String DEFAULT_JRMP_PORT = "1099";
00066 
00070     private static final String DEFAULT_JEREMIE_PORT = "2000";
00071 
00075     private static final String DEFAULT_IIOP_PORT = "2001";
00076 
00080     private static final String DEFAULT_CMI_PORT = "2002";
00081 
00085     private static final String OPTIMIZATION_PROPERTY = "carol.jvm.rmi.local.call=";
00086 
00090     private static final String OPTIMIZATION_OFF = OPTIMIZATION_PROPERTY + "false";
00091 
00095     private static final String OPTIMIZATION_ON = OPTIMIZATION_PROPERTY + "true";
00096 
00100     public Carol() {
00101         super();
00102     }
00103 
00112     private void setURL(String protocolName, String hostName, String portNumber, String protocolUrl, String token) {
00113         String url = null;
00114 
00115         // Token to replace
00116         token = protocolName + PROTOCOL_HEADER + DEFAULT_HOST + ":" + token;
00117 
00118         if (protocolUrl != null) {
00119             url = protocolUrl;
00120         } else {
00121             url = protocolName + PROTOCOL_HEADER + hostName + ":" + portNumber;
00122         }
00123         JReplace propertyReplace = new JReplace();
00124         propertyReplace.setLogInfo(INFO + "Setting URL for protocol '" + protocolName + "' to : " + url);
00125         propertyReplace.setConfigurationFile(JOnASBaseTask.CAROL_CONF_FILE);
00126         propertyReplace.setToken(token);
00127         propertyReplace.setValue(url);
00128         addTask(propertyReplace);
00129     }
00130 
00135     public void setJrmpPort(String portNumber) {
00136         setURL("rmi", DEFAULT_HOST, portNumber, null, DEFAULT_JRMP_PORT);
00137     }
00138 
00143     public void setJeremiePort(String portNumber) {
00144         setURL("jrmi", DEFAULT_HOST, portNumber, null, DEFAULT_JEREMIE_PORT);
00145     }
00146 
00151     public void setIiopPort(String portNumber) {
00152         setURL("iiop", DEFAULT_HOST, portNumber, null, DEFAULT_IIOP_PORT);
00153     }
00154 
00159     public void setCmiPort(String portNumber) {
00160         setURL("cmi", DEFAULT_HOST, portNumber, null, DEFAULT_CMI_PORT);
00161     }
00162 
00167     public void setDefaultPort(String portNumber) {
00168         setJrmpPort(portNumber);
00169         setJeremiePort(portNumber);
00170         setIiopPort(portNumber);
00171         setCmiPort(portNumber);
00172     }
00173 
00178     public void setProtocols(String protocols) {
00179         JReplace propertyReplace = new JReplace();
00180         propertyReplace.setConfigurationFile(JOnASBaseTask.CAROL_CONF_FILE);
00181         propertyReplace.setToken(PROTOCOLS_PROPERTY + "=" + DEFAULT_PROTOCOLS);
00182         propertyReplace.setValue(PROTOCOLS_PROPERTY + "=" + protocols);
00183         propertyReplace.setLogInfo(INFO + "Setting protocols to : " + protocols);
00184         addTask(propertyReplace);
00185     }
00186 
00191     public void setJrmpOptimization(boolean enabled) {
00192         // Change only if needed
00193         if (!enabled) {
00194             return;
00195         }
00196         JReplace propertyReplace = new JReplace();
00197         propertyReplace.setConfigurationFile(JOnASBaseTask.CAROL_CONF_FILE);
00198         propertyReplace.setToken(OPTIMIZATION_OFF);
00199         propertyReplace.setValue(OPTIMIZATION_ON);
00200         propertyReplace.setLogInfo(INFO + "Enable JRMP optimization");
00201         addTask(propertyReplace);
00202     }
00203 
00204 }

Generated on Tue Feb 15 15:05:13 2005 for JOnAS by  doxygen 1.3.9.1