Re: executing jsp independently

2004-12-14 Thread Mark Roth
Nishant,
In JSP 2.0, we laid some of the groundwork for running JSPs 
independently of a container.  Here are some pointers:

1. The JspContext API does not rely on any Servlet APIs.  JspContext
   is the new superclass for PageContext.
2. JspFragment does not rely on any Servlet APIs
3. Tag Files do not rely on having a request / response and do
   not need any Servlet APIs.
I'm sure it's possible to emulate a full Servlet environment, but I 
think the right way to do this is to start the execution from a tag file 
instead of a JSP page.  Tag files were designed to be able to run 
without a container if need be.  You'd still need to emulate the 
request/session/application scopes, but that's about it.  Tag files have 
the same capabilities as JSP pages, but they don't need a ServletRequest 
/ ServletResponse.

This is work the JSP is eventually interested in formalizing in the 
spec, so we'd be very interested in your feedback.  Please report back 
on our JSP spec mailing list with your progress and findings:

https://jsp-spec-public.dev.java.net/
---
Mark Roth, Staff Engineer, Java Software
JSP 2.0 / 2.1 Specification Lead
Java Enterprise Community Leader
http://community.java.net/java-enterprise
Sun Microsystems, Inc.
Nishant Kumar wrote:
hi,
I am generating a html report using JSP. we also exporting this report
to pdf. since the fop conversion takes quite a long time we have to do
this export asynchronously. for this we have to use velocity. is there
any way i can use JSP for this purpose.
Had it been sync, we could have used JSP to create the fo which could
have been transformed using a filter. but in the async mode tomcat
reuses the same request and response objects for some other request, so
can't use this trick.
Though JSP and servlets are meant for synchronous request handling, I
THINK executing JSP independently should be possible if we are able to
pass it some dummy request and response objects.
I am ready to tinker with tomcat code locally to get this working. Any
advice or pointers to relevant piece of code?? I think this is dev
question, if not I am sorry for posting on the wrong list.
thanks,
nishant
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

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


Re: [Fwd: PHP/JSR223]

2004-04-09 Thread Mark Roth
Hi Remy,

Remy Maucherat wrote:
The high level summary is nice, but more detail is needed for this 
discussion.
What does it mean exactly ?
The RI for the JSR is with PHP ? Does the code work already ? Is it OSS ?
;)
All excellent questions.  I think the answer at the moment is that it's 
somewhat too early to tell.  Stay tuned for more information as it 
becomes available.

I just wanted to put it on the radar of those who were interested in 
developments in this space.  And of course feel free to send mail to the 
JSR alias if you have feedback.

---
Mark Roth, Java Software
JSP 2.0 Specification Lead
Sun Microsystems, Inc.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


[Fwd: PHP/JSR223]

2004-04-08 Thread Mark Roth
For those that are interested, here's a summary of JSR-223, straight 
from the spec lead.

---
Mark Roth, Java Software
JSP 2.0 Specification Lead
Sun Microsystems, Inc.
--- Begin Message ---
Hi Mark

Here's a little essay on the relationship between the JSR and PHP.  Feel free to 
forward it.

JSR 223 defines an API used to embed scripting engines in Java applications.  As a 
special case, it defines a class of Servlets that  host scripting engines. The engines 
generate web content by executing scripts.

One of the implementations uses the native open source PHP code and the corresponding 
Servlet executes that code.  There is a PHP SAPI whose callback functions are 
implemented using JNI calls into the Servlet and Servlet Container.  The PHP scripts 
can also instantiate Java Objects using the Web Application's ClassLoader and invoke 
the public methods of the objects.  In cases where it makes sense, native PHP syntax 
can be used to do enumerations/iterations and access collections at indexes.

The spec can also be implemented (more easily, in fact) using any of the many 
Java-based scripting engines.. Rhino, Jython, BeanShell, Groovy, etc.

The spec won't specify how  particular scripting languages call Java.  We assume that 
all of them can do it in their own fashion.  With all of the Java-based scripting 
engines, this is a built-in feature.  To do an implementation with PHP, we did it 
ourselves. 

The JSR also does not deal specifically with native applications.  It just so happens 
that one of the implementations uses the native PHP sources to implement the Java API 
that the JSR does deal with.

The Java support in PHP4 is experimental and labeled as such.  It contains a lot of 
good ideas, some of which we used,  but as it stands, it probably isn't usable.

//mike


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

Re: PHP from Tomcat , some news from JFC :)

2004-04-07 Thread Mark Roth
From what I hear, the current PHPServlet is okay for simple things, but 
the integration you're looking for is not quite there yet.

There's some work going on to let Java and scripting languages act more 
friendly with each other.  For those who are interested, check out 
JSR-223, Scripting Pages in Java Web Applications.

http://jcp.org/en/jsr/detail?id=223

This JSR focuses on tight integration between PHP (or other scripting 
languages) and Java webapps.  Zend is an active participant on the 
expert group and is interested in such integration.

I believe they're building their RI on top of Tomcat.

Cool stuff!

---
Mark Roth, Java Software
JSP 2.0 Specification Lead
Sun Microsystems, Inc.
Costin Manolache wrote:
Nice :-)

Did you try it ? I'm curious, could you run a quick helo world benchmark 
( helo.jsp / help.php ) ?

The big question is the level of integration - i.e. if you can call java
objects from php or use some of the nice PHP features from java.
Costin

Henri Gomez wrote:

Hi to all,

Mladen discussed about using PHP from Tomcat.

Jean-Frederic Clere make some tests during his vacation
and send me the following mail to be forwarded to the list :


Good news, tomcat+php it's easy, php allready have support for.
I make a simple try and here's the resulting 'readme' :

Using php in Tomcat5: Easy a servlet is available in php (I have tried 
with
php-4.3.5)

configure the php with:
./configure --with-servlet=$TOMCAT_HOME --with-java=$JAVA_HOME
a jarfile and dynamic library are produced:
- sapi/servlet/phpsrvlt.jar
- libs/libphp4.so
Copy jarfile and arrange web.xml:
cp $PHP_HOME/sapi/servlet/phpsrvlt.jar $TOMCAT_HOME/common/lib
copy the $PHP_HOME/sapi/servlet/web.xml servlet and servlet-mapping in 
the
$TOMCAT_HOME/conf/web.xml

Start the Tomcat:
LD_LIBRARY_PATH=$PHP_HOME/libs
export LD_LIBRARY_PATH
$TOMCAT_HOME/bin/catalina.sh start
Try it:
Create a file named ./webapps/ROOT/test.php containing:
+++

+++
Call it:
http://localhost:8080/test.php
Patch for the configure of php:

--- configure.org   2004-04-07 11:20:24.0 +0200
+++ configure   2004-04-07 11:22:50.0 +0200
 if test "$withval" = "yes"; then
   SERVLET_CLASSPATH=.
 else
+  if test -f $withval/common/lib/servlet-api.jar; then
+SERVLET_CLASSPATH=$withval/common/lib/servlet-api.jar
+  fi
+
   if test -f $withval/lib/servlet.jar; then
 SERVLET_CLASSPATH=$withval/lib/servlet.jar
  fi



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


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


Re: Email account utilization warning.

2004-03-08 Thread Mark Roth
Hi Michael,

I think the message itself is from a clever virus that is trying to get 
you to open the attachment.  I thought I saw another such email go by my 
Inbox the other day that was signed "The somethingelse.com team".

Fortunately, us Linux and Solaris folk don't have to worry about such 
things :)

---
Mark Roth, Java Software
JSP 2.0 Specification Lead
Sun Microsystems, Inc.
Michael McGrady wrote:
What is this about?  I am sure of one thing, I did not improperly use 
anything.  I don't know what you mean about "resign[ing my]account 
information" either.  Since there was no attached file, I assume my 
security picked up an attempt to pass on a virus.  Anyone else seeing 
these?

Michael

At 01:07 AM 3/8/2004, you wrote:

Dear user, the  management  of Apache.org  mailing system wants to 
let  you know that,

Your e-mail  account will be  disabled  because  of improper  using 
in  next
three days, if you are still wishing to  use it,  please, resign your
account  information.

For  more information see the attached file.

Attached file  protected with the password for  security  reasons. 
Password is 46855.

Kind regards,
The Apache.org  team 
http://www.apache.org

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




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


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


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

2004-02-02 Thread Mark Roth
Okay, I took a look at the patch and the bug report and I think I know 
what's going on now.  Please let me know if I do not understand the 
scenario correctly.

It seems there are some JSP 1.2 pages that misuse  by doing 
one of the following:

  1. The class attribute is used for a Java type that cannot
 be instantiated as a JavaBean.
  2. Type or class specifies a type that cannot be found.
There are some cases where pages can get away with (1) if the container 
decides to flag this as a runtime error.  These pages are invalid but 
the container never calls them on it because the objects already exist 
in some scope.  This is probably less likely with (2), but still 
possible (e.g. if the  never gets executed at all).

It would be nice to get a translation error in this case so that you 
realize your page is invalid.  However, the JSP 1.2 specification (on 
which Tomcat 4.x is based) does not allow for a translation error - it 
requires that a runtime exception must be thrown.

In JSP 2.0 (on which Tomcat 5.x is based), a number of JSP container 
vendors complained about this and wanted the freedom to throw a 
translation error in this case.  Doing so is better for the page author 
(since they know up front their page is invalid) and better for the 
container (since doing a 'new' is MUCH more efficient than doing a call 
to Beans.instantiate()).  So, we added a provision to allow containers 
to optionally produce a translation error on these invalid pages.

One unfortunate side-effect is that some pages that used to compile in 
Tomcat 4 will no longer compile in Tomcat 5.  But it's important to 
realize that these pages are invalid in both specs.  It's just that 
Tomcat 4 was not allowed to cause an error at translation time.  It had 
to wait until runtime to do so.

So where does this leave us with respect to this patch?  Tomcat 5 is 
free to exhibit either behavior.  It can throw a translation error or a 
runtime error for these invalid pages.  In my opinion, it is much better 
for both the page author and the container if we produce a 
translation-time error.  The page author knows their page is invalid 
right away (without having to exercise the code path), and the container 
can gain the performance benefits associated with doing a 'new' call 
directly (instead of Beans.instantiate()).

So it's your call, but if I had a vote I'd say stick with Kin-Man's patch.

Hope this helps.

---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.


Remy Maucherat wrote:
Kin-Man Chung wrote:

Agreed that the spec can be clearer.  :-)

This has been discussed by the Spec expert group, and bullet .2 was added
because some vendors wanted it.  I'll check with the spec lead for a
clarification.


Ok.

Also agreed that this breaks backward compatibility; but it not really 
too
bad.  I think a lot of users would rather have the error at compilation
time than at runtime.  What can you do with an instantiation error at
runtime?


Nothing, but some don't care: they never intended their page to be 
called without the right attribute in the right scope, so the case where 
their "JavaBean" is instantiated never happens.

If we are really concern about BC, then we can add another compilation
option to revert to old behavior.  I really don't like another switch, 
but
if it'll make people happy...


No new switch, please ;) So we have to decide one or the other.
So do you want me to revert the patch ?
Rémy

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


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


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

2004-02-02 Thread Mark Roth
Hi Kin-Man,

I'm just about to look into this.  I'll try to have an answer for you by 
tonight.

- Mark

Kin-Man Chung wrote:
-1.

Remy, please reread JSP 2.0 spec, p 1-101,1-102.  Bullet .2 of the Semantics
section was added to allow for this kind of optimization.  Bullet .5 and .6
will be executed ONLY IF the container choose not to issue translation errors.
-Kin-man


Date: Mon, 02 Feb 2004 18:18:01 +
From: [EMAIL PROTECTED]
Subject: cvs commit: 
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler 
Generator.java

To: [EMAIL PROTECTED]

remm2004/02/02 10:18:01

 Modified:jasper2/src/share/org/apache/jasper/compiler Generator.java
 Log:
 - Revert useBean optimization done by Kin-Man, as it seems to violate the
   spec wording (which basically says that an error should occur at runtime 
if the class

   is not a JavaBean).
 - Bug 26507.
 
 Revision  ChangesPath
 1.217 +31 -35
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.jav
a
 
 Index: Generator.java
 ===
 RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Gen
erator.java,v
 retrieving revision 1.216
 retrieving revision 1.217
 diff -u -r1.216 -r1.217
 --- Generator.java	31 Jan 2004 01:56:28 -	1.216
 +++ Generator.java	2 Feb 2004 18:18:00 -	1.217
 @@ -1261,41 +1261,37 @@
  className =
  attributeValue(beanName, false, String.class);
  }
 -out.printil("try {");
 -out.pushIndent();
 -out.printin(name);
 -out.print(" = (");
 -out.print(type);
 -out.print(") java.beans.Beans.instantiate(");
 -out.print("this.getClass().getClassLoader(), ");
 -out.print(className);
 -out.println(");");
 -out.popIndent();
 -/*
 - * Note: Beans.instantiate throws 
ClassNotFoundException

 - * if the bean class is abstract.
 - */
 -out.printil("} catch (ClassNotFoundException exc) {");
 -out.pushIndent();
 -out.printil(
 -"throw new 
InstantiationException(exc.getMessage());");

 -out.popIndent();
 -out.printil("} catch (Exception exc) {");
 -out.pushIndent();
 -out.printin("throw new ServletException(");
 -out.print("\"Cannot create bean of class \" + ");
 -out.print(className);
 -out.println(", exc);");
 -out.popIndent();
 -out.printil("}"); // close of try
  } else {
  // Implies klass is not null
 -// Generate codes to instantiate the bean class
 -out.printin(name);
 -out.print(" = new ");
 -out.print(klass);
 -out.println("();");
 +className = quote(klass);
  }
 +out.printil("try {");
 +out.pushIndent();
 +out.printin(name);
 +out.print(" = (");
 +out.print(type);
 +out.print(") java.beans.Beans.instantiate(");
 +out.print("this.getClass().getClassLoader(), ");
 +out.print(className);
 +out.println(");");
 +out.popIndent();
 +/*
 + * Note: Beans.instantiate throws ClassNotFoundException
 + * if the bean class is abstract.
 + */
 +out.printil("} catch (ClassNotFoundException exc) {");
 +out.pushIndent();
 +out.printil(
 +"throw new InstantiationException(exc.getMessage());");
 +out.popIndent();
 +out.printil("} catch (Exception exc) {");
 +out.pushIndent();
 +out.printin("throw new ServletException(");
 +out.print("\"Cannot create bean of class \" + ");
 +out.print(className);
 +out.println(", exc);");
 +out.popIndent();
 +out.printil("}"); // close of try
  /*
   * Set attribute for bean in the specified scope
   */
 
 
 

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


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



Re: cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources messages.properties

2004-01-06 Thread Mark Roth
No problem, Mark.

Thanks,
---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
Mark Thomas wrote:
Mark,

Thanks for the clarification. I must confess I has missed the 'should' and
read it as 'must'. I'll revert my previous patch and modify the bugzilla
report to an enhancement request to log a warning.
Mark

On Tuesday, January 06, 2004 11:45 PM, Mark Roth [SMTP:[EMAIL PROTECTED] wrote:

Hi Mark,

Kin-Man pointed me to this thread and I figured I'd contribute my 
interpretation.

For reference, the JSP 2.0 specification, JSP.7.3.1 states:

"Tag library descriptor files have names that use the
extension .tld, and the extension indicates a tag library
descriptor file. When deployed inside a JAR file, the tag
library descriptor files must be in the META-INF directory, or
a subdirectory of it. When deployed directly into a web
application, the tag library descriptor files must always be in
the WEB-INF directory, or some subdirectory of it. TLD files
should not be placed in /WEB-INF/classes or /WEB-INF/lib."
A few notes:

1. The intent of this guideline is that the container can but need not
   recognize .tld files elsewhere.  This is a requirement on the
   application, not the container.  In other words, an application
   that places its TLD file in any other location is in violation of
   the specification, and a container can but need not handle that
   application.
2. The specification does not state that an error occurs if a TLD
   file appears elsewhere.  It leaves it up to the container.
3. The specification says "should" not be placed in /WEB-INF/classes
   or /WEB-INF/lib, not "must", so the requirement for these two
   locations is even less strong.
So it seems we're free to do what we want in Tomcat.  My recommendation 
would be to either leave it the way it was or log a warning to the user 
that the application is not spec-compliant.

I don't like producing an error here - if prior versions of Tomcat 
handled this, I see no reason to go out of our way to change this and 
break applications that once worked.  However, it might be appropriate 
to log a friendly warning to the user since the application is not 
following the specification.

---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
Mark Thomas wrote:

Larry,

AFAIK Tomcat behaviour does not depend on the version of the
deployment descriptor schema apart from during the
interpretation of the descriptor. On this basis, I am against
setting a precedent here.
Further, my understanding is that each version of Tomcat is
written to support a single defined version of the spec. It is
not written to support multiple spec versions. If a version of
the spec is not 100% backwards compatible with the previous
version I believe that this is a spec issue, not a tomcat
issue.
It is inevitable that in each new version of the spec there will
be a number of areas that will cause problems with migrating
applications from a previous version.
I would be interested to hear the views of other tomcat
developers on this issue.
Mark

On Tuesday, January 06, 2004 3:27 PM, Larry Isaacs
[SMTP:[EMAIL PROTECTED] 
wrote:


Mark,

For backwards compatibility, I think the restrictions to the TLD
location need to follow the spec level used by the web application.
Since JSP 1.1 didn't include much in the way of restrictions,
I know of some legacy Servlet 2.2/JSP 1.1 webapps that would fail
these restrictions if deployed to Tomcat 5 with this change (or
Tomcat 4.1 with the port of this change).  If you want, I can take
a look at fixing this.
Cheers,
Larry


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Saturday, January 03, 2004 8:57 AM
To: [EMAIL PROTECTED]
Subject: cvs commit:
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/reso
urces messages.properties
markt   2004/01/03 05:56:39

Modified:jasper2/src/share/org/apache/jasper/compiler
  TagLibraryInfoImpl.java
 jasper2/src/share/org/apache/jasper/resources
  messages.properties
Log:
- Fix bug 11069. Check that the location of the TLD file is
spec compliant.
Revision  ChangesPath
1.50  +11 -4
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/comp
iler/TagLibraryInfoImpl.java
Index: TagLibraryInfoImpl.java
===
RCS file:
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/j
asper/compiler/TagLibraryInfoImpl.java,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -r1.49 -r1.50
--- TagLibraryInfoImpl.java 3 Jan 2004 12:17:18 -   1.49
+++ TagLibraryInfoImpl.java 3 Jan 2004 13:56:38 -   1.50
@@ -5,7 +5,7 @@
  *
  * The Apache Software License, Version 1.1
  *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights
+ * Copy

Re: cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources messages.properties

2004-01-06 Thread Mark Roth
Hi Mark,

Kin-Man pointed me to this thread and I figured I'd contribute my 
interpretation.

For reference, the JSP 2.0 specification, JSP.7.3.1 states:

"Tag library descriptor files have names that use the
extension .tld, and the extension indicates a tag library
descriptor file. When deployed inside a JAR file, the tag
library descriptor files must be in the META-INF directory, or
a subdirectory of it. When deployed directly into a web
application, the tag library descriptor files must always be in
the WEB-INF directory, or some subdirectory of it. TLD files
should not be placed in /WEB-INF/classes or /WEB-INF/lib."
A few notes:

1. The intent of this guideline is that the container can but need not
   recognize .tld files elsewhere.  This is a requirement on the
   application, not the container.  In other words, an application
   that places its TLD file in any other location is in violation of
   the specification, and a container can but need not handle that
   application.
2. The specification does not state that an error occurs if a TLD
   file appears elsewhere.  It leaves it up to the container.
3. The specification says "should" not be placed in /WEB-INF/classes
   or /WEB-INF/lib, not "must", so the requirement for these two
   locations is even less strong.
So it seems we're free to do what we want in Tomcat.  My recommendation 
would be to either leave it the way it was or log a warning to the user 
that the application is not spec-compliant.

I don't like producing an error here - if prior versions of Tomcat 
handled this, I see no reason to go out of our way to change this and 
break applications that once worked.  However, it might be appropriate 
to log a friendly warning to the user since the application is not 
following the specification.

---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
Mark Thomas wrote:
Larry,

AFAIK Tomcat behaviour does not depend on the version of the
deployment descriptor schema apart from during the
interpretation of the descriptor. On this basis, I am against
setting a precedent here.
Further, my understanding is that each version of Tomcat is
written to support a single defined version of the spec. It is
not written to support multiple spec versions. If a version of
the spec is not 100% backwards compatible with the previous
version I believe that this is a spec issue, not a tomcat
issue.
It is inevitable that in each new version of the spec there will
be a number of areas that will cause problems with migrating
applications from a previous version.
I would be interested to hear the views of other tomcat
developers on this issue.
Mark

On Tuesday, January 06, 2004 3:27 PM, Larry Isaacs [SMTP:[EMAIL PROTECTED] 
wrote:

Mark,

For backwards compatibility, I think the restrictions to the TLD
location need to follow the spec level used by the web application.
Since JSP 1.1 didn't include much in the way of restrictions,
I know of some legacy Servlet 2.2/JSP 1.1 webapps that would fail
these restrictions if deployed to Tomcat 5 with this change (or
Tomcat 4.1 with the port of this change).  If you want, I can take
a look at fixing this.
Cheers,
Larry

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Saturday, January 03, 2004 8:57 AM
To: [EMAIL PROTECTED]
Subject: cvs commit:
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/reso
urces messages.properties
markt   2004/01/03 05:56:39

 Modified:jasper2/src/share/org/apache/jasper/compiler
   TagLibraryInfoImpl.java
  jasper2/src/share/org/apache/jasper/resources
   messages.properties
 Log:
 - Fix bug 11069. Check that the location of the TLD file is
spec compliant.
 Revision  ChangesPath
 1.50  +11 -4
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/comp
iler/TagLibraryInfoImpl.java
 Index: TagLibraryInfoImpl.java
 ===
 RCS file:
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/j
asper/compiler/TagLibraryInfoImpl.java,v
 retrieving revision 1.49
 retrieving revision 1.50
 diff -u -r1.49 -r1.50
 --- TagLibraryInfoImpl.java3 Jan 2004 12:17:18 -   1.49
 +++ TagLibraryInfoImpl.java3 Jan 2004 13:56:38 -   1.50
 @@ -5,7 +5,7 @@
   *
   * The Apache Software License, Version 1.1
   *
 - * Copyright (c) 1999 The Apache Software Foundation.  All rights
 + * Copyright (c) 1999,2004 The Apache Software Foundation.
All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with
or without
 @@ -200,6 +200,13 @@
  }
  } catch (FileNotFoundException ex) {
err.jspError("jsp.error.file.not.found", location[0]);
 +}
 +
 +// Check TLD file location conforms to JSP.7

Re: Important information about jakarta-servletapi-*

2003-12-17 Thread Mark Roth
Hi Mark,

Mark Thomas wrote:
Mark,

One final question. The javadoc bugs I was looking at were of the following 
types:
 - @returns used rather than @return
 - @seealso used rather than @see
 - etc
Yuck.  :)  It's unfortunate we didn't catch those earlier.  I'm 
definitely interested in a list of any such bugs in the JSP APIs and I'm 
sure Yutaka is too, for Servlet.  Please send a summary of any such 
errors to the spec aliases and we'll be sure to catch them in the next 
revision of the specs.

