Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * $Id: JsonExpressionEvaluatorTestCase.java 19191 2010-08-25 21:05:23Z tcarlson $
   * --------------------------------------------------------------------------------------
   * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
   *
   * The software in this package is published under the terms of the CPAL v1.0
   * license, a copy of which has been included with this distribution in the
   * LICENSE.txt file.
   */
 package org.mule.module.json;
 
 
 {
     public void testExpressions() throws Exception
     {
         String json = IOUtils.getResourceAsString("test-data.json"getClass());
         MuleMessage message = new DefaultMuleMessage(json);
         JsonExpressionEvaluator eval = new JsonExpressionEvaluator();
 
         assertEquals("test from Mule: 6ffca02b-9d52-475e-8b17-946acdb01492"eval.evaluate("[0]/text"message));
 
         assertEquals("Mule Test"eval.evaluate("[0]/user/name"message));
         assertEquals("Mule Test9"eval.evaluate("[9]/'user'/name"message));
         assertNull(eval.evaluate("[9]/user/XXX"message));
     }
 
     public void testExpressionsUsingManager() throws Exception
     {
         String json = IOUtils.getResourceAsString("test-data.json"getClass());
         MuleMessage message = new DefaultMuleMessage(json);
 
         assertEquals("test from Mule: 6ffca02b-9d52-475e-8b17-946acdb01492".getExpressionManager().evaluate("#[json:[0]/text]"message));
 
         assertEquals("Mule Test".getExpressionManager().evaluate("json:[0]/user/name"message));
         assertEquals("Mule Test9".getExpressionManager().evaluate("#[json:[9]/'user'/name]"message));
         assertNull(.getExpressionManager().evaluate("json:[9]/user/XXX"messagefalse));
 
         try
         {
             .getExpressionManager().evaluate("json:[9]/user/XXX"messagetrue);
             fail("A value was required");
         }
         catch (ExpressionRuntimeException e)
         {
             //Expected
         }
     }
 
     public void testExpressionFilter() throws Exception
     {
         String json = IOUtils.getResourceAsString("test-data.json"getClass());
         MuleMessage message = new DefaultMuleMessage(json);
 
         ExpressionFilter filter = new ExpressionFilter("#[json:[0]/text]");
         filter.setMuleContext();
         assertTrue(filter.accept(message));
 
         filter.setExpression("[0]/favorited");
         assertFalse(filter.accept(message));
 
         filter.setExpression("[0]/truncated");
         assertTrue(filter.accept(message));
 
         filter.setExpression("[0]/source");
         assertTrue(filter.accept(message));
 
         filter.setExpression("[0]/xxx");
         assertFalse(filter.accept(message));
     }
 
     public void testExpressionFilterWithBooleanLogic() throws Exception
     {
         String json = IOUtils.getResourceAsString("test-data.json"getClass());
         MuleMessage message = new DefaultMuleMessage(json);
 
         ExpressionFilter filter = new ExpressionFilter("#[json:[0]/text]");
         filter.setMuleContext();
         assertTrue(filter.accept(message));
 
         filter.setExpression("[0]/favorited=false");
         assertTrue(filter.accept(message));
 
         filter.setExpression("[0]/truncated != true");
         assertFalse(filter.accept(message));
 
         filter.setExpression("[0]/source=null");
         assertFalse(filter.accept(message));
 
         filter.setExpression("[0]/source!= null");
         assertTrue(filter.accept(message));
 
 
    }
    {
        //Checks against elements that do not exist
        String json = IOUtils.getResourceAsString("test-data.json"getClass());
        MuleMessage message = new DefaultMuleMessage(json);
        ExpressionFilter filter = new ExpressionFilter("#[json:[0]/xyz = null]");
        filter.setMuleContext();
        assertTrue(filter.accept(message));
        filter.setExpression("[0]/xyz!= null");
        assertFalse(filter.accept(message));
    }
New to GrepCode? Check out our FAQ X