Skip to content

Commit

Permalink
Onother possible fix.
Browse files Browse the repository at this point in the history
  • Loading branch information
semancik committed Aug 18, 2014
1 parent 0f38553 commit a4cd44e
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 17 deletions.
Expand Up @@ -36,7 +36,7 @@
*/
public class ExpressionFactory {

private Map<QName,ExpressionEvaluatorFactory> evaluatorFactories = new HashMap<QName, ExpressionEvaluatorFactory>();
private Map<QName,ExpressionEvaluatorFactory> evaluatorFactoriesMap = new HashMap<QName, ExpressionEvaluatorFactory>();
private ExpressionEvaluatorFactory defaultEvaluatorFactory;
private Map<ExpressionIdentifier, Expression<?>> cache = new HashMap<ExpressionIdentifier, Expression<?>>();
private PrismContext prismContext;
Expand All @@ -47,23 +47,16 @@ public ExpressionFactory(ObjectResolver objectResolver, PrismContext prismContex
this.objectResolver = objectResolver;
this.prismContext = prismContext;
}

public PrismContext getPrismContext() {
return prismContext;
}

/**
* Factory method created especially to be used from the Spring context.
*/
public ExpressionFactory(ObjectResolver objectResolver, PrismContext prismContext,
Collection<ExpressionEvaluatorFactory> evaluatorFactories) {
super();
this.objectResolver = objectResolver;
this.prismContext = prismContext;
public void setEvaluatorFactories(Collection<ExpressionEvaluatorFactory> evaluatorFactories) {
for (ExpressionEvaluatorFactory evaluatorFactory: evaluatorFactories) {
addEvaluatorFactory(evaluatorFactory);
}
}

public PrismContext getPrismContext() {
return prismContext;
}

public <V extends PrismValue> Expression<V> makeExpression(ExpressionType expressionType,
ItemDefinition outputDefinition, String shortDesc, OperationResult result)
Expand All @@ -86,11 +79,11 @@ private <V extends PrismValue> Expression<V> createExpression(ExpressionType exp
}

public <V extends PrismValue> ExpressionEvaluatorFactory getEvaluatorFactory(QName elementName) {
return evaluatorFactories.get(elementName);
return evaluatorFactoriesMap.get(elementName);
}

public void addEvaluatorFactory(ExpressionEvaluatorFactory factory) {
evaluatorFactories.put(factory.getElementName(), factory);
evaluatorFactoriesMap.put(factory.getElementName(), factory);
}

public ExpressionEvaluatorFactory getDefaultEvaluatorFactory() {
Expand Down
4 changes: 2 additions & 2 deletions model/model-impl/src/main/resources/ctx-model.xml
Expand Up @@ -186,7 +186,7 @@
<constructor-arg>
<ref bean="prismContext"/>
</constructor-arg>
<constructor-arg>
<property name="evaluatorFactories">
<list>
<ref bean="scriptExpressionEvaluatorFactory"/>
<ref bean="generateExpressionEvaluatorFactory"/>
Expand All @@ -197,7 +197,7 @@
<ref bean="associationTargetSearchExpressionEvaluatorFactory"/>
<ref bean="associationFromLinkExpressionEvaluatorFactory"/>
</list>
</constructor-arg>
</property>
<property name="defaultEvaluatorFactory">
<ref bean="asisExpressionEvaluatorFactory"/>
</property>
Expand Down

0 comments on commit a4cd44e

Please sign in to comment.