Is it permitted to make changes to fix these? There were no changes to the 
actual text of the javadoc.
Unfortunately, the answer is no, even though it seems rather silly.  The 
reason is that the specifications themselves have an auto-generated copy 
of the javadocs in PDF format, and the assertion list for the TCK is 
generated, in part, based on the javadoc tags.  Converting an incorrect 
@returns to a correct @return would make both the spec PDF and assertion 
list get out of sync with the API workspace.  There are other 
side-effects as well.

Thanks in advance for the summary to the specification aliases!

---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Important information about jakarta-servletapi-*

2003-12-17 Thread Mark Roth
Hi Yoav,

Shapira, Yoav wrote:
Howdy,
Thanks for the clarification Mark, and for beating me to the question
Tim ;)
No problem!

---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Important information about jakarta-servletapi-*

2003-12-17 Thread Mark Roth
Hi Tim,

Tim Funk wrote:
Does this mean that any bug submitted with a criticism (or patch) 
against jakarta-servletapi-* can be marked as WONTFIX with a advisory 
for the requestor to notify [EMAIL PROTECTED] or 
[EMAIL PROTECTED] ? (I know there is at least one bug in 
this category)
If the bug fix results in a change to the externally-visible portions of 
an API class (javax.*), the change MUST go through the JCP.  The best 
way to get such an issue considered is through the mail aliases I 
mentioned in the previous email.

Fixing bugs in the implementation of such classes resulting in NO change 
to the external interface (e.g. signature of public/protected methods or 
javadocs) is okay.

Additions, removals and changes to other portions of this workspace, 
such as the sample applications, are entirely okay.

I'll leave it up to the Tomcat team to decide how to handle the 
paperwork (e.g. whether to mark bugs as WONTFIX or not).  Your 
suggestion sounds reasonable to me.

It's probably a good idea to outline these rules in a README.txt file in 
the workspace as well.

Hope this helps.

---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Important information about jakarta-servletapi-*

2003-12-17 Thread Mark Roth
Hi everyone,

I've seen a few requests to fix items in the jakarta-servletapi-* 
workspaces and wanted to clear up any confusion there might be.

Changes to examples in these workspaces are fine.

However, ANY changes to the core APIs (including even simple javadocs 
changes) CANNOT be done outside of the JCP process.  This applies to 
both Servlet and JSP APIs.

To make any changes to these APIs, you must propose the change through 
the spec aliases, which appear on the front covers of the corresponding 
specifications:

Servlet: [EMAIL PROTECTED]
JSP: [EMAIL PROTECTED]
Your change request will be considered by the specification leads and 
potentially debated by the expert group.  Changes to the APIs can only 
be done in a maintenance release of the specification, or in the next 
revision of the specification.  The Servlet 2.4 and JSP 2.0 
specifications have both been finalized for this release of Tomcat and 
are very unlikely to change in any substantial way until the next release.

Please understand that Tomcat is only one of many containers that are 
implementing the Servlet and JSP specifications, and the APIs must match 
identically on all containers.

Please don't hesitate to contact me if you have any questions on this 
matter.

Thank you for your cooperation.

---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: JSP implicit writer (out) vs. response.getWriter()

2003-11-24 Thread Mark Roth
Hi Karl,

The result is not unexpected.  See the JSP 2.0 specification, section 
JSP.1.7:

"...JSP page authors are prohibited from writing directly to either the 
PrintWriter or OutputStream associated with the ServletResponse."

The reason is that writes performed by the JSP page are normally 
buffered.  There is an implicit object 'out' that writes to the buffered 
JspWriter which will accomplish what you are looking for, in the right 
order.  So you should do this instead:

   
   
   Me first.
   <% out.println("Me second"); %>
   
   
Hope this helps.

---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
Karl Goldstein wrote:
After thinking about it a bit more, it seems the solution to the issue I raised yesterday is potentially simple: just use a "wrapped" response for the JSP response variable, which returns the JspWriter.  

create a new package class JspResponseWrapper: 

  class JspResponseWrapper extends HttpServletResponseWrapper {

private Writer out;

JspResponseWrapper(HttpServletResponse response, JspWriter out) {
  super(response);
  this.out = out;
}

public Writer getWriter() {
  return out;
}
...override other methods related to output stream/writer
  }
Then in PageContextImpl._initialize:

this.response = new JspResponseWriter(response, this.out);

Thoughts?

Regards,

Karl Goldstein
  - Original Message - 
  From: Karl Goldstein 
  To: [EMAIL PROTECTED] 
  Sent: Saturday, November 22, 2003 10:32 PM
  Subject: JSP implicit writer (out) vs. response.getWriter()

  Hi all,

  I recently started working with Tomcat (4.1.29) and ran into an inconsistency between the implicit "out" variable in a JSP and response.getWriter().  Consider this JSP:

  
  
  Me first.
  <% response.getWriter().println("Me second"); %>
  
  
  I was surprised to discover that the out of this is:

  Me second.
  
  
  Me first.
  
  
  Looking at org.apache.jasper.runtime.PageContextImpl and JspWriterImpl, it appears that the 
"out" variable is set up
  with its own buffer, which explains why text sent straight to the response writer 
appears first (before the JSP writer buffer gets flushed).
  Am I missing something or is this the way it actually works?  If I have it straight, 
is this a bug?  I'm not sure about the
  JSP spec, but other app servers I've tried seem to accumulate text in a single buffer for both 
"out" and response.getWriter().
  Thanks,

  Karl Goldstein


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


Re: Tomcat sessions at ApacheCon

2003-11-20 Thread Mark Roth
Remy Maucherat wrote:
* JSP 2.0 (Mark Roth) - well, not really about TC
Thanks for the plug, Remy :)

- Mark

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


[PATCH] jakarta-servletapi-5: XML schema fix

2003-10-08 Thread Mark Roth
Attached is a patch to the TLD schema to remove a superfluous definition 
for the xml prefix.

jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd
- Removed superfluous xml namespace
---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
Index: jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd,v
retrieving revision 1.14
diff -u -r1.14 web-jsptaglibrary_2_0.xsd
--- jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd  18 Aug 2003 19:58:19 - 
 1.14
+++ jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd  8 Oct 2003 23:21:29 -
@@ -3,7 +3,6 @@
  targetNamespace="http://java.sun.com/xml/ns/j2ee";
  xmlns:j2ee="http://java.sun.com/xml/ns/j2ee";
  xmlns:xsd="http://www.w3.org/2001/XMLSchema";
- xmlns:xml="http://www.w3.org/XML/1998/namespace";
  elementFormDefault="qualified"
  attributeFormDefault="unqualified"
  version="2.0">
@@ -13,10 +12,11 @@
   %W% %G%
 
   
+
   
 
 
-  Copyright 2002 Sun Microsystems, Inc., 901 San Antonio
+  Copyright 2003 Sun Microsystems, Inc., 901 San Antonio
   Road, Palo Alto, California 94303, U.S.A. All rights
   reserved.
 
@@ -270,13 +270,15 @@
 
Where:
 
-   * Type is a basic type or a fully qualified Java class name
- (including package name), as per the 'Type' production
- in the Java Language Specification, Second Edition,
+   * Type is a basic type or a fully qualified
+ Java class name (including package name),
+ as per the 'Type' production in the Java
+ Language Specification, Second Edition,
  Chapter 18.
 
-* Identifier is a Java identifier, as per the 'Identifier'
- production in the Java Language Specification, Second
+* Identifier is a Java identifier, as per
+ the 'Identifier' production in the Java
+ Language Specification, Second
  Edition, Chapter 18.
 
Example:
@@ -693,8 +695,8 @@
 
The taglib tag is the document root, it defines:
 
-   description a simple string describing the "use" of this taglib,
-   should be user discernable
+   description a simple string describing the "use" of this
+   taglib, should be user discernable
 
display-namethe display-name element contains a
short name that is intended to be displayed

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

[PATCH] jakarta-servletapi-5 JSP Examples improvements

2003-10-03 Thread Mark Roth
There were reports of the "View Source" option not working for the JSP 
examples in some versions of IE.  Apparently some configurations of IE 
will process the HTML tags in text files instead of rendering them as 
text.  I've made the following enhancements:

  * Created new ant task Txt2Html that converts text files to
escaped HTML in a 'pre' tag
  * Modified build.xml to build and import Txt2Html task
  * Modified build.xml to generate foo.jsp.html instead of foo.jsp.txt
using new Txt2Html task
  * Updated example HTML files to refer to foo.jsp.html instead of
foo.jsp.txt
  * Fixed some broken links and broken image links in some HTML files
  * Fixed plugin example to use relative path name to applet codebase
instead of absolute path
ADDED Files (attached):
  * jsr152/src/ant/task/Txt2Html.java
MODIFIED Files (see attached patch)
  * jsr152/build.xml
  * jsr152/examples/cal/calendar.html
  * jsr152/examples/checkbox/cresult.html
  * jsr152/examples/colors/clr.html
  * jsr152/examples/dates/date.html
  * jsr152/examples/error/er.html
  * jsr152/examples/forward/fwd.html
  * jsr152/examples/include/inc.html
  * jsr152/examples/jsp2/el/basic-arithmetic.html
  * jsr152/examples/jsp2/el/basic-comparisons.html
  * jsr152/examples/jsp2/el/functions.html
  * jsr152/examples/jsp2/el/implicit-objects.html
  * jsr152/examples/jsp2/jspattribute/jspattribute.html
  * jsr152/examples/jsp2/jspattribute/shuffle.html
  * jsr152/examples/jsp2/jspx/basic.html
  * jsr152/examples/jsp2/jspx/textRotate.html
  * jsr152/examples/jsp2/misc/config.html
  * jsr152/examples/jsp2/misc/dynamicattrs.html
  * jsr152/examples/jsp2/simpletag/book.html
  * jsr152/examples/jsp2/simpletag/hello.html
  * jsr152/examples/jsp2/simpletag/repeat.html
  * jsr152/examples/jsp2/tagfiles/hello.html
  * jsr152/examples/jsp2/tagfiles/panel.html
  * jsr152/examples/jsp2/tagfiles/products.html
  * jsr152/examples/jsptoserv/jts.html
  * jsr152/examples/num/numguess.html
  * jsr152/examples/plugin/plugin.html
  * jsr152/examples/plugin/plugin.jsp
  * jsr152/examples/sessions/crt.html
  * jsr152/examples/simpletag/foo.html
  * jsr152/examples/snp/snoop.html
  * jsr152/examples/xml/xml.html
---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
Index: jsr152/build.xml
===
RCS file: /home/cvspublic/jakarta-servletapi-5/jsr152/build.xml,v
retrieving revision 1.7
diff -u -r1.7 build.xml
--- jsr152/build.xml1 May 2003 22:39:50 -   1.7
+++ jsr152/build.xml3 Oct 2003 14:18:47 -
@@ -33,6 +33,7 @@
 
 
 
+
 
 
 
@@ -106,8 +107,17 @@
   
 
 
-  
-  
+  
+  
+
+
+  
+  
+  
 
 
   
@@ -115,7 +125,7 @@
   
 
 
-
+
   
 
   
@@ -127,10 +137,9 @@
   
 
   
-  
-
+
 
-
+
   
 
   
@@ -139,47 +148,46 @@
 
 
   
-  
-
+
 
-
+
   
 
 
 
 
   
-  
-
+
 
-
+
   
 
   
-  
-
+
 
-
+
   
 
   
-  
-
+
 
-
+
   
 
   
-  
-
+
 
-
-  
-  
-
+
+  
+
+  
+
 
-
+
   
+
+
+
 
 
 
@@ -189,18 +197,7 @@
 
 
   
-  
-
-
-
-  
-  
-
-
-
-  
-  
-
+
 
 
 
 
-
+
 
  Source Code for Calendar Example. 
-cal1.jsp
+cal1.jsp

-cal2.jsp
+cal2.jsp

 
 
  Beans.
-TableBean
+TableBean

-Entries
+Entries

-Entry
+Entry

 
 
Index: jsr152/examples/checkbox/cresult.html
===
RCS file: /home/cvspublic/jakarta-servletapi-5/jsr152/examples/checkbox/cresult.html,v
retrieving revision 1.2
diff -u -r1.2 cresult.html
--- jsr152/examples/checkbox/cresult.html   21 Mar 2003 01:53:48 -  1.2
+++ jsr152/examples/checkbox/cresult.html   3 Oct 2003 14:18:47 -
@@ -10,9 +10,9 @@
 
 
 
-
+
 
-Source Code for Checkbox Example
+Source Code for Checkbox Example

 
 Property Sheet for CheckTest
Index: jsr152/examples/colors/clr.html
===
RCS file: /home/cvspublic/jakarta-servletapi-5/jsr152/examples/colors/clr.html,v
retrieving revision 1.2
diff -u -r1.2 clr.html
--- jsr152/examples/colors/clr.html 21 Mar 2003 01:53:48 -  1.2
+++ jsr152/examples/colors/clr.html 3 Oct 2003 14:18:47 -
@@ -10,9 +10,9 @@
 
 
 
-
+
 
-Source Code for Color Example
+Source Code for Color Example

 
 Property Sheet for ColorGameBean
Index: jsr152/examples/dates/date.html
===
RCS file: /home/cvspublic/jakarta-servletapi-5/jsr152/examples/dates/date.html,

[PATCH] jakarta-servletapi-5: Update to j2ee_1_4.xsd

2003-09-25 Thread Mark Roth
Attached is a patch to update the J2EE 1.4 schema.

jsr154/src/share/dtd/j2ee_1_4.xsd
- clarify that fully-qualified-classType is a binary name
---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
Index: jsr154/src/share/dtd/j2ee_1_4.xsd
===
RCS file: /home/cvspublic/jakarta-servletapi-5/jsr154/src/share/dtd/j2ee_1_4.xsd,v
retrieving revision 1.9
diff -u -r1.9 j2ee_1_4.xsd
--- jsr154/src/share/dtd/j2ee_1_4.xsd   18 Aug 2003 17:41:20 -  1.9
+++ jsr154/src/share/dtd/j2ee_1_4.xsd   25 Sep 2003 21:42:48 -
@@ -8,7 +8,7 @@
  version="1.4">
   
 
