[overlord-commits] Overlord SVN: r1034 - report-server/trunk/core/src/main/java/org/jboss/bpm/report.

overlord-commits at lists.jboss.org overlord-commits at lists.jboss.org
Tue Apr 20 08:13:59 EDT 2010


Author: heiko.braun at jboss.com
Date: 2010-04-20 08:13:58 -0400 (Tue, 20 Apr 2010)
New Revision: 1034

Modified:
   report-server/trunk/core/src/main/java/org/jboss/bpm/report/ReportFacade.java
Log:
BPMC-63: report server dir under tomcat

Modified: report-server/trunk/core/src/main/java/org/jboss/bpm/report/ReportFacade.java
===================================================================
--- report-server/trunk/core/src/main/java/org/jboss/bpm/report/ReportFacade.java	2010-04-20 12:13:22 UTC (rev 1033)
+++ report-server/trunk/core/src/main/java/org/jboss/bpm/report/ReportFacade.java	2010-04-20 12:13:58 UTC (rev 1034)
@@ -83,12 +83,12 @@
   {
     if(!isInitialized)
     {
-      File serverDataDir = resolveDataDir();
+      File serverDataDir = resolveBirtDataDir();
 
       IntegrationConfig iConfig = new IntegrationConfig();      
       String absServerDataDir = serverDataDir.getAbsolutePath();
 
-      String birtDataDir = absServerDataDir + "/birt";
+      String birtDataDir = absServerDataDir;
       String defaultBirtHome = birtDataDir + "/ReportEngine";
       String birtOutputDir = birtDataDir + "/output";
 
@@ -123,23 +123,39 @@
     }
   }
 
-  private File resolveDataDir()
+  private File resolveBirtDataDir()
   {
     JMXServerConfig jmxConfig = null;
     File serverDataDir = null;
+    
+    // first verify if custom location of BIRT is given
+    if (System.getProperty("org.jbpm.report.engine.dir") != null) {
+      if (log.isDebugEnabled()) {
+        log.debug("Checks custom location defined with JVM parameter '-Dorg.jbpm.report.engine.dir' = " + System.getProperty("org.jbpm.report.engine.dir"));
+      }
+      serverDataDir = new File(System.getProperty("org.jbpm.report.engine.dir"));
+      
+      // file must exist
+      if (serverDataDir != null && serverDataDir.exists()){
+        return serverDataDir;
+      }
+    }
+    
     try
     {
+      // next rely on JBoss specific settings
       jmxConfig = new JMXServerConfig();
-      serverDataDir = jmxConfig.getServerDataDir();
+      serverDataDir = new File(jmxConfig.getServerDataDir(), "birt");
     }
     catch (Exception e)
     {
+      // last rely on Tomcat settings
       // fallback on on CATALINA_HOME or blow up
       log.warn("Resolving serverDataDir based on -Dcatalina.home");
       if(System.getProperty("catalina.home")!=null)
-        serverDataDir = new File(System.getProperty("catalina.home"));
+        serverDataDir = new File(System.getProperty("catalina.home") + "/birt");
       else
-        throw new IllegalStateException("Neither JMX config nor '-Dcatalina.home' available to resolve serverDataDir");
+        throw new IllegalStateException("Neither JMX config nor '-Dcatalina.home' nor '-Dorg.jbpm.report.engine.dir' available to resolve serverDataDir");
     }
 
     return serverDataDir;



More information about the overlord-commits mailing list