You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mc...@apache.org on 2011/10/29 13:16:21 UTC

svn commit: r1194873 - /commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/enhance/ExpressionCompiler.java

Author: mcucchiara
Date: Sat Oct 29 11:16:20 2011
New Revision: 1194873

URL: http://svn.apache.org/viewvc?rev=1194873&view=rev
Log:
OGNL-11: fixed checkstyle errors

Modified:
    commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/enhance/ExpressionCompiler.java

Modified: commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/enhance/ExpressionCompiler.java
URL: http://svn.apache.org/viewvc/commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/enhance/ExpressionCompiler.java?rev=1194873&r1=1194872&r2=1194873&view=diff
==============================================================================
--- commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/enhance/ExpressionCompiler.java (original)
+++ commons/proper/ognl/trunk/src/main/java/org/apache/commons/ognl/enhance/ExpressionCompiler.java Sat Oct 29 11:16:20 2011
@@ -74,14 +74,14 @@ public class ExpressionCompiler
     /**
      * {@link ClassLoader} instances.
      */
-    protected Map<ClassResolver, EnhancedClassLoader> _loaders = new HashMap<ClassResolver, EnhancedClassLoader>();
+    protected Map<ClassResolver, EnhancedClassLoader> loaders = new HashMap<ClassResolver, EnhancedClassLoader>();
 
     /**
      * Javassist class definition poool.
      */
-    protected ClassPool _pool;
+    protected ClassPool pool;
 
-    protected int _classCounter = 0;
+    protected int classCounter = 0;
 
     /**
      * Used by {@link #castExpression(org.apache.commons.ognl.OgnlContext, org.apache.commons.ognl.Node, String)} to
@@ -151,19 +151,21 @@ public class ExpressionCompiler
         if ( ( !ASTList.class.isInstance( expression ) && !ASTVarRef.class.isInstance( expression )
             && !ASTStaticMethod.class.isInstance( expression ) && !ASTStaticField.class.isInstance( expression )
             && !ASTConst.class.isInstance( expression ) && !ExpressionNode.class.isInstance( expression )
-            && !ASTCtor.class.isInstance( expression ) && !ASTStaticMethod.class.isInstance( expression ) && root != null )
-            || ( root != null && ASTRootVarRef.class.isInstance( expression ) ) )
+            && !ASTCtor.class.isInstance( expression ) && !ASTStaticMethod.class.isInstance( expression )
+            && root != null ) || ( root != null && ASTRootVarRef.class.isInstance( expression ) ) )
         {
 
             Class<?> castClass = OgnlRuntime.getCompiler( context ).getRootExpressionClass( expression, context );
 
-            if ( castClass.isArray() || ASTRootVarRef.class.isInstance( expression )
-                || ASTThisVarRef.class.isInstance( expression ) )
+            if ( castClass.isArray() || ASTRootVarRef.class.isInstance( expression ) || ASTThisVarRef.class.isInstance(
+                expression ) )
             {
                 rootExpr = "((" + getCastString( castClass ) + ")$2)";
 
                 if ( ASTProperty.class.isInstance( expression ) && !( (ASTProperty) expression ).isIndexedAccess() )
+                {
                     rootExpr += ".";
+                }
             }
             else if ( ( ASTProperty.class.isInstance( expression ) && ( (ASTProperty) expression ).isIndexedAccess() )
                 || ASTChain.class.isInstance( expression ) )
@@ -182,7 +184,7 @@ public class ExpressionCompiler
     /**
      * Used by {@link #getRootExpression(org.apache.commons.ognl.Node, Object, org.apache.commons.ognl.OgnlContext)} to
      * determine if the expression needs to be cast at all.
-     * 
+     *
      * @param expression The node to check against.
      * @return Yes if the node type should be cast - false otherwise.
      */