-  @(#)j2ee_1_4.xsds1.42 03/08/01
+  @(#)j2ee_1_4.xsds1.43 03/09/16
 
   
 
@@ -497,7 +497,11 @@
   
 
The elements that use this type designate the name of a
-   Java class or interface.
+   Java class or interface.  The name is in the form of a
+   "binary name", as defined in the JLS.  This is the form
+   of name used in Class.forName().  Tools that need the
+   canonical name (the name used in source code) will need
+   to convert this binary name to the canonical name.
 
   
 

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

[PATCH] jakarta-servletapi-5 Clarification to IterationTag

2003-09-03 Thread Mark Roth
jsr152/src/share/javax/servlet/jsp/tagext/IterationTag.java
- Clarified that doAfterBody() is not called if there is no body.
---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
Index: jsr152/src/share/javax/servlet/jsp/tagext/IterationTag.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/IterationTag.java,v
retrieving revision 1.6
diff -u -r1.6 IterationTag.java
--- jsr152/src/share/javax/servlet/jsp/tagext/IterationTag.java 31 Mar 2003 17:52:26 
-  1.6
+++ jsr152/src/share/javax/servlet/jsp/tagext/IterationTag.java 3 Sep 2003 19:53:38 
-
@@ -91,21 +91,23 @@
  *
  * Empty and Non-Empty Action
  *  If the TagLibraryDescriptor file indicates that the action must
- * always have an empty action, by an <body-content> entry of "empty",
- * then the doStartTag() method must return SKIP_BODY.
+ * always have an empty element body, by a <body-content> entry of 
+ * "empty", then the doStartTag() method must return SKIP_BODY.
  *
- * Otherwise, the doStartTag() method may return SKIP_BODY or
- * EVAL_BODY_INCLUDE.
+ * Note that which methods are invoked after the doStartTag() depends on
+ * both the return value and on if the custom action element is empty
+ * or not in the JSP page, not on how it's declared in the TLD.
  *
  * 
  * If SKIP_BODY is returned the body is not evaluated, and then doEndTag()
  * is invoked.
  *
  * 
- * If EVAL_BODY_INCLUDE is returned, the body is evaluated and
- * "passed through" to the current out, then doAfterBody() is invoked
- * and, after zero or more iterations, doEndTag() is invoked.
-*/
+ * If EVAL_BODY_INCLUDE is returned, and the custom action element is not
+ * empty, the body is evaluated and "passed through" to the current out, 
+ * then doAfterBody() is invoked and, after zero or more iterations, 
+ * doEndTag() is invoked.
+ */
 
 public interface IterationTag extends Tag {
 

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

[PATCH] jakarta-servletapi-5 API Changes

2003-08-26 Thread Mark Roth
jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java
- Fixed incorrect clarification of getVariableInfo().  The original
  semantics requiring special treatment of the id attribute
  were supposed to have been removed in JSP 1.2.  We brought them
  back to life in JSP 2.0, but the right thing to do was to remove
  them altogether, as no containers implemented them anyway.
jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryValidator.java
- Clarified that the URI passed to validate() is the same as
  the URI in the XML View, not the uri passed to the taglib
  directive (which doesn't always exist or produce consistent
  results)
---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
Index: jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java,v
retrieving revision 1.7
diff -u -r1.7 TagInfo.java
--- jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java  8 Aug 2003 22:27:40 
-   1.7
+++ jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java  25 Aug 2003 20:15:19 
-
@@ -268,25 +268,13 @@
  * @param data TagData describing this action.
  * @return if a TagExtraInfo object is associated with this TagInfo, the
  * result of getTagExtraInfo().getVariableInfo( data ), otherwise
- * null if the tag has no "id" attribute or new VariableInfo[] {
- * new VariableInfo( data.getId(), "java.lang.Object", true,
- * VariableInfo.NESTED ) } if an "id" attribute is present.
+ * null.
  */
public VariableInfo[] getVariableInfo(TagData data) {
VariableInfo[] result = null;
TagExtraInfo tei = getTagExtraInfo();
if (tei != null) {
   result = tei.getVariableInfo( data );
-   }
-   else {
-  String idValue = data.getId();
-  if( idValue != null ) {
-  result = 
-  new VariableInfo[] {
-  new VariableInfo( idValue, "java.lang.Object",
-  true, VariableInfo.NESTED )
-  };
-  }
}
return result;
}
Index: jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryValidator.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryValidator.java,v
retrieving revision 1.6
diff -u -r1.6 TagLibraryValidator.java
--- jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryValidator.java  14 Apr 2003 
17:36:39 -  1.6
+++ jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryValidator.java  25 Aug 2003 
20:15:19 -
@@ -76,7 +76,7 @@
  *
  * once initialized, the validate(String, String, PageData) method will
  * be invoked, where the first two arguments are the prefix
- * and uri arguments used in the taglib directive.  The prefix is intended
+ * and uri for this tag library in the XML View.  The prefix is intended
  * to make it easier to produce an error message.  However, it is not
  * always accurate.  In the case where a single URI is mapped to more 
  * than one prefix in the XML view, the prefix of the first URI is provided.

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

[PATCH] jakarta-servletapi-5: Additional TLD clarifications

2003-08-18 Thread Mark Roth
Slight additional clarification to TLD.

jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd
jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd
- Clarified that body-content is not just a hint
- Reformatted description for body-content with smaller margins
  for spec
---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
Index: jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd,v
retrieving revision 1.13
diff -u -r1.13 web-jsptaglibrary_2_0.xsd
--- jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd  18 Aug 2003 17:41:20 - 
 1.13
+++ jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd  18 Aug 2003 18:47:14 -
@@ -131,8 +131,11 @@
 
   
 
-   Provides a hint as to the content of the body of this tag.
-   Primarily intended for use by page composition tools.
+Specifies the type of body that is valid for a tag.
+   This value is used by the JSP container to validate
+   that a tag invocation has the correct body syntax and
+   by page composition tools to assist the page author
+   in providing a valid tag body.
 
There are currently four values specified:
 
@@ -477,10 +480,11 @@
  
 
Specifies the format for the body of this tag.
-   The default in JSP 1.2 was "JSP" but because this is an invalid
-   setting for simple tag handlers, there is no longer a default
-   in JSP 2.0.  A reasonable default for simple tag handlers is
-   "scriptless" if the tag can have a body.
+   The default in JSP 1.2 was "JSP" but because this
+   is an invalid setting for simple tag handlers, there
+   is no longer a default in JSP 2.0.  A reasonable
+   default for simple tag handlers is "scriptless" if
+   the tag can have a body.
 
  

Index: jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd,v
retrieving revision 1.13
diff -u -r1.13 web-jsptaglibrary_2_0.xsd
--- jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd  18 Aug 2003 17:41:20 - 
 1.13
+++ jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd  18 Aug 2003 18:47:14 -
@@ -131,8 +131,11 @@
 
   
 
-   Provides a hint as to the content of the body of this tag.
-   Primarily intended for use by page composition tools.
+Specifies the type of body that is valid for a tag.
+   This value is used by the JSP container to validate
+   that a tag invocation has the correct body syntax and
+   by page composition tools to assist the page author
+   in providing a valid tag body.
 
There are currently four values specified:
 
@@ -477,10 +480,11 @@
  
 
Specifies the format for the body of this tag.
-   The default in JSP 1.2 was "JSP" but because this is an invalid
-   setting for simple tag handlers, there is no longer a default
-   in JSP 2.0.  A reasonable default for simple tag handlers is
-   "scriptless" if the tag can have a body.
+   The default in JSP 1.2 was "JSP" but because this
+   is an invalid setting for simple tag handlers, there
+   is no longer a default in JSP 2.0.  A reasonable
+   default for simple tag handlers is "scriptless" if
+   the tag can have a body.
 
  


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

[PATCH] jakarta-servletapi-5: Schema updates

2003-08-18 Thread Mark Roth
The following is a patch to the JSP 2.0 TLD and J2EE 1.4 schemas based 
on recent specification changes.

jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd
jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd
- Made body-content element mandatory since default valid
  is unusable for Simple Tag Handlers.
jsr154/src/share/dtd/j2ee_1_4.xsd
- Updated to latest J2EE 1.4 schema
- Moved java-typeType to common file.
---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
Index: jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd,v
retrieving revision 1.12
diff -u -r1.12 web-jsptaglibrary_2_0.xsd
--- jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd  16 May 2003 23:20:17 - 
 1.12
+++ jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd  18 Aug 2003 14:25:09 -
@@ -472,12 +472,15 @@

   
   
+  type="j2ee:body-contentType">

  
 
-   The default (if not defined) is JSP
+   Specifies the format for the body of this tag.
+   The default in JSP 1.2 was "JSP" but because this is an invalid
+   setting for simple tag handlers, there is no longer a default
+   in JSP 2.0.  A reasonable default for simple tag handlers is
+   "scriptless" if the tag can have a body.
 
  

Index: jsr154/src/share/dtd/j2ee_1_4.xsd
===
RCS file: /home/cvspublic/jakarta-servletapi-5/jsr154/src/share/dtd/j2ee_1_4.xsd,v
retrieving revision 1.8
diff -u -r1.8 j2ee_1_4.xsd
--- jsr154/src/share/dtd/j2ee_1_4.xsd   16 May 2003 23:20:18 -  1.8
+++ jsr154/src/share/dtd/j2ee_1_4.xsd   18 Aug 2003 14:25:09 -
@@ -8,7 +8,7 @@
  version="1.4">
   
 
-  %W% %E%
+  @(#)j2ee_1_4.xsds1.42 03/08/01
 
   
 
@@ -637,6 +637,25 @@
 
   

+  
+
+  
+
+
+
+  
+
+  
+
+   This is a generic type that designates a Java primitive
+   type or a fully qualified name of a Java interface/type,
+   or an array of such types.
+
+  
+
+
+  
+   
   
 
   
Index: jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd,v
retrieving revision 1.12
diff -u -r1.12 web-jsptaglibrary_2_0.xsd
--- jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd  16 May 2003 23:20:18 - 
 1.12
+++ jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd  18 Aug 2003 14:25:09 -
@@ -472,12 +472,15 @@

   
   
+  type="j2ee:body-contentType">

  
 
-   The default (if not defined) is JSP
+   Specifies the format for the body of this tag.
+   The default in JSP 1.2 was "JSP" but because this is an invalid
+   setting for simple tag handlers, there is no longer a default
+   in JSP 2.0.  A reasonable default for simple tag handlers is
+   "scriptless" if the tag can have a body.
 
  


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

Re: JSP 2.0 Jasper in Jetty 5

2003-08-15 Thread Mark Roth
Greg,

Thanks - the new features in JSP 2.0 are directly as a result of 
feedback from the Java community.  We've received some excellent 
feedback, and the JSP expert group, composed of over 30 experts from 
various companies, has done a great job processing the most requested 
features and making this happen.

I hope we can continue this going forward, so remember to send all your 
JSP specification feedback, be it positive or negative, to 
[EMAIL PROTECTED]

---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.


Greg Wilkins wrote:
I've just started checking the integration of jasper from 5.0.7
in Jetty 5, and felt compelled to send a quick thank you note.
Integration has been totally painless and the results appear to
be a very fast and snappy!
Also the 2.0 features are very cool - I'll have to stop making
nasty remarks about JSPs!-)
So thanks again for jasper!  Good work guys!




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


Re: limits the access of upper directory

2003-08-15 Thread Mark Roth
Hi Luo,

You can create an index.jsp or index.html page in that directory and 
people will no longer be able to list the directory contents.

- MArk

Luo, Zhongjun wrote:
Dear Sir/Madam:
 
I have used Tomcat to make a web site, please see:
http://bac-portal.mc.vanderbilt.edu/BAC/BACWEB.jsp
Would you please tell me how I can limit the access to whole name of this site only?
For example. now people can access (by deleting /BACWEB.jsp):
http://bac-portal.mc.vanderbilt.edu/BAC  where I have other sites developing.
 
Thank you a lot for give me the convenience to built this web site. Tomcat is great.
 
Zhongjun Luo, Ph.D. 
 
Research Assistant Professor
Genetic Medicine Department
Vanderbilt University Medical Center
Nashville, TN 37232
 

 


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


[PATCH] jakarta-servletapi-5: API updates

2003-08-14 Thread Mark Roth
The following patch includes an API update from the JSP 2.0 specification.

jsr152/src/share/javax/servlet/jsp/tagext/SimpleTag.java:
- Clarified javadocs for setJspContext()
jsr152/src/share/javax/servlet/jsp/tagext/SimpleTagSupport.java:
- Clarified javadocs for setJspContext()
jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java:
- Corrected error in constructor javadoc for JSP 1.1 TLD
jsr152/src/share/javax/servlet/jsp/tagext/JspFragment.java:
- Changed to an abstract class
- Added getJspContext() method
---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
Index: jsr152/src/share/javax/servlet/jsp/tagext/JspFragment.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/JspFragment.java,v
retrieving revision 1.5
diff -u -r1.5 JspFragment.java
--- jsr152/src/share/javax/servlet/jsp/tagext/JspFragment.java  18 Dec 2002 18:35:37 
-  1.5
+++ jsr152/src/share/javax/servlet/jsp/tagext/JspFragment.java  8 Aug 2003 19:37:38 
-
@@ -66,7 +66,7 @@
  * The definition of the JSP fragment must only contain template 
  * text and JSP action elements.  In other words, it must not contain
  * scriptlets or scriptlet expressions.  At translation time, the 
- * container generates an implementation of the JspFragment interface
+ * container generates an implementation of the JspFragment abstract class
  * capable of executing the defined fragment.
  * 
  * A tag handler can invoke the fragment zero or more times, or 
@@ -85,7 +85,7 @@
  *
  * @since 2.0
  */
-public interface JspFragment {
+public abstract class JspFragment {
 
 /**
  * Executes the fragment and directs all output to the given Writer,
@@ -104,7 +104,14 @@
  * @throws java.io.IOException If there was an error writing to the 
  * stream.
  */
-public void invoke( java.io.Writer out )
+public abstract void invoke( java.io.Writer out )
 throws javax.servlet.jsp.JspException, java.io.IOException;
+
+/**
+ * Returns the JspContext that is bound to this JspFragment.
+ *
+ * @return The JspContext used by this fragment at invocation time.
+ */
+public JspContext getJspContext();
 
 }
Index: jsr152/src/share/javax/servlet/jsp/tagext/SimpleTag.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/SimpleTag.java,v
retrieving revision 1.7
diff -u -r1.7 SimpleTag.java
--- jsr152/src/share/javax/servlet/jsp/tagext/SimpleTag.java12 May 2003 16:52:10 
-  1.7
+++ jsr152/src/share/javax/servlet/jsp/tagext/SimpleTag.java8 Aug 2003 19:37:38 
-
@@ -153,8 +153,9 @@
 public JspTag getParent();
 
 /**
- * Stores the provided JSP context in the protected 
- * jspContext field.
+ * Called by the container to provide this tag handler with
+ * the JspContext for this invocation.
+ * An implementation should save this value.
  * 
  * @param pc the page context for this invocation
  * @see Tag#setPageContext
Index: jsr152/src/share/javax/servlet/jsp/tagext/SimpleTagSupport.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/SimpleTagSupport.java,v
retrieving revision 1.8
diff -u -r1.8 SimpleTagSupport.java
--- jsr152/src/share/javax/servlet/jsp/tagext/SimpleTagSupport.java 16 May 2003 
02:39:00 -  1.8
+++ jsr152/src/share/javax/servlet/jsp/tagext/SimpleTagSupport.java 8 Aug 2003 
19:37:38 -
@@ -131,8 +131,9 @@
 }
 
 /**
- * Stores the provided JSP context in the protected 
- * jspContext field.
+ * Stores the provided JSP context in the private jspContext field.
+ * Subclasses can access the JspContext via 
+ * getJspContext().
  * 
  * @param pc the page context for this invocation
  * @see SimpleTag#setJspContext
Index: jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java,v
retrieving revision 1.6
diff -u -r1.6 TagInfo.java
--- jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java  31 Mar 2003 17:52:26 
-  1.6
+++ jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java  8 Aug 2003 19:37:38 
-
@@ -92,7 +92,7 @@
 public static final String BODY_CONTENT_SCRIPTLESS = "SCRIPTLESS";
 
 /**
- * Constructor for TagInfo from data in the JSP 2.0 format for TLD.
+ * Constructor for TagInfo from data in the JSP 1.1 format for TLD.
  * This class is to be instantiated only from the TagLibrary code
  * under request from some JSP code that is parsing a
  * TLD (Tag Library 

[PATCH] jakarta-servletapi-5: JSP 2.0 API updates

2003-03-24 Thread Mark Roth
Here are the latest round of JSP 2.0 API updates.  Some changes will 
need to be made to jakarta-commons-sandbox/el before applying this patch.

I also made a couple of changes to the JSP 2.0 examples in accordance 
with these changes.

jsr152/src/share/dtd/jsp_2_0.xsd:
jsr154/src/share/dtd/jsp_2_0.xsd:
- Expanded on description for taglibType complex type.
jsr152/src/share/javax/servlet/jsp/tagext/SimpleTagSupport.java:
- Change getJspBody() to be protected
- Change getJspContext() to be protected
- Change the jspBody field to be private
- Change the jspContext field to be private.
jsr152/src/share/javax/servlet/jsp/el/ExpressionEvaluator.java:
- Changed so that Strings of the form "abc${1+1}def${1+1}ghi" cannot
  be parsed or evaluated.  Only one expression can be parsed
  evaluated at a time, and no static text can appear.
jsr152/src/share/javax/servlet/jsp/JspWriter.java:
- Changed javadocs for print() methods to indicate that the
  resulting text is written to the writer, and not converted to
  the platform's default character encoding first, which would
  make no sense.
jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java
- getTagName() - Clarified that name is always returned (cannot
  be null)
jsr152/src/share/javax/servlet/jsp/tagext/Tag.java
- Accessibility fix.  Added img alt tag.
jsr152/src/share/javax/servlet/jsp/tagext/BodyTag.java
- Accessibility fix.  Added img alt tag.
jsr152/src/share/javax/servlet/jsp/tagext/IterationTag.java
- Accessibility fix.  Added img alt tag.
jsr152/src/share/javax/servlet/jsp/tagext/VariableInfo.java
- Accessibility fix.  Added img alt tag and table summary tag.
jsr152/src/share/javax/servlet/jsp/el/ExpressionEvaluator.java
- evaluate() - Removed defaultPrefix param and allow FunctionMapper
  to mutate after call.
- parseExpression() - Removed defaultPrefix param and allow
  FunctionMapper to mutate after call.
---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
Index: jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/RepeatSimpleTag.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/RepeatSimpleTag.java,v
retrieving revision 1.2
diff -u -r1.2 RepeatSimpleTag.java
--- jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/RepeatSimpleTag.java   
 28 Oct 2002 17:45:43 -  1.2
+++ jsr152/examples/WEB-INF/classes/jsp2/examples/simpletag/RepeatSimpleTag.java   
 24 Mar 2003 22:34:48 -
@@ -19,7 +19,7 @@
 
 public void doTag() throws JspException, IOException {
 for (int i=0; i[EMAIL PROTECTED]
- * java.lang.String#valueOf(boolean)} is translated into bytes
- * according to the platform's default character encoding, and these bytes
- * are written in exactly the manner of the [EMAIL PROTECTED]
- * #write(int)} method.
+ * java.lang.String#valueOf(boolean)} is written to the
+ * JspWriter's buffer or, if no buffer is used, directly to the 
+ * underlying writer.
  *
  * @param  b   The boolean to be printed
  * @throwsjava.io.IOException If an error occured while writing
@@ -177,10 +176,9 @@
 abstract public void print(boolean b) throws IOException;
 
 /**
- * Print a character.  The character is translated into one or more bytes
- * according to the platform's default character encoding, and these bytes
- * are written in exactly the manner of the [EMAIL PROTECTED]
- * #write(int)} method.
+ * Print a character.  The character is written to the
+ * JspWriter's buffer or, if no buffer is used, directly to the
+ * underlying writer.
  *
  * @param  c   The char to be printed
  * @throwsjava.io.IOException If an error occured while writing
@@ -190,10 +188,9 @@
 
 /**
  * Print an integer.  The string produced by [EMAIL PROTECTED]
- * java.lang.String#valueOf(int)} is translated into bytes according
- * to the platform's default character encoding, and these bytes are
- * written in exactly the manner of the [EMAIL PROTECTED] 
#write(int)}
- * method.
+ * java.lang.String#valueOf(int)} is written to the
+ * JspWriter's buffer or, if no buffer is used, directly to the
+ * underlying writer.
  *
  * @param  i   The int to be printed
  * @seejava.lang.Integer#toString(int)
@@ -204,10 +201,9 @@
 
 /**
  * Print a long integer.  The string produced by [EMAIL PROTECTED]
- * java.lang.String#valueOf(long)} is translated into bytes
- * according to the platform's default character encoding, and these bytes
- * are written in exactly the manner of the [EMAIL PROTECTED] 
#write(int)}
- * method.
+ * java.lang.String#valueOf(long)} is written to the
+ * JspWri

[PATCH] jakarta-servletapi-5 - EL examples

2003-03-18 Thread Mark Roth
Quick patch to improve JSP 2.0 EL examples:

* Added example of conditional operator ${(1==2) ? 3 : 4}
  Commented out, since this is not yet implemented.
* Changed quoting from old-style ${'${'} 1 + 2 }
  to new-style \${ 1 + 2 }
---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
Index: jsr152/examples/jsp2/el/basic-arithmetic.jsp
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/examples/jsp2/el/basic-arithmetic.jsp,v
retrieving revision 1.1
diff -u -r1.1 basic-arithmetic.jsp
--- jsr152/examples/jsp2/el/basic-arithmetic.jsp7 Sep 2002 00:47:59 -  
 1.1
+++ jsr152/examples/jsp2/el/basic-arithmetic.jsp19 Mar 2003 03:39:43 -
@@ -18,49 +18,55 @@
Result
  
  
-   ${'${'}1}
+   \${1}
${1}
  
  
-   ${'${'}1 + 2}
+   \${1 + 2}
${1 + 2}
  
  
-   ${'${'}1.2 + 2.3}
+   \${1.2 + 2.3}
${1.2 + 2.3}
  
  
-   ${'${'}1.2E4 + 1.4}
+   \${1.2E4 + 1.4}
${1.2E4 + 1.4}
  
  
-   ${'${'}-4 - 2}
+   \${-4 - 2}
${-4 - 2}
  
  
-   ${'${'}21 * 2}
+   \${21 * 2}
${21 * 2}
  
  
-   ${'${'}3/4}
+   \${3/4}
${3/4}
  
  
-   ${'${'}3 div 4}
+   \${3 div 4}
${3 div 4}
  
  
-   ${'${'}3/0}
+   \${3/0}
${3/0}
  
  
-   ${'${'}10%4}
+   \${10%4}
${10%4}
  
  
-   ${'${'}10 mod 4}
+   \${10 mod 4}
${10 mod 4}
  
+<%-- XXX - NOT YET IMPLEMENTED
+  
+\${(1==2) ? 3 : 4}
+${(1==2) ? 3 : 4}
+  
+--%>

   
 
Index: jsr152/examples/jsp2/el/basic-arithmetic.txt
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/examples/jsp2/el/basic-arithmetic.txt,v
retrieving revision 1.1
diff -u -r1.1 basic-arithmetic.txt
--- jsr152/examples/jsp2/el/basic-arithmetic.txt7 Sep 2002 00:47:59 -  
 1.1
+++ jsr152/examples/jsp2/el/basic-arithmetic.txt19 Mar 2003 03:39:43 -
@@ -18,49 +18,55 @@
Result
  
  
-   ${'${'}1}
+   \${1}
${1}
  
  
-   ${'${'}1 + 2}
+   \${1 + 2}
${1 + 2}
  
  
-   ${'${'}1.2 + 2.3}
+   \${1.2 + 2.3}
${1.2 + 2.3}
  
  
-   ${'${'}1.2E4 + 1.4}
+   \${1.2E4 + 1.4}
${1.2E4 + 1.4}
  
  
-   ${'${'}-4 - 2}
+   \${-4 - 2}
${-4 - 2}
  
  
-   ${'${'}21 * 2}
+   \${21 * 2}
${21 * 2}
  
  
-   ${'${'}3/4}
+   \${3/4}
${3/4}
  
  
-   ${'${'}3 div 4}
+   \${3 div 4}
${3 div 4}
  
  
-   ${'${'}3/0}
+   \${3/0}
${3/0}
  
  
-   ${'${'}10%4}
+   \${10%4}
${10%4}
  
  
-   ${'${'}10 mod 4}
+   \${10 mod 4}
${10 mod 4}
  
+<%-- XXX - NOT YET IMPLEMENTED
+  
+\${(1==2) ? 3 : 4}
+${(1==2) ? 3 : 4}
+  
+--%>

   
 
Index: jsr152/examples/jsp2/el/basic-comparisons.jsp
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/examples/jsp2/el/basic-comparisons.jsp,v
retrieving revision 1.1
diff -u -r1.1 basic-comparisons.jsp
--- jsr152/examples/jsp2/el/basic-comparisons.jsp   7 Sep 2002 00:47:59 -  
 1.1
+++ jsr152/examples/jsp2/el/basic-comparisons.jsp   19 Mar 2003 03:39:43 -
@@ -24,51 +24,51 @@
Result
  
  
-   ${'${'}1 < 2}
+   \${1 < 2}
${1 < 2}
  
  
-   ${'${'}1 lt 2}
+   \${1 lt 2}
${1 lt 2}
  
  
-   ${'${'}1 > (4/2)}
+   \${1 > (4/2)}
${1 > (4/2)}
  
  
-   ${'${'}1 > (4/2)}
+   \${1 > (4/2)}
${1 > (4/2)}
  
  
-   ${'${'}4.0 >= 3}
+   \${4.0 >= 3}
${4.0 >= 3}
  

[PATCH] jakarta-servletapi-5: Latest JSP 2.0 updates

2003-03-02 Thread Mark Roth
/jsr152/src/share/javax/servlet/jsp/JspContext.java:
- Added throws clause for NullPointerException for null
  name parameter to the following methods:
  findAttribute( name )
  removeAttribute( name )
  removeAttribute( name, scope )
  getAttributesScope( name )
/jsr152/src/share/javax/servlet/jsp/el/ExpressionEvaluator.java
- We now allow null to be passed for defaultPrefix for cases where
  a function must have a prefix.
/jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd:
/jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd:
- Updated part of the description of the taglib element
  Before:
The taglib element contains tag elements.
  After:
The taglib element contains, among other
things, tag and tag-file elements.
- Removed tag-file-name-uniqueness constraint
- Upgraded tag-name-uniqueness constraint to check
  uniqueness across both tag and tag-file elements.
  (Xerces has a bug that causes this not to work, yet
  but this should work, according to Kohsuke and
  Norm)
- langage --> language
- Removed uppercase versions of body-content types,
  TAGDEPENDENT, EMPTY, and SCRIPTLESS
- Renamed j2ee:tag-extensionType to
  j2ee:tld-extensionType
- Removed references to old mustUnderstand attribute
- Added function-extension element for extension of
  function elements in addition to taglib and tag
  elements.
---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
Index: jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd,v
retrieving revision 1.9
diff -u -r1.9 web-jsptaglibrary_2_0.xsd
--- jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd  14 Feb 2003 19:34:43 - 
 1.9
+++ jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd  3 Mar 2003 02:24:02 -
@@ -10,7 +10,7 @@
 
   
 
-  @(#)web-jsptaglibrary_2_0.xsds   1.31 02/11/03
+  @(#)web-jsptaglibrary_2_0.xsds   1.32 03/02/03
 
   
   
@@ -99,25 +99,13 @@
   

 
- The taglib element contains tag elements.
+ The taglib element contains, among other things, tag and
+ tag-file elements.
  The name subelements of these elements must each be unique.
 

   
-  
-  
-
-
-
-  
-   
-
- The taglib element contains tag-file elements.
- The name subelements of these elements must each be unique.
-
-   
-  
-  
+  
   
 
 
@@ -150,7 +138,7 @@
 
tagdependentThe body of the tag is interpreted by the tag
implementation itself, and is most likely
-   in a different "langage", e.g embedded SQL
+   in a different "language", e.g embedded SQL
statements.
 
JSP The body of the tag contains nested JSP
@@ -168,12 +156,9 @@
 
   

-   


-   

-   
   
 
   
@@ -227,6 +212,10 @@
example Optional informal description of an
example of a use of this function
 
+   function-extension  Zero or more extensions that provide extra
+   information about this function, for tool
+   consumption
+
   
 
 
@@ -308,6 +297,19 @@

 
   
+  
+   
+ 
+
+   Function extensions are for tool use only and must not affect
+   the behavior of a container.
+
+ 
+   
+  
 
 
   
@@ -344,41 +346,6 @@
 
 
 
-  
-
-  
-
-   The tag-extensionType is used to indicate
-   extensions to the specific TLD element.
-
-   It is used by elements to designate an extension block
-   that is targeted to a specific extension designated by
-   a set of extension elements that are declared by a
-   namespace. The namespace identifies the extension to
-   the tool that processes the extension.
-
-   The type of the extension-element is abstract. Therefore,
-   a concrete type must be specified by the TLD using
-   xsi:type attribute for each extension-element.
-
-  
-
-
-
-  
-
-
-
-
-
-  
-
-
-
   
 
   
@@ -436,18 +403,14 @@
 
   
   

  
 
Tag extensions are for tool use only and must not affect
-   the behavior of a container.  The TLD extension mechanism
-   only allows ignorable extensions (i.e. those without a
-   mustUnderstand attribute).  A Tag Library is considered
-   invalid if it requires an extension that must be
-   understood by setting mustUnderstand="true".
+   the behavior of a container.
 
 

Re: [PATCH] jakarta-servletapi-5: API updates

2003-02-13 Thread Mark Roth
Minor correction.  IllegalArgumentException should be 
IllegalStateException in the note for JspContext.

---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.


Mark Roth wrote:
Attached are updates to the JSP 2.0 API and XML Schema files, in gzipped 
format (was too large for tomcat-dev in raw form).

/jsr152/src/share/javax/servlet/jsp/JspContext.java
 - Added throws clause for IllegalArgumentException to setAttribute()
   for when PageContext.SESSION_SCOPE is specified but the requested
   page does not participate in a session.
 - Added throws clause for IllegalArgumentException to getAttribute(
   name, scope ) for when PageContext.SESSION_SCOPE is specified but
   the requested page does not participate in a session.
 - Added throws clause for IllegalArgumentException to
   removeAttribute( name, scope ) for when PageContext.SESSION_SCOPE
   is specified but the requested page does not participate in
   a session.
 - Added throws clause for IllegalArgumentException to
   getAttributeNamesInScope( scope ) for when
   PageContext.SESSION_SCOPE is specified but the requested page
   does not participate in a session.

/jsr152/src/share/dtd/jsp_2_0.xsd:
/jsr154/src/share/dtd/jsp_2_0.xsd:
 - Reformatted indentation

/jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd:
/jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd:
 - Moved definitions of j2ee:extensibleType and
   j2ee:tag-extensionType to web-jsptaglibrary_2_0.xsd.
 - Reformatted indentation.
 - Updated EBNF for function-signature element
 - Updated description of version attribute that there is no
   default value.
 - Updated description of tag and tag-file elements to indicate
   that they are not "one or more" but zero or more.

/jsr154/src/share/dtd/j2ee_1_4.xsd:
/jsr154/src/share/dtd/j2ee_web_services_1_1.xsd:
/jsr154/src/share/dtd/j2ee_web_services_client_1_1.xsd:
/jsr154/src/share/dtd/jsp_2_0.xsd
/jsr154/src/share/dtd/web-app_2_4.xsd
 - Updated to the latest, including reformatted indentation.

---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.




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




[PATCH] jakarta-servletapi-5: API updates

2003-02-13 Thread Mark Roth
Attached are updates to the JSP 2.0 API and XML Schema files, in gzipped 
format (was too large for tomcat-dev in raw form).

/jsr152/src/share/javax/servlet/jsp/JspContext.java
 - Added throws clause for IllegalArgumentException to setAttribute()
   for when PageContext.SESSION_SCOPE is specified but the requested
   page does not participate in a session.
 - Added throws clause for IllegalArgumentException to getAttribute(
   name, scope ) for when PageContext.SESSION_SCOPE is specified but
   the requested page does not participate in a session.
 - Added throws clause for IllegalArgumentException to
   removeAttribute( name, scope ) for when PageContext.SESSION_SCOPE
   is specified but the requested page does not participate in
   a session.
 - Added throws clause for IllegalArgumentException to
   getAttributeNamesInScope( scope ) for when
   PageContext.SESSION_SCOPE is specified but the requested page
   does not participate in a session.

/jsr152/src/share/dtd/jsp_2_0.xsd:
/jsr154/src/share/dtd/jsp_2_0.xsd:
 - Reformatted indentation

/jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd:
/jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd:
 - Moved definitions of j2ee:extensibleType and
   j2ee:tag-extensionType to web-jsptaglibrary_2_0.xsd.
 - Reformatted indentation.
 - Updated EBNF for function-signature element
 - Updated description of version attribute that there is no
   default value.
 - Updated description of tag and tag-file elements to indicate
   that they are not "one or more" but zero or more.

/jsr154/src/share/dtd/j2ee_1_4.xsd:
/jsr154/src/share/dtd/j2ee_web_services_1_1.xsd:
/jsr154/src/share/dtd/j2ee_web_services_client_1_1.xsd:
/jsr154/src/share/dtd/jsp_2_0.xsd
/jsr154/src/share/dtd/web-app_2_4.xsd
 - Updated to the latest, including reformatted indentation.

---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.



jakarta-servletapi-5.patch.txt.gz
Description: application/gzip
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


[PATCH] jakarta-servletapi-5

2003-02-03 Thread Mark Roth
jsr152/src/share/javax/servlet/jsp/tagext/SkipPageException.java
- Made clear that this should not be thrown from within a tag file.

jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd:
jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd:
- Added some useful subelements to tag-file element:
	* description
	* display-name
	* icon
* example
	* tag-extension

---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.

Index: jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd,v
retrieving revision 1.7
diff -u -r1.7 web-jsptaglibrary_2_0.xsd
--- jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd  28 Jan 2003 00:19:10 - 
 1.7
+++ jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd  3 Feb 2003 19:05:56 -
@@ -10,7 +10,7 @@
 
 
 
-@(#)web-jsptaglibrary_2_0.xsds 1.26 01/24/03
+%W% %G%
 
 
 
@@ -334,23 +334,69 @@
 
 The tag-file element has two required subelements:
 
-nameThe unique action name
+description   Optional tag-specific information
 
-pathWhere to find the .tag file implementing this
-action, relative to the root of the web application or
-   the root of the JAR file for a tag library packaged in
-   a JAR.  This must begin with /WEB-INF/tags if the .tag
-   file resides in the WAR, or /META-INF/tags if the .tag
-   file resides in a JAR.
+display-name  A short name that is intended to be
+  displayed by tools
+
+icon  Optional icon element that can be used
+  by tools
+
+name  The unique action name
+
+path  Where to find the .tag file implementing this
+  action, relative to the root of the web application or
+ the root of the JAR file for a tag library packaged in
+ a JAR.  This must begin with /WEB-INF/tags if the .tag
+ file resides in the WAR, or /META-INF/tags if the .tag
+ file resides in a JAR.
+
+example   Optional informal description of an
+  example of a use of this tag
+
+tag-extension Zero or more extensions that provide extra
+ information about this tag, for tool
+ consumption
 
 
 
 
 
+
 
 
+
+
+
+
+The example element contains an informal description
+of an example of the use of a tag.
+
+
+
+
+
+   
+   
+   
+
+Tag extensions are for tool use only and must not affect
+   the behavior of a container.  The TLD extension mechanism
+   only allows ignorable extensions (i.e. those without a
+   mustUnderstand attribute).  A Tag Library is considered
+   invalid if it requires an extension that must be
+   understood by setting mustUnderstand="true".
+
+   
+   
+   
 
 
 
Index: jsr152/src/share/javax/servlet/jsp/SkipPageException.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/SkipPageException.java,v
retrieving revision 1.3
diff -u -r1.3 SkipPageException.java
--- jsr152/src/share/javax/servlet/jsp/SkipPageException.java   29 Oct 2002 01:18:11 
-  1.3
+++ jsr152/src/share/javax/servlet/jsp/SkipPageException.java   3 Feb 2003 19:05:56 
+-
@@ -62,7 +62,7 @@
  * the case with tag files).  The effect is similar to that of a 
  * Classic Tag Handler returning Tag.SKIP_PAGE from doEndTag().
  * Jsp Fragments may also throw this exception.  This exception
- * should not be thrown manually in a JSP page - the behavior is
+ * should not be thrown manually in a JSP page or tag file - the behavior is
  * undefined.  The exception is intended to be thrown inside 
  * SimpleTag handlers and in JSP fragments.
  * 
Index: jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd,v
retrieving revision 1.7
diff -u -r1.7 web-jsptaglibrary_2_0.xsd
--- jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd  28 Jan 2003 00:19:10 - 
 1.7
+++ jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd  3 Feb 2003 19:06:04 -
@@ -10,7 +10,7 @@
 
 
 
-@(#)web-jsptaglibrary_2_0.xsds 1.26 01/24/03
+%W% %G%
 
 
 
@@ -334,23 +334,69 @@
 
 The tag-file element has two required subelements:
 
-nameThe unique action name
+description   Optional tag-specific information
 
-pathWhere to find the .tag file implementing this
-action, relative to the root of the web application or
-   the root of the JAR file for a tag library packaged in
-   a JAR.  This must begin with /WEB-INF/tags if the .tag
-   file resides in the WAR, or

JSP javadocs not available

2003-01-29 Thread Mark Roth
Hi,

I noticed the link on the following page states "Servlet/JSP Javadocs" 
but only the Servlet javadocs are available.

http://jakarta.apache.org/tomcat/tomcat-5.0-doc/index.html

- Mark


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



[PATCH] jakarta-servletapi-5: javadoc enhancements

2003-01-29 Thread Mark Roth
Javadoc enhancements for JSP 2.0 API.

New Files (attached separately):
- jsr152/src/share/javax/servlet/jsp/package.html
- jsr152/src/share/javax/servlet/jsp/el/package.html
- jsr152/src/share/javax/servlet/jsp/tagext/package.html

jsr152/src/share/javax/servlet/jsp/JspContext.java
- Added javadoc comment for public no-args constructor

jsr152/src/share/javax/servlet/jsp/JspEngineInfo.java
- Added javadoc comment for public no-args constructor

jsr152/src/share/javax/servlet/jsp/JspFactory.java
- Added javadoc comment for public no-args constructor

jsr152/src/share/javax/servlet/jsp/PageContext.java
- Added javadoc comment for public no-args constructor

jsr152/src/share/javax/servlet/jsp/tagext/BodyTag.java
- Added description for doInitBody() @throws JspException

jsr152/src/share/javax/servlet/jsp/tagext/IterationTag.java
- Added description for doAfterBody() @throws JspException

jsr152/src/share/javax/servlet/jsp/tagext/PageData.java
- Added javadoc comment for public no-args constructor

jsr152/src/share/javax/servlet/jsp/tagext/SimpleTagSupport.java
- Added javadoc comment for public no-args constructor

jsr152/src/share/javax/servlet/jsp/tagext/TagExtraInfo.java
- Added javadoc comment for public no-args constructor

jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryValidator.java
- Added javadoc comment for public no-args constructor

jsr152/src/share/javax/servlet/jsp/tagext/TryCatchFinally.java
- Added @throws Throwable tag for doCatch()

---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.

Index: jsr152/src/share/javax/servlet/jsp/JspContext.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/JspContext.java,v
retrieving revision 1.6
diff -u -r1.6 JspContext.java
--- jsr152/src/share/javax/servlet/jsp/JspContext.java  18 Dec 2002 18:35:37 - 
 1.6
+++ jsr152/src/share/javax/servlet/jsp/JspContext.java  29 Jan 2003 21:01:27 -
@@ -109,6 +109,13 @@
 
 public abstract class JspContext {
 
+/**
+ * Sole constructor. (For invocation by subclass constructors, 
+ * typically implicit.)
+ */
+public JspContext() {
+}
+
 /** 
  * Register the name and value specified with page scope semantics.
  * If the value passed in is null, this has the same 
Index: jsr152/src/share/javax/servlet/jsp/JspEngineInfo.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/JspEngineInfo.java,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 JspEngineInfo.java
--- jsr152/src/share/javax/servlet/jsp/JspEngineInfo.java   13 Aug 2002 16:20:54 
-  1.1.1.1
+++ jsr152/src/share/javax/servlet/jsp/JspEngineInfo.java   29 Jan 2003 21:01:27 
+-
@@ -61,6 +61,13 @@
  */
 
 public abstract class JspEngineInfo {
+
+/**
+ * Sole constructor. (For invocation by subclass constructors, 
+ * typically implicit.)
+ */
+public JspEngineInfo() {
+}
 
 /**
  * Return the version number of the JSP specification that is supported by
Index: jsr152/src/share/javax/servlet/jsp/JspFactory.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/JspFactory.java,v
retrieving revision 1.2
diff -u -r1.2 JspFactory.java
--- jsr152/src/share/javax/servlet/jsp/JspFactory.java  19 Aug 2002 16:29:49 - 
 1.2
+++ jsr152/src/share/javax/servlet/jsp/JspFactory.java  29 Jan 2003 21:01:27 -
@@ -82,6 +82,13 @@
 public abstract class JspFactory {
 
 private static JspFactory deflt = null;
+
+/**
+ * Sole constructor. (For invocation by subclass constructors, 
+ * typically implicit.)
+ */
+public JspFactory() {
+}
 
 /**
  * 
Index: jsr152/src/share/javax/servlet/jsp/PageContext.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/PageContext.java,v
retrieving revision 1.6
diff -u -r1.6 PageContext.java
--- jsr152/src/share/javax/servlet/jsp/PageContext.java 18 Dec 2002 18:35:37 - 
 1.6
+++ jsr152/src/share/javax/servlet/jsp/PageContext.java 29 Jan 2003 21:01:28 -
@@ -132,7 +132,14 @@
 abstract public class PageContext 
 extends JspContext
 {
-
+
+/**
+ * Sole constructor. (For invocation by subclass constructors, 
+ * typically implicit.)
+ */
+public PageContext() {
+}
+
 /**
  * Page scope: (this is the default) the named reference remains available
  * in this PageContext until the return from the current Servlet.service()
Index: jsr152/src/share/javax/servlet/jsp/tagext/BodyTag.java
===
RCS file

[PATCH] jakarta-servletapi-5: Minor javadoc updates

2003-01-24 Thread Mark Roth
Final API patch before PFD2 release of JSP 2.0 specification.

jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd
- Updated description for function-signature element

jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd
- Updated description for function-signature element

jsr152/src/share/javax/servlet/jsp/el/FunctionMapper.java
- Changed description of prefix parameter to resolveFunction
	("" means no prefix)

jsr152/src/share/javax/servlet/jsp/el/ExpressionEvaluator.java
- Changed description of defaultPrefix parameter to resolveFunction
	("" means the default is no prefix)
- Changed description of defaultPrefix parameter to evaluate
	("" means the default is no prefix)

jsr152/src/share/javax/servlet/jsp/tagext/SimpleTag.java
- Changed javadocs for setJspBody().  null is no longer passed
	if the body is empty.  Instead, setJspBody() is not called.

---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.

Index: jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd,v
retrieving revision 1.6
diff -u -r1.6 web-jsptaglibrary_2_0.xsd
--- jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd  8 Nov 2002 21:30:20 -  
 1.6
+++ jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd  24 Jan 2003 18:45:52 -
@@ -10,7 +10,7 @@
 
 
 
-@(#)web-jsptaglibrary_2_0.xsds 1.24 11/01/02
+@(#)web-jsptaglibrary_2_0.xsds 1.26 01/24/03
 
 
 
@@ -52,8 +52,8 @@
 
 

[PATCH] jakarta-servletapi-5

2003-01-15 Thread Mark Roth
Small patch to fix some javadocs.

Modified File:

jsr152/src/share/javax/servlet/jsp/tagext/BodyTag.java

- Mark

Index: jsr152/src/share/javax/servlet/jsp/tagext/BodyTag.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/BodyTag.java,v
retrieving revision 1.4
diff -u -r1.4 BodyTag.java
--- jsr152/src/share/javax/servlet/jsp/tagext/BodyTag.java  18 Dec 2002 18:35:37 
-  1.4
+++ jsr152/src/share/javax/servlet/jsp/tagext/BodyTag.java  15 Jan 2003 16:32:54 
+-
@@ -96,11 +96,12 @@
  * object, where the JSP Page implementation object will place the
  * evaluation (and reevaluation, if appropriate) of the body.  The setter
  * method (setBodyContent) will only be invoked if doStartTag() returns
- * EVAL_BODY_BUFFERED and the corresponding action element is not empty.
+ * EVAL_BODY_BUFFERED and the corresponding action element does not have
+ * an empty body.
  *
  * Methods
  *  In addition to the setter method for the bodyContent property, there
- * is a new action methods: doInitBody(), which is invoked right after
+ * is a new action method: doInitBody(), which is invoked right after
  * setBodyContent() and before the body evaluation.  This method is only
  * invoked if doStartTag() returns EVAL_BODY_BUFFERED.
  *


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 


[PATCH] jakarta-servletapi-5

2003-01-08 Thread Mark Roth
Attached are some fixes leading up to our second proposed final draft 
release of the specification.  Please let me know if there are any 
questions or concerns.

jsr152/src/share/dtd/jsp_2_0.xsd
  - Updated comments for jsp-property-groupType

jsr154/src/share/dtd/jsp_2_0.xsd
  - Updated comments for jsp-property-groupType

jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java
  - Fixed typo: 'the the'

jsr152/src/share/javax/servlet/jsp/tagext/VariableInfo.java
  - Fixed typo: 'AT_NESTED' --> 'NESTED'
  - Fixed table - AT_BEGIN and NESTED should be synchronized
after doStartTag() if EVAL_BODY_INCLUDE is returned.

---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
? jsr152/src/share/javax/servlet/jsp/JspException.class
? jsr152/src/share/javax/servlet/jsp/JspWriter.class
? jsr152/src/share/javax/servlet/jsp/.nbattrs
? jsr152/src/share/javax/servlet/jsp/tagext/SimpleTag.class
Index: jsr152/src/share/dtd/jsp_2_0.xsd
===
RCS file: /home/cvspublic/jakarta-servletapi-5/jsr152/src/share/dtd/jsp_2_0.xsd,v
retrieving revision 1.5
diff -u -r1.5 jsp_2_0.xsd
--- jsr152/src/share/dtd/jsp_2_0.xsd8 Nov 2002 21:30:20 -   1.5
+++ jsr152/src/share/dtd/jsp_2_0.xsd8 Jan 2003 22:42:10 -
@@ -8,7 +8,7 @@
  version="2.0">
 
 
-@(#)jsp_2_0.xsds   1.14 11/06/02
+@(#)jsp_2_0.xsds   1.15 01/02/03
 
 
 
@@ -136,10 +136,10 @@
 All files so described are deemed to be JSP files.  The
 following additional properties can be described:
 
-- Control enabling of EL evaluation.
-- Control enabling of Scripting elements.
+- Control whether EL is ignored
+- Control whether scripting elements are invalid
 - Indicate pageEncoding information.
-- Indicating that a resource is a JSP document
+- Indicate that a resource is a JSP document (XML)
 - Prelude and Coda automatic includes.
 
 
Index: jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java,v
retrieving revision 1.4
diff -u -r1.4 TagInfo.java
--- jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java  4 Nov 2002 17:44:24 
-   1.4
+++ jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java  8 Jan 2003 22:42:10 
+-
@@ -268,7 +268,7 @@
  *
  * @param data TagData describing this action.
  * @return if a TagExtraInfo object is associated with this TagInfo, the
- * the result of getTagExtraInfo().getVariableInfo( data ), otherwise
+ * result of getTagExtraInfo().getVariableInfo( data ), otherwise
  * null if the tag has no "id" attribute or new VariableInfo[] {
  * new VariableInfo( data.getId(), "java.lang.Object", true,
  * VariableInfo.NESTED ) } if an "id" attribute is present.
Index: jsr152/src/share/javax/servlet/jsp/tagext/VariableInfo.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/VariableInfo.java,v
retrieving revision 1.6
diff -u -r1.6 VariableInfo.java
--- jsr152/src/share/javax/servlet/jsp/tagext/VariableInfo.java 18 Dec 2002 18:35:37 
-  1.6
+++ jsr152/src/share/javax/servlet/jsp/tagext/VariableInfo.java 8 Jan 2003 22:42:10 
+-
@@ -193,9 +193,9 @@
  *   
  * BodyTag
  * 
- * 
+ * AT_BEGIN, 
+NESTED1
  * 
- * AT_BEGIN, AT_NESTED
+ * AT_BEGIN, 
+NESTED1
  * 
  * AT_BEGIN, NESTED
  * 
@@ -220,6 +220,9 @@
  *   
  * 
  * 
+ * 1 Called after doStartTag() if 
+ * EVAL_BODY_INCLUDE is returned, or after 
+ * doInitBody() otherwise.
  * 
  *
  * Variable Information in the TLD
Index: jsr154/src/share/dtd/jsp_2_0.xsd
===
RCS file: /home/cvspublic/jakarta-servletapi-5/jsr154/src/share/dtd/jsp_2_0.xsd,v
retrieving revision 1.5
diff -u -r1.5 jsp_2_0.xsd
--- jsr154/src/share/dtd/jsp_2_0.xsd8 Nov 2002 21:30:21 -   1.5
+++ jsr154/src/share/dtd/jsp_2_0.xsd8 Jan 2003 22:42:11 -
@@ -8,7 +8,7 @@
  version="2.0">
 
 
-@(#)jsp_2_0.xsds   1.14 11/06/02
+@(#)jsp_2_0.xsds   1.15 01/02/03
 
 
 
@@ -136,10 +136,10 @@
 All files so described are deemed to be JSP files.  The
 following additional properties can be described:
 
-- Control enabling of EL evaluation.
-- Control enabling of Scripting elements.
+- Control whether EL is ignored
+- Control whether scripting elements are invalid
 - Indicate pageEncoding information.
-- Indicating that a resource is a JSP document
+- Indicate that a resource is a JSP document (XML)
 - Prelude and Coda automatic includes.
 
 


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


Re: jsp:plugin tag MAYSCRIPT parameter not supported

2002-12-19 Thread Mark Roth
Hi Mark,

Thanks for your feedback.  For best results, please send feedback like 
this to [EMAIL PROTECTED]

This has been an RFE since JSP 1.1.  I'm asking the expert group about 
it now.  If all goes well, we can hopefully add it for JSP 2.0.

---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.


Mark Plotnick wrote:
Because the MAYSCRIPT parameter is not supported in
the jsp:plugin tag I had to switch to directly
using the APPLET tags in my jsp.

I'm not sure who should be made aware of this
to fix the standard but it's possible the JSP
implementors here might want to add this before
it's official since an applet can't call in page
javascript without this parameter.

Mark Plotnick
Ensodex, Inc.

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





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




[PATCH] jakarta-tomcat-jasper

2002-12-17 Thread Mark Roth
Attached is a patch to bring Japser2 up to date with the latest APIs 
from the JSR-152 Expert Group.

jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java
- Updated to conform to new VariableResolver API

jasper2/src/share/org/apache/jasper/runtime/PageContextImpl.java
- Updated to conform to new VariableResolver API

jasper2/src/share/org/apache/jasper/runtime/ExpressionEvaluatorImpl.java
- Updated to conform to new VariableResolver API
- Updated to conform to new ExpressionEvaluator API (which is now an
  abstract class instead of an interface)
- Updated to conform to new Exrpression API (which is now an
  abstract class instead of an interface)

---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
Index: jasper2/src/share/org/apache/jasper/runtime/ExpressionEvaluatorImpl.java
===
RCS file: 
/home/cvspublic/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/ExpressionEvaluatorImpl.java,v
retrieving revision 1.5
diff -u -r1.5 ExpressionEvaluatorImpl.java
--- jasper2/src/share/org/apache/jasper/runtime/ExpressionEvaluatorImpl.java29 Aug 
2002 02:04:21 -  1.5
+++ jasper2/src/share/org/apache/jasper/runtime/ExpressionEvaluatorImpl.java18 Dec 
+2002 02:37:36 -
@@ -74,7 +74,7 @@
  */
 
 public class ExpressionEvaluatorImpl 
-implements ExpressionEvaluator
+extends ExpressionEvaluator
 {
 private PageContextImpl pageContext;
 
@@ -153,7 +153,7 @@
 // pContext parameter is going away in JSP 2.0
 Object result;
 try {
-result = delegate.resolveVariable( pName, null );
+result = delegate.resolveVariable( pName );
 }
 catch( ELException e ) {
 throw new org.apache.jasper.runtime.el.jstl.ELException( 
@@ -255,7 +255,7 @@
  * can be moved out of JSTL into its own project.
  */
 private class JSTLExpression 
-implements Expression
+extends Expression
 {
 private String expression;
 private Class expectedType;
Index: jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java
===
RCS file: 
/home/cvspublic/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java,v
retrieving revision 1.9
diff -u -r1.9 JspContextWrapper.java
--- jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java  3 Dec 2002 
23:17:48 -   1.9
+++ jasper2/src/share/org/apache/jasper/runtime/JspContextWrapper.java  18 Dec 2002 
+02:37:37 -
@@ -303,16 +303,14 @@
 /**
  * VariableResolver interface
  */
-public Object resolveVariable( String pName, Object pContext )
+public Object resolveVariable( String pName )
 throws ELException
 {
if (invokingJspCtxt instanceof PageContextImpl) {
-   return ((PageContextImpl) invokingJspCtxt).resolveVariable(pName,
-  pContext);
+   return ((PageContextImpl) invokingJspCtxt).resolveVariable(pName);
}
 
-   return ((JspContextWrapper) invokingJspCtxt).resolveVariable(pName,
-pContext);
+   return ((JspContextWrapper) invokingJspCtxt).resolveVariable(pName);
 }
 
 /**
Index: jasper2/src/share/org/apache/jasper/runtime/PageContextImpl.java
===
RCS file: 
/home/cvspublic/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/PageContextImpl.java,v
retrieving revision 1.37
diff -u -r1.37 PageContextImpl.java
--- jasper2/src/share/org/apache/jasper/runtime/PageContextImpl.java3 Dec 2002 
01:58:36 -   1.37
+++ jasper2/src/share/org/apache/jasper/runtime/PageContextImpl.java18 Dec 2002 
+02:37:45 -
@@ -640,13 +640,12 @@
 /**
  * VariableResolver interface
  */
-public Object resolveVariable( String pName, Object pContext )
+public Object resolveVariable( String pName )
 throws ELException
 {
-// Note: pContext will be going away.
 try {
-return PageContextImpl.variableResolver.resolveVariable(
-pName, this );
+return PageContextImpl.variableResolver.resolveVariable( pName, 
+this );
 }
 catch( org.apache.jasper.runtime.el.jstl.ELException e ) {
 throw new ELException( e );


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


[PATCH] jakarta-servletapi-5

2002-12-17 Thread Mark Roth
Attached are a set of API patches leading up to PFD2 of the 
specification.  Look for a corresponding patch to jakarta-tomcat-jasper 
to bring it up to date with these APIs.

Also note the attached replacement for TagProtocol.gif.

jsr152/src/share/javax/servlet/jsp/tagext/doc-files/TagProtocol.gif
- Updated diagram to remove arrow from released state to all
  properties initialized state.
- Moved label [3] to another arrow.

jsr152/src/share/javax/servlet/jsp/tagext/Tag.java
- Removed state transition [3] from class javadocs.
- Added a new [3] label clarifying details about what may be called
  on tag reuse.

jsr152/src/share/javax/servlet/jsp/tagext/TagData.java
- Updated description for getAttribute() to clarify
  REQUEST_TIME_VALUE is returned for any dynamic attribute set
  via .

jsr152/src/share/javax/servlet/jsp/tagext/JspFragment.java
- "for example" --> "in other words"

jsr152/src/share/javax/servlet/jsp/tagext/VariableInfo.java
- Fixed incorrect class comment about variable scope.
- Removed old comment about JLS verbiage.
- Improved description of why 'boxed' types are necessary.

jsr152/src/share/javax/servlet/jsp/tagext/TagVariableInfo.java
- Fixed erroneous comment about only being available in JSP 2.0
  format

jsr152/src/share/javax/servlet/jsp/tagext/SimpleTag.java
- Clarified SimpleTag has the equivalent power of BodyTag but with a
  much simpler lifecycle.

jsr152/src/share/javax/servlet/jsp/tagext/IterationTag.java
- Clarified description for return value of SKIP_BODY from
  doAfterBody()

jsr152/src/share/javax/servlet/jsp/PageContext.java
- Fixed class description as some elements were moved to JspContext.

jsr152/src/share/javax/servlet/jsp/JspContext.java
- Fixed class description as some elements were moved from
  PageContext.
- Removed constants PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE and
  APPLICATION_SCOPE as these are duplicated in PageContext.

jsr152/src/share/javax/servlet/jsp/tagext/BodyTag.java
- Clarified that in a classic tag invocation with an empty body
  (e.g. ), the body methods are not to be called by the
  container.

jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryValidator.java
- A validator operates on the XML view associated with the JSP page,
  not the "XML document".

jsr152/src/share/javax/servlet/jsp/el/VariableResolver.java
- Removed pContext parameter from resolveVariable()

jsr152/src/share/javax/servlet/jsp/el/ExpressionEvaluator.java
- Changed from an interface to an abstract class.

jsr152/src/share/javax/servlet/jsp/el/Expression.java
- Changed from an interface to an abstract class.

---
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
Index: jsr152/src/share/javax/servlet/jsp/JspContext.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/JspContext.java,v
retrieving revision 1.5
diff -u -r1.5 JspContext.java
--- jsr152/src/share/javax/servlet/jsp/JspContext.java  8 Nov 2002 21:30:21 -  
 1.5
+++ jsr152/src/share/javax/servlet/jsp/JspContext.java  18 Dec 2002 02:36:33 -
@@ -84,45 +84,30 @@
  *
  * Methods Intended for JSP authors
  * 
+ * Some methods provide uniform access to the diverse objects
+ * representing scopes.
+ * The implementation must use the underlying machinery
+ * corresponding to that scope, so information can be passed back and
+ * forth between the underlying environment (e.g. Servlets) and JSP pages.
+ * The methods are:
+ * setAttribute(),  getAttribute(),
+ * findAttribute(),  removeAttribute(),
+ * getAttributesScope() and 
+ * getAttributeNamesInScope().
+ * 
+ * 
  * The following methods provide convenient access to implicit objects:
- * 
  * getOut()
  *
+ * 
+ * The following methods provide programmatic access to the 
+ * Expression Language evaluator:
+ * getExpressionEvaluator(), getVariableResolver()
+ *
  * @since 2.0
  */
 
 public abstract class JspContext {
-
-/**
- * Page scope: (this is the default) the named reference remains available
- * in this JspContext until the return from the current Servlet.service()
- * invocation.
- */
-
-public static final int PAGE_SCOPE = 1;
-
-/**
- * Request scope: the named reference remains available from the 
- * ServletRequest associated with the Servlet until the current 
- * request is completed.
- */
-
-public static final int REQUEST_SCOPE  = 2;
-
-/**
- * Session scope (only valid if this page participates in a session):
- * the named reference remains available from the HttpSession (if any)
- * associated with the Servlet until the HttpSession is invalidated.
- */
-
-public static final int SESSION_SCOPE  = 3;
-
-/**
- * Application scop

[PATCH] jakarta-tomcat-jasper (ImplicitTagLibraryInfo)

2002-12-12 Thread Mark Roth
ImplicitTagLibraryInfo incorrectly returned null from getFunctions(). 
The spec requires a FunctionInfo[0] instead.  Returning null also caused 
Generator.generateELFunctionMap to throw a NPE in some circumstances.

Modified files:
  * 
jasper2/src/share/org/apache/jasper/compiler/ImplicitTagLibraryInfo.java

---
Mark Roth
JSP 2.0 Specification Co-Lead
Sun Microsystems, Inc.

Index: jasper2/src/share/org/apache/jasper/compiler/ImplicitTagLibraryInfo.java
===
RCS file: 
/home/cvspublic/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ImplicitTagLibraryInfo.java,v
retrieving revision 1.15
diff -u -r1.15 ImplicitTagLibraryInfo.java
--- jasper2/src/share/org/apache/jasper/compiler/ImplicitTagLibraryInfo.java28 Nov 
2002 04:18:08 -  1.15
+++ jasper2/src/share/org/apache/jasper/compiler/ImplicitTagLibraryInfo.java13 Dec 
+2002 05:57:59 -
@@ -61,6 +61,7 @@
 package org.apache.jasper.compiler;
 
 import java.util.*;
+import javax.servlet.jsp.tagext.FunctionInfo;
 import javax.servlet.jsp.tagext.TagLibraryInfo;
 import javax.servlet.jsp.tagext.TagInfo;
 import javax.servlet.jsp.tagext.TagFileInfo;
@@ -100,6 +101,9 @@
this.pc = pc;
this.tagFileMap = new Hashtable();
this.vec = new Vector();
+
+// Implicit tag libraries have no functions:
+this.functions = new FunctionInfo[0];
 
tlibversion = TLIB_VERSION;
jspversion = JSP_VERSION;


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


[PATCH] jakarta-tomcat-connectors ( elements)

2002-12-11 Thread Mark Roth
Seems someone forgot some  elements in configweb.xml.  :)

- Mark

Index: jk/xdocs/jk2/configweb.xml
===
RCS file: /home/cvspublic/jakarta-tomcat-connectors/jk/xdocs/jk2/configweb.xml,v
retrieving revision 1.15
diff -u -r1.15 configweb.xml
--- jk/xdocs/jk2/configweb.xml  11 Dec 2002 19:01:36 -  1.15
+++ jk/xdocs/jk2/configweb.xml  11 Dec 2002 20:47:31 -
@@ -76,9 +76,9 @@
 of existing workers/uris. Then it'll access the jk_status page, which will detect the 
config
 file changes and reload the config in the current server process, and use the 
scoreboard to 
 inform other server processes of the change. 
+
 
 
-
 Since the config is abstracted, some servers ( Apache2 only at this moment ) may 
support a 
 server-specific configuration mode. This configuration mode is less tested - but 
provides some
 unique advantages (and disadvantages )
@@ -104,14 +104,12 @@
 One major problem is that reconfiguration is not supported if httpd.conf is used. 
 You can still enable/disable/add workers if you use workers2.properties, and 
 you could add or change uri properties in that file. 
-
-
+
+
 
- 
 There is work in progress to support automatic generation of the config file. The 
code is
 included in org.apache.jk.config and consist of a number of ant tasks ( that work 
from CLI as well)
  that process web.xml files and generate worker2.properties or server-specific config 
files
-
-
+
 
 


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 


Re: [PATCH][JASPER2] Simple patch for one of the resource error messages.

2002-11-24 Thread Mark Roth
Ryan,

That's correct - according to the JSP 2.0 specification, directives (<%@ 
... %>) are allowed in scriptless bodies (see JSP.1.3.10.1).

- Mark


Ryan Lubke wrote:

I think that the following error message is incorrect:

 - Scripting elements ( <%@, <%!, <%=, <% ) are disallowed here.

Since directives (<%@) are not scripting elements.

I've attached a patch to correct the messages.properties.







Index: messages.properties
===
RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages.properties,v
retrieving revision 1.60
diff -u -r1.60 messages.properties
--- messages.properties	16 Nov 2002 04:20:10 -	1.60
+++ messages.properties	20 Nov 2002 23:47:23 -
@@ -266,7 +266,7 @@
 jsp.error.empty.body.not.allowed=Empty body not allowed for {0}
 jsp.error.jspbody.required=Must use jsp:body to specify tag body for 
{0} if jsp:attribute is used.
 jsp.error.jspbody.emptybody.only=The {0} tag can only have 
jsp:attribute in its body.
-jsp.error.no.scriptlets=Scripting elements ( <%@, <%!, <%=, <% ) are 
disallowed here.
+jsp.error.no.scriptlets=Scripting elements ( <%!, <%=, <% ) are 
disallowed here.
 jsp.error.internal.unexpected_node_type=Internal Error: Unexpected 
node type encountered
 jsp.error.tld.fn.invalid.signature=Invalid syntax for function 
signature in TLD.  Tag Library: {0}, Function: {1}
 jsp.error.tld.fn.duplicate.name=Duplicate function name {0} in tag 
library {1}





--
To unsubscribe, e-mail:
For additional commands, e-mail: 




--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




[PATCH] jakarta-servletapi-5: API changes and clarifications

2002-11-08 Thread Mark Roth
Here is another set of JSP 2.0 API changes and clarifications, based on 
feedback from various sources.  Please let me know if there are any 
questions or concerns.

jsr152/src/share/javax/servlet/jsp/JspContext.java
  - Clarified that removeAttribute( name ) removes from all scopes
  - Clarified that removeAttribute( name, scope ) does nothing if the
object doesn't exist in that scope.
  - Clarified that setAttribute( name, null ) has the effect of removing
that attribute from the page scope.
  - Clarified that setAttribute( name, null, scope ) has the effect of
removing that attribute from the given scope.

jsr152/src/share/javax/servlet/jsp/tagext/TagSupport.java
  - Clarified javadocs for getValues() that the keys are returned.
  - Updated release() method to clear id and values Hashtable

jsr152/src/share/javax/servlet/jsp/tagext/PageData.java
  - Clarified the InputStream returned is in UTF-8

jsr152/src/share/dtd/jspxml.dtd
jsr152/src/share/dtd/jspxml.xsd
jsr154/src/share/dtd/jspxml.dtd
jsr154/src/share/dtd/jspxml.xsd
  - Removed i18n-related comment about contentType default

jsr152/src/share/dtd/jsp_2_0.xsd
jsr154/src/share/dtd/jsp_2_0.xsd
  - Changed i18n-related description relating to encoding name conflicts

jsr154/src/share/dtd/web-app_2_4.xsd
jsr154/src/share/dtd/j2ee_1_4.xsd
  - Moved warType from j2ee_1_4.xsd to web-app_2_4.xsd

--
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
Index: jsr152/src/share/dtd/jsp_2_0.xsd
===
RCS file: /home/cvspublic/jakarta-servletapi-5/jsr152/src/share/dtd/jsp_2_0.xsd,v
retrieving revision 1.4
diff -u -r1.4 jsp_2_0.xsd
--- jsr152/src/share/dtd/jsp_2_0.xsd9 Oct 2002 17:38:49 -   1.4
+++ jsr152/src/share/dtd/jsp_2_0.xsd8 Nov 2002 21:16:38 -
@@ -8,7 +8,7 @@
  version="2.0">
 
 
-%W% %G%
+@(#)jsp_2_0.xsds   1.14 11/06/02
 
 
 
@@ -172,12 +172,15 @@
 
 
 The valid values of page-encoding are those of the
-pageEncoding page directive. It is a
-translation-time error to define the pageEncoding
-of a JSP page through one value in the JSP
-configuration element and then give it a different
-value in a pageEncoding directive, but it is legal
-to give it the same value.
+pageEncoding page directive.  It is a
+   translation-time error to name different encodings
+   in the pageEncoding attribute of the page directive
+   of a JSP page and in a JSP configuration element
+   matching the page.  It is also a translation-time
+   error to name different encodings in the prolog of
+   a document in XML syntax and in a JSP configuration
+   element matching the document.  It is legal to name
+   the same encoding through mulitple mechanisms.
 
 
 
Index: jsr152/src/share/dtd/jspxml.dtd
===
RCS file: /home/cvspublic/jakarta-servletapi-5/jsr152/src/share/dtd/jspxml.dtd,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 jspxml.dtd
--- jsr152/src/share/dtd/jspxml.dtd 13 Aug 2002 16:20:58 -  1.1.1.1
+++ jsr152/src/share/dtd/jspxml.dtd 8 Nov 2002 21:16:38 -
@@ -1,4 +1,4 @@
-
 
@@ -77,12 +77,6 @@
 >
 
 
-
 @ -96,8 +90,7 @@
 errorPage   %URL;   #IMPLIED
 isErrorPage %Bool;  "false"
 pageEncodingCDATA   #IMPLIED
-isScriptingEnabled %Bool;   "true"
-isELEnabled %Bool;  #IMPLIED
+isELIgnored %Bool;  #IMPLIED
 >
 
 @ -29,7 +29,7 @@
 
   
 
-  XML Schema for JSP 1.2.
+  XML Schema for JSP 2.0.
 
   This schema is based upon the recent (May 5th, 2001)
   W3C recommendation for XML Schema.
@@ -210,7 +210,7 @@
   
 
   
-Contetn Type for this page
+Content type and character encoding for this page.
   
 
 
@@ -221,7 +221,7 @@
   
 
   
-Page Encoding for this page.  Default is that of ContentType.
+Page Encoding for this page.
   
 
 
@@ -291,7 +291,7 @@
 
   
 
-  
+  
 
   
 
@@ -301,10 +301,6 @@
 
   
 directive.page is the "page directive".
-The contentType default is not relevant for XML views of
-JSP pages since it differs depending on the originating
-syntax (text/html;ISO-8859-1 for JSP Pages in standard syntax, or
-text/xml;UTF-8 for JSP Documents in XML syntax.
   
 
 
@@ -320,8 +316,7 @@
   
   
   
-  
-  
+  
 
   
   
Index: jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd,v
retrieving revision 1.5
diff -u -r1.5 

[PATCH] jakarta-servletapi-5: javadoc clarifications

2002-11-01 Thread Mark Roth
Here is a patch with some more javadoc clarifications, to make the API 
more testable.  Thanks go to Ryan Lubke for helping out!

As always, please let me know if there are any questions or concerns.

Change summary:
---

jsr152/src/share/javax/servlet/jsp/tagext/VariableInfo.java
  - Fixed incorrect wording from last patch, for variable
synchronization.

jsr152/src/share/javax/servlet/jsp/tagext/TagExtraInfo.java
  - Fixed wording to preserve forwards compatibility for existing TEI
implementations.

jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java
  - Fixed default implementation of getVariableInfo() to return a
variable for the id attribute, if specified.
Clarified intent in javadocs.

jsr152/src/share/javax/servlet/jsp/tagext/TagData.java
  - Fixed getId() description, as we're not returning the jsp:id in this
case.

jsr152/src/share/javax/servlet/jsp/tagext/BodyTag.java
jsr152/src/share/javax/servlet/jsp/tagext/IterationTag.java
jsr152/src/share/javax/servlet/jsp/tagext/SimpleTag.java
jsr152/src/share/javax/servlet/jsp/tagext/Tag.java
  - Clarified javadocs w.r.t. variable synchronization

jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd
jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd
  - Removed fragment element under variable element, as fragment-scoped
variables are no longer supported.

--
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
Index: jsr152/src/share/javax/servlet/jsp/tagext/BodyTag.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/BodyTag.java,v
retrieving revision 1.2
diff -u -r1.2 BodyTag.java
--- jsr152/src/share/javax/servlet/jsp/tagext/BodyTag.java  29 Oct 2002 01:18:12 
-  1.2
+++ jsr152/src/share/javax/servlet/jsp/tagext/BodyTag.java  2 Nov 2002 01:12:50 
+-
@@ -200,9 +200,9 @@
  * tags whose doStartTag() method returns SKIP_BODY or EVAL_BODY_INCLUDE.
  *
  * 
- * The JSP container will resynchronize any variable values that 
- * are indicated as so in TagExtraInfo or TLD after the invocation of 
- * doInitBody().
+ * The JSP container will resynchronize the values of any AT_BEGIN and
+ * NESTED variables (defined by the associated TagExtraInfo or TLD) after
+ * the invocation of doInitBody().
  *
  * @throws JspException
  * @see #doAfterBody
Index: jsr152/src/share/javax/servlet/jsp/tagext/IterationTag.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/IterationTag.java,v
retrieving revision 1.2
diff -u -r1.2 IterationTag.java
--- jsr152/src/share/javax/servlet/jsp/tagext/IterationTag.java 29 Oct 2002 01:18:12 
-  1.2
+++ jsr152/src/share/javax/servlet/jsp/tagext/IterationTag.java 2 Nov 2002 01:12:54 
+-
@@ -138,9 +138,9 @@
  * of external computation.
  *
  * 
- * The JSP container will resynchronize any variable values that are 
- * indicated as so in TagExtraInfo or TLD after the invocation of 
- * doAfterBody().
+ * The JSP container will resynchronize the values of any AT_BEGIN and
+ * NESTED variables (defined by the associated TagExtraInfo or TLD) after
+ * the invocation of doAfterBody().
  *
  * @return whether additional evaluations of the body are desired
  * @throws JspException
Index: jsr152/src/share/javax/servlet/jsp/tagext/SimpleTag.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/SimpleTag.java,v
retrieving revision 1.3
diff -u -r1.3 SimpleTag.java
--- jsr152/src/share/javax/servlet/jsp/tagext/SimpleTag.java29 Oct 2002 01:18:12 
-  1.3
+++ jsr152/src/share/javax/servlet/jsp/tagext/SimpleTag.java2 Nov 2002 01:12:54 
+-
@@ -111,6 +111,11 @@
  * Called by the container to invoke this tag.
  * The implementation of this method is provided by the tag library
  * developer, and handles all tag processing, body iteration, etc.
+ *
+ * 
+ * The JSP container will resynchronize any AT_BEGIN and AT_END
+ * variables (defined by the associated tag file, TagExtraInfo, or TLD)
+ * after the invocation of doTag().
  * 
  * @throws javax.servlet.jsp.JspException If an error occurred 
  * while processing this tag.
Index: jsr152/src/share/javax/servlet/jsp/tagext/Tag.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/Tag.java,v
retrieving revision 1.3
diff -u -r1.3 Tag.java
--- jsr152/src/share/javax/servlet/jsp/tagext/Tag.java  29 Oct 2002 01:18:12 - 
 1.3
+++ jsr152/src/share/javax/servlet/jsp/tagext/Tag.java  2 Nov 2002 01:12:54 -
@@ -243,9 +2

[PATCH] jakarta-servletapi-5: javadoc tightening and cleanup

2002-10-28 Thread Mark Roth
share/javax/servlet/jsp/tagext/JspFragment.java
  - jsr152/src/share/javax/servlet/jsp/tagext/JspTag.java
  - jsr152/src/share/javax/servlet/jsp/tagext/SimpleTag.java
  - jsr152/src/share/javax/servlet/jsp/tagext/SimpleTagSupport.java
  - jsr152/src/share/javax/servlet/jsp/tagext/TagAdapter.java
  - jsr152/src/share/javax/servlet/jsp/tagext/TagAttributeInfo.java
  - jsr152/src/share/javax/servlet/jsp/tagext/TagExtraInfo.java
  - jsr152/src/share/javax/servlet/jsp/tagext/TagFileInfo.java
  - jsr152/src/share/javax/servlet/jsp/tagext/TagInfo.java
  - jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryInfo.java
  - jsr152/src/share/javax/servlet/jsp/tagext/TagLibraryValidator.java
  - jsr152/src/share/javax/servlet/jsp/tagext/TagSupport.java
  - jsr152/src/share/javax/servlet/jsp/tagext/TagVariableInfo.java
  - jsr152/src/share/javax/servlet/jsp/tagext/VariableInfo.java


--
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.
? build.properties
? src/share/javax/servlet/jsp/.nbattrs
Index: src/share/dtd/web-jsptaglibrary_2_0.xsd
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd,v
retrieving revision 1.4
diff -u -r1.4 web-jsptaglibrary_2_0.xsd
--- src/share/dtd/web-jsptaglibrary_2_0.xsd 3 Oct 2002 23:01:43 -   1.4
+++ src/share/dtd/web-jsptaglibrary_2_0.xsd 28 Oct 2002 23:58:12 -
@@ -10,7 +10,7 @@
 
 
 
-@(#)web-jsptaglibrary_2_0.xsds 1.19 09/30/02
+@(#)web-jsptaglibrary_2_0.xsds 1.21 10/15/02
 
 
 
@@ -318,7 +318,9 @@
 pathWhere to find the .tag file implementing this
 action, relative to the root of the web application or
the root of the JAR file for a tag library packaged in
-   a JAR.
+   a JAR.  This must begin with /WEB-INF/tags if the .tag
+   file resides in the WAR, or /META-INF/tags if the .tag
+   file resides in a JAR.
 
 
 
@@ -816,7 +818,7 @@
 variables defined by using this tag.  It is a (translation
 time) error for a tag that has one or more variable
 subelements to have a TagExtraInfo class that returns a
-non-null object.
+non-null value from a call to getVariableInfo().
 
 The subelements of variableType are of the form:
 
Index: src/share/javax/servlet/jsp/ErrorData.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/ErrorData.java,v
retrieving revision 1.1
diff -u -r1.1 ErrorData.java
--- src/share/javax/servlet/jsp/ErrorData.java  19 Aug 2002 16:29:49 -  1.1
+++ src/share/javax/servlet/jsp/ErrorData.java  28 Oct 2002 23:58:12 -
@@ -63,7 +63,7 @@
  * to "true".
  *
  * @see PageContext#getErrorData
- * @since JSP2.0
+ * @since 2.0
  */
 
 public final class ErrorData {
@@ -74,7 +74,7 @@
 private String servletName;
 
 /**
- * Creates a new ErrorData object
+ * Creates a new ErrorData object.
  *
  * @param throwable The Throwable that is the cause of the error
  * @param statusCode The status code of the error
@@ -91,7 +91,7 @@
 }
 
 /**
- * Returns the Throwable that caused the error
+ * Returns the Throwable that caused the error.
  *
  * @return The Throwable that caused the error
  */
@@ -100,7 +100,7 @@
 }
 
 /**
- * Returns the status code of the error
+ * Returns the status code of the error.
  *
  * @return The status code of the error
  */
@@ -109,7 +109,7 @@
 }
 
 /**
- * Returns the request URI
+ * Returns the request URI.
  *
  * @return The request URI
  */
@@ -118,7 +118,7 @@
 }
 
 /**
- * Returns the name of the servlet invoked
+ * Returns the name of the servlet invoked.
  *
  * @return The name of the servlet invoked
  */
Index: src/share/javax/servlet/jsp/JspContext.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/JspContext.java,v
retrieving revision 1.3
diff -u -r1.3 JspContext.java
--- src/share/javax/servlet/jsp/JspContext.java 3 Oct 2002 23:01:43 -   1.3
+++ src/share/javax/servlet/jsp/JspContext.java 28 Oct 2002 23:58:16 -
@@ -55,8 +55,6 @@
  
 package javax.servlet.jsp;
 
-import java.io.IOException;
-
 import java.util.Enumeration;
 
 import javax.servlet.jsp.el.ExpressionEvaluator;
@@ -90,7 +88,7 @@
  * 
  * getOut()
  *
- * @since JSP2.0
+ * @since 2.0
  */
 
 public abstract class JspContext {
@@ -136,7 +134,7 @@
 abstract public void setAttribute(String name, Object attribute);
 
 /**
- * register the name and object specified with appropriate scope semantics
+ * Register the name and object specified with appropriate scope semantics.
  * 
  * @param name the name of the attribute to set
  * @param othe object to associate with the name
@@ -218,7 +216,7 @@
 

[PATCH] jakarta-servletapi-5: XSD change and javadoc clarification

2002-10-08 Thread Mark Roth

NOTE: This patch requires some changes to Jasper2 before committing. 
Please let me know if there are any questions or concerns.

jsr152/src/share/javax/serlvet/jsp/el/Expression.java
 - Removed null as a return value for error - method must throw an
   exception to signal an error.

jsr152/src/share/dtd/jsp_2_0.xsd:
jsr154/src/share/dtd/jsp_2_0.xsd:
 - As per the Expert Group's decision, changed  to
and  to .
   Jasper2 needs to be updated accordingly.

--
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.


Index: jsr152/src/share/dtd/jsp_2_0.xsd
===
RCS file: /home/cvspublic/jakarta-servletapi-5/jsr152/src/share/dtd/jsp_2_0.xsd,v
retrieving revision 1.3
diff -u -r1.3 jsp_2_0.xsd
--- jsr152/src/share/dtd/jsp_2_0.xsd20 Sep 2002 01:56:44 -  1.3
+++ jsr152/src/share/dtd/jsp_2_0.xsd9 Oct 2002 00:07:29 -
@@ -8,7 +8,7 @@
  version="2.0">
 
 
-@(#)jsp_2_0.xsds   1.12 09/18/02
+%W% %G%
 
 
 
@@ -150,16 +150,17 @@
 
-
 
 
 
-Can be used to easily set the isELEnabled
+Can be used to easily set the isELIgnored
 property of a group of JSP pages.  By default, the
 EL evaluation is enabled for Web Applications using
-a Servlet 2.4 or greater web.xml.
+a Servlet 2.4 or greater web.xml, and disabled
+   otherwise.
 
 
 
@@ -181,15 +182,15 @@
 
 
 
-
 
 
 
-Can be used to easily set the isScriptingEnabled
-property of a group of JSP pages.  By default,
-scripting is enabled.
+Can be used to easily disable scripting in a
+group of JSP pages.  By default, scripting is
+   enabled.
 
 
 
Index: jsr152/src/share/javax/servlet/jsp/el/Expression.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/el/Expression.java,v
retrieving revision 1.1
diff -u -r1.1 Expression.java
--- jsr152/src/share/javax/servlet/jsp/el/Expression.java   19 Aug 2002 16:29:50 
-  1.1
+++ jsr152/src/share/javax/servlet/jsp/el/Expression.java   9 Oct 2002 00:07:29 
+-
@@ -81,7 +81,7 @@
  *
  * @param vResolver A VariableResolver instance that can be used at runtime to
  *   resolve the name of implicit objects into Objects.
- * @return The result of the expression evaluation or null if errors were 
encountered.
+ * @return The result of the expression evaluation.
  *
  * @exception ELException Thrown if the expression evaluation failed.
  */ 
Index: jsr152/src/share/javax/servlet/jsp/el/ExpressionEvaluator.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/el/ExpressionEvaluator.java,v
retrieving revision 1.3
diff -u -r1.3 ExpressionEvaluator.java
--- jsr152/src/share/javax/servlet/jsp/el/ExpressionEvaluator.java  3 Oct 2002 
23:01:44 -   1.3
+++ jsr152/src/share/javax/servlet/jsp/el/ExpressionEvaluator.java  9 Oct 2002 
+00:07:33 -
@@ -105,8 +105,7 @@
  * it is invoked.
  * @param defaultPrefix The default prefix to use when a function is
  * encountered with no prefix.
- * @return The Expression object encapsulating the arguments, or null 
- * if errors were encountered.
+ * @return The Expression object encapsulating the arguments.
  *
  * @exception ELException Thrown if parsing errors were found.
  */ 
@@ -135,8 +134,7 @@
  * it is invoked.
  * @param defaultPrefix The default prefix to use when a function is
  * encountered with no prefix.
- * @return The result of the expression evaluation or null if errors 
- * were encountered.
+ * @return The result of the expression evaluation.
  *
  * @exception ELException Thrown if the expression evaluation failed.
  */ 
Index: jsr154/src/share/dtd/j2ee_1_4.xsd
===
RCS file: /home/cvspublic/jakarta-servletapi-5/jsr154/src/share/dtd/j2ee_1_4.xsd,v
retrieving revision 1.3
diff -u -r1.3 j2ee_1_4.xsd
--- jsr154/src/share/dtd/j2ee_1_4.xsd   3 Oct 2002 23:01:44 -   1.3
+++ jsr154/src/share/dtd/j2ee_1_4.xsd   9 Oct 2002 00:07:45 -
@@ -9,7 +9,7 @@
  version="1.4">
 
 
-@(#)j2ee_1_4.xsds  1.31 02/10/01
+@(#)j2ee_1_4.xsds  1.32 02/10/04
 
 
 
@@ -136,8 +136,8 @@
 
 
 
-This group is used to keep the contained elements in a consistent
-order across J2EE deployment descriptors.
+This group keeps the usage of the contained description related
+elements consistent across J2EE deployment descriptors.
 
 
 
@@ -733,6 +733,40 @@
 
 
 
+
+
+
+
+   

[PATCH] jakarta-servletapi-5: Further XSD changes, small javadocupdate

2002-10-07 Thread Mark Roth

jsr152/src/share/javax/servlet/jsp/el/ExpressionEvaluator.java:
 - Removed null as a valid return type for parseExpression() and
evaluate().  These methods must throw an ELException in
 this case.

jsr154/src/share/dtd/j2ee_1_4.xsd:
 - Added jndiEnvironmentRefsGroup

jsr154/src/share/dtd/web-app_2_4.xsd:
 - Added jndiEnvironmentRefsGroup

-- 
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.


Index: jsr152/src/share/javax/servlet/jsp/el/ExpressionEvaluator.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/el/ExpressionEvaluator.java,v
retrieving revision 1.3
diff -u -r1.3 ExpressionEvaluator.java
--- jsr152/src/share/javax/servlet/jsp/el/ExpressionEvaluator.java  3 Oct 2002 
23:01:44 -   1.3
+++ jsr152/src/share/javax/servlet/jsp/el/ExpressionEvaluator.java  7 Oct 2002 
+16:18:56 -
@@ -105,8 +105,7 @@
  * it is invoked.
  * @param defaultPrefix The default prefix to use when a function is
  * encountered with no prefix.
- * @return The Expression object encapsulating the arguments, or null 
- * if errors were encountered.
+ * @return The Expression object encapsulating the arguments.
  *
  * @exception ELException Thrown if parsing errors were found.
  */ 
@@ -135,8 +134,7 @@
  * it is invoked.
  * @param defaultPrefix The default prefix to use when a function is
  * encountered with no prefix.
- * @return The result of the expression evaluation or null if errors 
- * were encountered.
+ * @return The result of the expression evaluation.
  *
  * @exception ELException Thrown if the expression evaluation failed.
  */ 
Index: jsr154/src/share/dtd/j2ee_1_4.xsd
===
RCS file: /home/cvspublic/jakarta-servletapi-5/jsr154/src/share/dtd/j2ee_1_4.xsd,v
retrieving revision 1.3
diff -u -r1.3 j2ee_1_4.xsd
--- jsr154/src/share/dtd/j2ee_1_4.xsd   3 Oct 2002 23:01:44 -   1.3
+++ jsr154/src/share/dtd/j2ee_1_4.xsd   7 Oct 2002 16:19:00 -
@@ -9,7 +9,7 @@
  version="1.4">
 
 
-@(#)j2ee_1_4.xsds  1.31 02/10/01
+@(#)j2ee_1_4.xsds  1.32 02/10/04
 
 
 
@@ -136,8 +136,8 @@
 
 
 
-This group is used to keep the contained elements in a consistent
-order across J2EE deployment descriptors.
+This group keeps the usage of the contained description related
+elements consistent across J2EE deployment descriptors.
 
 
 
@@ -733,6 +733,40 @@
 
 
 
+
+
+
+
+
+
+
+This group keeps the usage of the contained JNDI environment
+reference elements consistent across J2EE deployment descriptors.
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
 
Index: jsr154/src/share/dtd/web-app_2_4.xsd
===
RCS file: /home/cvspublic/jakarta-servletapi-5/jsr154/src/share/dtd/web-app_2_4.xsd,v
retrieving revision 1.5
diff -u -r1.5 web-app_2_4.xsd
--- jsr154/src/share/dtd/web-app_2_4.xsd3 Oct 2002 23:01:44 -   1.5
+++ jsr154/src/share/dtd/web-app_2_4.xsd7 Oct 2002 16:19:04 -
@@ -8,7 +8,7 @@
  version="2.4">
 
 
-@(#)web-app_2_4.xsds   1.44 02/09/30
+@(#)web-app_2_4.xsds   1.45 02/10/04
 
 
 
@@ -1122,31 +1122,7 @@
  type="j2ee:security-roleType"
  minOccurs="0"
  maxOccurs="unbounded"/>
-
-
-
-
-
-
-
+
 

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


JSP 2.0's J2SE 1.4 Requirement

2002-10-04 Thread Mark Roth

It has been brought to my attention that some members of the Tomcat 
community have expressed a desire to see a requirement lower than J2SE 
1.4 in JSP 2.0.

First, let me reassure you that the JSP 2.0 specification is not final. 
  Actually, we are in Proposed Final Draft phase, and we are explicitly 
soliciting feedback!  Early feedback is always much appreciated.  As per 
the cover of the specification, the appropriate forum for feedback is 
[EMAIL PROTECTED]

Regarding the J2SE 1.4 requirement, the expert group discussed the topic 
in early August (as issue "[OTH-17] J2SE Version Requirement") and there 
was concensus from the different experts, but the EG is open to 
additional comments.  You can send mail directly to 
[EMAIL PROTECTED], or, maybe better in this case, talk 
directly to the Apache representatives to the Expert Group: Ricardo 
Rocha ([EMAIL PROTECTED]) and Geir Magnusson Jr. ([EMAIL PROTECTED]). 
In general the more feedback the rep has from his community the better 
for the Expert Group.

For what it's worth, the only technical reasons we require J2SE 1.4 are:

 1. We require support for JSR-45 (Debugging Support for Other
Languages)
 2. We declare support for Unicode 3.0 in our I18N chapter.

Actually, JSR-45 is quite important for the platform as a whole.  For 
example, it was recently pointed out to me that there's a bug report 
against Tomcat 5 because we didn't re-implement the pseudo-debug 
comments that Jasper 1 used to create, and that some tools relied on. 
Standard debugging annotations is an important enabler, and it would be 
a shame to have to wait even longer for it.

 From my perspective, the most significant reason to require J2SE 1.4 is 
that it would be best if people can write portable tag handlers that 
utilize J2SE 1.4 libraries, and be able to use them in any JSP 2.0 
application.  Do we really want to stagnate on J2SE 1.2 APIs forever?

I've compiled a list of new features in J2SE 1.3 and J2SE 1.4 that I 
believe would be of use to page authors and tag library developers that 
would decide to use JSP 2.0.  It would be awesome, IMHO, if page authors 
and tag library developers could rely on these features being present in 
any JSP 2.0 compliant container.  This list was also discussed in the 
Expert Group.

J2SE 1.3 adds (among other features):

 * Built-in JNDI
 * RMI/IIOP
 * CORBA ORB
 * PNG support (for image taglibs)
 * Various Security enhancements
 * Improved socket support
 * HTTP 1.1 client-side support
 * DynamicProxy
 * Serialization enhancements
 * Collections enhancements
 * BigDecimal and BigInteger enhancements
 * StrictMath
 * Timer API
 * Delete-on-close mode for opening zip and jar files
 * JPDA tool support

J2SE 1.4 adds (among other features):

 * XML Processing
 * New I/O APIs
 * Security: Java Cryptography integrated
 * Security: GSS-API, Certification Path API
 * Pluggable Image I/O framework
 * Print Service API
 * Standard Logging APIs
 * Long-term Persistence of JavaBeans
 * JDBC 3.0
 * Assertions
 * Preferences API
 * Chained Exception Facility
 * IPv6 Networking Support
 * JNDI enhancements
 * CORBA ORB with POA
 * *** JSR-45 (Debugging Support for Other Languages) ***
 * *** Unicode 3.0 ***
 * Currency class
 * Collections Framework enhancements
 * Built-in support for Regular Expressions

Regards,
-- 
Mark Roth, Java Software
JSP 2.0 Specification Co-Lead
Sun Microsystems, Inc.


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




[PATCH] jakarta-servletapi-5: javadocs, API changes and new file

2002-10-03 Thread Mark Roth

NEW FILE (in jakarta-servletapi-5.newfiles.tar):
 - jsr154/src/share/dtd/j2ee_web_services_1_1.xsd
   (Required by latest j2ee_1_4.xsd)


CHANGED FILES:

jsr152/src/share/javax/servlet/jsp/JspContext.java:
 - getAttribute(name): Remove IllegalArgumentException
   for non-existent scope parameter.
 - Added javadoc for IllegalArgumentException for
   removeAttribute(name, scope)
 - Added javadoc for IllegalArgumentException for
   getAttributeNamesInScope(scope)
 - Added 'public JspWriter pushBody( java.io.Writer writer );'
 - Moved 'public JspWriter popBody()' from PageContext to JspContext.

jsr152/src/share/javax/servlet/jsp/PageContext.java:
 - forward(path): Remove IllegalArgumentException and
   SecurityException, which are not declared in the RequestDispatcher
   counterpart methods.
 - include(path): Remove IllegalArgumentException and
   SecurityException, which are not declared in the RequestDispatcher
   counterpart methods.
 - include(path, flush): Remove IllegalArgumentException and
   SecurityException, which are not declared in the RequestDispatcher
   counterpart methods.
 - Moved 'public JspWriter popBody()' from PageContext to JspContext.

jsr152/src/share/javax/servlet/jsp/el/ELException.java:
 - Removed toString() method, and constructors pass in localized
   message of root cause Throwable.

jsr152/src/share/javax/servlet/jsp/el/VariableResolver.java:
 - resolveVariable( name, context ): Add description for
   context parameter.

jsr152/src/share/javax/servlet/jsp/el/ExpressionEvaluator.java:
 - Elaborate on description of what should be passed for the
   expression parameter.  The expression parameter includes
   the tokens '${' and '}', which can appear more than once.
   For example, parseExpression( "Version ${major}.${minor}", ... )
   is valid.
 - Elaborate on caller requirements for passing in a FunctionMapper
   to evaluate() and parseExpression().

jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd:
 - Escape markup in documentation with CDATA instead of <

jsr154/src/share/dtd/web-jsptaglibrary_2_0.xsd:
 - Escape markup in documentation with CDATA instead of <

jsr154/src/share/dtd/j2ee_1_4.xsd:
 - Escape markup in documentation with CDATA instead of <
 - Make CDATA sections use a consistent style
 - Make xsd:include schemaLocation point to IBM site

jsr154/src/share/dtd/web-app_2_4.xsd:
 - Escape markup in documentation with CDATA instead of <
 - Added ERROR to list of legal values for request dispatcher


As usual, please let me know if there are any questions or concerns.

--
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.



Index: jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd,v
retrieving revision 1.3
diff -u -r1.3 web-jsptaglibrary_2_0.xsd
--- jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd  20 Sep 2002 01:56:44 - 
 1.3
+++ jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd  3 Oct 2002 21:59:54 -
@@ -10,7 +10,7 @@
 
 
 
-@(#)web-jsptaglibrary_2_0.xsds 1.18 09/19/02
+@(#)web-jsptaglibrary_2_0.xsds 1.19 09/30/02
 
 
 
@@ -50,6 +50,7 @@
 
 
 
+
 
 
 
Index: jsr152/src/share/javax/servlet/jsp/JspContext.java
===
RCS file: 
/home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/JspContext.java,v
retrieving revision 1.2
diff -u -r1.2 JspContext.java
--- jsr152/src/share/javax/servlet/jsp/JspContext.java  19 Aug 2002 16:29:49 - 
 1.2
+++ jsr152/src/share/javax/servlet/jsp/JspContext.java  3 Oct 2002 21:59:54 -
@@ -78,6 +78,12 @@
  * scripting environment
  * 
  *
+ * Methods Intended for Container Generated Code
+ * 
+ * The following methods enable the management of nested JspWriter 
+ * streams to implement Tag Extensions: pushBody() and
+ * popBody()
+ *
  * Methods Intended for JSP authors
  * 
  * The following methods provide convenient access to implicit objects:
@@ -152,7 +158,6 @@
  * or null if not found.
  * 
  * @throws NullPointerException if the name is null
- * @throws IllegalArgumentException if the scope is invalid
  */
 
 abstract public Object getAttribute(String name);
@@ -198,6 +203,7 @@
  *
  * @param name The name of the object to remove.
  * @param scope The scope where to look.
+ * @throws IllegalArgumentException if the scope is invalid
  */
 
 abstract public void removeAttribute(String name, int scope);
@@ -217,6 +223,7 @@
  * @param scope the scope to enumerate all the attributes for
  * @return an enumeration of names (java.lang.String) of all the 
  * attributes t

Re: Ping: sources for jsp2el.jar !

2002-10-01 Thread Mark Roth

The sources for jsp20el.jar are from the JSTL project.  There's a 
special build target there that produeces this JAR.  We're doing this 
until the EL gets its own project at jakarta-commons or such.

Shawn Bayern should be able to help answer any questions in this area.

- Mark


Costin Manolache wrote:
> It seems Justyna was the last person to access the file, and Remy 
> was the first.
> 
> If anyone knows where are the sources for that jar - please let me know. 
> ( or just check them in ).
> 
> 


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




[PATCH] jakarta-servletapi-5: Additional XSD file patches

2002-09-24 Thread Mark Roth

Attached is a patch to bring the other Servlet 2.4 XSD files up to date
with the JSP patch I submitted on September 19.

Files modified:
- jsr154/src/share/dtd/j2ee_1_4.xsd
- jsr154/src/share/dtd/web-app_2_4.xsd
- jsr154/src/share/dtd/xml.xsd

--
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.



Index: jsr154/src/share/dtd/j2ee_1_4.xsd
===
RCS file: /home/cvspublic/jakarta-servletapi-5/jsr154/src/share/dtd/j2ee_1_4.xsd,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 j2ee_1_4.xsd
--- jsr154/src/share/dtd/j2ee_1_4.xsd	13 Aug 2002 16:21:47 -	1.1.1.1
+++ jsr154/src/share/dtd/j2ee_1_4.xsd	24 Sep 2002 17:56:24 -
@@ -9,7 +9,7 @@
  version="1.4">
 
 
-@(#)j2ee_1_4.xsds	1.20 02/07/12
+@(#)j2ee_1_4.xsds	1.28 02/09/19
 
 
 
@@ -74,6 +74,8 @@
 http://www.w3.org/XML/1998/namespace";
 schemaLocation="http://www.w3.org/2001/xml.xsd"/>
 
+
+
 
 
 
@@ -123,11 +125,39 @@
type="xsd:anyURI"/>
 
+
 
 
 
 
 
+
+
+
+
+This group is used to keep the contained elements in a consistent
+order across J2EE deployment descriptors.
+
+
+
+
+
+
+
+
+
+
+
+
 
 
 
@@ -147,13 +177,11 @@
 
 
 
-
 
-
-
+
+
 
 
-
 
 
 
@@ -187,24 +215,22 @@
 Example:
 
 ...
-   Employee Self Service
+   <display-name xml:lang="en">Employee Self Service</display-name>
 
 The value of the xml:lang attribute is "en" (English) by default.
 
 
 
-
 
 
-
+
 
 
-
 
 
 
 
-
+
 
 
 
@@ -226,16 +252,18 @@
 
 Examples:
 
+
 
 
 
-
-
-
-
+
+
+
+
 
 
 
@@ -275,13 +303,17 @@
 
+
 
-
+
 
 
 
 
-
+
 
 
 
@@ -295,18 +327,18 @@
 
 Example:
 
-ejb/Payroll
+<ejb-ref-name>ejb/Payroll</ejb-ref-name>
 
 
 
-
-
-
-
+
+
+
+
 
 
 
-
+
 
 
 
@@ -321,13 +353,13 @@
 
 
 
-
-
-
-
-
-
-
+
+
+
+
+
+
+
 
 
 
@@ -369,8 +401,12 @@
 
+
 
-
+
 
 
 
@@ -384,11 +420,12 @@
 
 
 
+
 
 
 
 
-
+
 
 
 
@@ -410,24 +447,24 @@
 
 Example:
 
-java.lang.Boolean
+<env-entry-type>java.lang.Boolean</env-entry-type>
 
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
 
@@ -466,7 +503,7 @@
 
 Example:
 
-minAmount
+<env-entry-name>minAmount</env-entry-name>
 
 
 
@@ -476,7 +513,7 @@
  type="j2ee:env-entry-type-valuesType"/>
 
 
 
 
@@ -490,13 +527,14 @@
 
 Example:
 
-100.00
+<env-entry-value>100.00</env-entry-value>
 
 
 
 
 
 
+
 
 
 
@@ -513,11 +551,12 @@
 
 
 
+
 
 
 
 
-
+
 
 
 
@@ -526,14 +565,14 @@
 
 
 
-
-
-
-
+
+
+
+
 
 
 
-
+
 
 
 
@@ -543,19 +582,19 @@
 
 
 
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
 
 
 
-
+
 
 
 
@@ -564,14 +603,14 @@
 
 Example:
 
-com.aardvark.payroll.PayrollHome
+<home>com.aardvark.payroll.PayrollHome</home>
 
 
 
-
-
-
-
+
+
+
+
 
 
 
@@ -606,7 +645,7 @@
 
 Example:
 
-employee-service-icon16x16.jpg
+<small-icon>employee-service-icon16x16.jpg</small-icon>
 
 
 
@@ -626,7 +665,7 @@
 
 Example:
 
-employee-service-icon32x32.jpg
+<large-icon>employee-service-icon32x32.jpg</large-icon>
 
 
 
@@ -634,12 +673,13 @@
 
 
 
+
 
 
 
 
 
-
+
 
 
 
@@ -649,16 +689,16 @@
 
 
 
-
-
-
-
-
-
+
+
+
+
+
+
 
 
 
-
+
 
 
 
@@ -669,14 +709,14 @@
 
 
 
-
-
-
-
+
+
+
+
 
 
 
-
+
 
 
 
@@ -685,14 +725,14 @@
 
 
 
-
-
-
-
+
+
+
+
 
 
 
-
+
 
 
 
@@ -701,14 +741,14 @@
 
 
 
-
-
-
-
+
+
+
+
 
 
 
-
+
 
 
 
@@ -734,10 +774,10 @@
 
 
 
-
-
-
-
+
+
+
+
 
 
 
@@ -760,6 +800,7 @@
 
 Examples:
 
+
 
 
 
@@ -802,13 +844,18 @@
 
+
 
+
 
 
 
 
 
-
+
 
 
 
@@ -818,19 +865,19 @@
 
 Example:
 
- javax.jms.Queue
- 
+ <message-destination-type>javax.jms.Queue
+ </message-destination-type>
 
 
 
-
-
-
-
+
+
+
+
 
 
 
-
+
 
 
 
@@ -849,14 +896,14 @@
 
 
 
-
-
-
-
-
-
-
-
+
+
+   

[PATCH] jakarta-servletapi-5::Another patch to the JSP XSD files

2002-09-19 Thread Mark Roth

This time, with the patch.  :)

- Mark

On Thu, 2002-09-19 at 19:36, Mark Roth wrote:
> I just noticed my previous XSD patch from this Monday was never
> applied.  Was there a problem?
> 
> This patch contains diffs based on the current workspace state, not
> based on my previous patch.
> 
> This patch contains another few patches to the XSD files.  This affects
> both jsp_2_0.xsd and web-jsptaglibrary_2_0.xsd.
> 
> Summary of changes:
> 
> jsp_2_0.xsd:
> 
> - Added id attributes to elements
> - Changed (description*, display-name*, icon*) to use 
>   common  reference for consistency.  Definition 
>   is in common J2EE file.
> 
> web-jsptaglibrary_2_0.xsd:
> 
> - Added id attributes to elements
> - Changed (description*, display-name*, icon*) to use 
>   common  reference for consistency.  Definition 
>   is in common J2EE file.
> - Escaped markup under  elements
> 
> Files Modified:
> 
> - jsr152/src/share/dtd/jsp_2_0.xsd
> - jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd
> - jsr154/src/share/dtd/jsp_2_0.xsd
> - jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd
> 
> Please let me know if there are any questions or concerns.
> 
> --
> Mark Roth, Java Software
> JSP 2.0 Co-Specification Lead
> Sun Microsystems, Inc.
> 



Index: jsr152/src/share/dtd/jsp_2_0.xsd
===
RCS file: /home/cvspublic/jakarta-servletapi-5/jsr152/src/share/dtd/jsp_2_0.xsd,v
retrieving revision 1.2
diff -u -r1.2 jsp_2_0.xsd
--- jsr152/src/share/dtd/jsp_2_0.xsd	21 Aug 2002 16:17:48 -	1.2
+++ jsr152/src/share/dtd/jsp_2_0.xsd	19 Sep 2002 23:30:52 -
@@ -8,7 +8,7 @@
  version="2.0">
 
 
-%W% %G%
+@(#)jsp_2_0.xsds	1.12 09/18/02
 
 
 
@@ -105,12 +105,12 @@
  minOccurs="0"
  maxOccurs="unbounded"/>
 
-
+
 
 
 
 
-
+
 
 
 
@@ -120,9 +120,10 @@
 
 
 
-
-
-
+
+
+
+
 
 
 
@@ -145,12 +146,7 @@
 
 
 
-	
-
+
 
@@ -249,7 +245,7 @@
 
 
 
-
+
 
 
 
@@ -297,7 +293,7 @@
 
 
 
-
+
 
 
 
Index: jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd
===
RCS file: /home/cvspublic/jakarta-servletapi-5/jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd,v
retrieving revision 1.2
diff -u -r1.2 web-jsptaglibrary_2_0.xsd
--- jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd	19 Aug 2002 16:29:49 -	1.2
+++ jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd	19 Sep 2002 23:30:52 -
@@ -10,7 +10,7 @@
 
 
 
-@(#)web-jsptaglibrary_2_0.xsds	1.14 08/14/02
+@(#)web-jsptaglibrary_2_0.xsds	1.18 09/19/02
 
 
 
@@ -61,12 +61,12 @@
 and by indicating the version of the schema by
 using the version element as shown below:
 
-http://java.sun.com/xml/ns/j2ee";
+<taglib xmlns="http://java.sun.com/xml/ns/j2ee";
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  xsi:schemaLocation="..."
  version="2.0">
 ...
-
+</taglib>
 
 The instance documents may indicate the published
 version of the schema using xsi:schemaLocation attribute
@@ -137,7 +137,7 @@
 
 
 
-
+
 
 
 
@@ -163,17 +163,18 @@
 
 
 
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
 
 
 
@@ -211,15 +212,7 @@
 
 
 
-
-
-
+
 
 
@@ -244,7 +237,7 @@
 
 
 
+ type="j2ee:string">
 
 
 
@@ -261,7 +254,7 @@
 
 
 
 
 
@@ -274,6 +267,7 @@
 
 
 
+
 
 
 
@@ -303,6 +297,7 @@
 
 
 
+
 
 
 
@@ -332,6 +327,7 @@
 
 
+
 
 
 
@@ -385,15 +381,7 @@
 
 
 
-
-
-
+
 
 
 
 
 
@@ -475,6 +463,7 @@
 	
 	
 
+
 
 
 
@@ -522,16 +511,7 @@
 
 
 
-
-
-
+
 
 
@@ -562,7 +542,7 @@
 
 
 
 
 
@@ -629,7 +609,7 @@
 
 
 
-
+
 
 
 
@@ -731,11 +711,12 @@
 	
 	
 
+
 
 
 
 
-
+
 
 
 
@@ -748,9 +729,10 @@
 
 
 
-
-
-
+
+
+
+
 
 
 
@@ -765,43 +747,44 @@
 
 
 
-
-
-
-
-
+
+
+
+
+
 
-Defines the TagLibraryValidator class that can be used
-to validate the conformance of a JSP page to using this
-tag library.
+Defines the TagLibraryValidator class that can be used
+to validate the conformance of a JSP page to using this
+tag library.
 
-
-
-
-

[PATCH] jakarta-servletapi-5::Another patch to the JSP XSD files

2002-09-19 Thread Mark Roth

I just noticed my previous XSD patch from this Monday was never
applied.  Was there a problem?

This patch contains diffs based on the current workspace state, not
based on my previous patch.

This patch contains another few patches to the XSD files.  This affects
both jsp_2_0.xsd and web-jsptaglibrary_2_0.xsd.

Summary of changes:

jsp_2_0.xsd:

- Added id attributes to elements
- Changed (description*, display-name*, icon*) to use 
  common  reference for consistency.  Definition 
  is in common J2EE file.

web-jsptaglibrary_2_0.xsd:

- Added id attributes to elements
- Changed (description*, display-name*, icon*) to use 
  common  reference for consistency.  Definition 
  is in common J2EE file.
- Escaped markup under  elements

Files Modified:

- jsr152/src/share/dtd/jsp_2_0.xsd
- jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd
- jsr154/src/share/dtd/jsp_2_0.xsd
- jsr152/src/share/dtd/web-jsptaglibrary_2_0.xsd

Please let me know if there are any questions or concerns.

--
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.



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




[patch] jakarta-servletapi-5: JSP 2.0 Examples missing files

2002-09-09 Thread Mark Roth

Forgot to tar a subdirectory (thanks to Justy for spotting this!):

This patch adds the following files:
* jsr152/examples/WEB-INF/tags/panel.tag
* jsr152/examples/WEB-INF/tags/helloWorld.tag
* jsr152/examples/WEB-INF/tags/displayProducts.tag

As usual, please let me know if there are any questions or concerns.

--
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.




jakarta-servletapi-5-jsp2-examples-2.tar
Description: Unix tar archive

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


Re: [PATCH] jakarta-servletapi-5: JSP 2.0 Examples

2002-09-06 Thread Mark Roth

Oops - did "cvs diff" instead of "cvs diff -u".  Here's a better version
of the patch.  Please use this instead.

On Fri, 2002-09-06 at 20:15, Mark Roth wrote:
> Greetings,
> 
> Attached is a patch to the jakarta-servletapi-5 workspace with various
> examples that exercise new features in JSP 2.0.  I've also fixed some of
> the JSP 1.2 examples (the paths were not correctly brought over when the
> examples were moved to the jakarta-servletapi-5 workspace).  I've also
> updated some of the XML Schemas in the jsr154/ subdirectory which had
> stale versions of the jsr152 schemas.
> 
...

--
Mark Roth, Java Software
JSP 2.0 Co-Specification Lead
Sun Microsystems, Inc.



? jsr152/examples/jsp2
? jsr152/examples/WEB-INF/jsp2
? jsr152/examples/WEB-INF/classes/jsp2
? jsr152/examples/images/read.gif
Index: jsr152/examples/index.html
===
RCS file: /home/cvspublic/jakarta-servletapi-5/jsr152/examples/index.html,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 index.html
--- jsr152/examples/index.html  27 Aug 2002 13:16:50 -  1.1.1.1
+++ jsr152/examples/index.html  7 Sep 2002 00:17:46 -
@@ -14,7 +14,8 @@
 JSP
 Samples
 This is a collection of samples demonstrating the usage of different
-parts of the Java Server Pages (JSP) specification.
+parts of the Java Server Pages (JSP) specification.  Both JSP 2.0 and
+JSP 1.2 examples are presented below.
 These examples will only work when these pages are being served by a
 servlet engine; of course, we recommend
 http://jakarta.apache.org/tomcat/";>Tomcat.
@@ -36,6 +37,13 @@
 Look at the source code for the example
 
 
+
+
+
 
 
 
@@ -46,6 +54,128 @@
 Tip: For session scoped beans to work, the cookies must be enabled.
 This can be done using browser options.
  
+
+JSP 2.0 Examples
+
+
+
+Expression Language
+
+
+
+Basic Arithmetic
+Execute
+
+Source
+
+
+
+Basic Comparisons
+Execute
+
+Source
+
+
+
+Implicit Objects
+Execute
+
+Source
+
+
+
+Functions
+Execute
+
+Source
+
+
+
+SimpleTag Handlers and JSP Fragments
+
+
+
+Hello World Tag
+Execute
+
+Source
+
+
+
+Repeat Tag
+Execute
+
+Source
+
+
+
+Book Example
+Execute
+
+Source
+
+
+
+Tag Files
+
+
+
+Hello World Tag File
+Execute
+
+Source
+
+
+
+Panel Tag File
+Execute
+
+Source
+
+
+
+Display Products Example
+Execute
+
+Source
+
+
+
+Other JSP 2.0 Features
+
+
+
+<jsp:attribute> and <jsp:body>
+Execute
+
+Source
+
+
+
+Shuffle Example
+Execute
+
+Source
+
+
+
+Attributes With Dynamic Names
+Execute
+
+Source
+
+
+
+JSP Configuration
+Execute
+
+Source
+
+
+
+
+
+JSP 1.2 Examples
 
 
 Numberguess 
@@ -144,7 +274,7 @@
 
 
 
-Simple custom tag example
+Custom tag example
 
 Execute
 
Index: jsr152/examples/WEB-INF/web.xml
===
RCS file: /home/cvspublic/jakarta-servletapi-5/jsr152/examples/WEB-INF/web.xml,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 web.xml
--- jsr152/examples/WEB-INF/web.xml 27 Aug 2002 13:16:52 -  1.1.1.1
+++ jsr152/examples/WEB-INF/web.xml 7 Sep 2002 00:17:46 -
@@ -1,10 +1,9 @@
 
 
-http://java.sun.com/dtd/web-app_2_3.dtd";>
-
-
+http://java.sun.com/xml/ns/j2ee";
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd"
+version="2.4">
 
 
 
@@ -169,23 +168,47 @@
 
 
 
-
-
-  http://jakarta.apache.org/tomcat/debug-taglib
-
-
-   /WEB-INF/jsp/debug-taglib.tld
-
-
-
-
-
-  http://jakarta.apache.org/tomcat/examples-taglib
-
-
-   /WEB-INF/jsp/example-taglib.tld
-
-
+
+
+   
+  http://jakarta.apache.org/tomcat/debug-taglib
+   
+   
+  /WEB-INF/jsp/debug-taglib.tld
+   
+   
+
+   
+   
+  http://jakarta.apache.org/tomcat/examples-taglib
+   
+   
+  /WEB-INF/jsp/example-taglib.tld
+   
+   
+
+   
+   
+  http://jakarta.apache.org/tomcat/jsp2-example-taglib
+   
+   
+  /WEB-INF/jsp2/jsp2-example-taglib.tld
+   
+   
+
+   
+   
+   Special property group for JSP Configuration JSP example.
+   
+   JSPConfiguration
+   /jsp2/misc/config.jsp
+   false
+   ISO-8859-1
+   false
+   /jsp2/misc/prelude.jspf
+   /jsp2/misc/coda.jspf
+   
+
 
 
   mail/Session
@@ -198,7 +221,7 @@
   
  Protected Area
 
- /jsp/security/protected/*
+ /security/protected/*
 
 DELETE
  GET
@@ -217,8 +240,8 @@
   FORM
   Example Form-Based Authentication Area

[PATCH] jakarta-tomcat-jasper: PFD features and bugfixes 3

2002-08-21 Thread Mark Roth

Atached is a third patch to move us towards JSP 2.0 PFD
feature-complete.  More to come...

File Changed (IN PATCH)

jasper2/src/share/org/apache/jasper/compiler/Generator.java


Summary of changes:
- Removed TryCatchFinally handling for SimpleTag call generation.
  TryCatchFinally does not apply for SimpleTag anymore.
- Fixed to only declare scripting variables for those 
  variables whose declare attribute is set to 'true' (true 
  by default).
- Scripting variables were not being declared for SimpleTag calls.
  Fixed.
- Fixed Tag Handler implementation to synchronize locally-scoped
  AT_BEGIN and AT_END variables with calling page's page context.

Note that there are a number of spec bugs relating to synchronization
that were discovered while implementing this.  I'll take these findings
to the Expert Group for further discussion.

--
Mark Roth, Java Software
JSP 2.0 Specification Co-Lead
Sun Microsystems, Inc.



Index: jasper2/src/share/org/apache/jasper/compiler/Generator.java
===
RCS file: /home/cvspublic/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v
retrieving revision 1.75
diff -u -r1.75 Generator.java
--- jasper2/src/share/org/apache/jasper/compiler/Generator.java	21 Aug 2002 18:07:59 -	1.75
+++ jasper2/src/share/org/apache/jasper/compiler/Generator.java	22 Aug 2002 02:24:01 -
@@ -2073,6 +2073,10 @@
 	out.printin("/*   ");
 	out.print(n.getName());
 	out.println("  */");
+
+// Declare AT_BEGIN scripting variables
+	declareScriptingVars(n, VariableInfo.AT_BEGIN);
+
 	out.printil("{");
 	out.pushIndent();
 
@@ -2093,11 +2097,6 @@
 
 	generateSetters(n, tagHandlerVar, handlerInfo, true);
 
-if (n.implementsTryCatchFinally()) {
-out.printil("try {");
-out.pushIndent();
-}
-	
 	// Set the body
 	if (findJspBody(n) == null) {
 		/*
@@ -2127,29 +2126,16 @@
 	out.printin(tagHandlerVar);
 	out.println(".doTag();");
 
-	// Synchronize AT_BEGIN and AT_END scripting variables
-	syncScriptingVars(n, VariableInfo.AT_BEGIN);
-	syncScriptingVars(n, VariableInfo.AT_END);
-
-	// TryCatchFinally
-	if (n.implementsTryCatchFinally()) {
-out.popIndent(); // try
-		out.printil("} catch (Throwable _jspx_exception) {");
-		out.pushIndent();
-		out.printin(tagHandlerVar);
-		out.println(".doCatch(_jspx_exception);");
-		out.popIndent();
-out.printil("} finally {");
-out.pushIndent();
-		out.printin(tagHandlerVar);
-		out.println(".doFinally();");
-out.popIndent();
-out.println("}");
-	}
-
 	restoreScriptingVars(n);
 	out.popIndent();
 	out.printil("}");
+
+	// Synchronize AT_BEGIN scripting variables
+	syncScriptingVars(n, VariableInfo.AT_BEGIN);
+
+	// Declare and synchronize AT_END scripting variables
+	declareScriptingVars(n, VariableInfo.AT_END);
+	syncScriptingVars(n, VariableInfo.AT_END);
 
 	n.setEndJavaLine(out.getJavaLine());
 	}
@@ -2162,21 +2148,25 @@
 		Object elem = vec.elementAt(i);
 		if (elem instanceof VariableInfo) {
 			VariableInfo varInfo = (VariableInfo) elem;
-			out.printin(varInfo.getClassName());
-			out.print(" ");
-			out.print(varInfo.getVarName());
-			out.println(" = null;");
+if( varInfo.getDeclare() ) {
+out.printin(varInfo.getClassName());
+out.print(" ");
+out.print(varInfo.getVarName());
+out.println(" = null;");
+}
 		} else {
 			TagVariableInfo tagVarInfo = (TagVariableInfo) elem;
-			String varName = tagVarInfo.getNameGiven();
-			if (varName == null) {
-			varName = n.getTagData().getAttributeString(
-tagVarInfo.getNameFromAttribute());
-			}
-			out.printin(tagVarInfo.getClassName());
-			out.print(" ");
-			out.print(varName);
-			out.println(" = null;");
+if( tagVarInfo.getDeclare() ) {
+String varName = tagVarInfo.getNameGiven();
+if (varName == null) {
+			varName = n.getTagData().getAttributeString(
+tagVarInfo.getNameFromAttribute());
+}
+out.printin(tagVarInfo.getClassName());
+out.print(" ");
+out.print(varName);
+out.println("

[patch] jakarta-servletapi-5: Bugfix for 11884

2002-08-21 Thread Mark Roth

Attached is a bugfix for 11884: getParent in a SimpleTag implementation
returns a Tag.

TagAdapter now works as per the spec.

Files modified:

jsr152/src/share/javax/servlet/jsp/tagext/TagAdapter.java

--
Mark Roth, Java Software
Co-Specification Lead for JSP 2.0
Sun Microsystems, Inc.




Index: jsr152/src/share/javax/servlet/jsp/tagext/TagAdapter.java
===
RCS file: /home/cvspublic/jakarta-servletapi-5/jsr152/src/share/javax/servlet/jsp/tagext/TagAdapter.java,v
retrieving revision 1.2
diff -u -r1.2 TagAdapter.java
--- jsr152/src/share/javax/servlet/jsp/tagext/TagAdapter.java	19 Aug 2002 16:29:51 -	1.2
+++ jsr152/src/share/javax/servlet/jsp/tagext/TagAdapter.java	21 Aug 2002 21:46:59 -
@@ -77,15 +77,22 @@
 {
 /** The simple tag that's being adapted */
 private SimpleTag simpleTagAdaptee;
+
+/** The parent, of this tag, converted (if necessary) to be of type Tag */
+private Tag cachedParent;
 
 /**
- * Creates a new TagAdapter that wraps the given SimeplTag and 
+ * Creates a new TagAdapter that wraps the given SimpleTag and 
  * returns the parent tag when getParent() is called.
  *
  * @param adaptee The SimpleTag being adapted as a Tag.
  */
 public TagAdapter( SimpleTag adaptee ) {
-this.simpleTagAdaptee = simpleTagAdaptee;
+if( adaptee == null ) {
+	// Cannot wrap a null adaptee.
+	throw new IllegalArgumentException();
+}
+this.simpleTagAdaptee = adaptee;
 }
 
 /**
@@ -122,9 +129,18 @@
  * @return The parent of the tag being adapted.
  */
 public Tag getParent() {
-	// Note the parent tag must be an instance of Tag (either a 
-	// direct instance or a wrapped instance).
-	return (Tag)simpleTagAdaptee.getParent();
+	if( this.cachedParent == null ) {
+	JspTag parent = simpleTagAdaptee.getParent();
+	if( parent instanceof Tag ) {
+	this.cachedParent = (Tag)parent;
+	}
+	else {
+// Must be SimpleTag - no other types defined.
+	this.cachedParent = new TagAdapter( (SimpleTag)parent );
+	}
+	}
+
+	return this.cachedParent;
 }
 
 /**



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


[PATCH] jakarta-tomcat-jasper: Bugfix for 11883

2002-08-21 Thread Mark Roth

Attached is a bugfix for bug 11883: Unable to use Dynamic attributes

Files modified:

jasper2/src/share/org/apache/jasper/compiler/Generator.java

--
Mark Roth, Java Software
Co-Specification Lead for JSP 2.0
Sun Microsystems, Inc.






Index: jasper2/src/share/org/apache/jasper/compiler/Generator.java
===
RCS file: /home/cvspublic/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v
retrieving revision 1.74
diff -u -r1.74 Generator.java
--- jasper2/src/share/org/apache/jasper/compiler/Generator.java	21 Aug 2002 16:21:56 -	1.74
+++ jasper2/src/share/org/apache/jasper/compiler/Generator.java	21 Aug 2002 17:14:54 -
@@ -2459,9 +2459,15 @@
 		if (attrs[i].isDynamic()) {
 		out.printin(tagHandlerVar);
 		out.print(".");
-		out.print("setDynamicAttribute(\"");
-		out.print(attrs[i].getURI());
-		out.print("\", \"");
+		out.print("setDynamicAttribute(");
+String uri = attrs[i].getURI();
+if( "".equals( uri ) || (uri == null) ) {
+out.print( "null" );
+}
+else {
+out.print("\"" + attrs[i].getURI() + "\"");
+}
+		out.print(", \"");
 		out.print(attrs[i].getLocalName());
 		out.print("\", ");
 		out.print(attrValue);



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


[PATCH] jakarta-tomcat-jasper: PFD features and bugfixes 2

2002-08-20 Thread Mark Roth

Attached is a second patch to move us towards JSP 2.0 PFD
feature-complete.  More to come in the next few days...

Files Removed (PLEASE REMOVE MANUALLY):
-
jasper2/src/share/org/apache/jasper/runtime/ExpressionEvaluatorManager.java


Files Changed (IN PATCH)
-
jasper2/src/share/org/apache/jasper/Constants.java
jasper2/src/share/org/apache/jasper/compiler/ErrorDispatcher.java
jasper2/src/share/org/apache/jasper/compiler/Generator.java
jasper2/src/share/org/apache/jasper/compiler/JspUtil.java
jasper2/src/share/org/apache/jasper/compiler/Validator.java
jasper2/src/share/org/apache/jasper/resources/messages.properties
jasper2/src/share/org/apache/jasper/runtime/ExpressionEvaluatorImpl.java
jasper2/src/share/org/apache/jasper/runtime/JspFragmentHelper.java
jasper2/src/share/org/apache/jasper/runtime/JspRuntimeLibrary.java
jasper2/src/share/org/apache/jasper/runtime/PageContextImpl.java


Summary of changes:
- Removed ExpressionEvaluatorManager
- Changed EL validation to use
  ExpressionEvaluatorManager.parseExpression
- PageContextImpl now implements VariableResolver
- Generated Servlet / Tag Handler now implements FunctionMapper
- Implemented getExpressionEvaluator() API - Current implementation
  is very inefficient with all sorts of nasty wrappers, but will 
  get much better once the EL evaluator moves into its 
  own subproject.
- Reworked internal interpreter call to be a proprietary call 
  for the time being, until the EL evaluator moves out of JSTL 
  and into its own project.  Relying on the standard machinery 
  would be too inefficient for the common case.
- Removed prefix map generation, as it's not being used anywhere.
- For tag files, moved creation of JspContextWrapper
  to setJspContext.  Now stores both the original and the 
  wrapped JspContext.  Still need to make sure scripting vars 
  are synchronized with the original JspContext.

--
Mark Roth, Java Software
JSP 2.0 Specification Co-Lead
Sun Microsystems, Inc.




Index: jasper2/src/share/org/apache/jasper/Constants.java
===
RCS file: /home/cvspublic/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/Constants.java,v
retrieving revision 1.6
diff -u -r1.6 Constants.java
--- jasper2/src/share/org/apache/jasper/Constants.java	6 Aug 2002 00:11:36 -	1.6
+++ jasper2/src/share/org/apache/jasper/Constants.java	21 Aug 2002 05:04:23 -
@@ -219,16 +219,6 @@
 "http://java.sun.com/products/plugin/1.2.2/jinstall-1_2_2-win.cab#Version=1,2,2,0";;
 
 /**
- * Information about conduit to EL interpreter.
- *  EL_INTERPRETER_CONDUIT_CLASS: name of class
- *  EL_INTERPRETER_CONDUIT_METHOD: name of static method within class
- */
-public static final String EL_INTERPRETER_CONDUIT_CLASS =
-"org.apache.jasper.runtime.ExpressionEvaluatorManager";
-public static final String EL_INTERPRETER_CONDUIT_METHOD =
-"evaluate";
-
-/**
  * Prefix to use for generated temporary variable names
  */
 public static final String TEMP_VARIABLE_NAME_PREFIX =
Index: jasper2/src/share/org/apache/jasper/compiler/ErrorDispatcher.java
===
RCS file: /home/cvspublic/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ErrorDispatcher.java,v
retrieving revision 1.3
diff -u -r1.3 ErrorDispatcher.java
--- jasper2/src/share/org/apache/jasper/compiler/ErrorDispatcher.java	24 Jul 2002 19:58:57 -	1.3
+++ jasper2/src/share/org/apache/jasper/compiler/ErrorDispatcher.java	21 Aug 2002 05:04:23 -
@@ -345,6 +345,24 @@
 String getString(String errCode, String arg1, String arg2) {
 	return getString(errCode, new Object[] {arg1, arg2});
 }
+
+/* 
+ * Returns the localized error message corresponding to the given error
+ * code.
+ *
+ * If the given error code is not defined in the resource bundle for
+ * localized error messages, it is used as the error message.
+ *
+ * @param errCode Error code to localize
+ * @param arg1 First argument for parametric replacement
+ * @param arg2 Second argument for parametric replacement
+ * @param arg3 Third argument for parametric replacement
+ *
+ * @return Localized error message
+ */
+String getString(String errCode, String arg1, String arg2, String arg3) {
+	return getString(errCode, new Object[] {arg1, arg2, arg3});
+}
 
 /*
  * Returns the localized error message corresponding to the given error
Index: jasper2/src/share/org/apache/jasper/compiler/Generator.java
===
RCS file: /home/cvspublic/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v
retrieving revision 1.73
diff -u -r1.73 Generator.java
--- jasper2/src/share/org/ap

[PATCH] jakarta-servletapi-5: jsp_2_0.xsd

2002-08-20 Thread Mark Roth

Patch to the XML Schema to accept the new  element.  Eduardo and
I forgot to add it before PFD.

- Mark






Index: jsr152/src/share/dtd/jsp_2_0.xsd
===
RCS file: /home/cvspublic/jakarta-servletapi-5/jsr152/src/share/dtd/jsp_2_0.xsd,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 jsp_2_0.xsd
--- jsr152/src/share/dtd/jsp_2_0.xsd	13 Aug 2002 16:20:58 -	1.1.1.1
+++ jsr152/src/share/dtd/jsp_2_0.xsd	21 Aug 2002 03:09:57 -
@@ -8,7 +8,7 @@
  version="2.0">
 
 
-@(#)jsp_2_0.xsds	1.8 07/29/02
+%W% %G%
 
 
 
@@ -138,6 +138,7 @@
 - Control enabling of EL evaluation.
 - Control enabling of Scripting elements.
 - Indicate pageEncoding information.
+- Indicating that a resource is a JSP document
 - Prelude and Coda automatic includes.
 
 
@@ -159,7 +160,7 @@
 
 
 
-Can be used to easily set the isElEnabled
+Can be used to easily set the isELEnabled
 property of a group of JSP pages.  By default, the
 EL evaluation is enabled for Web Applications using
 a Servlet 2.4 or greater web.xml.
@@ -193,6 +194,22 @@
 Can be used to easily set the isScriptingEnabled
 property of a group of JSP pages.  By default,
 scripting is enabled.
+
+
+
+
+	
+
+
+
+If true, denotes that the group of resources
+	that match the URL pattern are JSP documents,
+	and thus must be interpreted as XML documents.
+	If false, the resources are assumed to not
+	be JSP documents, unless there is another
+	property group that indicates otherwise.
 
 
 



--
To unsubscribe, e-mail:   
For additional commands, e-mail: 


Re: cvs commit:jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resourcesmessages.properties

2002-08-20 Thread Mark Roth

Thans, Kin-Man!

- Mark

On Tue, 2002-08-20 at 11:50, [EMAIL PROTECTED] wrote:
> kinman  2002/08/20 08:50:23
> 
>   Modified:jasper2/src/share/org/apache/jasper JspC.java
>jasper2/src/share/org/apache/jasper/compiler Generator.java
> ImplicitTagLibraryInfo.java Parser.java
> ParserController.java TagFileProcessor.java
>jasper2/src/share/org/apache/jasper/resources
> messages.properties
>   Log:
>   - Submitted by Mark Roth:
>   
>   - Implemented the value attribute of jsp:doBody for classic
> tag handlers.
>   - Stubbed out JspC with getJspConfig() so it compiles.
>   - Added null check for addInclude() to handle the case where there
> are no preludes or codas.
>   - Now accepts /WEB-INF/tags as well as /WEB-INF/tags/ for tag file
> default directory.
>   - ParserController now uses path name to determine if the given
> element is a tag file instead of searching for tag directive.
>   - In a tag file, an attribute directive with a fragment attribute
> must not allow a rtexprvalue attribute, and must fix its value
> to "true".  Fixed implementation to comply with spec.
>   - Fixed preamble and postamble generator for Tag Files.  Was not
> generating declarations, tag handler pools, methods buffer,
> helper fragment, etc.  Generator now shares code between servlet
> and tag handler pre and post ambles.
>   - Even though spec is not clear that they're required,
> added implicit objects to doTag() so they are available in
> tag files.
>   
>   Revision  ChangesPath
>   1.13  +13 -3 
>jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/JspC.java
>   
>   Index: JspC.java
>   ===
>   RCS file: 
>/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/JspC.java,v
>   retrieving revision 1.12
>   retrieving revision 1.13
>   diff -u -r1.12 -r1.13
>   --- JspC.java   26 Jun 2002 16:50:38 -  1.12
>   +++ JspC.java   20 Aug 2002 15:50:22 -  1.13
>   @@ -75,6 +75,7 @@
>
>import org.apache.jasper.logging.Logger;
>import org.apache.jasper.logging.JasperLogger;
>   +import org.apache.jasper.compiler.JspConfig;
>
>/**
> * Shell for the jspc compiler.  Handles all options associated with the 
>   @@ -912,6 +913,15 @@
>
>Constants.jasperLog.setVerbosityLevel(verbosityLevel);
>}
>   +
>   +/** 
>   + * Obtain JSP configuration informantion specified in web.xml.
>   + */
>   +public JspConfig getJspConfig() {
>   +// XXX - Stubbed out so Jasper compiles.
>   +initServletContext();
>   +return new JspConfig( context );
>   +}
>
>}
>
>   
>   
>   
>   1.72  +240 -97   
>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.71
>   retrieving revision 1.72
>   diff -u -r1.71 -r1.72
>   --- Generator.java  20 Aug 2002 01:42:38 -  1.71
>   +++ Generator.java  20 Aug 2002 15:50:22 -  1.72
>   @@ -170,6 +170,7 @@
>
>   out.println();
>   page.visit(new DeclarationVisitor());
>   +   out.println();
>}
>
>/**
>   @@ -329,23 +330,25 @@
>}
>
>/**
>   - * Generates the beginning of the static portion of the servelet.
>   + * Generate preamble package name
>   + * (shared by servlet and tag handler preamble generation)
> */
>   -private void generatePreamble(Node.Nodes page) throws JasperException {
>   -
>   -   String servletPackageName = ctxt.getServletPackageName();
>   -   String servletClassName = ctxt.getServletClassName();
>   -   String serviceMethodName = Constants.SERVICE_METHOD_NAME;
>   -
>   -   // First the package name:
>   -
>   -   if (! "".equals(servletPackageName) && servletPackageName != null) {
>   -   out.printil("package " + servletPackageName + ";");
>   +private void genPreamblePackage( String packageName ) 
>   +throws JasperException
>   +{
>   +   if (! "".equals(packageName) && packageName != null) {
>   +   out.printil("package " + packageN

Re: VOTE: Restoring Tomcat examples: Which workspace?

2002-08-20 Thread Mark Roth

I'm open to that possibility, as long as we're able to have then
automatically deployed in Tomcat 5 builds.

> > Vote:
> > 
> > [ ] A. jakarta-tomcat-catalina
> > [ ] B. jakarta-tomcat-jasper
> > [ ] C. jakarta-tomcat-5
[X] D. jakarta-servletapi-5

Given JB and Remy's comments, I change my vote to 'D'.

So that's 2 D's.

- Mark

On Tue, 2002-08-20 at 11:42, Remy Maucherat wrote:
> Mark Roth wrote:
> > It would be great to restore the examples (both JSP and Servlet) so that
> > they are deployed on startup and so they are easily accessible.  In the
> > current build they are broken links.
> > 
> > I also would like to commit a number of additional JSP examples that
> > illustrate the new features in JSP 2.0.
> > 
> > The default web application that is deployed on startup currently lives
> > in the catalina workspace.  I have no problems keeping it there, but
> > before committing such a change I wanted to take a vote on where we
> > think the examples should live.
> > 
> > Vote:
> > 
> > [ ] A. jakarta-tomcat-catalina
> > [ ] B. jakarta-tomcat-jasper
> > [ ] C. jakarta-tomcat-5
> 
> The examples are portable and independent of Tomcat, so I want them to 
> go into jakarta-servletapi-5. I posted some time ago about that, and I 
> was planning to do it.
> 
> Remy
> 
> 
> --
> To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
> 



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




Re: VOTE: Restoring Tomcat examples: Which workspace?

2002-08-20 Thread Mark Roth

The examples, just as in Tomcat 4, are small, portable JSP / Servlet
examples to illustrate how to use these technologies.

Because Tomcat forms the basis of the RI for Servlet/JSP, and because it
is so easy to use, many developers download it to try their hand at
Servlet/JSP development.  I thought it was great how Tomcat 4 provided a
set of pre-deployed examples, ready to go as soon as the server starts
up.

We should continue this for Tomcat 5 (right now the examples links are
broken).  The only question is which workspace to keep them in.

> > Vote:
> > 
> > [ ] A. jakarta-tomcat-catalina
> > [ ] B. jakarta-tomcat-jasper
> > [ ] C. jakarta-tomcat-5

- Mark

On Tue, 2002-08-20 at 09:40, Bob Herrmann wrote:
> 
> Humm.  Are the examples Tomcat specific or should they work in any
> JSP2.0 and Servlet 2.4 container?  If they are "generic" then perhaps
> keeping them separate would encourage their reuse with other JSP/Servlet
> projects.   Shouldn't every jsp server have a decent Snoop.jsp ?
> 
> Cheers,
> -bob
> 
> On Mon, 2002-08-19 at 16:47, Mark Roth wrote:
> > It would be great to restore the examples (both JSP and Servlet) so that
> > they are deployed on startup and so they are easily accessible.  In the
> > current build they are broken links.
> > 
> > I also would like to commit a number of additional JSP examples that
> > illustrate the new features in JSP 2.0.
> > 
> > The default web application that is deployed on startup currently lives
> > in the catalina workspace.  I have no problems keeping it there, but
> > before committing such a change I wanted to take a vote on where we
> > think the examples should live.
> > 
> > Vote:
> > 
> > [ ] A. jakarta-tomcat-catalina
> > [ ] B. jakarta-tomcat-jasper
> > [ ] C. jakarta-tomcat-5
> > 
> > --
> > Mark Roth, Java Software
> > Co-Specification Lead for JSP 2.0
> > Sun Microsystems, Inc.
> > 
> > 
> > 
> > 
> > --
> > To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
> -- 
> Cheers,
> -bob
> 
> 
> --
> To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
> 
-- 
Mark Roth, Java Software
Sun Microsystems, Inc.


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




[PATCH] jakarta-tomcat-jasper: PFD features and bugfixes 1

2002-08-19 Thread Mark Roth

Attached is a patch to move us towards JSP 2.0 PFD feature-complete. 
More to come in the next few days...

- Implemented the value attribute of jsp:doBody for classic 
  tag handlers.
- Stubbed out JspC with getJspConfig() so it compiles.
- Added null check for addInclude() to handle the case where there
  are no preludes or codas.
- Now accepts /WEB-INF/tags as well as /WEB-INF/tags/ for tag file
  default directory.
- ParserController now uses path name to determine if the given 
  element is a tag file instead of searching for tag directive.
- In a tag file, an attribute directive with a fragment attribute
  must not allow a rtexprvalue attribute, and must fix its value 
  to "true".  Fixed implementation to comply with spec.
- Fixed preamble and postamble generator for Tag Files.  Was not
  generating declarations, tag handler pools, methods buffer,
  helper fragment, etc.  Generator now shares code between servlet 
  and tag handler pre and post ambles.
- Even though spec is not clear that they're required, 
  added implicit objects to doTag() so they are available in 
  tag files.

--
Mark Roth, Java Software
JSP 2.0 Specification Co-Lead
Sun Microsystems, Inc.




Index: jasper2/src/share/org/apache/jasper/JspC.java
===
RCS file: /home/cvspublic/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/JspC.java,v
retrieving revision 1.12
diff -u -r1.12 JspC.java
--- jasper2/src/share/org/apache/jasper/JspC.java	26 Jun 2002 16:50:38 -	1.12
+++ jasper2/src/share/org/apache/jasper/JspC.java	20 Aug 2002 05:22:50 -
@@ -75,6 +75,7 @@
 
 import org.apache.jasper.logging.Logger;
 import org.apache.jasper.logging.JasperLogger;
+import org.apache.jasper.compiler.JspConfig;
 
 /**
  * Shell for the jspc compiler.  Handles all options associated with the 
@@ -912,6 +913,15 @@
 
 Constants.jasperLog.setVerbosityLevel(verbosityLevel);
 }
+
+/** 
+ * Obtain JSP configuration informantion specified in web.xml.
+ */
+public JspConfig getJspConfig() {
+// XXX - Stubbed out so Jasper compiles.
+initServletContext();
+return new JspConfig( context );
+}
 
 }
 
Index: jasper2/src/share/org/apache/jasper/compiler/Generator.java
===
RCS file: /home/cvspublic/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v
retrieving revision 1.71
diff -u -r1.71 Generator.java
--- jasper2/src/share/org/apache/jasper/compiler/Generator.java	20 Aug 2002 01:42:38 -	1.71
+++ jasper2/src/share/org/apache/jasper/compiler/Generator.java	20 Aug 2002 05:22:53 -
@@ -170,6 +170,7 @@
 
 	out.println();
 	page.visit(new DeclarationVisitor());
+	out.println();
 }
 
 /**
@@ -329,23 +330,25 @@
 }
 
 /**
- * Generates the beginning of the static portion of the servelet.
+ * Generate preamble package name
+ * (shared by servlet and tag handler preamble generation)
  */
-private void generatePreamble(Node.Nodes page) throws JasperException {
-
-	String servletPackageName = ctxt.getServletPackageName();
-	String servletClassName = ctxt.getServletClassName();
-	String serviceMethodName = Constants.SERVICE_METHOD_NAME;
-
-	// First the package name:
-
-	if (! "".equals(servletPackageName) && servletPackageName != null) {
-	out.printil("package " + servletPackageName + ";");
+private void genPreamblePackage( String packageName ) 
+throws JasperException
+{
+	if (! "".equals(packageName) && packageName != null) {
+	out.printil("package " + packageName + ";");
 	out.println();
 }
-
-	// Generate imports
-
+}
+
+/**
+ * Generate preamble imports
+ * (shared by servlet and tag handler preamble generation)
+ */
+private void genPreambleImports() 
+throws JasperException
+{
 	Iterator iter = pageInfo.getImports().iterator();
 	while (iter.hasNext()) {
 	out.printin("import ");
@@ -353,31 +356,21 @@
 	out.println(";");
 	}
 	out.println();
+}
 
-	// Generate class declaration
-
-	out.printin("public class ");
-	out.print  (servletClassName);
-	out.print  (" extends ");
-	out.print  (pageInfo.getExtends());
-	if (!pageInfo.isThreadSafe()) {
-	out.print("implements SingleThreadModel");
-	}
-	out.println(" {");
-	out.pushIndent();
-
-	// Class body begins here
-
-	generateDeclarations(page);
-	out.println();
-
-	// Static initializations here
-
+/**
+ * Generation of static initializers in preamble.
+ * For example, include list, el function map, prefix map.
+ * (shared by servlet and tag handler preamble generation)
+ */
+private void

Re: VOTE: Restoring Tomcat examples: Which workspace?

2002-08-19 Thread Mark Roth

> Vote:
> 
> [X] A. jakarta-tomcat-catalina
> [ ] B. jakarta-tomcat-jasper
> [ ] C. jakarta-tomcat-5

Incidentally, my vote is A, but I'm flexible.

- Mark

On Mon, 2002-08-19 at 16:47, Mark Roth wrote:
> It would be great to restore the examples (both JSP and Servlet) so that
> they are deployed on startup and so they are easily accessible.  In the
> current build they are broken links.
> 
> I also would like to commit a number of additional JSP examples that
> illustrate the new features in JSP 2.0.
> 
> The default web application that is deployed on startup currently lives
> in the catalina workspace.  I have no problems keeping it there, but
> before committing such a change I wanted to take a vote on where we
> think the examples should live.
> 
> Vote:
> 
> [ ] A. jakarta-tomcat-catalina
> [ ] B. jakarta-tomcat-jasper
> [ ] C. jakarta-tomcat-5
> 
> --
> Mark Roth, Java Software
> Co-Specification Lead for JSP 2.0
> Sun Microsystems, Inc.



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




VOTE: Restoring Tomcat examples: Which workspace?

2002-08-19 Thread Mark Roth

It would be great to restore the examples (both JSP and Servlet) so that
they are deployed on startup and so they are easily accessible.  In the
current build they are broken links.

I also would like to commit a number of additional JSP examples that
illustrate the new features in JSP 2.0.

The default web application that is deployed on startup currently lives
in the catalina workspace.  I have no problems keeping it there, but
before committing such a change I wanted to take a vote on where we
think the examples should live.

Vote:

[ ] A. jakarta-tomcat-catalina
[ ] B. jakarta-tomcat-jasper
[ ] C. jakarta-tomcat-5

--
Mark Roth, Java Software
Co-Specification Lead for JSP 2.0
Sun Microsystems, Inc.




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




[PATCH] jakarta-servletapi-5

2002-07-31 Thread Mark Roth

The attached archive contains three files that should be added to
jakarta-servletapi-5 to enable parsing of DDs and TLDs without needing
to fetch these schemas from their global URL each time.  Contains:

   src/share/dtd/xml.xsd
   src/share/dtd/XMLSchema.dtd
   src/share/dtd/datatypes.dtd

Please let me know if there are any questions or concerns.

-- 
Mark Roth, Java Software
JSP 2.0 Specification co-lead
Sun Microsystems, Inc.



jakarta-servletapi-5-localschemas-patch.tar
Description: Unix tar archive

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


Announcing the JSP 2.0 Preview EA1 Implementation

2002-07-22 Thread Mark Roth

For those of you tracking the JSP 2.0 specification, we are pleased to
announce the availability of an Early Access Preview implementation, 
available now from:

http://developer.java.sun.com/developer/earlyAccess/jsp/
 
The primary goal of the JSP 2.0 specification is to make JSP technology
more productive and even easier to use.  The specification is being
developed by an expert group consisting of over 30 companies and
individuals, and is currently in Public Review stages.  More information
on the specification, including a public download, is available at
http://jcp.org/jsr/detail/152.jsp
 
This implementation was developed collectively in the Expert Group 
using Tomcat 4.1 and Jasper2 as a base.  The intent of the Expert
Group is to integrate this source base with Tomcat 5.0.
The Preview is intended solely to allow you, the developer
community, to experiment with some of the new JSP 2.0 features and
provide us, the JSR-152 (JSP 2.0) expert group, with hands-on feedback. 
Please send all feedback to [EMAIL PROTECTED]
 
Please note that this is not a production release, and that not all JSP
2.0 features are implemented.

Features implemented include:

* New JSP 2.0 APIs
* Integrated Expression Language Support
* Supports new  and  standard actions
* Supports new SimpleTag Handlers and JSP Fragments

Features not yet implemented include:

* JSR-45 Debugging Support
* Tag Files
* Attributes with Dynamic Names
* JSP Configuration

The download comes with pre-installed JSP 2.0 examples that help
illustrate the new feature set.

Please give it a try, and we look forward to hearing from you!

--
Mark Roth, Java Software
Specification Co-Lead of JSP 2.0
Sun Microsystems, Inc.



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