Search in sources :

Example 1 with Column

use of org.mvel2.tests.core.res.Column in project mvel by mikebrock.

the class CompileException method generateErrorMessage.

private String generateErrorMessage() {
    StringAppender appender = new StringAppender().append("[Error: " + super.getMessage() + "]\n");
    int offset = appender.length();
    appender.append("[Near : {... ");
    offset = appender.length() - offset;
    appender.append(showCodeNearError(expr, cursor)).append(" ....}]\n").append(repeatChar(' ', offset));
    if (msgOffset < 0)
        msgOffset = 0;
    appender.append(repeatChar(' ', msgOffset)).append('^');
    calcRowAndColumn();
    if (lineNumber != -1) {
        appender.append('\n').append("[Line: " + lineNumber + ", Column: " + (column) + "]");
    }
    return appender.toString();
}
Also used : StringAppender(org.mvel2.util.StringAppender)

Example 2 with Column

use of org.mvel2.tests.core.res.Column in project mvel by mvel.

the class ArraysTests method testMultiDimensionalArrayType.

public void testMultiDimensionalArrayType() {
    String str = "$c.cheeses[0][0] = new Cheese('brie', 15)";
    ParserConfiguration pconf = new ParserConfiguration();
    pconf.addImport(Cheese.class);
    ParserContext pctx = new ParserContext(pconf);
    pctx.addInput("$c", Column.class);
    pctx.setStrongTyping(true);
    ExecutableStatement stmt = (ExecutableStatement) MVEL.compileExpression(str, pctx);
    Map<String, Object> vars = new HashMap<String, Object>();
    Column c = new Column("x", 1);
    c.setCheeses(new Cheese[5][5]);
    vars.put("$c", c);
    MVEL.executeExpression(stmt, null, vars);
    assertEquals(new Cheese("brie", 15), c.getCheeses()[0][0]);
}
Also used : ExecutableStatement(org.mvel2.compiler.ExecutableStatement) HashMap(java.util.HashMap) Cheese(org.mvel2.tests.core.res.Cheese) ParserContext(org.mvel2.ParserContext) ParserConfiguration(org.mvel2.ParserConfiguration)

Example 3 with Column

use of org.mvel2.tests.core.res.Column in project mvel by mvel.

the class CoreConfidenceTests method testJIRA140.

public void testJIRA140() {
    ParserContext ctx = new ParserContext();
    Serializable s = compileExpression("import org.mvel2.tests.core.res.*;" + "cols = new Column[] { new Column('name', 20), new Column('age', 2) };" + "grid = new Grid(new Model(cols));", ctx);
    Grid g = (Grid) executeExpression(s, new HashMap());
    assertEquals(g.getModel().getColumns()[0].getName(), "name");
    assertEquals(g.getModel().getColumns()[0].getLength(), 20);
    assertEquals(g.getModel().getColumns()[1].getName(), "age");
    assertEquals(g.getModel().getColumns()[1].getLength(), 2);
}
Also used : Serializable(java.io.Serializable) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) Grid(org.mvel2.tests.core.res.Grid) ParserContext(org.mvel2.ParserContext)

Example 4 with Column

use of org.mvel2.tests.core.res.Column in project mvel by mvel.

the class CoreConfidenceTests method testMinusOperatorWithoutSpace.

public void testMinusOperatorWithoutSpace() {
    String str = "length == $c.length -1";
    ParserConfiguration pconf = new ParserConfiguration();
    ParserContext pctx = new ParserContext(pconf);
    ExecutableStatement stmt = (ExecutableStatement) MVEL.compileExpression(str, pctx);
    Column col1 = new Column("x", 0);
    Column col2 = new Column("x", 0);
    Map<String, Object> vars = new HashMap<String, Object>();
    vars.put("$c", col2);
    Boolean result = (Boolean) MVEL.executeExpression(stmt, col1, vars);
    assertFalse(result);
}
Also used : ExecutableStatement(org.mvel2.compiler.ExecutableStatement) Column(org.mvel2.tests.core.res.Column) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) MapObject(org.mvel2.tests.core.res.MapObject) ParserContext(org.mvel2.ParserContext) ParserConfiguration(org.mvel2.ParserConfiguration)

Example 5 with Column

use of org.mvel2.tests.core.res.Column in project mvel by mvel.

the class CompileException method generateErrorMessage.

private String generateErrorMessage() {
    StringAppender appender = new StringAppender().append("[Error: " + super.getMessage() + "]\n");
    int offset = appender.length();
    appender.append("[Near : {... ");
    offset = appender.length() - offset;
    appender.append(showCodeNearError(expr, cursor)).append(" ....}]\n").append(repeatChar(' ', offset));
    if (msgOffset < 0)
        msgOffset = 0;
    appender.append(repeatChar(' ', msgOffset)).append('^');
    calcRowAndColumn();
    if (evaluationContext != null) {
        appender.append("\n").append("In ").append(evaluationContext);
    } else if (lineNumber != -1) {
        appender.append("\n").append("[Line: " + lineNumber + ", Column: " + (column) + "]");
    }
    return appender.toString();
}
Also used : StringAppender(org.mvel2.util.StringAppender)

Aggregations

HashMap (java.util.HashMap)3 ParserContext (org.mvel2.ParserContext)3 LinkedHashMap (java.util.LinkedHashMap)2 ParserConfiguration (org.mvel2.ParserConfiguration)2 ExecutableStatement (org.mvel2.compiler.ExecutableStatement)2 StringAppender (org.mvel2.util.StringAppender)2 Serializable (java.io.Serializable)1 Cheese (org.mvel2.tests.core.res.Cheese)1 Column (org.mvel2.tests.core.res.Column)1 Grid (org.mvel2.tests.core.res.Grid)1 MapObject (org.mvel2.tests.core.res.MapObject)1