=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/expression/DefaultExpressionService.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/expression/DefaultExpressionService.java 2013-03-07 15:02:47 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/expression/DefaultExpressionService.java 2013-03-11 12:18:15 +0000 @@ -71,7 +71,6 @@ * @version $Id: DefaultExpressionService.java 6463 2008-11-24 12:05:46Z * larshelg $ */ -@Transactional public class DefaultExpressionService implements ExpressionService { @@ -113,26 +112,31 @@ // Expression CRUD operations // ------------------------------------------------------------------------- + @Transactional public int addExpression( Expression expression ) { return expressionStore.save( expression ); } + @Transactional public void deleteExpression( Expression expression ) { expressionStore.delete( expression ); } + @Transactional public Expression getExpression( int id ) { return expressionStore.get( id ); } + @Transactional public void updateExpression( Expression expression ) { expressionStore.update( expression ); } + @Transactional public Collection getAllExpressions() { return expressionStore.getAll(); @@ -174,6 +178,7 @@ return expressionString != null ? calculateExpression( expressionString ) : null; } + @Transactional public Set getDataElementsInExpression( String expression ) { Set dataElementsInExpression = null; @@ -198,6 +203,7 @@ return dataElementsInExpression; } + @Transactional public Set getOptionCombosInExpression( String expression ) { Set optionCombosInExpression = null; @@ -222,11 +228,10 @@ return optionCombosInExpression; } - + + @Transactional public Set getOperandsInExpression( String expression ) { - //TODO reimplement using uids - Set operandsInExpression = null; if ( expression != null ) @@ -243,7 +248,8 @@ return operandsInExpression; } - + + @Transactional public Set getDataElementsInIndicators( Collection indicators ) { Set dataElements = new HashSet(); @@ -266,7 +272,8 @@ return dataElements; } - + + @Transactional public void filterInvalidIndicators( Collection indicators ) { if ( indicators != null ) @@ -287,11 +294,13 @@ } } + @Transactional public String expressionIsValid( String formula ) { return expressionIsValid( formula, null, null, null ); } - + + @Transactional public String expressionIsValid( String expression, Set dataElements, Set categoryOptionCombos, Set constants ) { if ( expression == null || expression.isEmpty() ) @@ -362,6 +371,7 @@ return VALID; } + @Transactional public String getExpressionDescription( String expression ) { if ( expression == null || expression.isEmpty() ) @@ -439,6 +449,7 @@ return expression; } + @Transactional public void explodeAndSubstituteExpressions( Collection indicators, Integer days ) { if ( indicators != null && !indicators.isEmpty() ) @@ -488,7 +499,8 @@ return appendTail( matcher, sb ); } - + + @Transactional public String explodeExpression( String expression ) { if ( expression == null || expression.isEmpty() ) @@ -522,7 +534,8 @@ return appendTail( matcher, sb ); } - + + @Transactional public String substituteExpression( String expression, Integer days ) { if ( expression == null || expression.isEmpty() ) @@ -566,7 +579,8 @@ return appendTail( matcher, sb ); } - + + @Transactional public String generateExpression( String expression, Map valueMap, Map constantMap, Integer days, boolean nullIfNoValues ) { if ( expression == null || expression.isEmpty() ) @@ -634,6 +648,7 @@ return appendTail( matcher, sb ); } + @Transactional public Set getOperandsInIndicators( Collection indicators ) { final Set operands = new HashSet();