[jboss-svn-commits] JBL Code SVN: r11653 - labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/impl/facades.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu May 3 17:57:36 EDT 2007
Author: estebanschifman
Date: 2007-05-03 17:57:36 -0400 (Thu, 03 May 2007)
New Revision: 11653
Modified:
labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/impl/facades/DeployProcessDefinitionFacade.java
Log:
Don't cache process definition when it comes from file
Modified: labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/impl/facades/DeployProcessDefinitionFacade.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/impl/facades/DeployProcessDefinitionFacade.java 2007-05-03 21:54:19 UTC (rev 11652)
+++ labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actions/impl/facades/DeployProcessDefinitionFacade.java 2007-05-03 21:57:36 UTC (rev 11653)
@@ -24,6 +24,7 @@
import java.io.InputStream;
+import org.apache.log4j.Logger;
import org.jboss.soa.esb.ConfigurationException;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
@@ -47,18 +48,18 @@
public DeployProcessDefinitionFacade(ConfigTree config) throws ConfigurationException
{
- String filename=config.getAttribute(Constants.PROCESS_DEFINITION_FILE_TAG);
+ _fileName=config.getAttribute(Constants.PROCESS_DEFINITION_FILE_TAG);
ConfigTree[] childs = config.getChildren(Constants.PROCESS_DEFINITION_XML_TAG);
- if (null!=filename)
+ if (null!=_fileName)
{
if (childs.length>0)
throw new ConfigurationException
("You can specify ither '"+Constants.PROCESS_DEFINITION_FILE_TAG+"' attribute OR "
+Constants.PROCESS_DEFINITION_XML_TAG+"> element, but not both");
- InputStream stream = ClassUtil.getResourceAsStream(filename, BpmProcessor.class);
- _processDef = ProcessDefinition.parseXmlInputStream(stream);
+ InputStream stream = ClassUtil.getResourceAsStream(_fileName, BpmProcessor.class);
+ _validProcessDef = ProcessDefinition.parseXmlInputStream(stream);
return;
}
@@ -84,7 +85,7 @@
final String xmlString = sb.append(def[0].toString()).toString();
try
{
- _processDef = ProcessDefinition.parseXmlString(xmlString);
+ _validProcessDef = ProcessDefinition.parseXmlString(xmlString);
}
catch (Exception e)
{
@@ -94,7 +95,18 @@
public void preFormat(Message message)
{
- message.getBody().add(Constants.PROCESS_DEFINITION, _processDef);
+ if (null!= _fileName)
+ try
+ {
+ InputStream stream = ClassUtil.getResourceAsStream(_fileName, BpmProcessor.class);
+ _validProcessDef = ProcessDefinition.parseXmlInputStream(stream);
+ }
+ catch (Exception e)
+ {
+ _logger.info("Keeping previous process definition");
+ _logger.error("Invalid process definition file <"+_fileName+">",e);
+ }
+ message.getBody().add(Constants.PROCESS_DEFINITION, _validProcessDef);
} // ________________________________
public Message postFormat(Message message)
@@ -103,5 +115,7 @@
return message;
} // ________________________________
- ProcessDefinition _processDef;
+ protected String _fileName;
+ protected ProcessDefinition _validProcessDef;
+ private static final Logger _logger = Logger.getLogger(DeployProcessDefinitionFacade.class);
}
More information about the jboss-svn-commits
mailing list