cancel
Showing results for 
Search instead for 
Did you mean: 

Validation in Expressions Bug

rodolfobarbeiro
Champ in-the-making
Champ in-the-making
Hi,

BPMN processes with empty expressions are not deployed and no error occurs. The Activiti indicates that it has successfully deployed, but this does not happen really.

I'm using Activiti 5.9.

Example:


<exclusiveGateway id="invokeOsgiServiceCheckResult" name="Exclusive Gateway" />
                  
<sequenceFlow id="invokeOsgiServiceCheckResultConditionTrue" sourceRef="invokeOsgiServiceCheckResult" targetRef="waitState">
   <conditionExpression xsi:type="tFormalExpression">${}</conditionExpression>
</sequenceFlow>


Expressions malformed or empty should not be validated?

This bug is known?

Thanks!
1 REPLY 1

frederikherema1
Star Contributor
Star Contributor
Validated this, and indeed, the deployment doesn't fail and the process is not deployed.
https://jira.codehaus.org/browse/ACT-1391

An error is logged, but no exception is thrown:

14:46:22,026 SEV  | Unknown exception
org.activiti.engine.impl.juel.TreeBuilderException: Error parsing '${}': syntax error at position 2, encountered '}', expected <IDENTIFIER>|<STRING>|<FLOAT>|<INTEGER>|'true'|'false'|'null'|'-'|'!'|'not'|'empty'|'('
at org.activiti.engine.impl.juel.Builder.build(Builder.java:99)
at org.activiti.engine.impl.juel.TreeStore.get(TreeStore.java:61)
at org.activiti.engine.impl.juel.TreeValueExpression.<init>(TreeValueExpression.java:62)
at org.activiti.engine.impl.juel.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:428)
at org.activiti.engine.impl.juel.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:73)
at org.activiti.engine.impl.el.ExpressionManager.createExpression(ExpressionManager.java:65)
at org.activiti.engine.impl.bpmn.parser.BpmnParse.parseSequenceFlowConditionExpression(BpmnParse.java:3012)
at org.activiti.engine.impl.bpmn.parser.BpmnParse.parseSequenceFlow(BpmnParse.java:2981)
at org.activiti.engine.impl.bpmn.parser.BpmnParse.parseScope(BpmnParse.java:677)
at org.activiti.engine.impl.bpmn.parser.BpmnParse.parseProcess(BpmnParse.java:600)
at org.activiti.engine.impl.bpmn.parser.BpmnParse.parseProcessDefinitions(BpmnParse.java:540)
at org.activiti.engine.impl.bpmn.parser.BpmnParse.parseRootElement(BpmnParse.java:255)
at org.activiti.engine.impl.bpmn.parser.BpmnParse.execute(BpmnParse.java:227)
at org.activiti.engine.impl.bpmn.deployer.BpmnDeployer.deploy(BpmnDeployer.java:90)
at org.activiti.engine.impl.persistence.deploy.DeploymentCache.deploy(DeploymentCache.java:38)
at org.activiti.engine.impl.persistence.entity.DeploymentManager.insertDeployment(DeploymentManager.java:42)
at org.activiti.engine.impl.cmd.DeployCmd.execute(DeployCmd.java:59)
at org.activiti.engine.impl.cmd.DeployCmd.execute(DeployCmd.java:31)
at org.activiti.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24)
at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:42)
at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:38)
at org.activiti.engine.impl.RepositoryServiceImpl.deploy(RepositoryServiceImpl.java:55)
at org.activiti.engine.impl.repository.DeploymentBuilderImpl.deploy(DeploymentBuilderImpl.java:106)
at org.activiti.engine.impl.test.TestHelper.annotationDeploymentSetUp(TestHelper.java:98)
at org.activiti.engine.impl.test.AbstractActivitiTestCase.runBare(AbstractActivitiTestCase.java:93)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
  [org.activiti.engine.impl.bpmn.parser.BpmnParse]