@@ -192,9 +194,11 @@ public class ExpressionCompiler
         {
             Node child = expression.jjtGetChild( 0 );
             if ( ASTConst.class.isInstance( child ) || ASTStaticMethod.class.isInstance( child )
-                || ASTStaticField.class.isInstance( child )
-                || ( ASTVarRef.class.isInstance( child ) && !ASTRootVarRef.class.isInstance( child ) ) )
+                || ASTStaticField.class.isInstance( child ) || ( ASTVarRef.class.isInstance( child )
+                && !ASTRootVarRef.class.isInstance( child ) ) )
+            {
                 return false;
+            }
         }
 
         return !ASTConst.class.isInstance( expression );
@@ -205,24 +209,21 @@ public class ExpressionCompiler
      */
     public String castExpression( OgnlContext context, Node expression, String body )
     {
-        // ok - so this looks really f-ed up ...and it is ..eh if you can do it better I'm all for it :)
+        //TODO: ok - so this looks really f-ed up ...and it is ..eh if you can do it better I'm all for it :)
 
-        if ( context.getCurrentAccessor() == null
-            || context.getPreviousType() == null
-            || context.getCurrentAccessor().isAssignableFrom( context.getPreviousType() )
-            || ( context.getCurrentType() != null && context.getCurrentObject() != null
-                && context.getCurrentType().isAssignableFrom( context.getCurrentObject().getClass() ) && context.getCurrentAccessor().isAssignableFrom( context.getPreviousType() ) )
-            || body == null
-            || body.trim().length() < 1
-            || ( context.getCurrentType() != null && context.getCurrentType().isArray() && ( context.getPreviousType() == null || context.getPreviousType() != Object.class ) )
-            || ASTOr.class.isInstance( expression )
-            || ASTAnd.class.isInstance( expression )
-            || ASTRootVarRef.class.isInstance( expression )
-            || context.getCurrentAccessor() == Class.class
-            || ( context.get( ExpressionCompiler.PRE_CAST ) != null && ( (String) context.get( ExpressionCompiler.PRE_CAST ) ).startsWith( "new" ) )
-            || ASTStaticField.class.isInstance( expression )
-            || ASTStaticMethod.class.isInstance( expression )
-            || ( OrderedReturn.class.isInstance( expression ) && ( (OrderedReturn) expression ).getLastExpression() != null ) )
+        if ( context.getCurrentAccessor() == null || context.getPreviousType() == null
+            || context.getCurrentAccessor().isAssignableFrom( context.getPreviousType() ) || (
+            context.getCurrentType() != null && context.getCurrentObject() != null
+                && context.getCurrentType().isAssignableFrom( context.getCurrentObject().getClass() )
+                && context.getCurrentAccessor().isAssignableFrom( context.getPreviousType() ) ) || body == null
+            || body.trim().length() < 1 || ( context.getCurrentType() != null && context.getCurrentType().isArray() && (
+            context.getPreviousType() == null || context.getPreviousType() != Object.class ) )
+            || ASTOr.class.isInstance( expression ) || ASTAnd.class.isInstance( expression )
+            || ASTRootVarRef.class.isInstance( expression ) || context.getCurrentAccessor() == Class.class || (
+            context.get( ExpressionCompiler.PRE_CAST ) != null && ( (String) context.get(
+                ExpressionCompiler.PRE_CAST ) ).startsWith( "new" ) ) || ASTStaticField.class.isInstance( expression )
+            || ASTStaticMethod.class.isInstance( expression ) || ( OrderedReturn.class.isInstance( expression )
+            && ( (OrderedReturn) expression ).getLastExpression() != null ) )
         {
             return body;
         }
@@ -235,7 +236,8 @@ public class ExpressionCompiler
          */
 
         ExpressionCompiler.addCastString( context,
-                                          "((" + ExpressionCompiler.getCastString( context.getCurrentAccessor() ) + ")" );
+                                          "((" + ExpressionCompiler.getCastString( context.getCurrentAccessor() )
+                                              + ")" );
 
         return ")" + body;
     }
