tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ma...@apache.org
Subject svn commit: r547927 - /tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/compiler/ELFunctionMapper.java
Date Sat, 16 Jun 2007 14:35:19 GMT
Author: markt
Date: Sat Jun 16 07:35:18 2007
New Revision: 547927

URL: http://svn.apache.org/viewvc?view=rev&rev=547927
Log:
Tabs -> 8 spaces.

Modified:
    tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/compiler/ELFunctionMapper.java

Modified: tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/compiler/ELFunctionMapper.java
URL: http://svn.apache.org/viewvc/tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/compiler/ELFunctionMapper.java?view=diff&rev=547927&r1=547926&r2=547927
==============================================================================
--- tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/compiler/ELFunctionMapper.java (original)
+++ tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/compiler/ELFunctionMapper.java Sat Jun
16 07:35:18 2007
@@ -42,22 +42,22 @@
      * @param page The current compilation unit.
      */
     public static void map(Compiler compiler, Node.Nodes page) 
-		throws JasperException {
+                throws JasperException {
 
-	currFunc = 0;
-	ELFunctionMapper map = new ELFunctionMapper();
-	map.ds = new StringBuffer();
-	map.ss = new StringBuffer();
-
-	page.visit(map.new ELFunctionVisitor());
-
-	// Append the declarations to the root node
-	String ds = map.ds.toString();
-	if (ds.length() > 0) {
-	    Node root = page.getRoot();
-	    new Node.Declaration(map.ss.toString(), null, root);
-	    new Node.Declaration("static {\n" + ds + "}\n", null, root);
-	}
+        currFunc = 0;
+        ELFunctionMapper map = new ELFunctionMapper();
+        map.ds = new StringBuffer();
+        map.ss = new StringBuffer();
+
+        page.visit(map.new ELFunctionVisitor());
+
+        // Append the declarations to the root node
+        String ds = map.ds.toString();
+        if (ds.length() > 0) {
+            Node root = page.getRoot();
+            new Node.Declaration(map.ss.toString(), null, root);
+            new Node.Declaration("static {\n" + ds + "}\n", null, root);
+        }
     }
 
     /**
@@ -65,182 +65,182 @@
      * for functions, and if found functions mappers are created.
      */
     class ELFunctionVisitor extends Node.Visitor {
-	
-	/**
-	 * Use a global name map to facilitate reuse of function maps.
-	 * The key used is prefix:function:uri.
-	 */
-	private HashMap gMap = new HashMap();
-
-	public void visit(Node.ParamAction n) throws JasperException {
-	    doMap(n.getValue());
-	    visitBody(n);
-	}
-
-	public void visit(Node.IncludeAction n) throws JasperException {
-	    doMap(n.getPage());
-	    visitBody(n);
-	}
-
-	public void visit(Node.ForwardAction n) throws JasperException {
-	    doMap(n.getPage());
-	    visitBody(n);
-	}
+        
+        /**
+         * Use a global name map to facilitate reuse of function maps.
+         * The key used is prefix:function:uri.
+         */
+        private HashMap gMap = new HashMap();
+
+        public void visit(Node.ParamAction n) throws JasperException {
+            doMap(n.getValue());
+            visitBody(n);
+        }
+
+        public void visit(Node.IncludeAction n) throws JasperException {
+            doMap(n.getPage());
+            visitBody(n);
+        }
+
+        public void visit(Node.ForwardAction n) throws JasperException {
+            doMap(n.getPage());
+            visitBody(n);
+        }
 
         public void visit(Node.SetProperty n) throws JasperException {
-	    doMap(n.getValue());
-	    visitBody(n);
-	}
+            doMap(n.getValue());
+            visitBody(n);
+        }
 
         public void visit(Node.UseBean n) throws JasperException {
-	    doMap(n.getBeanName());
-	    visitBody(n);
-	}
+            doMap(n.getBeanName());
+            visitBody(n);
+        }
 
         public void visit(Node.PlugIn n) throws JasperException {
-	    doMap(n.getHeight());
-	    doMap(n.getWidth());
-	    visitBody(n);
-	}
+            doMap(n.getHeight());
+            doMap(n.getWidth());
+            visitBody(n);
+        }
 
         public void visit(Node.JspElement n) throws JasperException {
 
-	    Node.JspAttribute[] attrs = n.getJspAttributes();
-	    for (int i = 0; attrs != null && i < attrs.length; i++) {
-		doMap(attrs[i]);
-	    }
-	    doMap(n.getNameAttribute());
-	    visitBody(n);
-	}
+            Node.JspAttribute[] attrs = n.getJspAttributes();
+            for (int i = 0; attrs != null && i < attrs.length; i++) {
+                doMap(attrs[i]);
+            }
+            doMap(n.getNameAttribute());
+            visitBody(n);
+        }
 
         public void visit(Node.UninterpretedTag n) throws JasperException {
 
-	    Node.JspAttribute[] attrs = n.getJspAttributes();
-	    for (int i = 0; attrs != null && i < attrs.length; i++) {
-		doMap(attrs[i]);
-	    }
-	    visitBody(n);
-	}
+            Node.JspAttribute[] attrs = n.getJspAttributes();
+            for (int i = 0; attrs != null && i < attrs.length; i++) {
+                doMap(attrs[i]);
+            }
+            visitBody(n);
+        }
 
         public void visit(Node.CustomTag n) throws JasperException {
-	    Node.JspAttribute[] attrs = n.getJspAttributes();
-	    for (int i = 0; attrs != null && i < attrs.length; i++) {
-		doMap(attrs[i]);
-	    }
-	    visitBody(n);
-	}
+            Node.JspAttribute[] attrs = n.getJspAttributes();
+            for (int i = 0; attrs != null && i < attrs.length; i++) {
+                doMap(attrs[i]);
+            }
+            visitBody(n);
+        }
 
         public void visit(Node.ELExpression n) throws JasperException {
-	    doMap(n.getEL());
-	}
+            doMap(n.getEL());
+        }
 
