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

2003-09-29 Thread billbarker
billbarker2003/09/29 21:49:59

  Modified:src/share/org/apache/jasper/compiler JasperMangler.java
  Log:
  Fix problem with empty JSP file.
  
  Fix for bug #23478.
  Reported By: Jens [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.12  +1 -1  
jakarta-tomcat/src/share/org/apache/jasper/compiler/JasperMangler.java
  
  Index: JasperMangler.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat/src/share/org/apache/jasper/compiler/JasperMangler.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- JasperMangler.java22 Sep 2003 09:17:46 -  1.11
  +++ JasperMangler.java30 Sep 2003 04:49:59 -  1.12
  @@ -168,7 +168,7 @@
// Fix for invalid characters. From CommandLineCompiler
StringBuffer modifiedClassName = new StringBuffer();
char c='/';
  - if( Character.isDigit( className.charAt( 0 )  )) {
  + if( className.length()  0  Character.isDigit( className.charAt( 0 )  )) {
className=_ +className;
}
for (int i = 0; i  className.length(); i++) {
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



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

2003-09-13 Thread billbarker
billbarker2003/09/13 21:18:12

  Modified:src/share/org/apache/jasper/compiler JasperMangler.java
  Log:
  Add a check for case-insensitive for Windows platforms.
  
  Fix for bug #23101
  Reported By: Daniele Gaffuri [EMAIL PROTECTED]
  
  Revision  ChangesPath
  1.10  +1 -1  
jakarta-tomcat/src/share/org/apache/jasper/compiler/JasperMangler.java
  
  Index: JasperMangler.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat/src/share/org/apache/jasper/compiler/JasperMangler.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- JasperMangler.java22 Feb 2002 03:16:09 -  1.9
  +++ JasperMangler.java14 Sep 2003 04:18:12 -  1.10
  @@ -165,7 +165,7 @@
   public String getJspFilePath() {
   // lazy evaluation of full path
   if( jspFilePath == null )
  -jspFilePath=FileUtil.safePath( docBase, jspFile);
  +jspFilePath=FileUtil.safePath( docBase, jspFile, false);
   return jspFilePath;
   }
   
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



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

2001-11-26 Thread larryi

larryi  01/11/26 20:04:12

  Modified:src/share/org/apache/jasper/compiler JasperMangler.java
  Log:
  Implement lazy evaluation for getJspFilePath() so safePath() is only called
  once.
  
  Revision  ChangesPath
  1.8   +5 -1  
jakarta-tomcat/src/share/org/apache/jasper/compiler/JasperMangler.java
  
  Index: JasperMangler.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat/src/share/org/apache/jasper/compiler/JasperMangler.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- JasperMangler.java2001/09/07 04:35:27 1.7
  +++ JasperMangler.java2001/11/27 04:04:12 1.8
  @@ -163,7 +163,10 @@
   }
   
   public String getJspFilePath() {
  - return FileUtil.safePath( docBase, jspFile);
  +// lazy evaluation of full path
  +if( jspFilePath == null )
  +jspFilePath=FileUtil.safePath( docBase, jspFile);
  +return jspFilePath;
   }
   
   private String fixInvalidChars(String className) {
  @@ -287,6 +290,7 @@
   // context-relative jsp path 
   // extracted from the jsp-file or the result of a *.jsp mapping
   private String jspFile; 
  +private String jspFilePath=null;
   // version of the compiled java file
   private int version;
   private String workDir;
  
  
  

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




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

2001-09-06 Thread costin

costin  01/09/06 21:35:27

  Modified:src/facade22/org/apache/tomcat/facade
Servlet22Interceptor.java
   src/share/org/apache/jasper/compiler JasperMangler.java
  Log:
  Minors - one extra debug ( usefull ) in S22, workaround for a common config error in
  jasper mangler.
  
  Revision  ChangesPath
  1.17  +2 -0  
jakarta-tomcat/src/facade22/org/apache/tomcat/facade/Servlet22Interceptor.java
  
  Index: Servlet22Interceptor.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat/src/facade22/org/apache/tomcat/facade/Servlet22Interceptor.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- Servlet22Interceptor.java 2001/08/12 02:00:23 1.16
  +++ Servlet22Interceptor.java 2001/09/07 04:35:27 1.17
  @@ -188,6 +188,8 @@
Object value = sess.getAttribute(key);
   
if( value instanceof  HttpSessionBindingListener) {
  + if( debug  0 )
  + log(valueUnbound  + sess.getId() +   + key );
((HttpSessionBindingListener) value).valueUnbound
(new HttpSessionBindingEvent(httpSess , key));
if( removed==null) removed=new Vector();
  
  
  
  1.7   +2 -2  
jakarta-tomcat/src/share/org/apache/jasper/compiler/JasperMangler.java
  
  Index: JasperMangler.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat/src/share/org/apache/jasper/compiler/JasperMangler.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- JasperMangler.java2001/08/03 02:39:23 1.6
  +++ JasperMangler.java2001/09/07 04:35:27 1.7
  @@ -241,12 +241,12 @@
if( lastComp  0 )
baseClassN=jspFile.substring( lastComp+1 );
else
  - baseClassN=jspFile.substring( 1 );
  + baseClassN=jspFile.substring( 0 );
} else {
if( lastComp  0 )
baseClassN=jspFile.substring( lastComp+1, extIdx );
else
  - baseClassN=jspFile.substring( 1, extIdx );
  + baseClassN=jspFile.substring( 0, extIdx );
}
   
if( JavaGeneratorTool.isKeyword( baseClassN ) )
  
  
  



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

2001-08-02 Thread costin

costin  01/08/02 19:39:23

  Modified:src/share/org/apache/jasper/compiler JasperMangler.java
  Log:
  2 fixes in mangler: don't allow keywords in the class name ( new.jsp ) and
  digits in the first position ( 0.jsp ).
  
  We have problems with that because we generate cleaner names, instead of a
  long string. IMHO it's worth to have a nice name.
  
  Revision  ChangesPath
  1.6   +6 -0  
jakarta-tomcat/src/share/org/apache/jasper/compiler/JasperMangler.java
  
  Index: JasperMangler.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat/src/share/org/apache/jasper/compiler/JasperMangler.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- JasperMangler.java2001/03/06 21:35:46 1.5
  +++ JasperMangler.java2001/08/03 02:39:23 1.6
  @@ -170,6 +170,9 @@
// Fix for invalid characters. From CommandLineCompiler
StringBuffer modifiedClassName = new StringBuffer();
char c='/';
  + if( Character.isDigit( className.charAt( 0 )  )) {
  + className=_ +className;
  + }
for (int i = 0; i  className.length(); i++) {
char prev=c;
c=className.charAt(i);
  @@ -246,6 +249,9 @@
baseClassN=jspFile.substring( 1, extIdx );
}
   
  + if( JavaGeneratorTool.isKeyword( baseClassN ) )
  + baseClassN=_ + baseClassN;
  + 
baseClassN=fixInvalidChars( baseClassN );

//  System.out.println(XXXMangler:  + jspFile +   +
  
  
  



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

2001-03-06 Thread larryi

larryi  01/03/06 13:35:47

  Modified:src/share/org/apache/jasper/compiler JasperMangler.java
  Log:
  Update init() method to change '/' character to File.separatorChar in pkgDir
  for Windows systems.  Jasper doesn't work well under Jdk1.1 on Windows
  if classDir contains '/' characters.
  
  Revision  ChangesPath
  1.5   +5 -1  
jakarta-tomcat/src/share/org/apache/jasper/compiler/JasperMangler.java
  
  Index: JasperMangler.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat/src/share/org/apache/jasper/compiler/JasperMangler.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- JasperMangler.java2001/02/20 03:36:00 1.4
  +++ JasperMangler.java2001/03/06 21:35:46 1.5
  @@ -222,7 +222,11 @@
pkgDir=JavaGeneratorTool.manglePackage(pkgDir);
pkgDir=pkgDir.replace('.', '_');
pkgDir=fixInvalidChars( pkgDir );
  - classDir=workDir + File.separator + pkgDir;
  + if ( "/".equals(File.separator) )
  + classDir=workDir + File.separator + pkgDir;
  +else
  + classDir=workDir + File.separator +
  + pkgDir.replace('/',File.separatorChar);
} else {
classDir=workDir;
}
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




Re: cvs commit: jakarta-tomcat/src/share/org/apache/jasper/compiler JasperMangler.java

2001-03-06 Thread Thomas Riemer

There is one more problem that you should consider while you are looking at this 
particular
code...
JasperMangler.java will generate incorrect class paths if you every have a number 
after a
separator /.
It will try to generate package starting with a number, which (obviously) doesn't work 
in java.

-Tom

[EMAIL PROTECTED] wrote:

 larryi  01/03/06 13:35:47

   Modified:src/share/org/apache/jasper/compiler JasperMangler.java
   Log:
   Update init() method to change '/' character to File.separatorChar in pkgDir
   for Windows systems.  Jasper doesn't work well under Jdk1.1 on Windows
   if classDir contains '/' characters.

   Revision  ChangesPath
   1.5   +5 -1  
jakarta-tomcat/src/share/org/apache/jasper/compiler/JasperMangler.java

   Index: JasperMangler.java
   ===
   RCS file: 
/home/cvs/jakarta-tomcat/src/share/org/apache/jasper/compiler/JasperMangler.java,v
   retrieving revision 1.4
   retrieving revision 1.5
   diff -u -r1.4 -r1.5
   --- JasperMangler.java2001/02/20 03:36:00 1.4
   +++ JasperMangler.java2001/03/06 21:35:46 1.5
   @@ -222,7 +222,11 @@
 pkgDir=JavaGeneratorTool.manglePackage(pkgDir);
 pkgDir=pkgDir.replace('.', '_');
 pkgDir=fixInvalidChars( pkgDir );
   - classDir=workDir + File.separator + pkgDir;
   + if ( "/".equals(File.separator) )
   + classDir=workDir + File.separator + pkgDir;
   +else
   + classDir=workDir + File.separator +
   + pkgDir.replace('/',File.separatorChar);
 } else {
 classDir=workDir;
 }




 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, email: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




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

2001-02-11 Thread costin

costin  01/02/11 20:07:01

  Modified:src/share/org/apache/jasper/compiler JasperMangler.java
  Log:
  Resolved the (common) "//" problem ( URIs with double slashes ).
  ( a more generic fix later, this solves a problem with some existing webapps)
  
  Revision  ChangesPath
  1.3   +9 -1  
jakarta-tomcat/src/share/org/apache/jasper/compiler/JasperMangler.java
  
  Index: JasperMangler.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat/src/share/org/apache/jasper/compiler/JasperMangler.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- JasperMangler.java2001/02/06 02:46:25 1.2
  +++ JasperMangler.java2001/02/12 04:07:00 1.3
  @@ -169,8 +169,16 @@
   private String fixInvalidChars(String className) {
// Fix for invalid characters. From CommandLineCompiler
StringBuffer modifiedClassName = new StringBuffer();
  + char c='/';
for (int i = 0; i  className.length(); i++) {
  - char c=className.charAt(i);
  + char prev=c;
  + c=className.charAt(i);
  + // workaround for common "//" problem. Alternative
  + // would be to encode the dot.
  + if( prev=='/'  c=='/' ) {
  + continue;
  + }
  + 
if (Character.isLetterOrDigit(c) == true ||
c=='_' ||
c=='/' )
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]




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

2001-01-27 Thread costin

costin  01/01/27 21:54:35

  Added:   src/share/org/apache/jasper JasperEngineContext.java
JasperOptionsImpl.java
   src/share/org/apache/jasper/compiler JasperMangler.java
  Log:
  JspInterceptor: adding support for all options supported by Jasper.
  
  This is a slightly bigger change - the Mangler, Options and EngineContext
  are moved out of JspInterceptor ( to respect the organization of
  jasper and CommandLineCompiler ).
  
  ( they were developed with JspInterceptor as an experimental way to
  speed up jsp execution - probably at the beggining of tomcat3.2 development,
  now the code is stable, there is no reason to play with the jasper liaison )
  
  Revision  ChangesPath
  1.1  
jakarta-tomcat/src/share/org/apache/jasper/JasperEngineContext.java
  
  Index: JasperEngineContext.java
  ===
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999 The Apache Software Foundation.  All rights 
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *notice, this list of conditions and the following disclaimer. 
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *notice, this list of conditions and the following disclaimer in
   *the documentation and/or other materials provided with the
   *distribution.
   *
   * 3. The end-user documentation included with the redistribution, if
   *any, must include the following acknowlegement:  
   *   "This product includes software developed by the 
   *Apache Software Foundation (http://www.apache.org/)."
   *Alternately, this acknowlegement may appear in the software itself,
   *if and wherever such third-party acknowlegements normally appear.
   *
   * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
   *Foundation" must not be used to endorse or promote products derived
   *from this software without prior written permission. For written 
   *permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache"
   *nor may "Apache" appear in their names without prior written
   *permission of the Apache Group.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * 
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * http://www.apache.org/.
   *
   */ 
  package org.apache.jasper;
  
  import javax.servlet.*;
  import javax.servlet.http.*;
  import org.apache.jasper.compiler.JspReader;
  import org.apache.jasper.compiler.ServletWriter;
  import org.apache.jasper.compiler.Compiler;
  
  import java.util.*;
  import java.io.*;
  import java.net.*;
  
  import org.apache.jasper.JspCompilationContext;
  
  /** Alternative implementation of JspCompilationContext ( in addition
  to the servlet and standalone ). Used by JspInterceptor - but
  it's in no way specific to tomcat.
  */
  public class JasperEngineContext implements JspCompilationContext {
  JspReader reader;
  ServletWriter writer;
  ServletContext context;
  ClassLoader loader;
  boolean isErrPage;
  String jspFile;
  String servletClassName;
  String servletPackageName;
  String servletJavaFileName;
  String contentType;
  Options options;
  
  String cpath;// for compiling JSPs.
  ServletContext sctx;
  String outputDir;
  
  public JasperEngineContext()
  {
  }
  
  public void setClassPath( String s ) {
cpath=s;
  }
  
  /**
   * The classpath that is passed off to the Java compiler. 
   */
  public String getClassPath() {
return cpath;
  }
  
  /**
   * Get the input reader for the JSP text.