cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/tagplugin TagPluginContext.java
remm2005/08/18 01:24:15 Modified:jasper2/src/share/org/apache/jasper/compiler/tagplugin TagPluginContext.java Log: - Javadoc fixes. Revision ChangesPath 1.15 +1 -1 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/tagplugin/TagPluginContext.java Index: TagPluginContext.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/tagplugin/TagPluginContext.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- TagPluginContext.java 17 Mar 2004 19:23:04 - 1.14 +++ TagPluginContext.java 18 Aug 2005 08:24:14 - 1.15 @@ -84,7 +84,7 @@ */ void generateAttribute(String attribute); -/* +/** * Generate codes for the body of the custom tag */ void generateBody(); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/tagplugin TagPluginContext.java
remm2003/09/02 14:40:00 Modified:jasper2/src/share/org/apache/jasper/compiler JspRuntimeContext.java JspConfig.java Localizer.java ErrorDispatcher.java JspReader.java Validator.java TagFileProcessor.java ServletWriter.java Parser.java TldLocationsCache.java BeanRepository.java TagLibraryInfoImpl.java Node.java ParserController.java jasper2/src/share/org/apache/jasper/servlet JspServletWrapper.java JasperLoader.java JspCServletContext.java JspServlet.java jasper2/src/share/org/apache/jasper/runtime JspContextWrapper.java PageContextImpl.java HttpJspBase.java JspFragmentHelper.java JspRuntimeLibrary.java ServletResponseWrapperInclude.java BodyContentImpl.java PerThreadTagHandlerPool.java jasper2/src/share/org/apache/jasper/xmlparser ParserUtils.java jasper2/src/share/org/apache/jasper Constants.java JspC.java Options.java jasper2/src/share/org/apache/jasper/util SystemLogHandler.java jasper2/src/share/org/apache/jasper/compiler/tagplugin TagPluginContext.java Log: - Fix bad imports (thanks to Eclipse). Let me know if I broke something. Revision ChangesPath 1.16 +8 -12 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspRuntimeContext.java Index: JspRuntimeContext.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspRuntimeContext.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- JspRuntimeContext.java23 Jun 2003 19:35:59 - 1.15 +++ JspRuntimeContext.java2 Sep 2003 21:39:58 - 1.16 @@ -64,31 +64,27 @@ import java.io.File; import java.io.FileNotFoundException; import java.io.FilePermission; -import java.io.IOException; -import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; import java.security.CodeSource; -import java.security.Policy; import java.security.PermissionCollection; -import java.util.Iterator; -import java.util.List; +import java.security.Policy; import java.util.Collections; import java.util.HashMap; +import java.util.Iterator; import java.util.Map; import javax.servlet.ServletContext; import javax.servlet.jsp.JspFactory; -import org.apache.jasper.JasperException; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.apache.jasper.Constants; import org.apache.jasper.JspCompilationContext; import org.apache.jasper.Options; import org.apache.jasper.runtime.JspFactoryImpl; import org.apache.jasper.security.SecurityClassLoad; import org.apache.jasper.servlet.JspServletWrapper; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; /** * Class for tracking JSP compile time file dependencies when the 1.13 +6 -7 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspConfig.java Index: JspConfig.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspConfig.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- JspConfig.java27 Aug 2003 00:47:19 - 1.12 +++ JspConfig.java2 Sep 2003 21:39:58 - 1.13 @@ -61,18 +61,17 @@ package org.apache.jasper.compiler; -import java.util.Vector; import java.io.InputStream; import java.util.Iterator; +import java.util.Vector; import javax.servlet.ServletContext; -import org.apache.jasper.Constants; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.apache.jasper.JasperException; import org.apache.jasper.xmlparser.ParserUtils; import org.apache.jasper.xmlparser.TreeNode; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; /** * Handles the jsp-config element in WEB_INF/web.xml. This is used 1.3 +5 -7 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Localizer.java Index: Localizer.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Localizer.java,v retrieving revision 1.2 retrieving revision
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/tagplugin TagPluginContext.java
kinman 2002/12/05 11:32:52 Modified:jasper2/src/share/org/apache/jasper/compiler TagPluginManager.java jasper2/src/share/org/apache/jasper/compiler/tagplugin TagPluginContext.java Log: - Add getTemporaryVariableName() to TagPluginContext. Revision ChangesPath 1.6 +7 -3 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagPluginManager.java Index: TagPluginManager.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagPluginManager.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- TagPluginManager.java 5 Dec 2002 17:56:43 - 1.5 +++ TagPluginManager.java 5 Dec 2002 19:32:52 - 1.6 @@ -192,6 +192,10 @@ return getAttribute(attribute) != null; } + public String getTemporaryVariableName() { + return JspUtil.nextTemporaryVariableName(); + } + public void generateJavaSource(String s) { curNodes.add(new Node.Scriptlet(node.getStart(), null)); } 1.6 +9 -4 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/tagplugin/TagPluginContext.java Index: TagPluginContext.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/tagplugin/TagPluginContext.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- TagPluginContext.java 5 Dec 2002 17:56:43 - 1.5 +++ TagPluginContext.java 5 Dec 2002 19:32:52 - 1.6 @@ -82,6 +82,11 @@ boolean isAttributeSpecified(String attribute); /** + * @return An unique temporary variable name that the plugin can use. + */ +String getTemporaryVariableName(); + +/** * Generate Java source codes */ void generateJavaSource(String s); @@ -100,7 +105,7 @@ /** * Abandon optimization for this tag handler, and instruct - * Jaser to generate the tag handler calls, as usual. + * Jasper to generate the tag handler calls, as usual. * Should be invoked if errors are detected, or when the tag body * is deemed too compilicated for optimization. */ -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/tagplugin TagPluginContext.java
kinman 2002/12/04 18:39:03 Modified:jasper2/src/share/org/apache/jasper/compiler Generator.java Node.java TagPluginManager.java jasper2/src/share/org/apache/jasper/compiler/tagplugin TagPluginContext.java Log: - More updates on tag plugin work. Revision ChangesPath 1.136 +118 -74 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java Index: Generator.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v retrieving revision 1.135 retrieving revision 1.136 diff -u -r1.135 -r1.136 --- Generator.java3 Dec 2002 23:49:46 - 1.135 +++ Generator.java5 Dec 2002 02:39:03 - 1.136 @@ -1483,21 +1483,14 @@ public void visit(Node.CustomTag n) throws JasperException { - Hashtable handlerInfosByShortName = (Hashtable) - handlerInfos.get(n.getPrefix()); - if (handlerInfosByShortName == null) { - handlerInfosByShortName = new Hashtable(); - handlerInfos.put(n.getPrefix(), handlerInfosByShortName); - } - TagHandlerInfo handlerInfo = (TagHandlerInfo) - handlerInfosByShortName.get(n.getShortName()); - if (handlerInfo == null) { - handlerInfo = new TagHandlerInfo(n, - n.getTagHandlerClass(), - err); - handlerInfosByShortName.put(n.getShortName(), handlerInfo); + // Use plugin to generate more efficient code if there is one. + if (n.useTagPlugin()) { + generateTagPlugin(n); + return; } + TagHandlerInfo handlerInfo = getTagHandlerInfo(n); + // Create variable names String baseVar = createTagVarName(n.getName(), n.getPrefix(), n.getShortName()); @@ -1879,6 +1872,48 @@ } } + public void visit(Node.GenAttribute n) throws JasperException { + Node.CustomTag tag = n.getTag(); +Node.JspAttribute[] attrs = tag.getJspAttributes(); +for (int i=0; iattrs.length; i++) { + if (attrs[i].getName() == n.getName()) { + out.print(evaluateAttribute(getTagHandlerInfo(tag), + attrs[i], tag, null)); + break; + } + } + } + + private TagHandlerInfo getTagHandlerInfo(Node.CustomTag n) + throws JasperException { +Hashtable handlerInfosByShortName = (Hashtable) +handlerInfos.get(n.getPrefix()); +if (handlerInfosByShortName == null) { +handlerInfosByShortName = new Hashtable(); +handlerInfos.put(n.getPrefix(), handlerInfosByShortName); +} +TagHandlerInfo handlerInfo = (TagHandlerInfo) +handlerInfosByShortName.get(n.getShortName()); +if (handlerInfo == null) { +handlerInfo = new TagHandlerInfo(n, + n.getTagHandlerClass(), + err); +handlerInfosByShortName.put(n.getShortName(), handlerInfo); +} + return handlerInfo; + } + + private void generateTagPlugin(Node.CustomTag n) + throws JasperException { + if (n.getAtSTag() != null) { + n.getAtSTag().visit(this); + } + visitBody(n); + if (n.getAtETag() != null) { + n.getAtETag().visit(this); + } + } + private void generateCustomStart(Node.CustomTag n, TagHandlerInfo handlerInfo, String tagHandlerVar, @@ -2336,6 +2371,70 @@ } } + private String evaluateAttribute(TagHandlerInfo handlerInfo, + Node.JspAttribute attr, + Node.CustomTag n, + String tagHandlerVar) + throws JasperException { + + String attrValue = attr.getValue(); + if (attrValue == null) { +if(attr.isNamedAttribute()) { +if(n.checkIfAttributeIsJspFragment(attr.getName())) { +// XXX - no need to generate temporary variable here +attrValue = generateNamedAttributeJspFragment( +attr.getNamedAttributeNode(), +