Class SpelFormulaService

java.lang.Object
fr.becpg.repo.formulation.spel.SpelFormulaService

@Service("formulaService") public class SpelFormulaService extends Object

SpelFormulaService class.

Version:
$Id: $Id
Author:
matthieu
  • Field Details

    • logger

      private static final org.apache.commons.logging.Log logger
    • systemConfigurationService

      @Autowired private SystemConfigurationService systemConfigurationService
    • securityMethodBeforeAdvice

      @Autowired private SecurityMethodBeforeAdvice securityMethodBeforeAdvice
    • alfrescoRepository

      @Autowired private AlfrescoRepository<RepositoryEntity> alfrescoRepository
    • customSpelFunctions

      @Autowired private CustomSpelFunctions[] customSpelFunctions
    • parser

      private static final org.springframework.expression.ExpressionParser parser
    • EXPRESSION_CACHE_MAX_SIZE

      private static final int EXPRESSION_CACHE_MAX_SIZE
      See Also:
    • expressionCache

      private final Map<String,org.springframework.expression.Expression> expressionCache
    • TYPE_NOT_AUTHORIZED

      private static final String TYPE_NOT_AUTHORIZED
      See Also:
    • FORBIDDEN_TYPES

      private static final List<String> FORBIDDEN_TYPES
  • Constructor Details

    • SpelFormulaService

      public SpelFormulaService()
  • Method Details

    • parseExpression

      public org.springframework.expression.Expression parseExpression(String formula)

      parseExpression.

      Parameters:
      formula - a String object
      Returns:
      a cached or newly parsed Expression
    • registerCustomFunctions

      private <T extends RepositoryEntity> void registerCustomFunctions(T entity, org.springframework.expression.spel.support.StandardEvaluationContext context)
    • createSecurityProxy

      public <T extends RepositoryEntity> T createSecurityProxy(T entity)

      createSecurityProxy.

      Type Parameters:
      T - a T class
      Parameters:
      entity - a T object.
      Returns:
      a T object.
    • getSpelParser

      public org.springframework.expression.ExpressionParser getSpelParser()

      getSpelParser.

      Returns:
      a ExpressionParser object
    • createSpelContext

      public org.springframework.expression.spel.support.StandardEvaluationContext createSpelContext(@Nullable Object rootObject)

      createSpelContext.

      Parameters:
      rootObject - a Object object
      Returns:
      a StandardEvaluationContext object
    • createEntitySpelContext

      public <T extends RepositoryEntity> org.springframework.expression.spel.support.StandardEvaluationContext createEntitySpelContext(T entity)

      createEntitySpelContext.

      Type Parameters:
      T - a T class
      Parameters:
      entity - a T object.
      Returns:
      a StandardEvaluationContext object.
    • createDataListItemSpelContext

      private <T extends RepositoryEntity> org.springframework.expression.spel.support.StandardEvaluationContext createDataListItemSpelContext(T entity, RepositoryEntity dataListItem, boolean applySecurity)
    • createDataListItemSpelContext

      public <T extends RepositoryEntity> org.springframework.expression.spel.support.StandardEvaluationContext createDataListItemSpelContext(T entity, RepositoryEntity dataListItem)

      createDataListItemSpelContext.

      Type Parameters:
      T - a T class
      Parameters:
      entity - a T object.
      dataListItem - a RepositoryEntity object.
      Returns:
      a StandardEvaluationContext object.
    • createCustomSpelContext

      public <T extends RepositoryEntity> org.springframework.expression.spel.support.StandardEvaluationContext createCustomSpelContext(T entity, SpelFormulaContext<T> formulaContext, boolean applySecurity)

      createCustomSpelContext.

      Type Parameters:
      T - a T class
      Parameters:
      entity - a T object.
      formulaContext - a SpelFormulaContext object.
      applySecurity - a boolean
      Returns:
      a StandardEvaluationContext object.
    • createCustomSpelContext

      public <T extends RepositoryEntity> org.springframework.expression.spel.support.StandardEvaluationContext createCustomSpelContext(T entity, SpelFormulaContext<T> formulaContext)

      createCustomSpelContext.

      Type Parameters:
      T - a T class
      Parameters:
      entity - a T object
      formulaContext - a SpelFormulaContext object
      Returns:
      a StandardEvaluationContext object
    • createItemSpelContext

      public <T> org.springframework.expression.spel.support.StandardEvaluationContext createItemSpelContext(RepositoryEntity entity, T item)

      createItemSpelContext.

      Type Parameters:
      T - a T class
      Parameters:
      entity - a RepositoryEntity object.
      item - a T object.
      Returns:
      a StandardEvaluationContext object.
    • aggreate

      public Double aggreate(RepositoryEntity entity, Collection<RepositoryEntity> range, String formula, SpelFormulaContext.Operator operator)

      aggreate.

      Parameters:
      entity - a RepositoryEntity object.
      range - a Collection object.
      formula - a String object.
      operator - a SpelFormulaContext.Operator object.
      Returns:
      a Double object.
    • applyToList

      public void applyToList(RepositoryEntity entity, Collection<RepositoryEntity> range, String formula)

      applyToList.

      Parameters:
      entity - a RepositoryEntity object.
      range - a Collection object.
      formula - a String object.
    • findOne

      public RepositoryEntity findOne(org.alfresco.service.cmr.repository.NodeRef nodeRef)

      findOne.

      Parameters:
      nodeRef - a NodeRef object.
      Returns:
      a RepositoryEntity object.
    • splitFormulas

      private List<String> splitFormulas(String formula)
      Splits a formula string on \; separators (backslash followed by semicolon). Using \; avoids conflicts with SpEL's own use of ; as an expression terminator inside string literals.
      Parameters:
      formula - the raw formula string, possibly containing multiple sub-expressions separated by \;
      Returns:
      an ordered list of individual expression strings