@@ -488,10 +490,10 @@ public class ExpressionCompiler
         String getBody, setBody;
 
         EnhancedClassLoader loader = getClassLoader( context );
-        ClassPool pool = getClassPool( context, loader );
+        ClassPool classPool = getClassPool( context, loader );
 
-        CtClass newClass =
-            pool.makeClass( expression.getClass().getName() + expression.hashCode() + _classCounter++ + "Accessor" );
+        CtClass newClass = classPool.makeClass(
+            expression.getClass().getName() + expression.hashCode() + classCounter++ + "Accessor" );
         newClass.addInterface( getCtClass( ExpressionAccessor.class ) );
 
         CtClass ognlClass = getCtClass( OgnlContext.class );
@@ -509,7 +511,7 @@ public class ExpressionCompiler
         try
         {
 
-            getBody = generateGetter( context, newClass, objClass, pool, valueGetter, expression, root );
+            getBody = generateGetter( context, newClass, objClass, classPool, valueGetter, expression, root );
 
         }
         catch ( UnsupportedCompilationException uc )
@@ -528,7 +530,7 @@ public class ExpressionCompiler
         try
         {
 
-            setBody = generateSetter( context, newClass, objClass, pool, valueSetter, expression, root );
+            setBody = generateSetter( context, newClass, objClass, classPool, valueSetter, expression, root );
 
         }
         catch ( UnsupportedCompilationException uc )
@@ -555,7 +557,7 @@ public class ExpressionCompiler
         {
             newClass.addConstructor( CtNewConstructor.defaultConstructor( newClass ) );
 
-            Class<?> clazz = pool.toClass( newClass );
+            Class<?> clazz = classPool.toClass( newClass );
             newClass.detach();
 
             expression.setAccessor( (ExpressionAccessor) clazz.newInstance() );
@@ -578,7 +580,7 @@ public class ExpressionCompiler
 
     }
 
-    protected String generateGetter( OgnlContext context, CtClass newClass, CtClass objClass, ClassPool pool,
+    protected String generateGetter( OgnlContext context, CtClass newClass, CtClass objClass, ClassPool classPool,
                                      CtMethod valueGetter, Node expression, Object root )
         throws Exception
     {
@@ -607,7 +609,8 @@ public class ExpressionCompiler
         String castExpression = (String) context.get( PRE_CAST );
 
         if ( context.getCurrentType() == null || context.getCurrentType().isPrimitive()
-            || Character.class.isAssignableFrom( context.getCurrentType() ) || Object.class == context.getCurrentType() )
+            || Character.class.isAssignableFrom( context.getCurrentType() )
+            || Object.class == context.getCurrentType() )
         {
             pre = pre + " ($w) (";
             post = post + ")";
@@ -621,16 +624,16 @@ public class ExpressionCompiler
             rootExpr = "";
         }
 
-        createLocalReferences( context, pool, newClass, objClass, valueGetter.getParameterTypes() );
+        createLocalReferences( context, classPool, newClass, objClass, valueGetter.getParameterTypes() );
 
-        if ( OrderedReturn.class.isInstance( expression ) && ( (OrderedReturn) expression ).getLastExpression() != null )
+        if ( OrderedReturn.class.isInstance( expression )
+            && ( (OrderedReturn) expression ).getLastExpression() != null )
         {
-            body =
-                "{ "
-                    + ( ASTMethod.class.isInstance( expression ) || ASTChain.class.isInstance( expression ) ? rootExpr
-                                    : "" ) + ( castExpression != null ? castExpression : "" )
-                    + ( (OrderedReturn) expression ).getCoreExpression() + " return " + pre
-                    + ( (OrderedReturn) expression ).getLastExpression() + post + ";}";
+            body = "{ " + ( ASTMethod.class.isInstance( expression ) || ASTChain.class.isInstance( expression )
+                ? rootExpr
+                : "" ) + ( castExpression != null ? castExpression : "" )
+                + ( (OrderedReturn) expression ).getCoreExpression() + " return " + pre
+                + ( (OrderedReturn) expression ).getLastExpression() + post + ";}";
 
         }
         else
@@ -667,8 +670,9 @@ public class ExpressionCompiler
         return castString + referenceName + "($$)";
     }
 
