[jbpm-commits] JBoss JBPM SVN: r3223 - in projects/balalaika/trunk: server/src/main/java/org/jboss/balalaika and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Dec 5 09:10:55 EST 2008


Author: heiko.braun at jboss.com
Date: 2008-12-05 09:10:55 -0500 (Fri, 05 Dec 2008)
New Revision: 3223

Modified:
   projects/balalaika/trunk/core/src/main/java/org/jboss/balalaika/IntegrationConfig.java
   projects/balalaika/trunk/server/src/main/java/org/jboss/balalaika/ReportFacade.java
Log:
Expect BIRT_HOME to be server/<config>/data/birt/ReportEngine

Modified: projects/balalaika/trunk/core/src/main/java/org/jboss/balalaika/IntegrationConfig.java
===================================================================
--- projects/balalaika/trunk/core/src/main/java/org/jboss/balalaika/IntegrationConfig.java	2008-12-05 13:36:50 UTC (rev 3222)
+++ projects/balalaika/trunk/core/src/main/java/org/jboss/balalaika/IntegrationConfig.java	2008-12-05 14:10:55 UTC (rev 3223)
@@ -28,7 +28,7 @@
  */
 public class IntegrationConfig
 {
-   private String birtHome = "/Users/hbraun/dev/env/birt-runtime-2_2_2/ReportEngine/";
+   private String birtHome = null;
    private String reportDir = null;   
    private String outputDir = null;
    private String imageBaseUrl = null;

Modified: projects/balalaika/trunk/server/src/main/java/org/jboss/balalaika/ReportFacade.java
===================================================================
--- projects/balalaika/trunk/server/src/main/java/org/jboss/balalaika/ReportFacade.java	2008-12-05 13:36:50 UTC (rev 3222)
+++ projects/balalaika/trunk/server/src/main/java/org/jboss/balalaika/ReportFacade.java	2008-12-05 14:10:55 UTC (rev 3223)
@@ -37,8 +37,21 @@
 import java.io.InputStream;
 
 /**
- * BIRT integration facade.
+ * BIRT integration facade.<p>
  *
+ * Uses the server data directory (i.e. <code>$JBOSS_HOME/server/default/data/birt</code>)
+ * as it's work directory (referred to as $WORK_DIR in the subsequent sections):
+ *
+ * <ul>
+ *    <li>report template location: $WORK_DIR/
+ *    <li>output directory: $WORK_DIR/output
+ * </ul>
+ * 
+ * NOTE: It requires a BIRT report engine to be installed in the work directory:
+ * (<code>$WORK_DIR/ReportEngine</code>.
+ *
+ * @see org.jboss.balalaika.JMXServerConfig
+ * 
  * @author Heiko.Braun <heiko.braun at jboss.com>
  */
 @Path("report")
@@ -48,21 +61,31 @@
    private BirtService birtService;
    private boolean isInitialized;
  
-   public void lazyInitialize(HttpServletRequest request)
+   public void lazyInitialize(HttpServletRequest request)         
    {
       if(!isInitialized)
       {
          JMXServerConfig jmxConfig = new JMXServerConfig();
          IntegrationConfig iConfig = new IntegrationConfig();
 
-         File dataDir = jmxConfig.getServerDataDir();
-         String birtDataDir = dataDir.getAbsolutePath() + "/birt";
-         String outputDir = birtDataDir + "/output";
+         File severDataDir = jmxConfig.getServerDataDir();
+         String absServerDataDir = severDataDir.getAbsolutePath();
 
-         File birtOutput = new File(outputDir);
+         String birtDataDir = absServerDataDir + "/birt";
+         String defaultBirtHome = birtDataDir + "/ReportEngine";         
+         String birtOutputDir = birtDataDir + "/output";
+
+         File birtOutput = new File(birtOutputDir);
          birtOutput.mkdirs(); // will create parent directoy as well
 
-         iConfig.setOutputDir(outputDir);
+         // check dependency on ReportEngine
+         if(! new File(defaultBirtHome).exists())
+            throw new IllegalStateException("The BIRT report engine doesn't seem to be installed:" +defaultBirtHome);
+
+         // --
+
+         iConfig.setBirtHome(defaultBirtHome);
+         iConfig.setOutputDir( birtOutputDir );
          iConfig.setReportDir( birtDataDir );
 
          StringBuffer sb = new StringBuffer();
@@ -156,5 +179,4 @@
          throw new RuntimeException("Failed to read file " + file);
       }
    }
-
 }




More information about the jbpm-commits mailing list