Example #1
0
        protected internal virtual ExpressionFactory CreateExpressionFactory()
        {
            Bpm.Engine.Impl.Core.Model.Properties properties = new Bpm.Engine.Impl.Core.Model.Properties();
            properties.properties.Add("camundafeel.javax.el.cacheSize", Convert.ToString(this.expressionCacheSize));

            try
            {
                return(new ExpressionFactoryImpl(properties, this.CreateTypeConverter()));
            }
            catch (ELException var3)
            {
                throw LOG.unableToInitializeFeelEngine(var3);
            }
        }
        protected internal override IList <DecisionDefinitionEntity> TransformDefinitions(DeploymentEntity deployment, ResourceEntity resource, Bpm.Engine.Impl.Core.Model.Properties properties)
        {
            IList <DecisionDefinitionEntity> decisions = new List <DecisionDefinitionEntity>();

            // get the decisions from the deployed drd instead of parse the DMN again
            DecisionRequirementsDefinitionEntity deployedDrd = FindDeployedDrdForResource(deployment, resource.Name);

            if (deployedDrd == null)
            {
                throw Log.ExceptionNoDrdForResource(resource.Name);
            }

            ICollection <IDmnDecision> decisionsOfDrd = deployedDrd.Decisions;

            foreach (IDmnDecision decisionOfDrd in decisionsOfDrd)
            {
                DecisionDefinitionEntity decisionEntity = (DecisionDefinitionEntity)decisionOfDrd;
                if (DecisionRequirementsDefinitionDeployer.IsDecisionRequirementsDefinitionPersistable(deployedDrd))
                {
                    decisionEntity.DecisionRequirementsDefinitionId  = deployedDrd.Id;
                    decisionEntity.DecisionRequirementsDefinitionKey = deployedDrd.Key;
                }

                decisions.Add(decisionEntity);
            }

            if (!DecisionRequirementsDefinitionDeployer.IsDecisionRequirementsDefinitionPersistable(deployedDrd))
            {
                deployment.RemoveArtifact(deployedDrd);
            }

            return(decisions);
        }
Example #3
0
        protected internal override IList <DecisionRequirementsDefinitionEntity> TransformDefinitions(DeploymentEntity deployment, ResourceEntity resource, Bpm.Engine.Impl.Core.Model.Properties properties)
        {
            byte[] bytes = resource.Bytes;
            System.IO.MemoryStream inputStream = new System.IO.MemoryStream(bytes);

            try
            {
                DecisionRequirementsDefinitionEntity drd = transformer.createTransform().modelInstance(inputStream).transformDecisionRequirementsGraph <DecisionRequirementsDefinitionEntity>();

                return(new List <DecisionRequirementsDefinitionEntity>()
                {
                    drd
                });
            }
            catch (System.Exception e)
            {
                throw Log.ExceptionParseDmnResource(resource.Name, e);
            }
        }