Deploying a process with illegal expression doesn't cause deployment to fail

Description

Deploying a process with illegal expression doesn't cause deployment to fail. It logs an exception, however, but whole deployment should fail:

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]

Environment

None

Assignee

Frederik Heremans

Reporter

Frederik Heremans

Labels

None

Fix versions

Priority

Major
Configure