-	private void doMap(Node.JspAttribute attr) 
-		throws JasperException {
-	    if (attr != null) {
-		doMap(attr.getEL());
-	    }
-	}
+        private void doMap(Node.JspAttribute attr) 
+                throws JasperException {
+            if (attr != null) {
+                doMap(attr.getEL());
+            }
+        }
 
         /**
          * Creates function mappers, if needed, from ELNodes
          */
-	private void doMap(ELNode.Nodes el) 
-		throws JasperException {
+        private void doMap(ELNode.Nodes el) 
+                throws JasperException {
 
             // Only care about functions in ELNode's
-	    class Fvisitor extends ELNode.Visitor {
-		ArrayList funcs = new ArrayList();
-		HashMap keyMap = new HashMap();
-		public void visit(ELNode.Function n) throws JasperException {
-		    String key = n.getPrefix() + ":" + n.getName();
-		    if (! keyMap.containsKey(key)) {
-			keyMap.put(key,"");
-			funcs.add(n);
-		    }
-		}
-	    }
-
-	    if (el == null) {
-		return;
-	    }
-
-	    // First locate all unique functions in this EL
-	    Fvisitor fv = new Fvisitor();
-	    el.visit(fv);
-	    ArrayList functions = fv.funcs;
-
-	    if (functions.size() == 0) {
-		return;
-	    }
-
-	    // Reuse a previous map if possible
-	    String decName = matchMap(functions);
-	    if (decName != null) {
-		el.setMapName(decName);
-		return;
-	    }
-	
-	    // Generate declaration for the map statically
-	    decName = getMapName();
-	    ss.append("static private org.apache.jasper.runtime.ProtectedFunctionMapper " + decName
+ ";\n");
-
-	    ds.append("  " + decName + "= ");
-	    ds.append("org.apache.jasper.runtime.ProtectedFunctionMapper");
-
-	    // Special case if there is only one function in the map
-	    String funcMethod = null;
-	    if (functions.size() == 1) {
-		funcMethod = ".getMapForFunction";
-	    } else {
-		ds.append(".getInstance();\n");
-		funcMethod = "  " + decName + ".mapFunction";
-	    }
+            class Fvisitor extends ELNode.Visitor {
+                ArrayList funcs = new ArrayList();
+                HashMap keyMap = new HashMap();
+                public void visit(ELNode.Function n) throws JasperException {
+                    String key = n.getPrefix() + ":" + n.getName();
+                    if (! keyMap.containsKey(key)) {
+                        keyMap.put(key,"");
+                        funcs.add(n);
+                    }
+                }
+            }
+
+            if (el == null) {
+                return;
+            }
+
+            // First locate all unique functions in this EL
+            Fvisitor fv = new Fvisitor();
+            el.visit(fv);
+            ArrayList functions = fv.funcs;
+
+            if (functions.size() == 0) {
+                return;
+            }
+
+            // Reuse a previous map if possible
+            String decName = matchMap(functions);
+            if (decName != null) {
+                el.setMapName(decName);
+                return;
+            }
+        
+            // Generate declaration for the map statically
+            decName = getMapName();
+            ss.append("static private org.apache.jasper.runtime.ProtectedFunctionMapper "
+ decName + ";\n");
+
+            ds.append("  " + decName + "= ");
+            ds.append("org.apache.jasper.runtime.ProtectedFunctionMapper");
+
+            // Special case if there is only one function in the map
+            String funcMethod = null;
+            if (functions.size() == 1) {
+                funcMethod = ".getMapForFunction";
+            } else {
+                ds.append(".getInstance();\n");
+                funcMethod = "  " + decName + ".mapFunction";
+            }
 
             // Setup arguments for either getMapForFunction or mapFunction
-	    for (int i = 0; i < functions.size(); i++) {
-		ELNode.Function f = (ELNode.Function)functions.get(i);
-		FunctionInfo funcInfo = f.getFunctionInfo();
-		String key = f.getPrefix()+ ":" + f.getName();
-		ds.append(funcMethod + "(\"" + key + "\", " +
-			funcInfo.getFunctionClass() + ".class, " +
-			'\"' + f.getMethodName() + "\", " +
-			"new Class[] {");
-		String params[] = f.getParameters();
-		for (int k = 0; k < params.length; k++) {
-		    if (k != 0) {
-			ds.append(", ");
-		    }
-		    int iArray = params[k].indexOf('[');
-		    if (iArray < 0) {
-			ds.append(params[k] + ".class");
-		    }
-		    else {
-			String baseType = params[k].substring(0, iArray);
-			ds.append("java.lang.reflect.Array.newInstance(");
-			ds.append(baseType);
-			ds.append(".class,");
-
-			// Count the number of array dimension
-			int aCount = 0;
-			for (int jj = iArray; jj < params[k].length(); jj++ ) {
-			    if (params[k].charAt(jj) == '[') {
-				aCount++;
-			    }
-			}
-			if (aCount == 1) {
-			    ds.append("0).getClass()");
-			} else {
-			    ds.append("new int[" + aCount + "]).getClass()");
-			}
-		    }
-		}
-		ds.append("});\n");
-		// Put the current name in the global function map
-		gMap.put(f.getPrefix() + ':' + f.getName() + ':' + f.getUri(),
-			 decName);
-	    }
-	    el.setMapName(decName);
-	}
+            for (int i = 0; i < functions.size(); i++) {
+                ELNode.Function f = (ELNode.Function)functions.get(i);
+                FunctionInfo funcInfo = f.getFunctionInfo();
+                String key = f.getPrefix()+ ":" + f.getName();
+                ds.append(funcMethod + "(\"" + key + "\", " +
+                        funcInfo.getFunctionClass() + ".class, " +
+                        '\"' + f.getMethodName() + "\", " +
+                        "new Class[] {");
+                String params[] = f.getParameters();
+                for (int k = 0; k < params.length; k++) {
+                    if (k != 0) {
+                        ds.append(", ");
+                    }
+                    int iArray = params[k].indexOf('[');
+                    if (iArray < 0) {
+                        ds.append(params[k] + ".class");
+                    }
+                    else {
+                        String baseType = params[k].substring(0, iArray);
+                        ds.append("java.lang.reflect.Array.newInstance(");
+                        ds.append(baseType);
+                        ds.append(".class,");
+
+                        // Count the number of array dimension
+                        int aCount = 0;
+                        for (int jj = iArray; jj < params[k].length(); jj++ ) {
+                            if (params[k].charAt(jj) == '[') {
+                                aCount++;
+                            }
+                        }
+                        if (aCount == 1) {
+                            ds.append("0).getClass()");
+                        } else {
+                            ds.append("new int[" + aCount + "]).getClass()");
+                        }
+                    }
+                }
+                ds.append("});\n");
+                // Put the current name in the global function map
+                gMap.put(f.getPrefix() + ':' + f.getName() + ':' + f.getUri(),
+                         decName);
+            }
+            el.setMapName(decName);
+        }
 
         /**
          * Find the name of the function mapper for an EL.  Reuse a
@@ -250,32 +250,32 @@
          * @return A previous generated function mapper name that can be used
          *         by this EL; null if none found.
          */
