private static Map<String,Object> createExecutedFragmentExpressionParameters( final IExpressionContext context, final AssignationSequence parameters, final boolean syntheticParameters, final StandardExpressionExecutionContext expContext) { if (parameters == null || parameters.size() == 0) { return null; } final Map<String,Object> parameterValues = new HashMap<String, Object>(parameters.size() + 2); final List<Assignation> assignationValues = parameters.getAssignations(); final int assignationValuesLen = assignationValues.size(); for (int i = 0; i < assignationValuesLen; i++) { final Assignation assignation = assignationValues.get(i); final IStandardExpression parameterNameExpr = assignation.getLeft(); final String parameterName; if (!syntheticParameters) { final Object parameterNameValue = parameterNameExpr.execute(context, expContext); parameterName = (parameterNameValue == null ? null : parameterNameValue.toString()); } else { // Parameters are synthetic so we know this is a mere literal like "_argX", no need to perform an exec parameterName = ((TextLiteralExpression)parameterNameExpr).getValue().getValue(); } final IStandardExpression parameterValueExpr = assignation.getRight(); final Object parameterValueValue = parameterValueExpr.execute(context, expContext); parameterValues.put(parameterName, parameterValueValue); } return parameterValues; }
final IStandardExpression parameterValueExpr = assignationValue.getRight();
final Object leftValue = leftExpr.execute(context); final IStandardExpression rightExpr = assignation.getRight(); final Object rightValue = rightExpr.execute(context);
final Object leftValue = leftExpr.execute(context, expCtx); final IStandardExpression rightExpr = assignation.getRight(); final Object rightValue = rightExpr.execute(context, expCtx);
private static Map<String,Object> resolveFragmentParameters( final Configuration configuration, final IProcessingContext processingContext, final AssignationSequence parameters) { if (parameters == null) { return null; } final Map<String,Object> parameterValues = new HashMap<String, Object>(parameters.size() + 2); for (final Assignation assignation : parameters.getAssignations()) { final IStandardExpression parameterNameExpr = assignation.getLeft(); final Object parameterNameValue = parameterNameExpr.execute(configuration, processingContext); final String parameterName = (parameterNameValue == null? null : parameterNameValue.toString()); final IStandardExpression parameterValueExpr = assignation.getRight(); final Object parameterValueValue = parameterValueExpr.execute(configuration, processingContext); parameterValues.put(parameterName, parameterValueValue); } return parameterValues; }
final IStandardExpression parameterValueExpr = assignationValue.getRight();
final Object leftValue = leftExpr.execute(configuration, assignationExecutionArguments); final IStandardExpression rightExpr = assignation.getRight(); final Object rightValue = rightExpr.execute(configuration, assignationExecutionArguments);
final Object leftValue = leftExpr.execute(configuration, arguments); final IStandardExpression rightExpr = assignation.getRight(); final Object rightValue = rightExpr.execute(configuration, arguments);
@Override public int compare(StructuredContentDTO o1, StructuredContentDTO o2) { AssignationSequence sortAssignments = AssignationUtils.parseAssignationSequence(arguments.getConfiguration(), arguments, sorts, false); CompareToBuilder compareBuilder = new CompareToBuilder(); for (Assignation sortAssignment : sortAssignments) { String property = sortAssignment.getLeft().getStringRepresentation(); Object val1 = o1.getPropertyValue(property); Object val2 = o2.getPropertyValue(property); if (sortAssignment.getRight().execute(arguments.getConfiguration(), arguments).equals("ASCENDING")) { compareBuilder.append(val1, val2); } else { compareBuilder.append(val2, val1); } } return compareBuilder.toComparison(); } });
for (Assignation assignment : assignments) { if (ObjectUtils.notEqual(assignment.getRight().execute(arguments.getConfiguration(), arguments), item.getValues().get(assignment.getLeft().getStringRepresentation()))) { LOG.info("Excluding content " + item.getId() + " based on the property value of " + assignment.getLeft().getStringRepresentation());