cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler TextOptimizer.java

2004-02-27 Thread kinman
kinman  2004/02/27 10:54:34

  Modified:jasper2/src/share/org/apache/jasper/compiler
TextOptimizer.java
  Log:
  - Fix bugzilla 27300: Wrong Smap when jsp comments are present
  
  Revision  ChangesPath
  1.3   +3 -6  
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TextOptimizer.java
  
  Index: TextOptimizer.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TextOptimizer.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- TextOptimizer.java10 Nov 2003 22:26:20 -  1.2
  +++ TextOptimizer.java27 Feb 2004 18:54:34 -  1.3
  @@ -105,9 +105,6 @@
   public void visit(Node.VariableDirective n) throws JasperException {
   }
   
  -public void visit(Node.Comment n) throws JasperException {
  -}
  -
   /*
* Don't concatenate text across body boundaries
*/
  
  
  

-
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 TextOptimizer.java Compiler.java Node.java Parser.java

2003-10-28 Thread kinman
kinman  2003/10/28 15:04:11

  Modified:jasper2/src/share/org/apache/jasper/compiler Compiler.java
Node.java Parser.java
  Added:   jasper2/src/share/org/apache/jasper/compiler
TextOptimizer.java
  Log:
  - Concatenate text strings of adjecent TemplateText nodes.  This may
reduce code size and improve performance.
  - Remove previous implementation for mappedfile options from Parser,
since this functionality works for free now.
  
  Revision  ChangesPath
  1.73  +3 -0  
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Compiler.java
  
  Index: Compiler.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Compiler.java,v
  retrieving revision 1.72
  retrieving revision 1.73
  diff -u -r1.72 -r1.73
  --- Compiler.java 28 Oct 2003 19:18:53 -  1.72
  +++ Compiler.java 28 Oct 2003 23:04:11 -  1.73
  @@ -267,6 +267,9 @@
TagPluginManager tagPluginManager = options.getTagPluginManager();
tagPluginManager.apply(pageNodes, errDispatcher, pageInfo);
   
  +// Optimization: concatenate contiguous template texts.
  +TextOptimizer.concatenate(pageNodes);
  +
// Generate static function mapper codes.
ELFunctionMapper.map(this, pageNodes);
   
  
  
  
  1.78  +7 -3  
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Node.java
  
  Index: Node.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Node.java,v
  retrieving revision 1.77
  retrieving revision 1.78
  diff -u -r1.77 -r1.78
  --- Node.java 16 Sep 2003 17:46:43 -  1.77
  +++ Node.java 28 Oct 2003 23:04:11 -  1.78
  @@ -1943,6 +1943,10 @@
   text = text.substring(index);
   }
   
  +public void setText(String text) {
  +this.text = text;
  +}
  +
   /**
* Trim all whitespace from the right of the template text
*/
  
  
  
  1.83  +5 -44 
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Parser.java
  
  Index: Parser.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Parser.java,v
  retrieving revision 1.82
  retrieving revision 1.83
  diff -u -r1.82 -r1.83
  --- Parser.java   23 Sep 2003 20:47:23 -  1.82
  +++ Parser.java   28 Oct 2003 23:04:11 -  1.83
  @@ -101,7 +101,6 @@
   private boolean directivesOnly;
   private URL jarFileUrl;
   private PageInfo pageInfo;
  -private boolean mappedFile;
   
   // Virtual body content types, to make parsing a little easier.
   // These are not accessible from outside the parser.
  @@ -128,7 +127,6 @@
this.directivesOnly = directivesOnly;
this.jarFileUrl = jarFileUrl;
   start = reader.mark();
  -mappedFile = ctxt.getOptions().getMappedFile();
   }
   
   /**
  @@ -1409,44 +1407,9 @@
return true;
   }
   
  -/**
  - * Determines whether the current text is template text
  - * or not.  Assumes the reader is at the character 
  - * following the .
  - */
  -private boolean isTemplateText() throws JasperException {
  -
  -Mark m = reader.mark();
  -int ch = reader.peekChar();
  -if (ch == '/') {
  -reader.nextChar();
  -}
  -String tagIdentifier = reader.parseToken(false);
  -reader.reset(m);
  -
  -if (tagIdentifier.startsWith(%)) {
  -return false;
  -}
  -if (tagIdentifier.startsWith(jsp:)) {
  -return false;
  -}
  -
  -// Check if this is a user-defined tag.
  -int i = tagIdentifier.indexOf(':');
  -if (i == -1) {
  -return true;
  -}
  -String prefix = tagIdentifier.substring(0, i);
  -String uri = pageInfo.getURI(prefix);
  -if (uri == null) {
  -return true;
  -}
  -
  -return false;
  -}
  -
   /*
  - *
  + * Parse for a template text string until '' or ${ is encountered, 
  + * recognizing escape sequences \% and \$.
*/
   private void parseTemplateText(Node parent) throws JasperException {
   
  @@ -1461,11 +1424,9 @@
while (reader.hasMoreInput()) {
ch = reader.nextChar();
if (ch == '') {
  -if (!mappedFile || !isTemplateText()) {
   reader.pushChar();
   break;
   }
  - }
else if( ch == '$' ) {
if (!reader.hasMoreInput()) {
ttext.write('$');
  
  
  
  1.1