-	private String matchMap(ArrayList functions) {
+        private String matchMap(ArrayList functions) {
 
-	    String mapName = null;
-	    for (int i = 0; i < functions.size(); i++) {
-		ELNode.Function f = (ELNode.Function)functions.get(i);
-		String temName = (String) gMap.get(f.getPrefix() + ':' +
-					f.getName() + ':' + f.getUri());
-		if (temName == null) {
-		    return null;
-		}
-		if (mapName == null) {
-		    mapName = temName;
-		} else if (!temName.equals(mapName)) {
-		    // If not all in the previous match, then no match.
-		    return null;
-		}
-	    }
-	    return mapName;
-	}
+            String mapName = null;
+            for (int i = 0; i < functions.size(); i++) {
+                ELNode.Function f = (ELNode.Function)functions.get(i);
+                String temName = (String) gMap.get(f.getPrefix() + ':' +
+                                        f.getName() + ':' + f.getUri());
+                if (temName == null) {
+                    return null;
+                }
+                if (mapName == null) {
+                    mapName = temName;
+                } else if (!temName.equals(mapName)) {
+                    // If not all in the previous match, then no match.
+                    return null;
+                }
+            }
+            return mapName;
+        }
 
         /*
          * @return An unique name for a function mapper.
          */
-	private String getMapName() {
-	    return "_jspx_fnmap_" + currFunc++;
-	}
+        private String getMapName() {
+            return "_jspx_fnmap_" + currFunc++;
+        }
     }
 }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Mime
View raw message