JBossWeb SVN: r436 - trunk.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2008-02-15 13:21:00 -0500 (Fri, 15 Feb 2008)
New Revision: 436
Modified:
trunk/build.properties.default
trunk/build.xml
Log:
- Add NSIS to download list, and fix a glitch with JBoss native.
Modified: trunk/build.properties.default
===================================================================
--- trunk/build.properties.default 2008-02-15 17:07:55 UTC (rev 435)
+++ trunk/build.properties.default 2008-02-15 18:21:00 UTC (rev 436)
@@ -29,6 +29,7 @@
base-commons.loc=http://archive.apache.org/dist/commons
base-tomcat.loc=http://archive.apache.org/dist/tomcat
+base-sf.loc=http://downloads.sourceforge.net
# ----- Webservices -----
jaxrpc-src.loc=http://repo1.maven.org/maven2/geronimo-spec/geronimo-spec-...
@@ -62,12 +63,12 @@
commons-collections-src.loc=${base-commons.loc}/collections/source/commons-collections-3.2-src.tar.gz
# ----- NSIS, version 2.0 or later -----
-nsis.home=${base.path}/nsis-2.34
+nsis.home=${base.path}/nsis-2.35
nsis.exe=${nsis.home}/makensis.exe
nsis.installoptions.dll=${nsis.home}/Plugins/InstallOptions.dll
nsis.nsexec.dll=${nsis.home}/Plugins/nsExec.dll
nsis.nsisdl.dll=${nsis.home}/Plugins/NSISdl.dll
-nsis.loc=${base-sf.loc}/nsis/nsis-2.34-setup.exe
+nsis.loc=${base-sf.loc}/nsis/nsis-2.35.zip
# ----- JBoss Native, version 2.0 or later -----
jbossnative.home=${base.path}/jboss-native-2.0.3
Modified: trunk/build.xml
===================================================================
--- trunk/build.xml 2008-02-15 17:07:55 UTC (rev 435)
+++ trunk/build.xml 2008-02-15 18:21:00 UTC (rev 436)
@@ -709,10 +709,16 @@
<antcall target="downloadzip">
<param name="sourcefile" value="${jbossnative.loc}"/>
- <param name="destfile" value="${jbossnative.test}"/>
+ <param name="destfile" value="${jbossnative.openssl}"/>
<param name="destdir" value="${jbossnative.home}"/>
</antcall>
+ <antcall target="downloadzip">
+ <param name="sourcefile" value="${nsis.loc}"/>
+ <param name="destfile" value="${nsis.exe}"/>
+ <param name="destdir" value="${nsis.home}/.."/>
+ </antcall>
+
</target>
<target name="build-tomcat-dbcp">
17 years
JBossWeb SVN: r435 - in trunk: java/org/apache/tomcat/util/http and 1 other directories.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2008-02-15 12:07:55 -0500 (Fri, 15 Feb 2008)
New Revision: 435
Added:
trunk/java/org/apache/jasper/runtime/CharBuffer.java
Modified:
trunk/java/org/apache/jasper/runtime/BodyContentImpl.java
trunk/java/org/apache/tomcat/util/http/ServerCookie.java
trunk/webapps/docs/changelog.xml
trunk/webapps/docs/sysprops.xml
Log:
- Cookie compatibility additions.
- Improvements for tag bodies allocations in JSP.
Modified: trunk/java/org/apache/jasper/runtime/BodyContentImpl.java
===================================================================
--- trunk/java/org/apache/jasper/runtime/BodyContentImpl.java 2008-02-15 15:15:18 UTC (rev 434)
+++ trunk/java/org/apache/jasper/runtime/BodyContentImpl.java 2008-02-15 17:07:55 UTC (rev 435)
@@ -34,576 +34,286 @@
*
* Provide support for discarding for the output that has been buffered.
*
- * @author Rajiv Mordani
- * @author Jan Luehe
+ * @author Brian Remmington
*/
public class BodyContentImpl extends BodyContent {
-
+
private static final String LINE_SEPARATOR =
System.getProperty("line.separator");
- private static final boolean LIMIT_BUFFER =
- Boolean.valueOf(System.getProperty("org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER", "false")).booleanValue();
-
- private char[] cb;
- private int nextChar;
+
private boolean closed;
-
+ private CharBuffer buffer;
+
// Enclosed writer to which any output is written
private Writer writer;
-
- // See comment in setWriter()
- private int bufferSizeSave;
-
+
/**
* Constructor.
*/
public BodyContentImpl(JspWriter enclosingWriter) {
super(enclosingWriter);
- bufferSize = Constants.DEFAULT_TAG_BUFFER_SIZE;
- cb = new char[bufferSize];
- nextChar = 0;
+ buffer = new CharBuffer(Constants.DEFAULT_TAG_BUFFER_SIZE);
closed = false;
}
-
- /**
- * Write a single character.
- */
- public void write(int c) throws IOException {
+
+ public void write(int i) throws IOException {
if (writer != null) {
- writer.write(c);
+ writer.write(i);
} else {
ensureOpen();
- if (nextChar >= bufferSize) {
- reAllocBuff (1);
- }
- cb[nextChar++] = (char) c;
+ buffer.buffer((char) i);
}
}
-
- /**
- * Write a portion of an array of characters.
- *
- * <p> Ordinarily this method stores characters from the given array into
- * this stream's buffer, flushing the buffer to the underlying stream as
- * needed. If the requested length is at least as large as the buffer,
- * however, then this method will flush the buffer and write the characters
- * directly to the underlying stream. Thus redundant
- * <code>DiscardableBufferedWriter</code>s will not copy data
- * unnecessarily.
- *
- * @param cbuf A character array
- * @param off Offset from which to start reading characters
- * @param len Number of characters to write
- */
- public void write(char[] cbuf, int off, int len) throws IOException {
+
+ public void write(char ac[], int i, int j) throws IOException {
if (writer != null) {
- writer.write(cbuf, off, len);
- } else {
+ writer.write(ac, i, j);
+ }
+ else {
ensureOpen();
-
- if ((off < 0) || (off > cbuf.length) || (len < 0) ||
- ((off + len) > cbuf.length) || ((off + len) < 0)) {
- throw new IndexOutOfBoundsException();
- } else if (len == 0) {
- return;
- }
-
- if (len >= bufferSize - nextChar)
- reAllocBuff (len);
-
- System.arraycopy(cbuf, off, cb, nextChar, len);
- nextChar+=len;
+ buffer.buffer(ac, i, j);
}
}
-
- /**
- * Write an array of characters. This method cannot be inherited from the
- * Writer class because it must suppress I/O exceptions.
- */
- public void write(char[] buf) throws IOException {
+
+ public void write(char ac[]) throws IOException {
if (writer != null) {
- writer.write(buf);
- } else {
- write(buf, 0, buf.length);
+ writer.write(ac);
}
+ else {
+ write(ac, 0, ac.length);
+ }
}
-
- /**
- * Write a portion of a String.
- *
- * @param s String to be written
- * @param off Offset from which to start reading characters
- * @param len Number of characters to be written
- */
- public void write(String s, int off, int len) throws IOException {
+
+ public void write(String s, int i, int j) throws IOException {
if (writer != null) {
- writer.write(s, off, len);
- } else {
+ writer.write(s, i, j);
+ }
+ else {
ensureOpen();
- if (len >= bufferSize - nextChar)
- reAllocBuff(len);
-
- s.getChars(off, off + len, cb, nextChar);
- nextChar += len;
+ buffer.buffer(s, i, j);
}
}
-
- /**
- * Write a string. This method cannot be inherited from the Writer class
- * because it must suppress I/O exceptions.
- */
+
public void write(String s) throws IOException {
if (writer != null) {
writer.write(s);
- } else {
+ }
+ else {
write(s, 0, s.length());
}
}
-
- /**
- * Write a line separator. The line separator string is defined by the
- * system property <tt>line.separator</tt>, and is not necessarily a single
- * newline ('\n') character.
- *
- * @throws IOException If an I/O error occurs
- */
+
public void newLine() throws IOException {
if (writer != null) {
writer.write(LINE_SEPARATOR);
- } else {
+ }
+ else {
write(LINE_SEPARATOR);
}
}
-
- /**
- * Print a boolean value. The string produced by <code>{@link
- * java.lang.String#valueOf(boolean)}</code> is translated into bytes
- * according to the platform's default character encoding, and these bytes
- * are written in exactly the manner of the <code>{@link
- * #write(int)}</code> method.
- *
- * @param b The <code>boolean</code> to be printed
- * @throws IOException
- */
- public void print(boolean b) throws IOException {
+
+ public void print(boolean flag) throws IOException {
if (writer != null) {
- writer.write(b ? "true" : "false");
- } else {
- write(b ? "true" : "false");
+ writer.write(flag ? "true" : "false");
}
+ else {
+ write(flag ? "true" : "false");
+ }
}
-
- /**
- * 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 <code>{@link
- * #write(int)}</code> method.
- *
- * @param c The <code>char</code> to be printed
- * @throws IOException
- */
+
public void print(char c) throws IOException {
if (writer != null) {
writer.write(String.valueOf(c));
- } else {
+ }
+ else {
write(String.valueOf(c));
}
}
-
- /**
- * Print an integer. The string produced by <code>{@link
- * java.lang.String#valueOf(int)}</code> is translated into bytes according
- * to the platform's default character encoding, and these bytes are
- * written in exactly the manner of the <code>{@link #write(int)}</code>
- * method.
- *
- * @param i The <code>int</code> to be printed
- * @throws IOException
- */
+
public void print(int i) throws IOException {
if (writer != null) {
writer.write(String.valueOf(i));
- } else {
+ }
+ else {
write(String.valueOf(i));
}
}
-
- /**
- * Print a long integer. The string produced by <code>{@link
- * java.lang.String#valueOf(long)}</code> is translated into bytes
- * according to the platform's default character encoding, and these bytes
- * are written in exactly the manner of the
- * <code>{@link #write(int)}</code> method.
- *
- * @param l The <code>long</code> to be printed
- * @throws IOException
- */
+
public void print(long l) throws IOException {
if (writer != null) {
writer.write(String.valueOf(l));
- } else {
+ }
+ else {
write(String.valueOf(l));
}
}
-
- /**
- * Print a floating-point number. The string produced by <code>{@link
- * java.lang.String#valueOf(float)}</code> is translated into bytes
- * according to the platform's default character encoding, and these bytes
- * are written in exactly the manner of the
- * <code>{@link #write(int)}</code> method.
- *
- * @param f The <code>float</code> to be printed
- * @throws IOException
- */
+
public void print(float f) throws IOException {
if (writer != null) {
writer.write(String.valueOf(f));
- } else {
+ }
+ else {
write(String.valueOf(f));
}
}
-
- /**
- * Print a double-precision floating-point number. The string produced by
- * <code>{@link java.lang.String#valueOf(double)}</code> is translated into
- * bytes according to the platform's default character encoding, and these
- * bytes are written in exactly the manner of the <code>{@link
- * #write(int)}</code> method.
- *
- * @param d The <code>double</code> to be printed
- * @throws IOException
- */
+
public void print(double d) throws IOException {
if (writer != null) {
writer.write(String.valueOf(d));
- } else {
+ }
+ else {
write(String.valueOf(d));
}
}
-
- /**
- * Print an array of characters. The characters are converted into bytes
- * according to the platform's default character encoding, and these bytes
- * are written in exactly the manner of the
- * <code>{@link #write(int)}</code> method.
- *
- * @param s The array of chars to be printed
- *
- * @throws NullPointerException If <code>s</code> is <code>null</code>
- * @throws IOException
- */
- public void print(char[] s) throws IOException {
+
+ public void print(char ac[]) throws IOException {
if (writer != null) {
- writer.write(s);
- } else {
- write(s);
+ writer.write(ac);
}
+ else {
+ write(ac);
+ }
}
-
- /**
- * Print a string. If the argument is <code>null</code> then the string
- * <code>"null"</code> is printed. Otherwise, the string's characters are
- * converted into bytes according to the platform's default character
- * encoding, and these bytes are written in exactly the manner of the
- * <code>{@link #write(int)}</code> method.
- *
- * @param s The <code>String</code> to be printed
- * @throws IOException
- */
+
public void print(String s) throws IOException {
- if (s == null) s = "null";
+ if (s == null) {
+ s = "null";
+ }
if (writer != null) {
writer.write(s);
- } else {
+ }
+ else {
write(s);
}
}
-
- /**
- * Print an object. The string produced by the <code>{@link
- * java.lang.String#valueOf(Object)}</code> method is translated into bytes
- * according to the platform's default character encoding, and these bytes
- * are written in exactly the manner of the
- * <code>{@link #write(int)}</code> method.
- *
- * @param obj The <code>Object</code> to be printed
- * @throws IOException
- */
+
public void print(Object obj) throws IOException {
- if (writer != null) {
+ if (writer != null)
writer.write(String.valueOf(obj));
- } else {
+ else
write(String.valueOf(obj));
- }
}
-
- /**
- * Terminate the current line by writing the line separator string. The
- * line separator string is defined by the system property
- * <code>line.separator</code>, and is not necessarily a single newline
- * character (<code>'\n'</code>).
- *
- * @throws IOException
- */
+
public void println() throws IOException {
newLine();
}
-
- /**
- * Print a boolean value and then terminate the line. This method behaves
- * as though it invokes <code>{@link #print(boolean)}</code> and then
- * <code>{@link #println()}</code>.
- *
- * @throws IOException
- */
- public void println(boolean x) throws IOException {
- print(x);
+
+ public void println(boolean flag) throws IOException {
+ print(flag);
println();
}
-
- /**
- * Print a character and then terminate the line. This method behaves as
- * though it invokes <code>{@link #print(char)}</code> and then
- * <code>{@link #println()}</code>.
- *
- * @throws IOException
- */
- public void println(char x) throws IOException {
- print(x);
+
+ public void println(char c) throws IOException {
+ print(c);
println();
}
-
- /**
- * Print an integer and then terminate the line. This method behaves as
- * though it invokes <code>{@link #print(int)}</code> and then
- * <code>{@link #println()}</code>.
- *
- * @throws IOException
- */
- public void println(int x) throws IOException {
- print(x);
+
+ public void println(int i) throws IOException {
+ print(i);
println();
}
-
- /**
- * Print a long integer and then terminate the line. This method behaves
- * as though it invokes <code>{@link #print(long)}</code> and then
- * <code>{@link #println()}</code>.
- *
- * @throws IOException
- */
- public void println(long x) throws IOException {
- print(x);
+
+ public void println(long l) throws IOException {
+ print(l);
println();
}
-
- /**
- * Print a floating-point number and then terminate the line. This method
- * behaves as though it invokes <code>{@link #print(float)}</code> and then
- * <code>{@link #println()}</code>.
- *
- * @throws IOException
- */
- public void println(float x) throws IOException {
- print(x);
+
+ public void println(float f) throws IOException {
+ print(f);
println();
}
-
- /**
- * Print a double-precision floating-point number and then terminate the
- * line. This method behaves as though it invokes <code>{@link
- * #print(double)}</code> and then <code>{@link #println()}</code>.
- *
- * @throws IOException
- */
- public void println(double x) throws IOException{
- print(x);
+
+ public void println(double d) throws IOException {
+ print(d);
println();
}
-
- /**
- * Print an array of characters and then terminate the line. This method
- * behaves as though it invokes <code>{@link #print(char[])}</code> and
- * then <code>{@link #println()}</code>.
- *
- * @throws IOException
- */
- public void println(char x[]) throws IOException {
- print(x);
+
+ public void println(char ac[]) throws IOException {
+ print(ac);
println();
}
-
- /**
- * Print a String and then terminate the line. This method behaves as
- * though it invokes <code>{@link #print(String)}</code> and then
- * <code>{@link #println()}</code>.
- *
- * @throws IOException
- */
- public void println(String x) throws IOException {
- print(x);
+
+ public void println(String s) throws IOException {
+ print(s);
println();
}
-
- /**
- * Print an Object and then terminate the line. This method behaves as
- * though it invokes <code>{@link #print(Object)}</code> and then
- * <code>{@link #println()}</code>.
- *
- * @throws IOException
- */
- public void println(Object x) throws IOException {
- print(x);
+
+ public void println(Object obj) throws IOException {
+ print(obj);
println();
}
-
- /**
- * Clear the contents of the buffer. If the buffer has been already
- * been flushed then the clear operation shall throw an IOException
- * to signal the fact that some data has already been irrevocably
- * written to the client response stream.
- *
- * @throws IOException If an I/O error occurs
- */
+
public void clear() throws IOException {
if (writer != null) {
throw new IOException();
- } else {
- nextChar = 0;
- if (LIMIT_BUFFER && (cb.length > Constants.DEFAULT_TAG_BUFFER_SIZE)) {
- bufferSize = Constants.DEFAULT_TAG_BUFFER_SIZE;
- cb = new char[bufferSize];
- }
+ }
+ else {
+ buffer.clear();
+ return;
}
}
-
- /**
- * Clears the current contents of the buffer. Unlike clear(), this
- * mehtod will not throw an IOException if the buffer has already been
- * flushed. It merely clears the current content of the buffer and
- * returns.
- *
- * @throws IOException If an I/O error occurs
- */
+
public void clearBuffer() throws IOException {
if (writer == null) {
- this.clear();
+ clear();
}
}
-
- /**
- * Close the stream, flushing it first. Once a stream has been closed,
- * further write() or flush() invocations will cause an IOException to be
- * thrown. Closing a previously-closed stream, however, has no effect.
- *
- * @throws IOException If an I/O error occurs
- */
+
public void close() throws IOException {
if (writer != null) {
writer.close();
- } else {
+ }
+ else {
+ buffer = null;
closed = true;
}
}
-
- /**
- * @return the number of bytes unused in the buffer
- */
+
public int getRemaining() {
- return (writer == null) ? bufferSize-nextChar : 0;
+ return writer != null ? 0 : buffer.getCapacity();
}
-
- /**
- * Return the value of this BodyJspWriter as a Reader.
- * Note: this is after evaluation!! There are no scriptlets,
- * etc in this stream.
- *
- * @return the value of this BodyJspWriter as a Reader
- */
+
public Reader getReader() {
- return (writer == null) ? new CharArrayReader (cb, 0, nextChar) : null;
+ return writer != null ? null : new CharArrayReader(buffer.toArray());
}
-
- /**
- * Return the value of the BodyJspWriter as a String.
- * Note: this is after evaluation!! There are no scriptlets,
- * etc in this stream.
- *
- * @return the value of the BodyJspWriter as a String
- */
+
public String getString() {
- return (writer == null) ? new String(cb, 0, nextChar) : null;
+ return writer != null ? null : buffer.toString();
}
-
- /**
- * Write the contents of this BodyJspWriter into a Writer.
- * Subclasses are likely to do interesting things with the
- * implementation so some things are extra efficient.
- *
- * @param out The writer into which to place the contents of this body
- * evaluation
- */
- public void writeOut(Writer out) throws IOException {
- if (writer == null) {
- out.write(cb, 0, nextChar);
- // Flush not called as the writer passed could be a BodyContent and
- // it doesn't allow to flush.
+
+ public void writeOut(Writer writer) throws IOException {
+ if (this.writer == null) {
+ buffer.writeOut(writer);
}
+ // Flush not called as the writer passed could be a BodyContent and
+ // it doesn't allow to flush.
}
-
- /**
- * Sets the writer to which all output is written.
- */
+
+ public int getBufferSize() {
+ // According to the spec, the JspWriter returned by
+ // JspContext.pushBody(java.io.Writer writer) must behave as
+ // though it were unbuffered. This means that its getBufferSize()
+ // must always return 0. The base implementation of
+ // JspWriter.getBufferSize() returns the value of JspWriter's
+ // 'bufferSize' field. Override that method here to provide the correct
+ // behaviour.
+ return (this.writer == null) ? buffer.size() + buffer.getCapacity() : 0;
+ }
+
void setWriter(Writer writer) {
this.writer = writer;
closed = false;
- if (writer != null) {
- // According to the spec, the JspWriter returned by
- // JspContext.pushBody(java.io.Writer writer) must behave as
- // though it were unbuffered. This means that its getBufferSize()
- // must always return 0. The implementation of
- // JspWriter.getBufferSize() returns the value of JspWriter's
- // 'bufferSize' field, which is inherited by this class.
- // Therefore, we simply save the current 'bufferSize' (so we can
- // later restore it should this BodyContentImpl ever be reused by
- // a call to PageContext.pushBody()) before setting it to 0.
- if (bufferSize != 0) {
- bufferSizeSave = bufferSize;
- bufferSize = 0;
- }
- } else {
- bufferSize = bufferSizeSave;
+ if (writer == null) {
clearBody();
}
}
-
+
private void ensureOpen() throws IOException {
- if (closed) throw new IOException("Stream closed");
- }
-
- /**
- * Reallocates buffer since the spec requires it to be unbounded.
- */
- private void reAllocBuff(int len) {
-
- if (bufferSize + len <= cb.length) {
- bufferSize = cb.length;
+ if (closed) {
+ throw new IOException("Stream closed");
+ }
+ else {
return;
}
-
- if (len < cb.length) {
- len = cb.length;
- }
-
- bufferSize = cb.length + len;
- char[] tmp = new char[bufferSize];
-
- System.arraycopy(cb, 0, tmp, 0, cb.length);
- cb = tmp;
- tmp = null;
-
}
-
-
}
Added: trunk/java/org/apache/jasper/runtime/CharBuffer.java
===================================================================
--- trunk/java/org/apache/jasper/runtime/CharBuffer.java (rev 0)
+++ trunk/java/org/apache/jasper/runtime/CharBuffer.java 2008-02-15 17:07:55 UTC (rev 435)
@@ -0,0 +1,288 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jasper.runtime;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.util.Iterator;
+import java.util.LinkedList;
+
+/**
+ * An efficient character buffer class.
+ * This class is not thread-safe, so its clients will have to take care of any necessary thread issues.
+ * @author Brian Remmington
+ *
+ */
+public class CharBuffer {
+ private static final int DEFAULT_INITIAL_CAPACITY = 512;
+
+ /**
+ * List of all fully populated character arrays.
+ */
+ private LinkedList bufList;
+ private int listSize = 0;
+
+ /**
+ * The character array that is currently being filled
+ */
+ private char[] currentBuf;
+
+ /**
+ * The index of the next character to write in 'currentBuf'.
+ */
+ private int index;
+
+ /**
+ * The minimum number of characters by which the buffer should grow when
+ * 'currentBuf' becomes full.
+ */
+ private int minimumGrowth;
+
+
+ /**
+ * Create a new character buffer, specifying its initial capacity.
+ * If this buffer ever has to grow then it will grow by at least the same as its initial
+ * capacity again
+ * @param initialCapacity
+ */
+ public CharBuffer(int initialCapacity) {
+ this(initialCapacity, 0);
+ }
+
+ /**
+ * Create a new character buffer, specifying its initial capacity and minimum growth.
+ * @param initialCapacity The number of characters initially provisioned for.
+ * @param minimumGrowth The smallest number of characters by which the buffer will grow.
+ * If zero is specified then the value of the initial capacity will be used.
+ */
+ public CharBuffer(int initialCapacity, int minimumGrowth) {
+ if (initialCapacity == 0) {
+ initialCapacity = DEFAULT_INITIAL_CAPACITY;
+ }
+ if (minimumGrowth == 0) {
+ minimumGrowth = initialCapacity;
+ }
+ this.bufList = new LinkedList();
+ this.currentBuf = new char[initialCapacity];
+ this.index = 0;
+ this.minimumGrowth = minimumGrowth;
+ this.listSize = 0;
+ }
+
+ /**
+ * Add the supplied character to this buffer, growing the buffer if necessary.
+ * @param character
+ */
+ public void buffer(char character) {
+ if (this.getCapacity() == 0) {
+ this.grow();
+ }
+ currentBuf[index++] = character;
+ }
+
+ /**
+ * Add a substring of the supplied string to this buffer, growing the buffer if necessary.
+ * @param text The original String that is to be added to the buffer.
+ * @param start The index of the starting character to add to the buffer (zero-based).
+ * @param length The number of characters to add to the buffer.
+ * @throws IllegalArgumentException If text is null, start points beyond end of text, or start + length
+ * goes beyond end of text.
+ */
+ public void buffer(String text, int start, int length) throws IllegalArgumentException {
+ //This method looks very similar to the overloaded version of it, but I can't see a good way of
+ //refactoring without introducing at least one extra char[] allocation and arraycopy per write.
+ //Ideas welcome.
+ if (length <= 0) {
+ return;
+ }
+ if (text == null) {
+ throw new IllegalArgumentException("text: may not be null.");
+ }
+ if (start > text.length()) {
+ throw new IllegalArgumentException("start: points beyond end of text.");
+ }
+ if ((start + length) > text.length()) {
+ throw new IllegalArgumentException("length: specifies length in excess of text length.");
+ }
+
+ //If length of string to add is greater than will fit in current char array then add what will fit
+ //and then bolt the rest on.
+ int charsToCopy = 0;
+ while (length != 0) {
+ charsToCopy = this.getCapacity();
+ if (charsToCopy > length) {
+ charsToCopy = length;
+ }
+
+ if (charsToCopy > 0) {
+ //Add as many characters as will fit in currentBuf, updating the indexes as necessary.
+ text.getChars(start, start + charsToCopy, currentBuf, index);
+ start += charsToCopy;
+ length -= charsToCopy;
+ this.index += charsToCopy;
+ }
+
+ //If there are still some characters to write then grow the buffer by enough to take the
+ //remainder and loop.
+ if (length != 0) {
+ this.grow(length);
+ }
+ }
+ }
+
+ /**
+ * Add a section of the supplied character array to this buffer, growing the buffer if necessary.
+ * @param characters The character array that is to be added to the buffer.
+ * @param start The index of the starting character to add to the buffer (zero-based).
+ * @param length The number of characters to add to the buffer.
+ * @throws IllegalArgumentException If array is null, start points beyond end of array, or start + length
+ * goes beyond end of array.
+ */
+ public void buffer(char[] characters, int start, int length) throws IllegalArgumentException {
+ //This method looks very similar to the overloaded version of it, but I can't see a good way of
+ //refactoring without introducing at least one extra char[] allocation and arraycopy per write.
+ //Ideas welcome.
+ if (length <= 0) {
+ return;
+ }
+ if (characters == null) {
+ throw new IllegalArgumentException("characters: may not be null.");
+ }
+ if (start > characters.length) {
+ throw new IllegalArgumentException("start: points beyond end of array.");
+ }
+ if ((start + length) > characters.length) {
+ throw new IllegalArgumentException("length: specifies length in excess of array length.");
+ }
+
+ //If length of string to add is greater than will fit in current char array then add what will fit
+ //and then bolt the rest on.
+ int charsToCopy = 0;
+ while (length != 0) {
+ charsToCopy = this.getCapacity();
+ if (charsToCopy > length) {
+ charsToCopy = length;
+ }
+
+ if (charsToCopy > 0) {
+ //Add as many characters as will fit in currentBuf, updating the indexes as necessary.
+ System.arraycopy(characters, start, currentBuf, index, charsToCopy);
+ start += charsToCopy;
+ length -= charsToCopy;
+ this.index += charsToCopy;
+ }
+
+ //If there are still some characters to write then grow the buffer by enough to take the
+ //remainder and loop.
+ if (length != 0) {
+ this.grow(length);
+ }
+ }
+ }
+
+ /**
+ * Render this buffer as a character array.
+ * @return
+ */
+ public char[] toArray() {
+ char[] result = new char[size()];
+ int offset = 0;
+ for (Iterator iter = this.bufList.iterator(); iter.hasNext();) {
+ char[] curBuf = (char[]) iter.next();
+ System.arraycopy(curBuf, 0, result, offset, curBuf.length);
+ offset += curBuf.length;
+ }
+ System.arraycopy(this.currentBuf, 0, result, offset, index);
+ return result;
+ }
+
+ /**
+ * Render this buffer as a String.
+ */
+ public String toString()
+ {
+ StringBuffer sb = new StringBuffer(size());
+ for (Iterator iter = this.bufList.iterator(); iter.hasNext();) {
+ char[] curBuf = (char[]) iter.next();
+ sb.append(curBuf);
+ }
+ sb.append(currentBuf, 0, index);
+ return sb.toString();
+ }
+
+ /**
+ * Find the current capacity of this buffer.
+ * @return The capacity of this buffer. This is the number of characters that can be
+ * added to this buffer without it having to grow.
+ */
+ public int getCapacity() {
+ return this.currentBuf.length - this.index;
+ }
+
+ /**
+ * Obtain the current size of this buffer.
+ * @return The number of characters that are currently in this buffer. Equates to the size of
+ * array that would be returned by {@link #toArray()} or the length of String returned by {@link #toString()}.
+ */
+ public int size() {
+ return (this.listSize + index);
+ }
+
+ /**
+ * Clear this buffer.
+ * Upon return, a call to {@link #size()} will return zero.
+ *
+ */
+ public void clear() {
+ this.bufList.clear();
+ this.index = 0;
+ this.listSize = 0;
+ }
+
+ /**
+ * Write the content of this buffer out to the supplied Writer object.
+ * This will not flush the writer before returning.
+ * @param writer The writer in to which the buffer should be written.
+ * @throws IOException If any error occurs while writing the buffer into the stream.
+ * @throws IllegalArgumentException If 'writer' is null.
+ */
+ public void writeOut(Writer writer) throws IOException, IllegalArgumentException {
+ if (writer == null) {
+ throw new IllegalArgumentException("writer: may not be null.");
+ }
+ for (Iterator iter = this.bufList.iterator(); iter.hasNext();) {
+ char[] curBuf = (char[]) iter.next();
+ writer.write(curBuf);
+ }
+ writer.write(currentBuf, 0, index);
+ }
+
+ private void grow() {
+ this.grow(this.minimumGrowth);
+ }
+
+ private void grow(int requiredChars) {
+ if (requiredChars < this.minimumGrowth) {
+ requiredChars = this.minimumGrowth;
+ }
+ this.bufList.add(currentBuf);
+ this.listSize += currentBuf.length;
+ currentBuf = new char[requiredChars];
+ index = 0;
+ }
+}
Modified: trunk/java/org/apache/tomcat/util/http/ServerCookie.java
===================================================================
--- trunk/java/org/apache/tomcat/util/http/ServerCookie.java 2008-02-15 15:15:18 UTC (rev 434)
+++ trunk/java/org/apache/tomcat/util/http/ServerCookie.java 2008-02-15 17:07:55 UTC (rev 435)
@@ -38,6 +38,9 @@
public class ServerCookie implements Serializable {
+ protected static final boolean USE_V1_COOKIES =
+ !Boolean.valueOf(System.getProperty("org.apache.catalina.STRICT_SERVLET_COMPLIANCE", "false")).booleanValue();
+
// Version 0 (Netscape) attributes
private MessageBytes name=MessageBytes.newInstance();
private MessageBytes value=MessageBytes.newInstance();
@@ -248,7 +251,7 @@
buf.append("=");
// Servlet implementation does not check anything else
- maybeQuote2(version, buf, value);
+ version = maybeQuote2(version, buf, value);
// Add version 1 specific information
if (version == 1) {
@@ -329,7 +332,7 @@
* @param buf
* @param value
*/
- public static void maybeQuote2 (int version, StringBuffer buf, String value) {
+ public static int maybeQuote2 (int version, StringBuffer buf, String value) {
if (value==null || value.length()==0) {
buf.append("\"\"");
}else if (containsCTL(value,version))
@@ -338,6 +341,11 @@
buf.append('"');
buf.append(escapeDoubleQuotes(value,1,value.length()-1));
buf.append('"');
+ } else if (USE_V1_COOKIES && version==0 && !isToken2(value)) {
+ buf.append('"');
+ buf.append(escapeDoubleQuotes(value,0,value.length()));
+ buf.append('"');
+ version = 1;
} else if (version==0 && !isToken(value)) {
buf.append('"');
buf.append(escapeDoubleQuotes(value,0,value.length()));
@@ -346,9 +354,10 @@
buf.append('"');
buf.append(escapeDoubleQuotes(value,0,value.length()));
buf.append('"');
- }else {
+ } else {
buf.append(value);
}
+ return version;
}
Modified: trunk/webapps/docs/changelog.xml
===================================================================
--- trunk/webapps/docs/changelog.xml 2008-02-15 15:15:18 UTC (rev 434)
+++ trunk/webapps/docs/changelog.xml 2008-02-15 17:07:55 UTC (rev 435)
@@ -218,6 +218,10 @@
<fix>
<bug>44408</bug>: Remove useless synchronization. (remm)
</fix>
+ <fix>
+ <bug>43925</bug>: Optimize allocation style for bodies (this removes the no-GC mode, however),
+ submitted by Brian Remmington. (remm)
+ </fix>
</changelog>
</subsection>
<subsection name="Webapps">
Modified: trunk/webapps/docs/sysprops.xml
===================================================================
--- trunk/webapps/docs/sysprops.xml 2008-02-15 15:15:18 UTC (rev 434)
+++ trunk/webapps/docs/sysprops.xml 2008-02-15 17:07:55 UTC (rev 435)
@@ -130,12 +130,14 @@
be used.</p>
</property>
+<!--
<property name="org.apache.jasper.runtime. BodyContentImpl.LIMIT_BUFFER">
<p>If <code>true</code>, any tag buffer that expands beyond
<code>org.apache.jasper.Constants.DEFAULT_TAG_BUFFER_SIZE</code> will be
destroyed and a new buffer created of the default size. If not specified,
the default value of <code>false</code> will be used.</p>
</property>
+ -->
<property name="org.apache.jasper.runtime. JspFactoryImpl.USE_POOL">
<p>If <code>true</code>, a ThreadLocal <code>PageContext</code> pool will
17 years
JBossWeb SVN: r434 - trunk.
by jbossweb-commits@lists.jboss.org
Author: jfrederic.clere(a)jboss.com
Date: 2008-02-15 10:15:18 -0500 (Fri, 15 Feb 2008)
New Revision: 434
Modified:
trunk/build.xml
Log:
Arrange funcspecs location.
Modified: trunk/build.xml
===================================================================
--- trunk/build.xml 2008-02-15 15:02:14 UTC (rev 433)
+++ trunk/build.xml 2008-02-15 15:15:18 UTC (rev 434)
@@ -350,7 +350,7 @@
style="webapps/docs/tomcat-docs.xsl"
excludes="project.xml"
includes="*.xml">
- <param name="relative-path" expression="../.."/>
+ <param name="relative-path" expression=".."/>
</xslt>
<xslt basedir="webapps/docs/config"
destdir="${tomcat.build}/webapps/docs/config"
@@ -412,7 +412,7 @@
style="webapps/docs/tomcat-docs.xsl"
excludes="project.xml"
includes="*.xml">
- <param name="relative-path" expression="../../.."/>
+ <param name="relative-path" expression="../.."/>
<param name="project-menu" expression="nomenu"/>
</xslt>
<xslt basedir="webapps/docs/config"
17 years
JBossWeb SVN: r433 - trunk/webapps/docs.
by jbossweb-commits@lists.jboss.org
Author: jfrederic.clere(a)jboss.com
Date: 2008-02-15 10:02:14 -0500 (Fri, 15 Feb 2008)
New Revision: 433
Modified:
trunk/webapps/docs/build.xml
Log:
Remove useless directory creation.
Modified: trunk/webapps/docs/build.xml
===================================================================
--- trunk/webapps/docs/build.xml 2008-02-15 14:44:09 UTC (rev 432)
+++ trunk/webapps/docs/build.xml 2008-02-15 15:02:14 UTC (rev 433)
@@ -57,9 +57,6 @@
<copy tofile="${webapps.build}/${webapp.name}/appdev/sample/build.xml"
file="appdev/build.xml.txt"/>
- <!-- Catalina Functional Specifications -->
- <mkdir dir="${webapps.build}/${webapp.name}/catalina/funcspecs"/>
-
<!-- Architecture -->
<copy todir="${webapps.build}/${webapp.name}/architecture">
<fileset dir="architecture" excludes="*.xml"/>
17 years
JBossWeb SVN: r432 - in trunk/webapps/docs: appdev and 3 other directories.
by jbossweb-commits@lists.jboss.org
Author: jfrederic.clere(a)jboss.com
Date: 2008-02-15 09:44:09 -0500 (Fri, 15 Feb 2008)
New Revision: 432
Modified:
trunk/webapps/docs/appdev/project.xml
trunk/webapps/docs/architecture/project.xml
trunk/webapps/docs/build.xml
trunk/webapps/docs/config/project.xml
trunk/webapps/docs/funcspecs/project.xml
Log:
Arrange doc.
Modified: trunk/webapps/docs/appdev/project.xml
===================================================================
--- trunk/webapps/docs/appdev/project.xml 2008-02-14 17:33:06 UTC (rev 431)
+++ trunk/webapps/docs/appdev/project.xml 2008-02-15 14:44:09 UTC (rev 432)
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="Application Developer's Guide"
- href="http://tomcat.apache.org/">
+ href="http://labs.jboss.com/jbossweb/">
<title>Application Developer's Guide</title>
- <logo href="/images/tomcat.gif">
+ <logo href="/images/jbossweblogo.gif">
The Apache Tomcat Servlet/JSP Container
</logo>
Modified: trunk/webapps/docs/architecture/project.xml
===================================================================
--- trunk/webapps/docs/architecture/project.xml 2008-02-14 17:33:06 UTC (rev 431)
+++ trunk/webapps/docs/architecture/project.xml 2008-02-15 14:44:09 UTC (rev 432)
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<project name="Apache Tomcat Architecture"
- href="http://tomcat.apache.org/">
+<project name="JBoss Web Documentation"
+ href="http://labs.jboss.com/jbossweb/">
- <title>Apache Tomcat Architecture</title>
+ <title>JBoss Web Architecture</title>
- <logo href="/images/tomcat.gif">
- The Apache Tomcat Servlet/JSP Container
+ <logo href="/images/jbossweblogo.gif">
+ The JBoss Web Servlet/JSP Container
</logo>
Modified: trunk/webapps/docs/build.xml
===================================================================
--- trunk/webapps/docs/build.xml 2008-02-14 17:33:06 UTC (rev 431)
+++ trunk/webapps/docs/build.xml 2008-02-15 14:44:09 UTC (rev 432)
@@ -137,24 +137,22 @@
</style>
<!-- Catalina Functional Specifications -->
- <mkdir dir="${webapps.build}/${webapp.name}/catalina"/>
- <mkdir dir="${webapps.build}/${webapp.name}/catalina/funcspecs"/>
<style basedir="funcspecs"
- destdir="${webapps.build}/${webapp.name}/catalina/funcspecs"
+ destdir="${webapps.build}/${webapp.name}/funcspecs"
extension=".html"
style="tomcat-docs.xsl"
excludes="project.xml"
includes="*.xml">
- <param name="relative-path" expression="../.."/>
+ <param name="relative-path" expression=".."/>
</style>
- <mkdir dir="${webapps.build}/${webapp.name}/catalina/funcspecs/printer"/>
+ <mkdir dir="${webapps.build}/${webapp.name}/funcspecs/printer"/>
<style basedir="funcspecs"
- destdir="${webapps.build}/${webapp.name}/catalina/funcspecs/printer"
+ destdir="${webapps.build}/${webapp.name}/funcspecs/printer"
extension=".html"
style="tomcat-docs.xsl"
excludes="project.xml"
includes="*.xml">
- <param name="relative-path" expression="../../.."/>
+ <param name="relative-path" expression="../.."/>
<param name="project-menu" expression="nomenu"/>
</style>
Modified: trunk/webapps/docs/config/project.xml
===================================================================
--- trunk/webapps/docs/config/project.xml 2008-02-14 17:33:06 UTC (rev 431)
+++ trunk/webapps/docs/config/project.xml 2008-02-15 14:44:09 UTC (rev 432)
@@ -4,7 +4,7 @@
<title>JBoss Web Configuration Reference</title>
- <logo href="/images/jbossweb.gif">
+ <logo href="/images/jbossweblogo.gif">
The JBoss Web Servlet/JSP Container
</logo>
Modified: trunk/webapps/docs/funcspecs/project.xml
===================================================================
--- trunk/webapps/docs/funcspecs/project.xml 2008-02-14 17:33:06 UTC (rev 431)
+++ trunk/webapps/docs/funcspecs/project.xml 2008-02-15 14:44:09 UTC (rev 432)
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
-<project name="Catalina Functional Specifications"
- href="http://tomcat.apache.org/">
+<project name="JBoss Web Documentation"
+ href="http://labs.jboss.com/jbossweb/">
<title>Catalina Functional Specifications</title>
- <logo href="/images/tomcat.gif">
- Catalina Functional Specifications
+ <logo href="/images/jbossweblogo.gif">
+ The JBoss Web Servlet/JSP Container
</logo>
<body>
<menu name="Links">
- <item name="Docs Home" href="../../index.html"/>
+ <item name="Docs Home" href="../index.html" />
<item name="Functional Specs" href="index.html"/>
</menu>
17 years
JBossWeb SVN: r431 - in trunk: res and 1 other directory.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2008-02-14 12:33:06 -0500 (Thu, 14 Feb 2008)
New Revision: 431
Modified:
trunk/NOTICE
trunk/res/INSTALLLICENSE
trunk/res/jboss-web.nsi
Log:
- Update license text for installer.
Modified: trunk/NOTICE
===================================================================
--- trunk/NOTICE 2008-02-14 16:46:18 UTC (rev 430)
+++ trunk/NOTICE 2008-02-14 17:33:06 UTC (rev 431)
@@ -1,8 +1,8 @@
JBoss Web
-Copyright 2006-2007 RedHat Inc
+Copyright 2006-2008 Red Hat Middleware, LLC. All rights reserved.
Apache Tomcat
-Copyright 1999-2007 The Apache Software Foundation
+Copyright 1999-2008 The Apache Software Foundation
This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).
Modified: trunk/res/INSTALLLICENSE
===================================================================
--- trunk/res/INSTALLLICENSE 2008-02-14 16:46:18 UTC (rev 430)
+++ trunk/res/INSTALLLICENSE 2008-02-14 17:33:06 UTC (rev 431)
@@ -1,201 +1,187 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
+JBoss Web
+Copyright 2006-2008 Red Hat Middleware, LLC. All rights reserved.
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+Apache Tomcat
+Copyright 1999-2008 The Apache Software Foundation
- 1. Definitions.
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
+The Windows Installer is built with the Nullsoft
+Scriptable Install Sysem (NSIS), which is
+open source software. The original software and
+related information is available at
+http://nsis.sourceforge.net.
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
+Java compilation software for JSP pages is provided by Eclipse,
+which is open source software. The orginal software and
+related infomation is available at
+http://www.eclipse.org.
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
+ 0. Additional Definitions.
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
+ 1. Exception to Section 3 of the GNU GPL.
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
+ 2. Conveying Modified Versions.
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
+ 3. Object Code Incorporating Material from Library Header Files.
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
- END OF TERMS AND CONDITIONS
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
- APPENDIX: How to apply the Apache License to your work.
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
+ 4. Combined Works.
- Copyright [yyyy] [name of copyright owner]
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
- http://www.apache.org/licenses/LICENSE-2.0
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
Modified: trunk/res/jboss-web.nsi
===================================================================
--- trunk/res/jboss-web.nsi 2008-02-14 16:46:18 UTC (rev 430)
+++ trunk/res/jboss-web.nsi 2008-02-14 17:33:06 UTC (rev 431)
@@ -10,7 +10,7 @@
;Product information
VIAddVersionKey ProductName "JBoss Web"
- VIAddVersionKey CompanyName "RedHat"
+ VIAddVersionKey CompanyName "Red Hat"
VIAddVersionKey LegalCopyright "Copyright (c) 2006-2008 Red Hat Middleware, LLC. All rights reserved."
VIAddVersionKey FileDescription "JBoss Web Installer"
VIAddVersionKey FileVersion "2.1"
17 years
JBossWeb SVN: r430 - in trunk: res and 1 other directory.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2008-02-14 11:46:18 -0500 (Thu, 14 Feb 2008)
New Revision: 430
Removed:
trunk/res/welcome.bin.html
trunk/res/welcome.main.html
Modified:
trunk/dist.xml
trunk/res/jboss-web.ico
Log:
- Icon update.
Modified: trunk/dist.xml
===================================================================
--- trunk/dist.xml 2008-02-14 15:43:41 UTC (rev 429)
+++ trunk/dist.xml 2008-02-14 16:46:18 UTC (rev 430)
@@ -270,6 +270,8 @@
<copy file="RELEASE-NOTES"
todir="${tomcat.release}/v${version}"
filtering="true"/>
+
+ <!--
<copy file="res/welcome.main.html"
tofile="${tomcat.release}/v${version}/README.html"
filtering="true"/>
@@ -277,7 +279,6 @@
tofile="${tomcat.release}/v${version}/bin/README.html"
filtering="true"/>
- <!--
<mkdir dir="${tomcat.release}/v${version}/bin/extras" />
<copy todir="${tomcat.release}/v${version}/bin/extras">
<fileset dir="${tomcat.extras}">
Modified: trunk/res/jboss-web.ico
===================================================================
(Binary files differ)
Deleted: trunk/res/welcome.bin.html
===================================================================
--- trunk/res/welcome.bin.html 2008-02-14 15:43:41 UTC (rev 429)
+++ trunk/res/welcome.bin.html 2008-02-14 16:46:18 UTC (rev 430)
@@ -1,42 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML><HEAD><TITLE>Apache Tomcat @VERSION@</TITLE>
-<META http-equiv=Content-Type content="text/html">
-</HEAD>
-<BODY>
-<P>
-<H3>Apache Tomcat @VERSION@</H3>
-<P></P>
-<p>Useful references:
-<ul>
-<li><a href="../RELEASE-NOTES">Release notes</a>, with important information
-about known issues</li>
-<li><a href="http://tomcat.apache.org/tomcat-6.0-doc/changelog.html">Changelog</a></li>
-<li><a href="http://tomcat.apache.org/tomcat-6.0-doc/status.html">Status</a></li>
-</ul>
-</p>
-
-<p><b>NOTE: The tar files in this distribution use GNU tar extensions,
-and must be untarred with a GNU compatible version of tar. The version
-of <CODE>tar</CODE> on Solaris and Mac OS X will not work with
-these files.</b></P>
-
-<p><font color="red">Tomcat 6.0 requires JRE 5.0. Read the
-RELEASE-NOTES and the RUNNING.txt file in the distribution for more details.
-</font></p>
-
-<p>Packaging Details (or "What Should I Download?")
- <ul>
- <li>apache-tomcat-[version].zip or .tar.gz: base distribution.</li>
- <li>apache-tomcat-[version].exe: Windows installer for Tomcat. Please note that while this distribution includes the vast majority of the base distribution, some of the command-line scripts for launching Tomcat are not included. This distribution is intended for those users planning to launch Tomcat through the Windows shortcuts or services.</li>
- <!--<li>apache-tomcat-[version]-admin.zip or .tar.gz: the Tomcat Administration webapp only.</li>-->
- <li>apache-tomcat-[version]-deployer.zip or .tar.gz: the standalone Tomcat Web Application Deployer.</li>
- <li>apache-tomcat-[version]-fulldocs.tar.gz: the Tomcat documentation bundle, including complete javadocs.</li>
- </ul>
-</p>
-
-<P>Thank you for using <A href="http://tomcat.apache.org/">Tomcat</A>!.
-</P>
-<P><B>The Apache Tomcat Project</B> <BR><A
-href="http://tomcat.apache.org/">http://tomcat.apache.org/</A> </P>
-<P>
-<P></P></BODY></HTML>
Deleted: trunk/res/welcome.main.html
===================================================================
--- trunk/res/welcome.main.html 2008-02-14 15:43:41 UTC (rev 429)
+++ trunk/res/welcome.main.html 2008-02-14 16:46:18 UTC (rev 430)
@@ -1,42 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML><HEAD><TITLE>Apache Tomcat @VERSION@</TITLE>
-<META http-equiv=Content-Type content="text/html">
-</HEAD>
-<BODY>
-<P>
-<H3>Apache Tomcat @VERSION@</H3>
-<P></P>
-<p>Useful references:
-<ul>
-<li><a href="RELEASE-NOTES">Release notes</a>, with important information
-about known issues</li>
-<li><a href="http://tomcat.apache.org/tomcat-6.0-doc/changelog.html">Changelog</a></li>
-<li><a href="http://tomcat.apache.org/tomcat-6.0-doc/status.html">Status</a></li>
-</ul>
-</p>
-
-<p><b>NOTE: The tar files in this distribution use GNU tar extensions,
-and must be untarred with a GNU compatible version of tar. The version
-of <CODE>tar</CODE> on Solaris and Mac OS X will not work with
-these files.</b></P>
-
-<p><font color="red">Tomcat 6.0 requires JRE 5.0. Read the
-RELEASE-NOTES and the RUNNING.txt file in the distribution for more details.
-</font></p>
-
-<p>Packaging Details (or "What Should I Download?")
- <ul>
- <li>apache-tomcat-[version].zip or .tar.gz: base distribution.</li>
- <li>apache-tomcat-[version].exe: Windows installer for Tomcat. Please note that while this distribution includes the vast majority of the base distribution, some of the command-line scripts for launching Tomcat are not included. This distribution is intended for those users planning to launch Tomcat through the Windows shortcuts or services.</li>
- <!--<li>apache-tomcat-[version]-admin.zip or .tar.gz: the Tomcat Administration webapp only.</li>-->
- <li>apache-tomcat-[version]-deployer.zip or .tar.gz: the standalone Tomcat Web Application Deployer.</li>
- <li>apache-tomcat-[version]-fulldocs.tar.gz: the Tomcat documentation bundle, including complete javadocs.</li>
- </ul>
-</p>
-
-<P>Thank you for using <A href="http://tomcat.apache.org/">Tomcat</A>!.
-</P>
-<P><B>The Apache Tomcat Project</B> <BR><A
-href="http://tomcat.apache.org/">http://tomcat.apache.org/</A> </P>
-<P>
-<P></P></BODY></HTML>
17 years
JBossWeb SVN: r429 - in trunk: res and 1 other directories.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2008-02-14 10:43:41 -0500 (Thu, 14 Feb 2008)
New Revision: 429
Modified:
trunk/build.xml
trunk/res/jboss-web.nsi
trunk/webapps/docs/tomcat-docs.xsl
Log:
- Additional XSL updates.
Modified: trunk/build.xml
===================================================================
--- trunk/build.xml 2008-02-14 15:12:54 UTC (rev 428)
+++ trunk/build.xml 2008-02-14 15:43:41 UTC (rev 429)
@@ -474,6 +474,7 @@
<param name="relative-path" expression="."/>
<param name="project-menu" expression="nomenu"/>
<param name="bodyonly" expression="true"/>
+ <param name="usehead" expression="true"/>
</xslt>
<xslt basedir="webapps/docs/appdev"
destdir="${jbossweb.site}/appdev"
@@ -484,6 +485,7 @@
<param name="relative-path" expression=".."/>
<param name="project-menu" expression="nomenu"/>
<param name="bodyonly" expression="true"/>
+ <param name="usehead" expression="true"/>
</xslt>
<xslt basedir="webapps/docs/funcspecs"
destdir="${jbossweb.site}/funcspecs"
@@ -494,6 +496,7 @@
<param name="relative-path" expression="../.."/>
<param name="project-menu" expression="nomenu"/>
<param name="bodyonly" expression="true"/>
+ <param name="usehead" expression="true"/>
</xslt>
<xslt basedir="webapps/docs/config"
destdir="${jbossweb.site}/config"
@@ -504,6 +507,7 @@
<param name="relative-path" expression=".."/>
<param name="project-menu" expression="nomenu"/>
<param name="bodyonly" expression="true"/>
+ <param name="usehead" expression="true"/>
</xslt>
<xslt basedir="webapps/docs/architecture"
destdir="${jbossweb.site}/architecture"
@@ -514,6 +518,7 @@
<param name="relative-path" expression=".."/>
<param name="project-menu" expression="nomenu"/>
<param name="bodyonly" expression="true"/>
+ <param name="usehead" expression="true"/>
</xslt>
</target>
Modified: trunk/res/jboss-web.nsi
===================================================================
--- trunk/res/jboss-web.nsi 2008-02-14 15:12:54 UTC (rev 428)
+++ trunk/res/jboss-web.nsi 2008-02-14 15:43:41 UTC (rev 429)
@@ -11,7 +11,7 @@
;Product information
VIAddVersionKey ProductName "JBoss Web"
VIAddVersionKey CompanyName "RedHat"
- VIAddVersionKey LegalCopyright "Copyright (c) 2006-2008 RedHat"
+ VIAddVersionKey LegalCopyright "Copyright (c) 2006-2008 Red Hat Middleware, LLC. All rights reserved."
VIAddVersionKey FileDescription "JBoss Web Installer"
VIAddVersionKey FileVersion "2.1"
VIAddVersionKey ProductVersion "@VERSION@"
Modified: trunk/webapps/docs/tomcat-docs.xsl
===================================================================
--- trunk/webapps/docs/tomcat-docs.xsl 2008-02-14 15:12:54 UTC (rev 428)
+++ trunk/webapps/docs/tomcat-docs.xsl 2008-02-14 15:43:41 UTC (rev 429)
@@ -24,6 +24,7 @@
<xsl:param name="void-image" select="'/images/void.gif'"/>
<xsl:param name="project-menu" select="'menu'"/>
<xsl:param name="bodyonly" select="'false'"/>
+ <xsl:param name="usehead" select="'false'"/>
<xsl:param name="standalone" select="''"/>
<xsl:param name="buglink" select="'http://issues.apache.org/bugzilla/show_bug.cgi?id='"/>
<xsl:param name="jiralink" select="'http://jira.jboss.com/jira/browse/JBWEB-'"/>
@@ -210,9 +211,22 @@
<!-- Process a documentation section -->
<xsl:template match="section">
+
+ <xsl:if test="$usehead = 'true'">
+
<xsl:variable name="name">
<xsl:value-of select="@name"/>
</xsl:variable>
+ <h2 class="head2"><xsl:value-of select="@name"/></h2>
+ <xsl:apply-templates/>
+
+ </xsl:if>
+
+ <xsl:if test="$usehead != 'true'">
+
+ <xsl:variable name="name">
+ <xsl:value-of select="@name"/>
+ </xsl:variable>
<table border="0" cellspacing="0" cellpadding="2">
<!-- Section heading -->
<tr><td bgcolor="{$banner-bg}">
@@ -225,14 +239,30 @@
<xsl:apply-templates/>
</blockquote></td></tr>
</table>
+
+ </xsl:if>
+
</xsl:template>
<!-- Process a documentation subsection -->
<xsl:template match="subsection">
+
+ <xsl:if test="$usehead = 'true'">
+
<xsl:variable name="name">
<xsl:value-of select="@name"/>
</xsl:variable>
+ <h3 class="head3"><xsl:value-of select="@name"/></h3>
+ <xsl:apply-templates/>
+
+ </xsl:if>
+
+ <xsl:if test="$usehead != 'true'">
+
+ <xsl:variable name="name">
+ <xsl:value-of select="@name"/>
+ </xsl:variable>
<table border="0" cellspacing="0" cellpadding="2">
<!-- Subsection heading -->
<tr><td bgcolor="{$sub-banner-bg}">
@@ -245,6 +275,9 @@
<xsl:apply-templates/>
</blockquote></td></tr>
</table>
+
+ </xsl:if>
+
</xsl:template>
17 years
JBossWeb SVN: r428 - trunk.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2008-02-14 10:12:54 -0500 (Thu, 14 Feb 2008)
New Revision: 428
Modified:
trunk/build.xml
Log:
- Add docs generation for the website.
Modified: trunk/build.xml
===================================================================
--- trunk/build.xml 2008-02-14 15:11:38 UTC (rev 427)
+++ trunk/build.xml 2008-02-14 15:12:54 UTC (rev 428)
@@ -30,6 +30,7 @@
<property name="tomcat.classes" value="${basedir}/output/classes"/>
<property name="tomcat.dist" value="${basedir}/output/dist"/>
<property name="tomcat.jars" value="${basedir}/output/jars"/>
+ <property name="jbossweb.site" value="${basedir}/output/site"/>
<property name="test.failonerror" value="true"/>
<property name="test.runner" value="junit.textui.TestRunner"/>
@@ -433,6 +434,88 @@
<param name="project-menu" expression="nomenu"/>
</xslt>
+ <!-- Website version -->
+ <mkdir dir="${jbossweb.site}" />
+ <copy todir="${jbossweb.site}">
+ <fileset dir="webapps/docs">
+ <include name="images/**"/>
+ <include name="**/*.html"/>
+ <include name="appdev/*.txt"/>
+ <include name="appdev/sample/**"/>
+ </fileset>
+ <fileset dir="webapps/docs">
+ <include name="architecture/**"/>
+ <exclude name="architecture/*.xml"/>
+ </fileset>
+ </copy>
+ <copy todir="${jbossweb.site}">
+ <fileset dir=".">
+ <include name="BUILDING.txt"/>
+ <include name="NOTICE"/>
+ <include name="RUNNING.txt"/>
+ </fileset>
+ </copy>
+ <mkdir dir="${jbossweb.site}/appdev" />
+ <copy todir="${jbossweb.site}/appdev">
+ <fileset dir="webapps">
+ <include name="docs/appdev/*.txt"/>
+ </fileset>
+ </copy>
+ <mkdir dir="${jbossweb.site}/funcspecs" />
+ <mkdir dir="${jbossweb.site}/architecture"/>
+ <mkdir dir="${jbossweb.site}/config"/>
+
+ <xslt basedir="webapps/docs"
+ destdir="${jbossweb.site}"
+ extension=".html"
+ style="webapps/docs/tomcat-docs.xsl"
+ excludes="build.xml project.xml"
+ includes="*.xml">
+ <param name="relative-path" expression="."/>
+ <param name="project-menu" expression="nomenu"/>
+ <param name="bodyonly" expression="true"/>
+ </xslt>
+ <xslt basedir="webapps/docs/appdev"
+ destdir="${jbossweb.site}/appdev"
+ extension=".html"
+ style="webapps/docs/tomcat-docs.xsl"
+ excludes="project.xml"
+ includes="*.xml">
+ <param name="relative-path" expression=".."/>
+ <param name="project-menu" expression="nomenu"/>
+ <param name="bodyonly" expression="true"/>
+ </xslt>
+ <xslt basedir="webapps/docs/funcspecs"
+ destdir="${jbossweb.site}/funcspecs"
+ extension=".html"
+ style="webapps/docs/tomcat-docs.xsl"
+ excludes="project.xml"
+ includes="*.xml">
+ <param name="relative-path" expression="../.."/>
+ <param name="project-menu" expression="nomenu"/>
+ <param name="bodyonly" expression="true"/>
+ </xslt>
+ <xslt basedir="webapps/docs/config"
+ destdir="${jbossweb.site}/config"
+ extension=".html"
+ style="webapps/docs/tomcat-docs.xsl"
+ excludes="project.xml"
+ includes="*.xml">
+ <param name="relative-path" expression=".."/>
+ <param name="project-menu" expression="nomenu"/>
+ <param name="bodyonly" expression="true"/>
+ </xslt>
+ <xslt basedir="webapps/docs/architecture"
+ destdir="${jbossweb.site}/architecture"
+ extension=".html"
+ style="webapps/docs/tomcat-docs.xsl"
+ excludes="project.xml"
+ includes="*.xml">
+ <param name="relative-path" expression=".."/>
+ <param name="project-menu" expression="nomenu"/>
+ <param name="bodyonly" expression="true"/>
+ </xslt>
+
</target>
<target name="deploy" depends="build-only,build-docs">
@@ -529,6 +612,7 @@
<delete dir="${tomcat.classes}" />
<delete dir="${tomcat.build}" />
<delete dir="${tomcat.jars}" />
+ <delete dir="${jbossweb.site}" />
</target>
<!-- Download and dependency building -->
17 years
JBossWeb SVN: r427 - trunk/webapps/docs.
by jbossweb-commits@lists.jboss.org
Author: remy.maucherat(a)jboss.com
Date: 2008-02-14 10:11:38 -0500 (Thu, 14 Feb 2008)
New Revision: 427
Modified:
trunk/webapps/docs/tomcat-docs.xsl
Log:
- Add a "jira" element to link to the JIRA.
- Add xsl for the website generation.
Modified: trunk/webapps/docs/tomcat-docs.xsl
===================================================================
--- trunk/webapps/docs/tomcat-docs.xsl 2008-02-14 14:38:01 UTC (rev 426)
+++ trunk/webapps/docs/tomcat-docs.xsl 2008-02-14 15:11:38 UTC (rev 427)
@@ -18,12 +18,15 @@
<xsl:param name="home-href" select="'http://labs.jboss.com/jbossweb/'"/>
<xsl:param name="home-logo" select="'/images/jboss_logo.gif'"/>
<xsl:param name="printer-logo" select="'/images/printer.gif'"/>
- <xsl:param name="jbossorg-logo" select="'/images/jbossorg_logo.gif'"/>
+ <xsl:param name="jbossorg-logo" select="'/images/jbossorg_logo.gif'"/>
+ <xsl:param name="jbossweb-logo" select="'/images/jbossweblogo.gif'"/>
<xsl:param name="relative-path" select="'.'"/>
<xsl:param name="void-image" select="'/images/void.gif'"/>
<xsl:param name="project-menu" select="'menu'"/>
+ <xsl:param name="bodyonly" select="'false'"/>
<xsl:param name="standalone" select="''"/>
<xsl:param name="buglink" select="'http://issues.apache.org/bugzilla/show_bug.cgi?id='"/>
+ <xsl:param name="jiralink" select="'http://jira.jboss.com/jira/browse/JBWEB-'"/>
<!-- Defined variables (non-overrideable) -->
<xsl:variable name="body-bg" select="'#ffffff'"/>
@@ -42,6 +45,13 @@
<xsl:template match="document">
<xsl:variable name="project"
select="document('project.xml')/project"/>
+
+ <xsl:if test="$bodyonly = 'true'">
+ <xsl:apply-templates select="body/section"/>
+ </xsl:if>
+
+ <xsl:if test="$bodyonly != 'true'">
+
<html>
<head>
<title><xsl:value-of select="project/title"/> - <xsl:value-of select="properties/title"/></title>
@@ -166,7 +176,8 @@
<xsl:comment>PAGE FOOTER</xsl:comment>
<tr><td colspan="2">
<div align="center"><font color="{$body-link}" size="-1"><em>
- Copyright © 1999-2006, Apache Software Foundation
+ © 1999-2007, Apache Software Foundation
+ © 2007-2008, Red Hat Middleware, LLC. All rights reserved.
</em></font></div>
</td></tr>
@@ -174,6 +185,8 @@
</body>
</html>
+ </xsl:if>
+
</xsl:template>
@@ -450,6 +463,12 @@
<a href="{$link}"><xsl:apply-templates/></a>
</xsl:template>
+ <!-- Link to a JIRA report -->
+ <xsl:template match="jira">
+ <xsl:variable name="link"><xsl:value-of select="$jiralink"/><xsl:value-of select="text()"/></xsl:variable>
+ <a href="{$link}"><xsl:apply-templates/></a>
+ </xsl:template>
+
<!-- Process everything else by just passing it through -->
<xsl:template match="*|@*">
<xsl:copy>
17 years