-    void createLocalReferences( OgnlContext context, ClassPool pool, CtClass clazz, CtClass unused, CtClass[] params )
-        throws CannotCompileException, NotFoundException
+    void createLocalReferences( OgnlContext context, ClassPool classPool, CtClass clazz, CtClass unused,
+                                CtClass[] params )
+        throws NotFoundException, CannotCompileException
     {
         Map<String, LocalReference> referenceMap = context.getLocalReferences();
         if ( referenceMap == null || referenceMap.size() < 1 )
@@ -685,7 +689,8 @@ public class ExpressionCompiler
             // System.out.println("adding method " + ref.getName() + " with body:\n" + body + " and return type: " +
             // ref.getType());
 
-            CtMethod method = new CtMethod( pool.get( getCastString( ref.getType() ) ), ref.getName(), params, clazz );
+            CtMethod method =
+                new CtMethod( classPool.get( getCastString( ref.getType() ) ), ref.getName(), params, clazz );
             method.setBody( body );
 
             clazz.addMethod( method );
@@ -693,7 +698,7 @@ public class ExpressionCompiler
         }
     }
 
-    protected String generateSetter( OgnlContext context, CtClass newClass, CtClass objClass, ClassPool pool,
+    protected String generateSetter( OgnlContext context, CtClass newClass, CtClass objClass, ClassPool classPool,
                                      CtMethod valueSetter, Node expression, Object root )
         throws Exception
     {
@@ -728,7 +733,7 @@ public class ExpressionCompiler
             pre = "";
         }
 
-        createLocalReferences( context, pool, newClass, objClass, valueSetter.getParameterTypes() );
+        createLocalReferences( context, classPool, newClass, objClass, valueSetter.getParameterTypes() );
 
         body = "{" + ( castExpression != null ? castExpression : "" ) + pre + setterCode + ";}";
 
@@ -793,7 +798,7 @@ public class ExpressionCompiler
      */
     protected EnhancedClassLoader getClassLoader( OgnlContext context )
     {
-        EnhancedClassLoader ret = _loaders.get( context.getClassResolver() );
+        EnhancedClassLoader ret = loaders.get( context.getClassResolver() );
 
         if ( ret != null )
         {
@@ -803,7 +808,7 @@ public class ExpressionCompiler
         ClassLoader classLoader = new ContextClassLoader( OgnlContext.class.getClassLoader(), context );
 
         ret = new EnhancedClassLoader( classLoader );
-        _loaders.put( context.getClassResolver(), ret );
+        loaders.put( context.getClassResolver(), ret );
 
         return ret;
     }
@@ -813,12 +818,12 @@ public class ExpressionCompiler
      * 
      * @param searchClass The class to load.
      * @return The javassist class equivalent.
-     * @throws NotFoundException When the class definition can't be found.
+     * @throws javassist.NotFoundException When the class definition can't be found.
      */
     protected CtClass getCtClass( Class<?> searchClass )
         throws NotFoundException
     {
-        return _pool.get( searchClass.getName() );
+        return pool.get( searchClass.getName() );
     }
 
     /**
@@ -833,14 +838,14 @@ public class ExpressionCompiler
      */
     protected ClassPool getClassPool( OgnlContext context, EnhancedClassLoader loader )
     {
-        if ( _pool != null )
+        if ( pool != null )
         {
-            return _pool;
+            return pool;
         }
 
-        _pool = ClassPool.getDefault();
-        _pool.insertClassPath( new LoaderClassPath( loader.getParent() ) );
+        pool = ClassPool.getDefault();
+        pool.insertClassPath( new LoaderClassPath( loader.getParent() ) );
 
-        return _pool;
+        return pool;
     }
 }