[jbpm-commits] JBoss JBPM SVN: r3216 - in projects/balalaika/trunk: war/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 05:27:03 EST 2008
Author: heiko.braun at jboss.com
Date: 2008-12-05 05:27:03 -0500 (Fri, 05 Dec 2008)
New Revision: 3216
Modified:
projects/balalaika/trunk/core/src/main/java/org/jboss/balalaika/BirtEngineFactory.java
projects/balalaika/trunk/core/src/main/java/org/jboss/balalaika/BirtService.java
projects/balalaika/trunk/core/src/main/java/org/jboss/balalaika/IntegrationConfig.java
projects/balalaika/trunk/core/src/main/java/org/jboss/balalaika/RenderMetaData.java
projects/balalaika/trunk/war/src/main/java/org/jboss/balalaika/ReportFacade.java
Log:
Docs and comments
Modified: projects/balalaika/trunk/core/src/main/java/org/jboss/balalaika/BirtEngineFactory.java
===================================================================
--- projects/balalaika/trunk/core/src/main/java/org/jboss/balalaika/BirtEngineFactory.java 2008-12-05 10:02:33 UTC (rev 3215)
+++ projects/balalaika/trunk/core/src/main/java/org/jboss/balalaika/BirtEngineFactory.java 2008-12-05 10:27:03 UTC (rev 3216)
@@ -28,6 +28,8 @@
import org.eclipse.birt.core.exception.BirtException;
/**
+ * Constructs an {@link IReportEngine} from {@link org.jboss.balalaika.IntegrationConfig}
+ *
* @author Heiko.Braun <heiko.braun at jboss.com>
*/
public class BirtEngineFactory
Modified: projects/balalaika/trunk/core/src/main/java/org/jboss/balalaika/BirtService.java
===================================================================
--- projects/balalaika/trunk/core/src/main/java/org/jboss/balalaika/BirtService.java 2008-12-05 10:02:33 UTC (rev 3215)
+++ projects/balalaika/trunk/core/src/main/java/org/jboss/balalaika/BirtService.java 2008-12-05 10:27:03 UTC (rev 3216)
@@ -27,7 +27,16 @@
import org.apache.commons.logging.LogFactory;
/**
- * jBPM BIRT integration.
+ * Core BIRT service component. Requires to step through the lifecycle
+ * before it can be used:
+ * <ul>
+ * <li>create: constructs a BIRT engine and platform
+ * <li>start:
+ * <li>stop:
+ * <li>destroy: destroy engine and shutdown platform
+ *
+ * @see org.eclipse.birt.report.engine.api.IReportEngine#destroy()
+ * @see org.eclipse.birt.core.framework.Platform#shutdown()
*
* @author Heiko.Braun <heiko.braun at jboss.com>
*/
@@ -38,26 +47,35 @@
private IReportEngine engine;
private IntegrationConfig iConfig;
- public BirtService()
+ private enum State {NONE, CREATED, STARTED, STOPPED, DESTROYED};
+ private State currentState = State.NONE;
+
+ public BirtService(IntegrationConfig iConfig)
{
- // TODO: runtime configuration
- this.iConfig = new IntegrationConfig();
+ this.iConfig = iConfig;
}
public void create()
{
this.engine = BirtEngineFactory.newInstance(iConfig);
log.info("Service created: " +this.engine);
+ currentState = State.CREATED;
}
public void start()
{
-
+ if(currentState!=State.CREATED)
+ throw new IllegalStateException("Please call create lifecylce before starting the service");
+
+ currentState = State.STARTED;
}
public void stop()
{
+ if(currentState!=State.STARTED)
+ throw new IllegalStateException("Please call start lifecylce before stopping the service");
+ currentState = State.STOPPED;
}
public void destroy()
@@ -66,10 +84,14 @@
engine.destroy();
Platform.shutdown();
log.info("Service destroyed");
+ currentState = State.DESTROYED;
}
public String render(RenderMetaData metaData)
{
+ if( (currentState==State.CREATED || currentState==State.STARTED) == false)
+ throw new IllegalStateException("Cannot render in state " + currentState);
+
String outputFileName = null;
log.debug("Render " + metaData);
@@ -146,4 +168,9 @@
{
return reportFile.substring( 0, reportFile.indexOf("."));
}
+
+ public State getCurrentState()
+ {
+ return currentState;
+ }
}
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 10:02:33 UTC (rev 3215)
+++ projects/balalaika/trunk/core/src/main/java/org/jboss/balalaika/IntegrationConfig.java 2008-12-05 10:27:03 UTC (rev 3216)
@@ -22,6 +22,8 @@
package org.jboss.balalaika;
/**
+ * Adopts an integration layout (i.e. working directories) to BIRT configuration.
+ *
* @author Heiko.Braun <heiko.braun at jboss.com>
*/
public class IntegrationConfig
Modified: projects/balalaika/trunk/core/src/main/java/org/jboss/balalaika/RenderMetaData.java
===================================================================
--- projects/balalaika/trunk/core/src/main/java/org/jboss/balalaika/RenderMetaData.java 2008-12-05 10:02:33 UTC (rev 3215)
+++ projects/balalaika/trunk/core/src/main/java/org/jboss/balalaika/RenderMetaData.java 2008-12-05 10:27:03 UTC (rev 3216)
@@ -22,6 +22,8 @@
package org.jboss.balalaika;
/**
+ * Drives a {@link org.jboss.balalaika.BirtService#render(RenderMetaData)} call.
+ *
* @author Heiko.Braun <heiko.braun at jboss.com>
*/
public class RenderMetaData
Modified: projects/balalaika/trunk/war/src/main/java/org/jboss/balalaika/ReportFacade.java
===================================================================
--- projects/balalaika/trunk/war/src/main/java/org/jboss/balalaika/ReportFacade.java 2008-12-05 10:02:33 UTC (rev 3215)
+++ projects/balalaika/trunk/war/src/main/java/org/jboss/balalaika/ReportFacade.java 2008-12-05 10:27:03 UTC (rev 3216)
@@ -48,7 +48,9 @@
public ReportFacade()
{
- this.birtService = new BirtService();
+ // TODO: external configuration
+ IntegrationConfig iConfig = new IntegrationConfig();
+ this.birtService = new BirtService(iConfig);
this.birtService.create();
}
More information about the jbpm-commits
mailing list