Skip to content

Commit

Permalink
update mvel version
Browse files Browse the repository at this point in the history
  • Loading branch information
mariofusco committed Feb 5, 2013
1 parent 48a182c commit af56628
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 21 deletions.
Expand Up @@ -367,7 +367,7 @@ public void testBooleanPropertyStartingWithEmpty() {
KnowledgeBase kbase = loadKnowledgeBaseFromString(str);
}

@Test @Ignore("fixed with mvel 2.1.4")
@Test
public void testMVELForLoop() throws Exception {
// JBRULES-3717
String str = "rule demo\n" +
Expand Down Expand Up @@ -653,7 +653,7 @@ public void testPropertyReactiveAccumulateModification() {
assertEquals(2.0, ksession.getQueryResults( "getNeuron" ).iterator().next().get( "$value" ));
}

@Test @Ignore("fixed with mvel 2.1.4")
@Test
public void testMvelAssignmentToPublicField() {
String str =
"import org.drools.integrationtests.MiscTest2.Foo\n" +
Expand Down Expand Up @@ -687,7 +687,7 @@ public void setX(int x) {
}
}

@Test @Ignore("fixed with mvel 2.1.4")
@Test
public void testMvelInvokeAsList() {
String str =
"import java.util.List;\n" +
Expand Down Expand Up @@ -957,7 +957,7 @@ public boolean isNotEmpty(){
}
}

@Test @Ignore("fixed with mvel 2.1.4")
@Test
public void testMvelResolvingGenericVariableDeclaredInParentClass() {
// JBRULES-3684
String str =
Expand All @@ -983,7 +983,7 @@ public static class StringConcrete extends AbstractBase<String> {
public StringConcrete() { this.foo = new String(); }
}

@Test @Ignore("fixed with mvel 2.1.4")
@Test
public void testMvelParsingParenthesisInString() {
// JBRULES-3698
String str =
Expand All @@ -1002,7 +1002,7 @@ public static class AnswerGiver {
public Answer getAnswer() { return Answer.YES; }
}

@Test @Ignore("fixed with mvel 2.1.4")
@Test
public void testCompilationMustFailComparingAClassLiteral() {
// DROOLS-20
String str =
Expand Down
@@ -1,17 +1,23 @@
package org.drools.rule.constraint;

import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.Arrays;
import java.util.regex.Pattern;

import org.drools.rule.Declaration;
import org.mvel2.Operator;
import org.mvel2.ParserContext;
import org.mvel2.ast.*;
import org.mvel2.ast.ASTNode;
import org.mvel2.ast.And;
import org.mvel2.ast.BinaryOperation;
import org.mvel2.ast.BooleanNode;
import org.mvel2.ast.Contains;
import org.mvel2.ast.Instance;
import org.mvel2.ast.LiteralNode;
import org.mvel2.ast.Negation;
import org.mvel2.ast.NewObjectNode;
import org.mvel2.ast.Or;
import org.mvel2.ast.RegExMatch;
import org.mvel2.ast.Soundslike;
import org.mvel2.ast.Substatement;
import org.mvel2.ast.TypeCast;
import org.mvel2.ast.Union;
import org.mvel2.compiler.Accessor;
import org.mvel2.compiler.AccessorNode;
import org.mvel2.compiler.CompiledExpression;
Expand All @@ -38,10 +44,17 @@
import org.mvel2.optimizers.impl.refl.nodes.ThisValueAccessor;
import org.mvel2.optimizers.impl.refl.nodes.VariableAccessor;

import java.lang.reflect.*;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.regex.Pattern;

import static org.drools.core.util.ClassUtils.convertToPrimitiveType;

Expand Down Expand Up @@ -114,8 +127,7 @@ private SingleCondition analyzeSingleCondition(ASTNode node, boolean isNegated)
if (pattern != null) {
condition.right = new FixedExpression(String.class, pattern.pattern());
} else {
ExecutableStatement regExStmt = (ExecutableStatement)getFieldValue(RegExMatch.class, "patternStmt", regExNode);
condition.right = analyzeNode(((ExecutableAccessor)regExStmt).getNode());
condition.right = analyzeNode(((ExecutableAccessor)regExNode.getPatternStatement()).getNode());
}
} else if (node instanceof Contains) {
condition.left = analyzeNode(((Contains)node).getFirstStatement());
Expand Down Expand Up @@ -181,7 +193,7 @@ private Expression analyzeNode(ASTNode node) {
EvaluatedExpression expression = new EvaluatedExpression();
expression.firstExpression = analyzeNode(main);
if (accessor instanceof DynamicGetAccessor) {
AccessorNode accessorNode = (AccessorNode)((DynamicGetAccessor)accessor).getAccessor();
AccessorNode accessorNode = (AccessorNode)((DynamicGetAccessor)accessor).getSafeAccessor();
expression.addInvocation(analyzeAccessor(accessorNode, null));
} else if (accessor instanceof AccessorNode) {
AccessorNode accessorNode = (AccessorNode)accessor;
Expand Down Expand Up @@ -253,7 +265,7 @@ private Expression analyzeNode(ASTNode node) {
private Expression analyzeAccessor(Accessor accessor) {
AccessorNode accessorNode;
if (accessor instanceof DynamicGetAccessor) {
accessorNode = (AccessorNode)((DynamicGetAccessor)accessor).getAccessor();
accessorNode = (AccessorNode)((DynamicGetAccessor)accessor).getSafeAccessor();
} else if (accessor instanceof AccessorNode) {
accessorNode = (AccessorNode)accessor;
} else if (accessor instanceof CompiledExpression) {
Expand Down

0 comments on commit af56628

Please sign in to comment.