Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2011 JBoss Inc
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 package org.drools.simulation.fluent.test.impl;
 
 import java.util.Map;
 
 import org.mvel2.MVEL;
 
     
     private String actual;
     
     private String text;
     
     private ReflectiveMatcherImpl matcher;
     
     private ReflectiveMatcherFactory factory;
     
     public ReflectiveMatcherAssertImpl() {
         
     }
     
     public ReflectiveMatcherAssertImpl(String  text,
                                        ReflectiveMatcherFactory factory) {
         this. =  text;
         this. = factory;
     }     
     
     public ReflectiveMatcherAssertImpl(String actual,
                                        ReflectiveMatcher matcher,
                                        ReflectiveMatcherFactory factory) {
         this. = actual;
         this. = ( ReflectiveMatcherImpl ) matcher;
         this. = factory;
     }   
 
     public String getActual() {
         return ;
     }
 
     public void setActual(String actual) {
         this. = actual;
     }
 
     public ReflectiveMatcher getMatcher() {
         return ;
     }
 
     public void setReflectiveMatcher(ReflectiveMatcher matcher) {
         this. = ( ReflectiveMatcherImpl ) matcher;
     }
 
     public <T> Matcher<T> build(Class<T> cls) {
         return null;
     }
 
     public void eval(Context context) {
         StringBuilder sbuilder = new StringBuilder();     
         
         forString str : .getStaticImports() ) {
             sbuilder.append"import_static " );
             sbuilder.appendstr );
             sbuilder.append";\n" );
         }
         
         sbuilder.append(  "assertThat(" );        
         if (  != null ) {            
             sbuilder.append );
         } else {
             sbuilder.append(   );
             sbuilder.append(  ", " );            
             .buildsbuilder );
         }
         
         sbuilder.append")" );
         sbuilder.append";\n" );
       
         ParserContext pctx = new ParserContext();
         //pctx.setStrongTyping( true );
        
        String t = sbuilder.toString();
        
        //System.out.println( t );
        
        ParserContext parserCtx = new ParserContext( );
        MVEL.compileExpressiontparserCtx );
        
        Map<StringClassinputs = parserCtx.getInputs();
              
        Map<StringObjectvars = new HashMap<StringObject>();
      
        for ( String name : inputs.keySet() ) {
            vars.putnamecontext.getname ) );
        }     
        
        try {
            Object o = MVEL.compileExpressionsbuilder.toString(), pctx );
            MVEL.executeExpressionovars );
        } catchException e ) {
            // Try and unwrapp to the hamcrest assertion error if we can, else rethrwo the original mvel error
            Throwable unwrapped =  e.getCause();
            if ( unwrapped != null && unwrapped.getCause() != null ) {
                unwrapped = unwrapped.getCause();
            }
            
            if ( unwrapped instanceof AssertionError) {
                throw (AssertionError)e.getCause().getCause();
            } else if ( e instanceof RuntimeException ){
                throw (RuntimeExceptione;
            }
        }
    }
    
New to GrepCode? Check out our FAQ X