Author: mriou
Date: Tue Sep 26 12:11:19 2006
New Revision: 450151

URL: http://svn.apache.org/viewvc?view=rev&rev=450151
Log:
Support for external working directory. Ode can use any directory (instead of 
the ones directly included in the WAR file) for the deployed processes and the 
database (when the embedded one is used). Just set the ode-axis2.working.dir 
property in ode-axis2.properties. The embedded database must be copied to this 
directory before starting if it's used.

Modified:
    
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEConfigProperties.java
    incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
    
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java

Modified: 
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEConfigProperties.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEConfigProperties.java?view=diff&rev=450151&r1=450150&r2=450151
==============================================================================
--- 
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEConfigProperties.java
 (original)
+++ 
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEConfigProperties.java
 Tue Sep 26 12:11:19 2006
@@ -43,6 +43,7 @@
     private static final String PROP_POOL_MAX = "ode-axis2.db.pool.max";
     private static final String PROP_POOL_MIN = "ode-axis2.db.pool.min";
     private static final String PROP_CONNECTOR_PORT = "ode-axis2.jca.port";
+    private static final String PROP_WORKING_DIR = "ode-axis2.working.dir";
 
     private File _installDir;
 
@@ -123,6 +124,10 @@
 
     public int getConnectorPort() {
         return 
Integer.valueOf(getProperty(ODEConfigProperties.PROP_CONNECTOR_PORT,"2099"));
+    }
+
+    public String getWorkingDir() {
+        return getProperty(ODEConfigProperties.PROP_WORKING_DIR);
     }
 
 }

Modified: 
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java?view=diff&rev=450151&r1=450150&r2=450151
==============================================================================
--- incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java 
(original)
+++ incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java 
Tue Sep 26 12:11:19 2006
@@ -80,6 +80,7 @@
     private static final Messages __msgs = 
Messages.getMessages(Messages.class);
 
     private File _appRoot;
+    private File _workRoot;
 
     private BpelServerImpl _server;
     private ODEConfigProperties _odeConfig;
@@ -104,6 +105,10 @@
         _odeConfig = new ODEConfigProperties(_appRoot);
         _odeConfig.load();
 
+        String wdir = _odeConfig.getWorkingDir();
+        if (wdir == null) _workRoot = _appRoot;
+        else _workRoot = new File(wdir.trim());
+
         __log.debug("Initializing transaction manager");
         initTxMgr();
 
@@ -128,11 +133,12 @@
         __log.debug("Initializing JCA adapter.");
         initConnector();
 
-        File deploymentDir = new File(_appRoot, "processes");
+        File deploymentDir = new File(_workRoot, "processes");
         _poller = new DeploymentPoller(deploymentDir, this);
 
         new ManagementService().enableService(_axisConfig, _server, 
_appRoot.getAbsolutePath());
-        new DeploymentWebService().enableService(_axisConfig, _server, 
_poller, _appRoot.getAbsolutePath());
+        new DeploymentWebService().enableService(_axisConfig, _server, _poller,
+                _appRoot.getAbsolutePath(), _workRoot.getAbsolutePath());
 
         _poller.start();
         __log.info(__msgs.msgPollingStarted(deploymentDir.getAbsolutePath()));
@@ -333,7 +339,7 @@
     private void initEmbeddedDb() throws ServletException {
         __log.info("Using DataSource Derby");
 
-        String url = "jdbc:derby:" + _appRoot + "/" + 
_odeConfig.getDbEmbeddedName();
+        String url = "jdbc:derby:" + _workRoot + "/" + 
_odeConfig.getDbEmbeddedName();
 
         __log.debug("creating Minerva pool for " + url);
 

Modified: 
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java?view=diff&rev=450151&r1=450150&r2=450151
==============================================================================
--- 
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java
 (original)
+++ 
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java
 Tue Sep 26 12:11:19 2006
@@ -66,8 +66,8 @@
     private DeploymentPoller _poller;
 
     public void enableService(AxisConfiguration axisConfig, BpelServer server,
-                              DeploymentPoller poller, String rootpath) {
-        _deployPath = new File(rootpath, "processes");
+                              DeploymentPoller poller, String rootpath, String 
workPath) {
+        _deployPath = new File(workPath, "processes");
         _service = server.getDeploymentService();
 
         Definition def;


Reply via email to