<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>commits@commons.apache.org Archives</title>
<link rel="self" href="http://mail-archives.apache.org/mod_mbox/commons-commits/?format=atom"/>
<link href="http://mail-archives.apache.org/mod_mbox/commons-commits/"/>
<id>http://mail-archives.apache.org/mod_mbox/commons-commits/</id>
<updated>2009-12-09T20:25:51Z</updated>
<entry>
<title>svn commit: r888903 - in /commons/proper/jexl/trunk/jexl2-compat: pom.xml src/main/java/org/apache/commons/jexl/context/package.html src/main/java/org/apache/commons/jexl/package.html</title>
<author><name>sebb@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091209181241.5108D23888FE@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091209181241-5108D23888FE@eris-apache-org%3e</id>
<updated>2009-12-09T18:12:41Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: sebb
Date: Wed Dec  9 18:12:40 2009
New Revision: 888903

URL: http://svn.apache.org/viewvc?rev=888903&amp;view=rev
Log:
Add missing AL headers

Modified:
    commons/proper/jexl/trunk/jexl2-compat/pom.xml
    commons/proper/jexl/trunk/jexl2-compat/src/main/java/org/apache/commons/jexl/context/package.html
    commons/proper/jexl/trunk/jexl2-compat/src/main/java/org/apache/commons/jexl/package.html

Modified: commons/proper/jexl/trunk/jexl2-compat/pom.xml
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/jexl2-compat/pom.xml?rev=888903&amp;r1=888902&amp;r2=888903&amp;view=diff
==============================================================================
--- commons/proper/jexl/trunk/jexl2-compat/pom.xml (original)
+++ commons/proper/jexl/trunk/jexl2-compat/pom.xml Wed Dec  9 18:12:40 2009
@@ -1,4 +1,20 @@
-
+&lt;?xml version="1.0"?&gt;
+&lt;!--
+   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.
+--&gt;
 &lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;
     &lt;parent&gt;

Modified: commons/proper/jexl/trunk/jexl2-compat/src/main/java/org/apache/commons/jexl/context/package.html
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/jexl2-compat/src/main/java/org/apache/commons/jexl/context/package.html?rev=888903&amp;r1=888902&amp;r2=888903&amp;view=diff
==============================================================================
--- commons/proper/jexl/trunk/jexl2-compat/src/main/java/org/apache/commons/jexl/context/package.html
(original)
+++ commons/proper/jexl/trunk/jexl2-compat/src/main/java/org/apache/commons/jexl/context/package.html
Wed Dec  9 18:12:40 2009
@@ -1,4 +1,20 @@
 &lt;html&gt;
+ &lt;!--
+   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.
+ --&gt;
  &lt;head&gt;
   &lt;title&gt;Package Documentation for org.apache.commons.jexl.context Package&lt;/title&gt;
  &lt;/head&gt;

Modified: commons/proper/jexl/trunk/jexl2-compat/src/main/java/org/apache/commons/jexl/package.html
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/jexl2-compat/src/main/java/org/apache/commons/jexl/package.html?rev=888903&amp;r1=888902&amp;r2=888903&amp;view=diff
==============================================================================
--- commons/proper/jexl/trunk/jexl2-compat/src/main/java/org/apache/commons/jexl/package.html
(original)
+++ commons/proper/jexl/trunk/jexl2-compat/src/main/java/org/apache/commons/jexl/package.html
Wed Dec  9 18:12:40 2009
@@ -1,4 +1,20 @@
 &lt;html&gt;
+    &lt;!--
+       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.
+    --&gt;
     &lt;head&gt;
         &lt;title&gt;Package Documentation for org.apache.commons.jexl Package&lt;/title&gt;
     &lt;/head&gt;




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r888877 - in /commons/proper/jexl/trunk: ./ src/main/java/org/apache/commons/jexl2/ src/main/java/org/apache/commons/jexl2/introspection/ src/main/java/org/apache/commons/jexl2/parser/ src/main/java/org/apache/commons/jexl2/scripting/ src/m...</title>
<author><name>henrib@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091209171310.DC1E923888FD@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091209171310-DC1E923888FD@eris-apache-org%3e</id>
<updated>2009-12-09T17:13:10Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: henrib
Date: Wed Dec  9 17:13:09 2009
New Revision: 888877

URL: http://svn.apache.org/viewvc?rev=888877&amp;view=rev
Log:
document separation between user land &amp; non-public code; reduced dependency between Interpreter
&amp; non-public code

Modified:
    commons/proper/jexl/trunk/pom.xml
    commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java
    commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java
    commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlEngine.java
    commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/JexlMethod.java
    commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/JexlPropertyGet.java
    commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/JexlPropertySet.java
    commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/package.html
    commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/package.html
    commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/package.html
    commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/scripting/package.html
    commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/util/AbstractExecutor.java
    commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/util/introspection/package.html
    commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/util/package.html
    commons/proper/jexl/trunk/src/site/site.xml
    commons/proper/jexl/trunk/xdocs/index.xml

Modified: commons/proper/jexl/trunk/pom.xml
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/pom.xml?rev=888877&amp;r1=888876&amp;r2=888877&amp;view=diff
==============================================================================
--- commons/proper/jexl/trunk/pom.xml (original)
+++ commons/proper/jexl/trunk/pom.xml Wed Dec  9 17:13:09 2009
@@ -235,7 +235,7 @@
                     &lt;instrumentation&gt;
                         &lt;excludes&gt;
                             &lt;exclude&gt;org/apache/commons/jexl2/parser/*.class&lt;/exclude&gt;
-                            &lt;exclude&gt;apache/commons/jexl2/**/*Test.class&lt;/exclude&gt;
+                            &lt;exclude&gt;org/apache/commons/jexl2/**/*Test.class&lt;/exclude&gt;
                         &lt;/excludes&gt;
                     &lt;/instrumentation&gt;
                 &lt;/configuration&gt;
@@ -245,6 +245,10 @@
                 &lt;artifactId&gt;findbugs-maven-plugin&lt;/artifactId&gt;
                 &lt;version&gt;2.1&lt;/version&gt;
                 &lt;configuration&gt;
+                        &lt;excludes&gt;
+                            &lt;exclude&gt;org/apache/commons/jexl2/parser/*.class&lt;/exclude&gt;
+                            &lt;exclude&gt;org/apache/commons/jexl2/**/*Test.class&lt;/exclude&gt;
+                        &lt;/excludes&gt;
                     &lt;xmlOutput&gt;true&lt;/xmlOutput&gt;
                     &lt;!-- Optional directory to put findbugs xdoc xml report --&gt;
                     &lt;xmlOutputDirectory&gt;target/site&lt;/xmlOutputDirectory&gt;
@@ -257,7 +261,8 @@
                 &lt;configuration&gt;
                     &lt;targetJdk&gt;1.5&lt;/targetJdk&gt;
                     &lt;excludes&gt;
-                        &lt;exclude&gt;org/apache/commons/jexl/parser/*.java&lt;/exclude&gt;
+                        &lt;exclude&gt;org/apache/commons/jexl2/parser/*.class&lt;/exclude&gt;
+                        &lt;exclude&gt;org/apache/commons/jexl2/**/*Test.class&lt;/exclude&gt;
                     &lt;/excludes&gt;
                     &lt;rulesets&gt;
                         &lt;ruleset&gt;/rulesets/braces.xml&lt;/ruleset&gt;

Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java?rev=888877&amp;r1=888876&amp;r2=888877&amp;view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java (original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/Interpreter.java Wed
Dec  9 17:13:09 2009
@@ -78,7 +78,6 @@
 import org.apache.commons.jexl2.parser.Node;
 import org.apache.commons.jexl2.parser.ParserVisitor;
 
-import org.apache.commons.jexl2.util.AbstractExecutor;
 import org.apache.commons.jexl2.introspection.Uberspect;
 import org.apache.commons.jexl2.introspection.JexlMethod;
 import org.apache.commons.jexl2.introspection.JexlPropertyGet;
@@ -765,10 +764,10 @@
             // attempt to reuse last executor cached in volatile JexlNode.value
             if (cache) {
                 Object cached = node.jjtGetValue();
-                if (cached instanceof AbstractExecutor.Method) {
-                    AbstractExecutor.Method me = (AbstractExecutor.Method) cached;
-                    Object eval = me.tryExecute(methodName, data, argv);
-                    if (eval != AbstractExecutor.TRY_FAILED) {
+                if (cached instanceof JexlMethod) {
+                    JexlMethod me = (JexlMethod) cached;
+                    Object eval = me.tryInvoke(methodName, data, argv);
+                    if (!me.tryFailed(eval)) {
                         return eval;
                     }
                 }
@@ -857,10 +856,10 @@
             // attempt to reuse last executor cached in volatile JexlNode.value
             if (cache) {
                 Object cached = node.jjtGetValue();
-                if (cached instanceof AbstractExecutor.Method) {
-                    AbstractExecutor.Method me = (AbstractExecutor.Method) cached;
-                    Object eval = me.tryExecute(function, namespace, argv);
-                    if (eval != AbstractExecutor.TRY_FAILED) {
+                if (cached instanceof JexlMethod) {
+                    JexlMethod me = (JexlMethod) cached;
+                    Object eval = me.tryInvoke(function, namespace, argv);
+                    if (!me.tryFailed(eval)) {
                         return eval;
                     }
                 }
@@ -1157,10 +1156,10 @@
         // attempt to reuse last executor cached in volatile JexlNode.value
         if (node != null &amp;&amp; cache) {
             Object cached = node.jjtGetValue();
-            if (cached instanceof AbstractExecutor.Get) {
-                AbstractExecutor.Get vg = (AbstractExecutor.Get) cached;
-                Object value = vg.tryExecute(object, attribute);
-                if (value != AbstractExecutor.TRY_FAILED) {
+            if (cached instanceof JexlPropertyGet) {
+                JexlPropertyGet vg = (JexlPropertyGet) cached;
+                Object value = vg.tryInvoke(object, attribute);
+                if (!vg.tryFailed(value)) {
                     return value;
                 }
             }
@@ -1217,10 +1216,10 @@
         // attempt to reuse last executor cached in volatile JexlNode.value
         if (node != null &amp;&amp; cache) {
             Object cached = node.jjtGetValue();
-            if (cached instanceof AbstractExecutor.Set) {
-                AbstractExecutor.Set setter = (AbstractExecutor.Set) cached;
-                Object eval = setter.tryExecute(object, attribute, value);
-                if (eval != AbstractExecutor.TRY_FAILED) {
+            if (cached instanceof JexlPropertySet) {
+                JexlPropertySet setter = (JexlPropertySet) cached;
+                Object eval = setter.tryInvoke(object, attribute, value);
+                if (!setter.tryFailed(eval)) {
                     return;
                 }
             }

Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java?rev=888877&amp;r1=888876&amp;r2=888877&amp;view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java (original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlArithmetic.java Wed
Dec  9 17:13:09 2009
@@ -123,7 +123,7 @@
         }
         if (val instanceof String) {
             String string = (String) val;
-            return string.indexOf(".") != -1 || string.indexOf("e") != -1 || string.indexOf("E")
!= -1;
+            return string.indexOf('.') != -1 || string.indexOf('e') != -1 || string.indexOf('E')
!= -1;
         }
         return false;
     }

Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlEngine.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlEngine.java?rev=888877&amp;r1=888876&amp;r2=888877&amp;view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlEngine.java (original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/JexlEngine.java Wed Dec
 9 17:13:09 2009
@@ -849,7 +849,7 @@
                 se = stack[s];
                 String className = se.getClassName();
                 if (!className.equals(clazz.getName())) {
-                    // go deeper if called from JexlEngine, UnifiedJEXL or a Factory
+                    // go deeper if called from JexlEngine or UnifiedJEXL
                     if (className.equals(JexlEngine.class.getName())) {
                         clazz = JexlEngine.class;
                     } else if (className.equals(UnifiedJEXL.class.getName())) {

Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/JexlMethod.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/JexlMethod.java?rev=888877&amp;r1=888876&amp;r2=888877&amp;view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/JexlMethod.java
(original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/JexlMethod.java
Wed Dec  9 17:13:09 2009
@@ -30,7 +30,7 @@
  */
 public interface JexlMethod {
     /**
-     * invocation method - called when the method invocation should be performed
+     * Invocation method, called when the method invocation should be performed
      * and a value returned.
 
      * @param obj the object
@@ -39,7 +39,25 @@
      * @throws Exception on any error.
      */
     Object invoke(Object obj, Object[] params) throws Exception;
-    
+
+    /**
+     * Attempts to reuse this JexlMethod, checking that it is compatible with
+     * the actual set of arguments.
+     * @param obj the object to invoke the method upon
+     * @param name the method name
+     * @param params the method arguments
+     * @return the result of the method invocation that should be checked by tryFailed to
determine if it succeeded
+     * or failed.
+     */
+    Object tryInvoke(String name, Object obj, Object[] params);
+
+    /**
+     * Checks wether a tryExecute failed or not.
+     * @param rval the value returned by tryInvoke
+     * @return true if tryInvoke failed, false otherwise
+     */
+    boolean tryFailed(Object rval);
+
     /**
      * specifies if this JexlMethod is cacheable and able to be reused for this
      * class of object it was returned for.
@@ -49,12 +67,6 @@
     boolean isCacheable();
 
     /**
-     * Gets the method name used.
-     * @return method name
-     */
-    String getMethodName();
-
-    /**
      * returns the return type of the method invoked.
      * @return return type
      */

Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/JexlPropertyGet.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/JexlPropertyGet.java?rev=888877&amp;r1=888876&amp;r2=888877&amp;view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/JexlPropertyGet.java
(original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/JexlPropertyGet.java
Wed Dec  9 17:13:09 2009
@@ -29,15 +29,32 @@
  */
 public interface JexlPropertyGet {
     /**
-     * invocation method - called when the 'get action' should be performed and
-     * a value returned.
-     * @param obj the object to get the property from.
+     * Method used to get the property value of an object.
+     * 
+     * @param obj the object to get the property value from.
      * @return the property value.
      * @throws Exception on any error.
      */
     Object invoke(Object obj) throws Exception;
 
     /**
+     * Attempts to reuse this JexlPropertyGet, checking that it is compatible with
+     * the actual set of arguments.
+     * @param obj the object to invoke the property get upon
+     * @param key the property key to get
+     * @return the result of the method invocation that should be checked by tryFailed to
determine if it succeeded
+     * or failed.
+     */
+    Object tryInvoke(Object obj, Object key);
+
+    /**
+     * Checks wether a tryExecute failed or not.
+     * @param rval the value returned by tryInvoke
+     * @return true if tryInvoke failed, false otherwise
+     */
+    boolean tryFailed(Object rval);
+
+    /**
      * Specifies if this JexlPropertyGet is cacheable and able to be reused for
      * this class of object it was returned for.
      *
@@ -46,12 +63,6 @@
     boolean isCacheable();
 
     /**
-     * returns the method name used to return this 'property'.
-     * @return the method name.
-     */
-    String getMethodName();
-
-    /**
      * Tell whether the method underlying this 'property' is alive by
      * checking to see if represents a successful name resolution.
      *

Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/JexlPropertySet.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/JexlPropertySet.java?rev=888877&amp;r1=888876&amp;r2=888877&amp;view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/JexlPropertySet.java
(original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/JexlPropertySet.java
Wed Dec  9 17:13:09 2009
@@ -29,26 +29,39 @@
  */
 public interface JexlPropertySet {
     /**
-     * method used to set the value in the object.
+     * Method used to set the property value of an object.
      * 
-     * @param o Object on which the method will be called with the arg
+     * @param obj Object on which the property setter will be called with the value
      * @param arg value to be set
      * @return the value returned from the set operation (impl specific)
      * @throws Exception on any error.
      */
-    Object invoke(Object o, Object arg) throws Exception;
+    Object invoke(Object obj, Object arg) throws Exception;
 
     /**
-     * specifies if this JexlPropertySet is cacheable and able to be reused for
+     * Attempts to reuse this JexlPropertySet, checking that it is compatible with
+     * the actual set of arguments.
+     * @param obj the object to invoke the the get upon
+     * @param key the property key to get
+     * @param value the property value to set
+     * @return the result of the method invocation that should be checked by tryFailed to
determine if it succeeded
+     * or failed.
+     */
+    Object tryInvoke(Object obj, Object key, Object value);
+
+    /**
+     * Checks wether a tryInvoke failed or not.
+     * @param rval the value returned by tryInvoke
+     * @return true if tryExecute failed, false otherwise
+     */
+    boolean tryFailed(Object rval);
+    
+    /**
+     * Specifies if this JexlPropertySet is cacheable and able to be reused for
      * this class of object it was returned for.
      * 
      * @return true if can be reused for this class, false if not
      */
     boolean isCacheable();
 
-    /**
-     * returns the method name used to set this 'property'.
-     * @return the method name.
-     */
-    String getMethodName();
 }

Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/package.html
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/package.html?rev=888877&amp;r1=888876&amp;r2=888877&amp;view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/package.html
(original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/introspection/package.html
Wed Dec  9 17:13:09 2009
@@ -1,35 +1,34 @@
 &lt;html&gt;
-&lt;!--
-   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
+    &lt;!--
+       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
 
-       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.
---&gt;
- &lt;head&gt;
-  &lt;title&gt;Package Documentation for org.apache.commons.jexl2.introspection Package&lt;/title&gt;
- &lt;/head&gt;
- &lt;body bgcolor="white"&gt;
-  Provides high-level introspective services.
-  &lt;br/&gt;
-  &lt;p&gt;
-  The Uberspect, JexlMethod, JexlPropertyGet and JexlPropertySet interfaces
-  form the exposed face of introspective services.
-  &lt;/p&gt;
-  &lt;p&gt;
-  The Uberspectimpl is the concrete class implementing the Uberspect interface.
-  Deriving from this class is the preferred way of augmenting Jexl introspective
-  capabilities when special needs to be fullfilled or when default behaviors
-  need to be modified.
-  &lt;/p&gt;
-&lt;/body&gt;
+       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.
+    --&gt;
+    &lt;head&gt;
+        &lt;title&gt;Package Documentation for org.apache.commons.jexl2.introspection Package&lt;/title&gt;
+    &lt;/head&gt;
+    &lt;body bgcolor="white"&gt;
+        &lt;h2&gt;Provides high-level introspective services.&lt;/h2&gt;
+        &lt;p&gt;
+            The Uberspect, JexlMethod, JexlPropertyGet and JexlPropertySet interfaces
+            form the exposed face of introspective services.
+        &lt;/p&gt;
+        &lt;p&gt;
+            The Uberspectimpl is the concrete class implementing the Uberspect interface.
+            Deriving from this class is the preferred way of augmenting Jexl introspective
+            capabilities when special needs to be fullfilled or when default behaviors
+            need to be modified.
+        &lt;/p&gt;
+    &lt;/body&gt;
 &lt;/html&gt;

Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/package.html
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/package.html?rev=888877&amp;r1=888876&amp;r2=888877&amp;view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/package.html (original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/package.html Wed Dec
 9 17:13:09 2009
@@ -43,11 +43,10 @@
             {@link org.apache.commons.jexl2.JexlContext}.
             An Expression is created using
             {@link org.apache.commons.jexl2.JexlEngine#createExpression(java.lang.String)},
-            passing a String containing valid JEXL syntax.  A JexlContext is created using
-            {@link org.apache.commons.jexl2.JexlHelper#createContext()},
-            and variables are put into a map exposed through the
-            {@link org.apache.commons.jexl2.JexlContext#getVars()}
-            method on JexlContext.  The following example, takes a variable named foo, and
+            passing a String containing valid JEXL syntax.  A simple JexlContext can be created
using
+            a {@link org.apache.commons.jexl2.MapContext} instance;
+            a map of variables that will be internally wrapped can be optionally provided
through its constructor.
+            The following example, takes a variable named foo, and
             invokes the bar() method on the property innerFoo:
         &lt;/p&gt;
         &lt;pre&gt;
@@ -58,13 +57,14 @@
             Expression e = jexl.createExpression( jexlExp );
 
             // Create a context and add data
-            JexlContext jc = new JexlContext.Mapped();
+            JexlContext jc = new MapContext();
             jc.set("foo", new Foo() );
 
             // Now evaluate the expression, getting the result
             Object o = e.evaluate(jc);
         &lt;/pre&gt;
 
+
         &lt;h2&gt;&lt;a name="usage"&gt;Using JEXL&lt;/a&gt;&lt;/h2&gt;
         The API is composed of three levels addressing different functional needs:
         &lt;ul&gt;
@@ -73,6 +73,23 @@
             &lt;li&gt;JSP/JSF like expression known as UnifiedJEXL expressions&lt;/li&gt;
         &lt;/ul&gt;
 
+        &lt;h3&gt;&lt;a name="usage_note"&gt;Important note&lt;/a&gt;&lt;/h3&gt;
+            The only public packages you should use are:
+        &lt;ul&gt;
+            &lt;li&gt;org.apache.commons.jexl2&lt;/li&gt;
+            &lt;li&gt;org.apache.commons.jexl2.introspection&lt;/li&gt;
+        &lt;/ul&gt;
+            The following packages follow a "use at your own maintenance cost" policy.
+            Their classes and methods are not guaranteed to remain compatible in subsequent
versions.
+            If you think you need to use some of their features, it might be a good idea
to check with
+            the community through the mailing list first.
+       &lt;ul&gt;
+            &lt;li&gt;org.apache.commons.jexl2.parser&lt;/li&gt;
+            &lt;li&gt;org.apache.commons.jexl2.scripting&lt;/li&gt;
+            &lt;li&gt;org.apache.commons.jexl2.util&lt;/li&gt;
+            &lt;li&gt;org.apache.commons.jexl2.util.introspection&lt;/li&gt;
+        &lt;/ul&gt;
+
         &lt;h3&gt;&lt;a name="usage_api"&gt;Dynamic invocation&lt;/a&gt;&lt;/h3&gt;
         &lt;p&gt;
             These functionalities are close to the core level utilities found in
@@ -134,7 +151,7 @@
         &lt;pre&gt;
             JexlEngine jexl = nex JexlEngine();
 
-            JexlContext jc = new JexlContext.Mapped();
+            JexlContext jc = new MapContext();
             jc.set("quuxClass", quux.class);
 
             Expression create = jexl.createExpression("quux = new(quuxClass, 'xuuq', 100)");
@@ -219,7 +236,7 @@
             JexlEngine jexl = new JexlEngine();
             jexl.setFunctions(funcs);
 
-            JexlContext jc = new JexlContext.Mapped();
+            JexlContext jc = new MapContext();
             jc.set("pi", Math.PI);
 
             e = JEXL.createExpression("math:cos(pi)");
@@ -249,7 +266,7 @@
             for variable contexts or add factory based support to the 'new' operator.
         &lt;/p&gt;
         &lt;p&gt;
-            {@link org.apache.commons.jexl2.util.introspection.UberspectImpl}
+            {@link org.apache.commons.jexl2.introspection.UberspectImpl}
             is the class to derive if you need to add introspection or reflection capabilities
for some objects.
             For instance, being able to expose and manipulate public fields instead of Java-beans
conventions.
         &lt;/p&gt;

Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/package.html
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/package.html?rev=888877&amp;r1=888876&amp;r2=888877&amp;view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/package.html (original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/parser/package.html Wed
Dec  9 17:13:09 2009
@@ -1,34 +1,31 @@
 &lt;html&gt;
-&lt;!--
-   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
+    &lt;!--
+       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
+           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.
---&gt;
- &lt;head&gt;
-  &lt;title&gt;Package Documentation for org.apache.commons.jexl2.parser Package&lt;/title&gt;
- &lt;/head&gt;
- &lt;body bgcolor="white"&gt;
-  Contains the Parser for JEXL script.
-  &lt;br/&gt;&lt;br/&gt;
-  &lt;p&gt;
-   &lt;ul&gt;
-    &lt;li&gt;&lt;a href="#intro"&gt;Introduction&lt;/a&gt;&lt;/li&gt;
-   &lt;/ul&gt;
-  &lt;/p&gt;
-  &lt;h2&gt;&lt;a name="intro"&gt;Introduction&lt;/a&gt;&lt;/h2&gt;
-  &lt;p&gt;
-   This package contains the Parser for JEXL script.
-  &lt;/p&gt;
-&lt;/body&gt;
+       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.
+    --&gt;
+    &lt;head&gt;
+        &lt;title&gt;Package Documentation for org.apache.commons.jexl2.parser Package&lt;/title&gt;
+    &lt;/head&gt;
+    &lt;body bgcolor="white"&gt;
+        &lt;p&gt;
+            Contains the Parser for JEXL script.
+        &lt;/p&gt;
+        &lt;p&gt;
+            This internal package is not intended for public usage and there is &lt;b&gt;no&lt;/b&gt;
+            guarantee that its public classes or methods will remain as is in subsequent
+            versions.
+        &lt;p/&gt;
+    &lt;/body&gt;
 &lt;/html&gt;

Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/scripting/package.html
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/scripting/package.html?rev=888877&amp;r1=888876&amp;r2=888877&amp;view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/scripting/package.html
(original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/scripting/package.html
Wed Dec  9 17:13:09 2009
@@ -1,34 +1,31 @@
 &lt;html&gt;
-&lt;!--
-   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
+    &lt;!--
+       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
+           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.
---&gt;
- &lt;head&gt;
-  &lt;title&gt;Package Documentation for org.apache.commons.jexl2.scripting Package&lt;/title&gt;
- &lt;/head&gt;
- &lt;body bgcolor="white"&gt;
-  Contains the JSR-223 Scripting Engine for JEXL script.
-  &lt;br/&gt;&lt;br/&gt;
-  &lt;p&gt;
-   &lt;ul&gt;
-    &lt;li&gt;&lt;a href="#intro"&gt;Introduction&lt;/a&gt;&lt;/li&gt;
-   &lt;/ul&gt;
-  &lt;/p&gt;
-  &lt;h2&gt;&lt;a name="intro"&gt;Introduction&lt;/a&gt;&lt;/h2&gt;
-  &lt;p&gt;
-   This package contains the JSR-223 Scripting Engine for JEXL script.
-  &lt;/p&gt;
-&lt;/body&gt;
+       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.
+    --&gt;
+    &lt;head&gt;
+        &lt;title&gt;Package Documentation for org.apache.commons.jexl2.scripting Package&lt;/title&gt;
+    &lt;/head&gt;
+    &lt;body bgcolor="white"&gt;
+        &lt;p&gt;
+        Contains the JSR-223 Scripting Engine for JEXL script.
+        &lt;/p&gt;
+        &lt;p&gt;
+            This internal package is not intended for public usage and there is &lt;b&gt;no&lt;/b&gt;
+            guarantee that its public classes or methods will remain as is in subsequent
+            versions.
+        &lt;p/&gt;
+    &lt;/body&gt;
 &lt;/html&gt;

Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/util/AbstractExecutor.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/util/AbstractExecutor.java?rev=888877&amp;r1=888876&amp;r2=888877&amp;view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/util/AbstractExecutor.java
(original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/util/AbstractExecutor.java
Wed Dec  9 17:13:09 2009
@@ -171,6 +171,16 @@
         return method.getName();
     }
 
+
+    /**
+     * Checks wether a tryExecute failed or not.
+     * @param exec the value returned by tryExecute
+     * @return true if tryExecute failed, false otherwise
+     */
+    public final boolean tryFailed(Object exec) {
+        return exec == TRY_FAILED;
+    }
+
     /**
      * Abstract class that is used to execute an arbitrary 'get' method.
      */
@@ -188,6 +198,11 @@
         public final Object invoke(Object obj) throws Exception {
             return execute(obj);
         }
+        
+        /** {@inheritDoc} */
+        public final Object tryInvoke(Object obj, Object key) {
+            return tryExecute(obj, key);
+        }
 
         /**
          * Gets the property value from an object.
@@ -232,10 +247,15 @@
         }
 
         /** {@inheritDoc} */
-        public Object invoke(Object obj, Object arg) throws Exception {
+        public final Object invoke(Object obj, Object arg) throws Exception {
             return execute(obj, arg);
         }
 
+        /** {@inheritDoc} */
+        public final Object tryInvoke(Object obj, Object key, Object value) {
+            return tryExecute(obj, key, value);
+        }
+
         /**
          * Sets the property value of an object.
          *
@@ -311,6 +331,11 @@
         }
 
         /** {@inheritDoc} */
+        public final Object tryInvoke(String name, Object obj, Object[] params) {
+            return tryExecute(name, obj, params);
+        }
+
+        /** {@inheritDoc} */
         @Override
         public Object getTargetProperty() {
             return key;
@@ -342,7 +367,7 @@
          * @param obj the object to invoke the method upon
          * @param name the method name
          * @param args the method arguments
-         * @return the result of the method invocation or INVOKE_FAILED if checking failed.
+         * @return the result of the method invocation or TRY_FAILED if checking failed.
          */
         public Object tryExecute(String name, Object obj, Object[] args){
             return TRY_FAILED;

Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/util/introspection/package.html
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/util/introspection/package.html?rev=888877&amp;r1=888876&amp;r2=888877&amp;view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/util/introspection/package.html
(original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/util/introspection/package.html
Wed Dec  9 17:13:09 2009
@@ -1,36 +1,39 @@
 &lt;html&gt;
-&lt;!--
-   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
+    &lt;!--
+       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
+           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.
---&gt;
- &lt;head&gt;
-  &lt;title&gt;Package Documentation for org.apache.commons.jexl2.introspection Package&lt;/title&gt;
- &lt;/head&gt;
- &lt;body bgcolor="white"&gt;
-  Provides low-level introspective services.
-  &lt;br/&gt;
-  &lt;h2&gt;&lt;a name="low"&gt;Low level&lt;/a&gt;&lt;/h2&gt;
-  &lt;p&gt;
-  The IntrospectorBase, ClassMap, MethodKey, MethodMap form the
-  base of the introspection service. They allow to describe classes and their
-  methods, keeping them in a cache (@see IntrospectorBase) to speed up property
-  getters/setters and method discovery used during expression evaluation.
-  &lt;/p&gt;
-  &lt;p&gt;
-  The cache materialized in Introspector creates one entry per class containing a map of
all
-  accessible public methods keyed by name and signature.
-  &lt;/p&gt;
-&lt;/body&gt;
+       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.
+    --&gt;
+    &lt;head&gt;
+        &lt;title&gt;Package Documentation for org.apache.commons.jexl2.introspection Package&lt;/title&gt;
+    &lt;/head&gt;
+    &lt;body bgcolor="white"&gt;
+        Provides low-level introspective services.
+        &lt;p&gt;
+            This internal package is not intended for public usage and there is &lt;b&gt;no&lt;/b&gt;
+            guarantee that its public classes or methods will remain as is in subsequent
+            versions.
+        &lt;/p&gt;
+        &lt;p&gt;
+            The IntrospectorBase, ClassMap, MethodKey, MethodMap form the
+            base of the introspection service. They allow to describe classes and their
+            methods, keeping them in a cache (@see IntrospectorBase) to speed up property
+            getters/setters and method discovery used during expression evaluation.
+        &lt;/p&gt;
+        &lt;p&gt;
+            The cache materialized in Introspector creates one entry per class containing
a map of all
+            accessible public methods keyed by name and signature.
+        &lt;/p&gt;
+    &lt;/body&gt;
 &lt;/html&gt;

Modified: commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/util/package.html
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/util/package.html?rev=888877&amp;r1=888876&amp;r2=888877&amp;view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/util/package.html (original)
+++ commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl2/util/package.html Wed
Dec  9 17:13:09 2009
@@ -1,33 +1,37 @@
 &lt;html&gt;
-&lt;!--
-   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
+    &lt;!--
+       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
+           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.
---&gt;
- &lt;head&gt;
-  &lt;title&gt;Package Documentation for org.apache.commons.jexl2 Package&lt;/title&gt;
- &lt;/head&gt;
- &lt;body bgcolor="white"&gt;
-  Provides utilities for introspection services.
-  &lt;br/&gt;&lt;br/&gt;
-  &lt;p&gt;
-  This set of classes implement the various forms of setters and getters
-  used by Jexl. These are specialized forms for 'pure' properties, discovering
-  methods of the {s,g}etProperty form, for Maps, Lists and Ducks -
-  attempting to discover a 'get' or 'set' method, making an object walk and
-  quack.
-  &lt;/p&gt;
-  
-&lt;/body&gt;
+       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.
+    --&gt;
+    &lt;head&gt;
+        &lt;title&gt;Package Documentation for org.apache.commons.jexl2 Package&lt;/title&gt;
+    &lt;/head&gt;
+    &lt;body bgcolor="white"&gt;
+        &lt;h2&gt;Provides utilities for introspection services.&lt;/h2&gt;
+        &lt;p&gt;
+            This internal package is not intended for public usage and there is &lt;b&gt;no&lt;/b&gt;
+            guarantee that its public classes or methods will remain as is in subsequent
+            versions.
+        &lt;p/&gt;
+        &lt;p&gt;
+            This set of classes implement the various forms of setters and getters
+            used by Jexl. These are specialized forms for 'pure' properties, discovering
+            methods of the {s,g}etProperty form, for Maps, Lists and Ducks -
+            attempting to discover a 'get' or 'set' method, making an object walk and
+            quack.
+        &lt;/p&gt;
+
+    &lt;/body&gt;
 &lt;/html&gt;

Modified: commons/proper/jexl/trunk/src/site/site.xml
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/site/site.xml?rev=888877&amp;r1=888876&amp;r2=888877&amp;view=diff
==============================================================================
--- commons/proper/jexl/trunk/src/site/site.xml (original)
+++ commons/proper/jexl/trunk/src/site/site.xml Wed Dec  9 17:13:09 2009
@@ -18,26 +18,26 @@
 &lt;project name="JEXL"&gt;
     &lt;bannerRight&gt;
         &lt;name&gt;Commons JEXL&lt;/name&gt;
-        &lt;src&gt;/images/jexl-logo-white.png&lt;/src&gt;
-        &lt;href&gt;/index.html&lt;/href&gt;
+        &lt;src&gt;images/jexl-logo-white.png&lt;/src&gt;
+        &lt;href&gt;index.html&lt;/href&gt;
     &lt;/bannerRight&gt;
 
     &lt;body&gt;
         &lt;menu name="Commons&amp;#xA0;Jexl"&gt;
-            &lt;item name="Overview"                href="/index.html" /&gt;
-            &lt;item name="2.0&amp;#xA0;Javadoc"        href="/apidocs/index.html"/&gt;
-            &lt;item name="1.1&amp;#xA0;Javadoc"        href="/apidocs-1.1/index.html"/&gt;
-            &lt;item name="Releases and Builds"     href="/releases.html"/&gt;
+            &lt;item name="Overview"                href="index.html" /&gt;
+            &lt;item name="2.0&amp;#xA0;Javadoc"        href="apidocs/index.html"/&gt;
+            &lt;item name="1.1&amp;#xA0;Javadoc"        href="apidocs-1.1/index.html"/&gt;
+            &lt;item name="Releases and Builds"     href="releases.html"/&gt;
             &lt;item name="Download"                href="http://commons.apache.org/downloads/download_jexl.cgi"/&gt;
-            &lt;item name="Reference"               href="/reference/index.html"/&gt;
+            &lt;item name="Reference"               href="reference/index.html"/&gt;
             &lt;item name="JEXL Wiki"               href="http://wiki.apache.org/commons/JEXL"/&gt;
         &lt;/menu&gt;
 
         &lt;menu name="Development"&gt;
-            &lt;item name="Mailing Lists"           href="/mail-lists.html"/&gt;
-            &lt;item name="Issue Tracking"          href="/issue-tracking.html"/&gt;
-            &lt;item name="Source Repository"       href="/source-repository.html"/&gt;
-            &lt;item name="Building"                href="/building.html"/&gt;
+            &lt;item name="Mailing Lists"           href="mail-lists.html"/&gt;
+            &lt;item name="Issue Tracking"          href="issue-tracking.html"/&gt;
+            &lt;item name="Source Repository"       href="source-repository.html"/&gt;
+            &lt;item name="Building"                href="building.html"/&gt;
             &lt;item name="Javadoc (SVN latest)"    href="apidocs/index.html"/&gt;
         &lt;/menu&gt;
 

Modified: commons/proper/jexl/trunk/xdocs/index.xml
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/xdocs/index.xml?rev=888877&amp;r1=888876&amp;r2=888877&amp;view=diff
==============================================================================
--- commons/proper/jexl/trunk/xdocs/index.xml (original)
+++ commons/proper/jexl/trunk/xdocs/index.xml Wed Dec  9 17:13:09 2009
@@ -85,17 +85,15 @@
         &lt;section name="A Brief Example"&gt;
             &lt;p&gt;
             When evaluating expressions, JEXL merges an
-                &lt;a href="http://commons.apache.org/jexl/apidocs/org/apache/commons/jexl/Expression.html"&gt;Expression&lt;/a&gt;
+                &lt;a href="http://commons.apache.org/jexl/apidocs/org/apache/commons/jexl2/Expression.html"&gt;Expression&lt;/a&gt;
             with a
-                &lt;a href="http://commons.apache.org/jexl/apidocs/org/apache/commons/jexl/JexlContext.html"&gt;JexlContext&lt;/a&gt;.
+                &lt;a href="http://commons.apache.org/jexl/apidocs/org/apache/commons/jexl2/JexlContext.html"&gt;JexlContext&lt;/a&gt;.
             An Expression is created using
-                &lt;a href="http://commons.apache.org/jexl/apidocs/org/apache/commons/jexl/JexlEngine.html#createExpression(java.lang.String)"&gt;ExpressionFactory.createExpression()&lt;/a&gt;,
-            passing a String containing valid JEXL syntax.  A JexlContext is created using
-                &lt;a href="http://commons.apache.org/jexl/apidocs/org/apache/commons/jexl/JexlHelper.html#createContext()"&gt;new
JexlContext.Mapped()&lt;/a&gt;,
-            and variables are put into a map exposed through the
-                &lt;a href="http://commons.apache.org/jexl/apidocs/org/apache/commons/jexl/JexlContext.html#getVars()"&gt;getVars()&lt;/a&gt;
-            method on JexlContext.  The following example, takes a variable named foo, and
-            invokes the bar() method on the property innerFoo:
+                &lt;a href="http://commons.apache.org/jexl/apidocs/org/apache/commons/jexl2/JexlEngine.html#createExpression(java.lang.String)"&gt;ExpressionFactory.createExpression()&lt;/a&gt;,
+            passing a String containing valid JEXL syntax.  A JexlContext can be created
using a
+                &lt;a href="http://commons.apache.org/jexl/apidocs/org/apache/commons/jexl2/MapContext.html"&gt;new
MapContext.Mapped()&lt;/a&gt;;
+            a map of variables that will be internally wrapped can be optionally provided
through its constructor.
+            The following example, takes a variable named foo, and invokes the bar() method
on the property innerFoo:
             &lt;/p&gt;
 
             &lt;source&gt;&lt;![CDATA[
@@ -106,7 +104,7 @@
             Expression e = jexl.createExpression( jexlExp );
 
             // Create a context and add data
-            JexlContext jc = new JexlContext.Mapped();
+            JexlContext jc = new MapContext();
             jc.set("foo", new Foo() );
 
             // Now evaluate the expression, getting the result




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r888744 - in /commons/sandbox/runtime/trunk/src/main/native: configure os/linux/fasync.c</title>
<author><name>mturk@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091209091554.E371F23889E1@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091209091554-E371F23889E1@eris-apache-org%3e</id>
<updated>2009-12-09T09:15:54Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: mturk
Date: Wed Dec  9 09:15:53 2009
New Revision: 888744

URL: http://svn.apache.org/viewvc?rev=888744&amp;view=rev
Log:
Axe the libaio. We'll use posix aio

Modified:
    commons/sandbox/runtime/trunk/src/main/native/configure
    commons/sandbox/runtime/trunk/src/main/native/os/linux/fasync.c

Modified: commons/sandbox/runtime/trunk/src/main/native/configure
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/configure?rev=888744&amp;r1=888743&amp;r2=888744&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/configure (original)
+++ commons/sandbox/runtime/trunk/src/main/native/configure Wed Dec  9 09:15:53 2009
@@ -979,7 +979,6 @@
 if [ ".$host" = .windows ]; then
     have_ktmw32=`have_include 1 ktmw32`
     have_aio=0
-    have_libaio=0
     have_windows=1
     have_uuid_uuid=0
     have_off64t=0
@@ -989,11 +988,6 @@
     sizeof_off64_t=`check_sizeof off64_t 0`
     test ".$sizeof_off64_t" = .0 &amp;&amp; have_off64t=0
     have_aio=`have_include 0 aio`
-    have_libaio=`have_include 0 libaio`
-    if [ ".$have_libaio" = .1 ]; then
-        have_libaio=`have_library aio io_setup`
-        test ".$have_libaio" = .1 &amp;&amp; varadds ldflags -laio
-    fi
     have_windows=0
     have_uuid_uuid=`have_include 0 uuid/uuid`
     if [ ".$have_uuid_uuid" = .1 ]; then
@@ -1139,7 +1133,6 @@
 #define HAVE_WINDOWS_H        $have_windows
 #define HAVE_KTMW32_H         $have_ktmw32
 #define HAVE_AIO_H            $have_aio
-#define HAVE_LIBAIO_H         $have_libaio
 #define HAVE_UUID_UUID_H      $have_uuid_uuid
 #define HAVE_OPENSSL          $have_openssl
 #define HAVE_OCSP             $have_ocsp

Modified: commons/sandbox/runtime/trunk/src/main/native/os/linux/fasync.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/linux/fasync.c?rev=888744&amp;r1=888743&amp;r2=888744&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/linux/fasync.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/linux/fasync.c Wed Dec  9 09:15:53 2009
@@ -28,9 +28,8 @@
 
 /* AIO support
  */
-#if HAVE_LIBAIO_H
-#include &lt;sys/time.h&gt;
-#include &lt;libaio.h&gt;
+#if HAVE_AIO_H
+#include &lt;aio.h&gt;
 
 ACR_IO_EXPORT_DECLARE(jboolean, FileSystemIo, aio0)(ACR_JNISTDARGS)
 {
@@ -44,4 +43,4 @@
     return JNI_FALSE;    
 }
 
-#endif /* HAVE_LIBAIO_H */
+#endif /* HAVE_AIO_H */




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r888685 - in /commons/proper/math/trunk/src/test/java/org/apache/commons/math: genetics/GeneticAlgorithmTestPermutations.java linear/BlockRealMatrixTest.java linear/SparseRealMatrixTest.java</title>
<author><name>sebb@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091209023701.EA00523889D7@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091209023701-EA00523889D7@eris-apache-org%3e</id>
<updated>2009-12-09T02:37:01Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: sebb
Date: Wed Dec  9 02:37:00 2009
New Revision: 888685

URL: http://svn.apache.org/viewvc?rev=888685&amp;view=rev
Log:
Unnecessary casts

Modified:
    commons/proper/math/trunk/src/test/java/org/apache/commons/math/genetics/GeneticAlgorithmTestPermutations.java
    commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/BlockRealMatrixTest.java
    commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/SparseRealMatrixTest.java

Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math/genetics/GeneticAlgorithmTestPermutations.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/genetics/GeneticAlgorithmTestPermutations.java?rev=888685&amp;r1=888684&amp;r2=888685&amp;view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/genetics/GeneticAlgorithmTestPermutations.java
(original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/genetics/GeneticAlgorithmTestPermutations.java
Wed Dec  9 02:37:00 2009
@@ -112,7 +112,7 @@
             int res = 0;
             List&lt;Integer&gt; decoded = decode(sequence);
             for (int i=0; i&lt;decoded.size(); i++) {
-                int value = (Integer) decoded.get(i);
+                int value = decoded.get(i);
                 if (value != i) {
                     // bad position found
                     res += Math.abs(value - i);

Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/BlockRealMatrixTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/BlockRealMatrixTest.java?rev=888685&amp;r1=888684&amp;r2=888685&amp;view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/BlockRealMatrixTest.java
(original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/BlockRealMatrixTest.java
Wed Dec  9 02:37:00 2009
@@ -980,8 +980,8 @@
 
     public void testEqualsAndHashCode() {
         BlockRealMatrix m = new BlockRealMatrix(testData);
-        BlockRealMatrix m1 = (BlockRealMatrix) m.copy();
-        BlockRealMatrix mt = (BlockRealMatrix) m.transpose();
+        BlockRealMatrix m1 = m.copy();
+        BlockRealMatrix mt = m.transpose();
         assertTrue(m.hashCode() != mt.hashCode());
         assertEquals(m.hashCode(), m1.hashCode());
         assertEquals(m, m);

Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/SparseRealMatrixTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/SparseRealMatrixTest.java?rev=888685&amp;r1=888684&amp;r2=888685&amp;view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/SparseRealMatrixTest.java
(original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/SparseRealMatrixTest.java
Wed Dec  9 02:37:00 2009
@@ -542,7 +542,7 @@
 
     public void testEqualsAndHashCode() {
         OpenMapRealMatrix m = createSparseMatrix(testData);
-        OpenMapRealMatrix m1 = (OpenMapRealMatrix) m.copy();
+        OpenMapRealMatrix m1 = m.copy();
         OpenMapRealMatrix mt = (OpenMapRealMatrix) m.transpose();
         assertTrue(m.hashCode() != mt.hashCode());
         assertEquals(m.hashCode(), m1.hashCode());




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r888684 - /commons/proper/math/trunk/src/test/java/org/apache/commons/math/ode/TestProblem3.java</title>
<author><name>sebb@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091209023629.5557323889D7@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091209023629-5557323889D7@eris-apache-org%3e</id>
<updated>2009-12-09T02:36:29Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: sebb
Date: Wed Dec  9 02:36:28 2009
New Revision: 888684

URL: http://svn.apache.org/viewvc?rev=888684&amp;view=rev
Log:
Unnecessary ;

Modified:
    commons/proper/math/trunk/src/test/java/org/apache/commons/math/ode/TestProblem3.java

Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math/ode/TestProblem3.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/ode/TestProblem3.java?rev=888684&amp;r1=888683&amp;r2=888684&amp;view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/ode/TestProblem3.java
(original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/ode/TestProblem3.java
Wed Dec  9 02:36:28 2009
@@ -113,7 +113,7 @@
       corr  = f0 * f12 / (f1 * f12 - f0 * f2);
       d -= corr;
       E = t + d;
-    };
+    }
 
     double cosE = Math.cos(E);
     double sinE = Math.sin(E);




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r888683 - in /commons/proper/math/trunk/src/test/java/org/apache/commons/math: linear/ ode/sampling/ random/ stat/inference/</title>
<author><name>sebb@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091209023412.887FC23889D7@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091209023412-887FC23889D7@eris-apache-org%3e</id>
<updated>2009-12-09T02:34:12Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: sebb
Date: Wed Dec  9 02:34:11 2009
New Revision: 888683

URL: http://svn.apache.org/viewvc?rev=888683&amp;view=rev
Log:
Tab police

Modified:
    commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/BlockFieldMatrixTest.java
    commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/BlockRealMatrixTest.java
    commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/EigenDecompositionImplTest.java
    commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/FieldMatrixImplTest.java
    commons/proper/math/trunk/src/test/java/org/apache/commons/math/ode/sampling/DummyStepInterpolatorTest.java
    commons/proper/math/trunk/src/test/java/org/apache/commons/math/random/RandomDataTest.java
    commons/proper/math/trunk/src/test/java/org/apache/commons/math/stat/inference/ChiSquareFactoryTest.java
    commons/proper/math/trunk/src/test/java/org/apache/commons/math/stat/inference/TTestFactoryTest.java

Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/BlockFieldMatrixTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/BlockFieldMatrixTest.java?rev=888683&amp;r1=888682&amp;r2=888683&amp;view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/BlockFieldMatrixTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/BlockFieldMatrixTest.java Wed Dec  9 02:34:11 2009
@@ -589,7 +589,7 @@
             if (reference != null) {
                 assertEquals(new BlockFieldMatrix&lt;Fraction&gt;(reference), sub);
             } else {
-            	fail("Expecting MatrixIndexException");
+                fail("Expecting MatrixIndexException");
             }
         } catch (MatrixIndexException e) {
             if (reference != null) {
@@ -647,9 +647,9 @@
                              new Fraction[reference.length][reference[0].length];
             m.copySubMatrix(startRow, endRow, startColumn, endColumn, sub);
             if (reference != null) {
-            	assertEquals(new BlockFieldMatrix&lt;Fraction&gt;(reference), new BlockFieldMatrix&lt;Fraction&gt;(sub));
+                assertEquals(new BlockFieldMatrix&lt;Fraction&gt;(reference), new BlockFieldMatrix&lt;Fraction&gt;(sub));
             } else {
-            	fail("Expecting MatrixIndexException");
+                fail("Expecting MatrixIndexException");
             }
         } catch (MatrixIndexException e) {
             if (reference != null) {
@@ -666,9 +666,9 @@
                     new Fraction[reference.length][reference[0].length];
             m.copySubMatrix(selectedRows, selectedColumns, sub);
             if (reference != null) {
-            	assertEquals(new BlockFieldMatrix&lt;Fraction&gt;(reference), new BlockFieldMatrix&lt;Fraction&gt;(sub));
+                assertEquals(new BlockFieldMatrix&lt;Fraction&gt;(reference), new BlockFieldMatrix&lt;Fraction&gt;(sub));
             } else {
-            	fail("Expecting MatrixIndexException");
+                fail("Expecting MatrixIndexException");
             }
         } catch (MatrixIndexException e) {
             if (reference != null) {

Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/BlockRealMatrixTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/BlockRealMatrixTest.java?rev=888683&amp;r1=888682&amp;r2=888683&amp;view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/BlockRealMatrixTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/BlockRealMatrixTest.java Wed Dec  9 02:34:11 2009
@@ -498,9 +498,9 @@
         try {
             RealMatrix sub = m.getSubMatrix(startRow, endRow, startColumn, endColumn);
             if (reference != null) {
-            	 assertEquals(new BlockRealMatrix(reference), sub);
+                assertEquals(new BlockRealMatrix(reference), sub);
             } else {
-            	fail("Expecting MatrixIndexException");
+                fail("Expecting MatrixIndexException");
             }
         } catch (MatrixIndexException e) {
             if (reference != null) {
@@ -514,9 +514,9 @@
         try {
             RealMatrix sub = m.getSubMatrix(selectedRows, selectedColumns);
             if (reference != null) {
-            	assertEquals(new BlockRealMatrix(reference), sub);
+                assertEquals(new BlockRealMatrix(reference), sub);
             } else {
-            	fail("Expecting MatrixIndexException");
+                fail("Expecting MatrixIndexException");
             }
         } catch (MatrixIndexException e) {
             if (reference != null) {
@@ -572,9 +572,9 @@
                              new double[reference.length][reference[0].length];
             m.copySubMatrix(startRow, endRow, startColumn, endColumn, sub);
             if (reference != null) {
-            	assertEquals(new BlockRealMatrix(reference), new BlockRealMatrix(sub));
+                assertEquals(new BlockRealMatrix(reference), new BlockRealMatrix(sub));
             } else {
-            	fail("Expecting MatrixIndexException");
+                fail("Expecting MatrixIndexException");
             }
         } catch (MatrixIndexException e) {
             if (reference != null) {
@@ -591,9 +591,9 @@
                     new double[reference.length][reference[0].length];
             m.copySubMatrix(selectedRows, selectedColumns, sub);
             if (reference != null) {
-            	assertEquals(new BlockRealMatrix(reference), new BlockRealMatrix(sub));
+                assertEquals(new BlockRealMatrix(reference), new BlockRealMatrix(sub));
             } else {
-            	fail("Expecting MatrixIndexException");
+                fail("Expecting MatrixIndexException");
             }
         } catch (MatrixIndexException e) {
             if (reference != null) {

Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/EigenDecompositionImplTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/EigenDecompositionImplTest.java?rev=888683&amp;r1=888682&amp;r2=888683&amp;view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/EigenDecompositionImplTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/EigenDecompositionImplTest.java Wed Dec  9 02:34:11 2009
@@ -145,31 +145,31 @@
     public void testMathpbx02() {
 
         double[] mainTridiagonal = {
-        	  7484.860960227216, 18405.28129035345, 13855.225609560746,
-        	 10016.708722343366, 559.8117399576674, 6750.190788301587, 
-        	    71.21428769782159
+              7484.860960227216, 18405.28129035345, 13855.225609560746,
+             10016.708722343366, 559.8117399576674, 6750.190788301587, 
+                71.21428769782159
         };
         double[] secondaryTridiagonal = {
-        	 -4175.088570476366,1975.7955858241994,5193.178422374075, 
-        	  1995.286659169179,75.34535882933804,-234.0808002076056
+             -4175.088570476366,1975.7955858241994,5193.178422374075, 
+              1995.286659169179,75.34535882933804,-234.0808002076056
         };
 
         // the reference values have been computed using routine DSTEMR
         // from the fortran library LAPACK version 3.2.1
         double[] refEigenValues = {
-        		20654.744890306974412,16828.208208485466457,
-        		6893.155912634994820,6757.083016675340332,
-        		5887.799885688558788,64.309089923240379,
-        		57.992628792736340
+                20654.744890306974412,16828.208208485466457,
+                6893.155912634994820,6757.083016675340332,
+                5887.799885688558788,64.309089923240379,
+                57.992628792736340
         };
         RealVector[] refEigenVectors = {
-        		new ArrayRealVector(new double[] {-0.270356342026904, 0.852811091326997, 0.399639490702077, 0.198794657813990, 0.019739323307666, 0.000106983022327, -0.000001216636321}),
-        		new ArrayRealVector(new double[] {0.179995273578326,-0.402807848153042,0.701870993525734,0.555058211014888,0.068079148898236,0.000509139115227,-0.000007112235617}),
-        		new ArrayRealVector(new double[] {-0.399582721284727,-0.056629954519333,-0.514406488522827,0.711168164518580,0.225548081276367,0.125943999652923,-0.004321507456014}),
-        		new ArrayRealVector(new double[] {0.058515721572821,0.010200130057739,0.063516274916536,-0.090696087449378,-0.017148420432597,0.991318870265707,-0.034707338554096}),
-        		new ArrayRealVector(new double[] {0.855205995537564,0.327134656629775,-0.265382397060548,0.282690729026706,0.105736068025572,-0.009138126622039,0.000367751821196}),
-        		new ArrayRealVector(new double[] {-0.002913069901144,-0.005177515777101,0.041906334478672,-0.109315918416258,0.436192305456741,0.026307315639535,0.891797507436344}),
-        		new ArrayRealVector(new double[] {-0.005738311176435,-0.010207611670378,0.082662420517928,-0.215733886094368,0.861606487840411,-0.025478530652759,-0.451080697503958})
+                new ArrayRealVector(new double[] {-0.270356342026904, 0.852811091326997, 0.399639490702077, 0.198794657813990, 0.019739323307666, 0.000106983022327, -0.000001216636321}),
+                new ArrayRealVector(new double[] {0.179995273578326,-0.402807848153042,0.701870993525734,0.555058211014888,0.068079148898236,0.000509139115227,-0.000007112235617}),
+                new ArrayRealVector(new double[] {-0.399582721284727,-0.056629954519333,-0.514406488522827,0.711168164518580,0.225548081276367,0.125943999652923,-0.004321507456014}),
+                new ArrayRealVector(new double[] {0.058515721572821,0.010200130057739,0.063516274916536,-0.090696087449378,-0.017148420432597,0.991318870265707,-0.034707338554096}),
+                new ArrayRealVector(new double[] {0.855205995537564,0.327134656629775,-0.265382397060548,0.282690729026706,0.105736068025572,-0.009138126622039,0.000367751821196}),
+                new ArrayRealVector(new double[] {-0.002913069901144,-0.005177515777101,0.041906334478672,-0.109315918416258,0.436192305456741,0.026307315639535,0.891797507436344}),
+                new ArrayRealVector(new double[] {-0.005738311176435,-0.010207611670378,0.082662420517928,-0.215733886094368,0.861606487840411,-0.025478530652759,-0.451080697503958})
         };
 
         // the following line triggers the exception

Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/FieldMatrixImplTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/FieldMatrixImplTest.java?rev=888683&amp;r1=888682&amp;r2=888683&amp;view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/FieldMatrixImplTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/FieldMatrixImplTest.java Wed Dec  9 02:34:11 2009
@@ -385,9 +385,9 @@
         try {
             FieldMatrix&lt;Fraction&gt; sub = m.getSubMatrix(startRow, endRow, startColumn, endColumn);
             if (reference != null) {
-            	assertEquals(new Array2DRowFieldMatrix&lt;Fraction&gt;(reference), sub);
+                assertEquals(new Array2DRowFieldMatrix&lt;Fraction&gt;(reference), sub);
             } else {
-            	fail("Expecting MatrixIndexException");
+                fail("Expecting MatrixIndexException");
             }
         } catch (MatrixIndexException e) {
             if (reference != null) {
@@ -401,9 +401,9 @@
         try {
             FieldMatrix&lt;Fraction&gt; sub = m.getSubMatrix(selectedRows, selectedColumns);
             if (reference != null) {
-            	assertEquals(new Array2DRowFieldMatrix&lt;Fraction&gt;(reference), sub);
+                assertEquals(new Array2DRowFieldMatrix&lt;Fraction&gt;(reference), sub);
             } else {
-            	fail("Expecting MatrixIndexException");
+                fail("Expecting MatrixIndexException");
             }
         } catch (MatrixIndexException e) {
             if (reference != null) {
@@ -440,9 +440,9 @@
                              new Fraction[reference.length][reference[0].length];
             m.copySubMatrix(startRow, endRow, startColumn, endColumn, sub);
             if (reference != null) {
-            	assertEquals(new Array2DRowFieldMatrix&lt;Fraction&gt;(reference), new Array2DRowFieldMatrix&lt;Fraction&gt;(sub));
+                assertEquals(new Array2DRowFieldMatrix&lt;Fraction&gt;(reference), new Array2DRowFieldMatrix&lt;Fraction&gt;(sub));
             } else {
-            	fail("Expecting MatrixIndexException");
+                fail("Expecting MatrixIndexException");
             }
         } catch (MatrixIndexException e) {
             if (reference != null) {
@@ -459,9 +459,9 @@
                     new Fraction[reference.length][reference[0].length];
             m.copySubMatrix(selectedRows, selectedColumns, sub);
             if (reference != null) {
-            	assertEquals(new Array2DRowFieldMatrix&lt;Fraction&gt;(reference), new Array2DRowFieldMatrix&lt;Fraction&gt;(sub));
+                assertEquals(new Array2DRowFieldMatrix&lt;Fraction&gt;(reference), new Array2DRowFieldMatrix&lt;Fraction&gt;(sub));
             } else {
-            	fail("Expecting MatrixIndexException");
+                fail("Expecting MatrixIndexException");
             }
         } catch (MatrixIndexException e) {
             if (reference != null) {

Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math/ode/sampling/DummyStepInterpolatorTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/ode/sampling/DummyStepInterpolatorTest.java?rev=888683&amp;r1=888682&amp;r2=888683&amp;view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/ode/sampling/DummyStepInterpolatorTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/ode/sampling/DummyStepInterpolatorTest.java Wed Dec  9 02:34:11 2009
@@ -128,15 +128,15 @@
   }
 
   private static class BadStepInterpolator extends DummyStepInterpolator {
-	  @SuppressWarnings("unused")
-	  public BadStepInterpolator() {
-	  }
-	  public BadStepInterpolator(double[] y, boolean forward) {
-		  super(y, forward);
-	  }
-	  @Override
-	  protected void doFinalize()
-	  throws DerivativeException {
+      @SuppressWarnings("unused")
+      public BadStepInterpolator() {
+      }
+      public BadStepInterpolator(double[] y, boolean forward) {
+          super(y, forward);
+      }
+      @Override
+      protected void doFinalize()
+      throws DerivativeException {
           throw new DerivativeException(null);
       }
   }

Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math/random/RandomDataTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/random/RandomDataTest.java?rev=888683&amp;r1=888682&amp;r2=888683&amp;view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/random/RandomDataTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/random/RandomDataTest.java Wed Dec  9 02:34:11 2009
@@ -42,744 +42,744 @@
 
 public class RandomDataTest extends RetryTestCase {
 
-	public RandomDataTest(String name) {
-		super(name);
-		randomData = new RandomDataImpl();
-	}
-
-	protected long smallSampleSize = 1000;
-	protected double[] expected = { 250, 250, 250, 250 };
-	protected int largeSampleSize = 10000;
-	private String[] hex = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
-			"a", "b", "c", "d", "e", "f" };
-	protected RandomDataImpl randomData = null;
-	protected ChiSquareTestImpl testStatistic = new ChiSquareTestImpl();
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(RandomDataTest.class);
-		suite.setName("RandomData Tests");
-		return suite;
-	}
-
-	public void testNextIntExtremeValues() {
-		int x = randomData.nextInt(Integer.MIN_VALUE, Integer.MAX_VALUE);
-		int y = randomData.nextInt(Integer.MIN_VALUE, Integer.MAX_VALUE);
-		assertFalse(x == y);
-	}
-
-	public void testNextLongExtremeValues() {
-		long x = randomData.nextLong(Long.MIN_VALUE, Long.MAX_VALUE);
-		long y = randomData.nextLong(Long.MIN_VALUE, Long.MAX_VALUE);
-		assertFalse(x == y);
-	}
-
-	/** test dispersion and failure modes for nextInt() */
-	public void testNextInt() {
-		try {
-			randomData.nextInt(4, 3);
-			fail("IllegalArgumentException expected");
-		} catch (IllegalArgumentException ex) {
-			// ignored
-		}
-		Frequency freq = new Frequency();
-		int value = 0;
-		for (int i = 0; i &lt; smallSampleSize; i++) {
-			value = randomData.nextInt(0, 3);
-			assertTrue("nextInt range", (value &gt;= 0) &amp;&amp; (value &lt;= 3));
-			freq.addValue(value);
-		}
-		long[] observed = new long[4];
-		for (int i = 0; i &lt; 4; i++) {
-			observed[i] = freq.getCount(i);
-		}
-
-		/*
-		 * Use ChiSquare dist with df = 4-1 = 3, alpha = .001 Change to 11.34
-		 * for alpha = .01
-		 */
-		assertTrue("chi-square test -- will fail about 1 in 1000 times",
-				testStatistic.chiSquare(expected, observed) &lt; 16.27);
-	}
-
-	/** test dispersion and failure modes for nextLong() */
-	public void testNextLong() {
-		try {
-			randomData.nextLong(4, 3);
-			fail("IllegalArgumentException expected");
-		} catch (IllegalArgumentException ex) {
-			// ignored
-		}
-		Frequency freq = new Frequency();
-		long value = 0;
-		for (int i = 0; i &lt; smallSampleSize; i++) {
-			value = randomData.nextLong(0, 3);
-			assertTrue("nextInt range", (value &gt;= 0) &amp;&amp; (value &lt;= 3));
-			freq.addValue(value);
-		}
-		long[] observed = new long[4];
-		for (int i = 0; i &lt; 4; i++) {
-			observed[i] = freq.getCount(i);
-		}
-
-		/*
-		 * Use ChiSquare dist with df = 4-1 = 3, alpha = .001 Change to 11.34
-		 * for alpha = .01
-		 */
-		assertTrue("chi-square test -- will fail about 1 in 1000 times",
-				testStatistic.chiSquare(expected, observed) &lt; 16.27);
-	}
-
-	/** test dispersion and failure modes for nextSecureLong() */
-	public void testNextSecureLong() {
-		try {
-			randomData.nextSecureLong(4, 3);
-			fail("IllegalArgumentException expected");
-		} catch (IllegalArgumentException ex) {
-			// ignored
-		}
-		Frequency freq = new Frequency();
-		long value = 0;
-		for (int i = 0; i &lt; smallSampleSize; i++) {
-			value = randomData.nextSecureLong(0, 3);
-			assertTrue("nextInt range", (value &gt;= 0) &amp;&amp; (value &lt;= 3));
-			freq.addValue(value);
-		}
-		long[] observed = new long[4];
-		for (int i = 0; i &lt; 4; i++) {
-			observed[i] = freq.getCount(i);
-		}
-
-		/*
-		 * Use ChiSquare dist with df = 4-1 = 3, alpha = .001 Change to 11.34
-		 * for alpha = .01
-		 */
-		assertTrue("chi-square test -- will fail about 1 in 1000 times",
-				testStatistic.chiSquare(expected, observed) &lt; 16.27);
-	}
-
-	/** test dispersion and failure modes for nextSecureInt() */
-	public void testNextSecureInt() {
-		try {
-			randomData.nextSecureInt(4, 3);
-			fail("IllegalArgumentException expected");
-		} catch (IllegalArgumentException ex) {
-			// ignored
-		}
-		Frequency freq = new Frequency();
-		int value = 0;
-		for (int i = 0; i &lt; smallSampleSize; i++) {
-			value = randomData.nextSecureInt(0, 3);
-			assertTrue("nextInt range", (value &gt;= 0) &amp;&amp; (value &lt;= 3));
-			freq.addValue(value);
-		}
-		long[] observed = new long[4];
-		for (int i = 0; i &lt; 4; i++) {
-			observed[i] = freq.getCount(i);
-		}
-
-		/*
-		 * Use ChiSquare dist with df = 4-1 = 3, alpha = .001 Change to 11.34
-		 * for alpha = .01
-		 */
-		assertTrue("chi-square test -- will fail about 1 in 1000 times",
-				testStatistic.chiSquare(expected, observed) &lt; 16.27);
-	}
-
-	/**
-	 * Make sure that empirical distribution of random Poisson(4)'s has P(X &lt;=
-	 * 5) close to actual cumulative Poisson probablity and that nextPoisson
-	 * fails when mean is non-positive TODO: replace with statistical test,
-	 * adding test stat to TestStatistic
-	 */
-	public void testNextPoisson() {
-		try {
-			randomData.nextPoisson(0);
-			fail("zero mean -- expecting IllegalArgumentException");
-		} catch (IllegalArgumentException ex) {
-			// ignored
-		}
-		Frequency f = new Frequency();
-		for (int i = 0; i &lt; largeSampleSize; i++) {
-			try {
-				f.addValue(randomData.nextPoisson(4.0d));
-			} catch (Exception ex) {
-				fail(ex.getMessage());
-			}
-		}
-		long cumFreq = f.getCount(0) + f.getCount(1) + f.getCount(2)
-				+ f.getCount(3) + f.getCount(4) + f.getCount(5);
-		long sumFreq = f.getSumFreq();
-		double cumPct = Double.valueOf(cumFreq).doubleValue()
-				/ Double.valueOf(sumFreq).doubleValue();
-		assertEquals("cum Poisson(4)", cumPct, 0.7851, 0.2);
-		try {
-			randomData.nextPoisson(-1);
-			fail("negative mean supplied -- IllegalArgumentException expected");
-		} catch (IllegalArgumentException ex) {
-			// ignored
-		}
-		try {
-			randomData.nextPoisson(0);
-			fail("0 mean supplied -- IllegalArgumentException expected");
-		} catch (IllegalArgumentException ex) {
-			// ignored
-		}
-
-	}
-	
-	public void testNextPoissonConsistency() throws Exception {
-	    // Small integral means
-	    for (int i = 1; i &lt; 100; i++) {
-	        checkNextPoissonConsistency(i);
-	    }
-	    // non-integer means
-	    RandomData randomData = new RandomDataImpl();
-	    for (int i = 1; i &lt; 10; i++) {
-	        checkNextPoissonConsistency(randomData.nextUniform(1, 1000));
-	    }
-	    // large means 
-	    // TODO: When MATH-282 is resolved, s/3000/10000 below
-	    for (int i = 1; i &lt; 10; i++) {
+    public RandomDataTest(String name) {
+        super(name);
+        randomData = new RandomDataImpl();
+    }
+
+    protected long smallSampleSize = 1000;
+    protected double[] expected = { 250, 250, 250, 250 };
+    protected int largeSampleSize = 10000;
+    private String[] hex = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
+            "a", "b", "c", "d", "e", "f" };
+    protected RandomDataImpl randomData = null;
+    protected ChiSquareTestImpl testStatistic = new ChiSquareTestImpl();
+
+    public static Test suite() {
+        TestSuite suite = new TestSuite(RandomDataTest.class);
+        suite.setName("RandomData Tests");
+        return suite;
+    }
+
+    public void testNextIntExtremeValues() {
+        int x = randomData.nextInt(Integer.MIN_VALUE, Integer.MAX_VALUE);
+        int y = randomData.nextInt(Integer.MIN_VALUE, Integer.MAX_VALUE);
+        assertFalse(x == y);
+    }
+
+    public void testNextLongExtremeValues() {
+        long x = randomData.nextLong(Long.MIN_VALUE, Long.MAX_VALUE);
+        long y = randomData.nextLong(Long.MIN_VALUE, Long.MAX_VALUE);
+        assertFalse(x == y);
+    }
+
+    /** test dispersion and failure modes for nextInt() */
+    public void testNextInt() {
+        try {
+            randomData.nextInt(4, 3);
+            fail("IllegalArgumentException expected");
+        } catch (IllegalArgumentException ex) {
+            // ignored
+        }
+        Frequency freq = new Frequency();
+        int value = 0;
+        for (int i = 0; i &lt; smallSampleSize; i++) {
+            value = randomData.nextInt(0, 3);
+            assertTrue("nextInt range", (value &gt;= 0) &amp;&amp; (value &lt;= 3));
+            freq.addValue(value);
+        }
+        long[] observed = new long[4];
+        for (int i = 0; i &lt; 4; i++) {
+            observed[i] = freq.getCount(i);
+        }
+
+        /*
+         * Use ChiSquare dist with df = 4-1 = 3, alpha = .001 Change to 11.34
+         * for alpha = .01
+         */
+        assertTrue("chi-square test -- will fail about 1 in 1000 times",
+                testStatistic.chiSquare(expected, observed) &lt; 16.27);
+    }
+
+    /** test dispersion and failure modes for nextLong() */
+    public void testNextLong() {
+        try {
+            randomData.nextLong(4, 3);
+            fail("IllegalArgumentException expected");
+        } catch (IllegalArgumentException ex) {
+            // ignored
+        }
+        Frequency freq = new Frequency();
+        long value = 0;
+        for (int i = 0; i &lt; smallSampleSize; i++) {
+            value = randomData.nextLong(0, 3);
+            assertTrue("nextInt range", (value &gt;= 0) &amp;&amp; (value &lt;= 3));
+            freq.addValue(value);
+        }
+        long[] observed = new long[4];
+        for (int i = 0; i &lt; 4; i++) {
+            observed[i] = freq.getCount(i);
+        }
+
+        /*
+         * Use ChiSquare dist with df = 4-1 = 3, alpha = .001 Change to 11.34
+         * for alpha = .01
+         */
+        assertTrue("chi-square test -- will fail about 1 in 1000 times",
+                testStatistic.chiSquare(expected, observed) &lt; 16.27);
+    }
+
+    /** test dispersion and failure modes for nextSecureLong() */
+    public void testNextSecureLong() {
+        try {
+            randomData.nextSecureLong(4, 3);
+            fail("IllegalArgumentException expected");
+        } catch (IllegalArgumentException ex) {
+            // ignored
+        }
+        Frequency freq = new Frequency();
+        long value = 0;
+        for (int i = 0; i &lt; smallSampleSize; i++) {
+            value = randomData.nextSecureLong(0, 3);
+            assertTrue("nextInt range", (value &gt;= 0) &amp;&amp; (value &lt;= 3));
+            freq.addValue(value);
+        }
+        long[] observed = new long[4];
+        for (int i = 0; i &lt; 4; i++) {
+            observed[i] = freq.getCount(i);
+        }
+
+        /*
+         * Use ChiSquare dist with df = 4-1 = 3, alpha = .001 Change to 11.34
+         * for alpha = .01
+         */
+        assertTrue("chi-square test -- will fail about 1 in 1000 times",
+                testStatistic.chiSquare(expected, observed) &lt; 16.27);
+    }
+
+    /** test dispersion and failure modes for nextSecureInt() */
+    public void testNextSecureInt() {
+        try {
+            randomData.nextSecureInt(4, 3);
+            fail("IllegalArgumentException expected");
+        } catch (IllegalArgumentException ex) {
+            // ignored
+        }
+        Frequency freq = new Frequency();
+        int value = 0;
+        for (int i = 0; i &lt; smallSampleSize; i++) {
+            value = randomData.nextSecureInt(0, 3);
+            assertTrue("nextInt range", (value &gt;= 0) &amp;&amp; (value &lt;= 3));
+            freq.addValue(value);
+        }
+        long[] observed = new long[4];
+        for (int i = 0; i &lt; 4; i++) {
+            observed[i] = freq.getCount(i);
+        }
+
+        /*
+         * Use ChiSquare dist with df = 4-1 = 3, alpha = .001 Change to 11.34
+         * for alpha = .01
+         */
+        assertTrue("chi-square test -- will fail about 1 in 1000 times",
+                testStatistic.chiSquare(expected, observed) &lt; 16.27);
+    }
+
+    /**
+     * Make sure that empirical distribution of random Poisson(4)'s has P(X &lt;=
+     * 5) close to actual cumulative Poisson probablity and that nextPoisson
+     * fails when mean is non-positive TODO: replace with statistical test,
+     * adding test stat to TestStatistic
+     */
+    public void testNextPoisson() {
+        try {
+            randomData.nextPoisson(0);
+            fail("zero mean -- expecting IllegalArgumentException");
+        } catch (IllegalArgumentException ex) {
+            // ignored
+        }
+        Frequency f = new Frequency();
+        for (int i = 0; i &lt; largeSampleSize; i++) {
+            try {
+                f.addValue(randomData.nextPoisson(4.0d));
+            } catch (Exception ex) {
+                fail(ex.getMessage());
+            }
+        }
+        long cumFreq = f.getCount(0) + f.getCount(1) + f.getCount(2)
+                + f.getCount(3) + f.getCount(4) + f.getCount(5);
+        long sumFreq = f.getSumFreq();
+        double cumPct = Double.valueOf(cumFreq).doubleValue()
+                / Double.valueOf(sumFreq).doubleValue();
+        assertEquals("cum Poisson(4)", cumPct, 0.7851, 0.2);
+        try {
+            randomData.nextPoisson(-1);
+            fail("negative mean supplied -- IllegalArgumentException expected");
+        } catch (IllegalArgumentException ex) {
+            // ignored
+        }
+        try {
+            randomData.nextPoisson(0);
+            fail("0 mean supplied -- IllegalArgumentException expected");
+        } catch (IllegalArgumentException ex) {
+            // ignored
+        }
+
+    }
+    
+    public void testNextPoissonConsistency() throws Exception {
+        // Small integral means
+        for (int i = 1; i &lt; 100; i++) {
+            checkNextPoissonConsistency(i);
+        }
+        // non-integer means
+        RandomData randomData = new RandomDataImpl();
+        for (int i = 1; i &lt; 10; i++) {
+            checkNextPoissonConsistency(randomData.nextUniform(1, 1000));
+        }
+        // large means 
+        // TODO: When MATH-282 is resolved, s/3000/10000 below
+        for (int i = 1; i &lt; 10; i++) {
             checkNextPoissonConsistency(randomData.nextUniform(1000, 3000));
         }
-	}
-	
-	/** 
-	 * Verifies that nextPoisson(mean) generates an empirical distribution of values
-	 * consistent with PoissonDistributionImpl by generating 1000 values, computing a
-	 * grouped frequency distribution of the observed values and comparing this distribution
-	 * to the corresponding expected distribution computed using PoissonDistributionImpl.
-	 * Uses ChiSquare test of goodness of fit to evaluate the null hypothesis that the
-	 * distributions are the same. If the null hypothesis can be rejected with confidence
-	 * 1 - alpha, the check fails.  This check will fail randomly with probability alpha.
-	 */
-	public void checkNextPoissonConsistency(double mean) throws Exception {
-	    // Generate sample values
-	    int sampleSize = 1000;        // Number of deviates to generate
-	    int minExpectedCount = 7;     // Minimum size of expected bin count 
-	    long maxObservedValue = 0;   
-	    double alpha = 0.001;         // Probability of false failure         
-	    Frequency frequency = new Frequency();
-	    for (int i = 0; i &lt; sampleSize; i++) {
-	        long value = randomData.nextPoisson(mean);
-	        if (value &gt; maxObservedValue) {
-	            maxObservedValue = value;
-	        }
-	        frequency.addValue(value);
-	    }
-	    
-	    /*
-	     *  Set up bins for chi-square test.  
-	     *  Ensure expected counts are all at least minExpectedCount.
-	     *  Start with upper and lower tail bins.
-	     *  Lower bin = [0, lower); Upper bin = [upper, +inf).
-	     */
-	    PoissonDistribution poissonDistribution = new PoissonDistributionImpl(mean);
-	    int lower = 1;
-	    while (poissonDistribution.cumulativeProbability(lower - 1) * sampleSize &lt; minExpectedCount) {
-	        lower++;
-	    }
-	    int upper = (int) (5 * mean);  // Even for mean = 1, not much mass beyond 5
-	    while ((1 - poissonDistribution.cumulativeProbability(upper - 1)) * sampleSize &lt; minExpectedCount) {
-	        upper--;
-	    }
-	    
-	    // Set bin width for interior bins.  For poisson, only need to look at end bins.
-	    int binWidth = 1;
-	    boolean widthSufficient = false;
-	    double lowerBinMass = 0;
-	    double upperBinMass = 0;
-	    while (!widthSufficient) {
-	        lowerBinMass = poissonDistribution.cumulativeProbability(lower, lower + binWidth - 1);
-	        upperBinMass = poissonDistribution.cumulativeProbability(upper - binWidth + 1, upper);
-	        widthSufficient = Math.min(lowerBinMass, upperBinMass) * sampleSize &gt;= minExpectedCount;
-	        binWidth++;
-	    }
-	   
-	    /*
-	     *  Determine interior bin bounds.  Bins are
-	     *  [1, lower = binBounds[0]), [lower, binBounds[1]), [binBounds[1], binBounds[2]), ... , 
-	     *    [binBounds[binCount - 2], upper = binBounds[binCount - 1]), [upper, +inf)
-	     *  
-	     */
-	    List&lt;Integer&gt; binBounds = new ArrayList&lt;Integer&gt;();
-	    binBounds.add(lower);
-	    int bound = lower + binWidth;
-	    while (bound &lt; upper - binWidth) {
-	        binBounds.add(bound);
-	        bound += binWidth;
-	    }
-	    binBounds.add(bound);
-	    binBounds.add(upper);
-	    
-	    // Compute observed and expected bin counts
-	    final int binCount = binBounds.size() + 1; 
-	    long[] observed = new long[binCount];
-	    double[] expected = new double[binCount];
-	    
-	    // Bottom bin
-	    observed[0] = 0;
-	    for (int i = 0; i &lt; lower; i++) {
-	        observed[0] += frequency.getCount(i);
-	    }
-	    expected[0] = poissonDistribution.cumulativeProbability(lower - 1) * sampleSize;
-	    
-	    // Top bin
-	    observed[binCount - 1] = 0;
-	    for (int i = upper; i &lt;= maxObservedValue; i++) {
-	        observed[binCount - 1] += frequency.getCount(i);
-	    }
-	    expected[binCount - 1] = (1 - poissonDistribution.cumulativeProbability(upper - 1)) * sampleSize;
-	    
-	    // Interior bins
-	    for (int i = 1; i &lt; binCount - 1; i++) {
-	        observed[i] = 0;
-	        for (int j = binBounds.get(i - 1); j &lt; binBounds.get(i); j++) {
-	            observed[i] += frequency.getCount(j);
-	        } // Expected count is (mass in [binBounds[i], binBounds[i+1])) * sampleSize
-	        expected[i] = (poissonDistribution.cumulativeProbability(binBounds.get(i) - 1) -
-	            poissonDistribution.cumulativeProbability(binBounds.get(i - 1) -1)) * sampleSize;
-	    }
-	    
-	    // Use chisquare test to verify that generated values are poisson(mean)-distributed
-	    ChiSquareTest chiSquareTest = new ChiSquareTestImpl();
-	    try {
-	        // Fail if we can reject null hypothesis that distributions are the same
-	        assertFalse(chiSquareTest.chiSquareTest(expected, observed, alpha));
-	    } catch (AssertionFailedError ex) {
-	        StringBuffer msgBuffer = new StringBuffer();
-	        DecimalFormat df = new DecimalFormat("#.##");
-	        msgBuffer.append("Chisquare test failed for mean = ");
-	        msgBuffer.append(mean);
-	        msgBuffer.append(" p-value = ");
-	        msgBuffer.append(chiSquareTest.chiSquareTest(expected, observed));
-	        msgBuffer.append(" chisquare statistic = ");
-	        msgBuffer.append(chiSquareTest.chiSquare(expected, observed));
-	        msgBuffer.append(". \n");
-	        msgBuffer.append("bin\t\texpected\tobserved\n");
-	        for (int i = 0; i &lt; expected.length; i++) {
-	            msgBuffer.append("[");
-	            msgBuffer.append(i == 0 ? 1: binBounds.get(i - 1));
-	            msgBuffer.append(",");
-	            msgBuffer.append(i == binBounds.size() ? "inf": binBounds.get(i));
-	            msgBuffer.append(")");
-	            msgBuffer.append("\t\t");
-	            msgBuffer.append(df.format(expected[i]));
-	            msgBuffer.append("\t\t");
-	            msgBuffer.append(observed[i]);
-	            msgBuffer.append("\n");
-	        }
-	        msgBuffer.append("This test can fail randomly due to sampling error with probability ");
-	        msgBuffer.append(alpha);
-	        msgBuffer.append(".");
-	        fail(msgBuffer.toString());
-	    }  
-	}
-
-	/** test dispersion and failute modes for nextHex() */
-	public void testNextHex() {
-		try {
-			randomData.nextHexString(-1);
-			fail("negative length supplied -- IllegalArgumentException expected");
-		} catch (IllegalArgumentException ex) {
-			// ignored
-		}
-		try {
-			randomData.nextHexString(0);
-			fail("zero length supplied -- IllegalArgumentException expected");
-		} catch (IllegalArgumentException ex) {
-			// ignored
-		}
-		String hexString = randomData.nextHexString(3);
-		if (hexString.length() != 3) {
-			fail("incorrect length for generated string");
-		}
-		hexString = randomData.nextHexString(1);
-		if (hexString.length() != 1) {
-			fail("incorrect length for generated string");
-		}
-		try {
-			hexString = randomData.nextHexString(0);
-			fail("zero length requested -- expecting IllegalArgumentException");
-		} catch (IllegalArgumentException ex) {
-			// ignored
-		}
-		if (hexString.length() != 1) {
-			fail("incorrect length for generated string");
-		}
-		Frequency f = new Frequency();
-		for (int i = 0; i &lt; smallSampleSize; i++) {
-			hexString = randomData.nextHexString(100);
-			if (hexString.length() != 100) {
-				fail("incorrect length for generated string");
-			}
-			for (int j = 0; j &lt; hexString.length(); j++) {
-				f.addValue(hexString.substring(j, j + 1));
-			}
-		}
-		double[] expected = new double[16];
-		long[] observed = new long[16];
-		for (int i = 0; i &lt; 16; i++) {
-			expected[i] = (double) smallSampleSize * 100 / 16;
-			observed[i] = f.getCount(hex[i]);
-		}
-		/*
-		 * Use ChiSquare dist with df = 16-1 = 15, alpha = .001 Change to 30.58
-		 * for alpha = .01
-		 */
-		assertTrue("chi-square test -- will fail about 1 in 1000 times",
-				testStatistic.chiSquare(expected, observed) &lt; 37.70);
-	}
-
-	/** test dispersion and failute modes for nextHex() */
-	public void testNextSecureHex() {
-		try {
-			randomData.nextSecureHexString(-1);
-			fail("negative length -- IllegalArgumentException expected");
-		} catch (IllegalArgumentException ex) {
-			// ignored
-		}
-		try {
-			randomData.nextSecureHexString(0);
-			fail("zero length -- IllegalArgumentException expected");
-		} catch (IllegalArgumentException ex) {
-			// ignored
-		}
-		String hexString = randomData.nextSecureHexString(3);
-		if (hexString.length() != 3) {
-			fail("incorrect length for generated string");
-		}
-		hexString = randomData.nextSecureHexString(1);
-		if (hexString.length() != 1) {
-			fail("incorrect length for generated string");
-		}
-		try {
-			hexString = randomData.nextSecureHexString(0);
-			fail("zero length requested -- expecting IllegalArgumentException");
-		} catch (IllegalArgumentException ex) {
-			// ignored
-		}
-		if (hexString.length() != 1) {
-			fail("incorrect length for generated string");
-		}
-		Frequency f = new Frequency();
-		for (int i = 0; i &lt; smallSampleSize; i++) {
-			hexString = randomData.nextSecureHexString(100);
-			if (hexString.length() != 100) {
-				fail("incorrect length for generated string");
-			}
-			for (int j = 0; j &lt; hexString.length(); j++) {
-				f.addValue(hexString.substring(j, j + 1));
-			}
-		}
-		double[] expected = new double[16];
-		long[] observed = new long[16];
-		for (int i = 0; i &lt; 16; i++) {
-			expected[i] = (double) smallSampleSize * 100 / 16;
-			observed[i] = f.getCount(hex[i]);
-		}
-		/*
-		 * Use ChiSquare dist with df = 16-1 = 15, alpha = .001 Change to 30.58
-		 * for alpha = .01
-		 */
-		assertTrue("chi-square test -- will fail about 1 in 1000 times",
-				testStatistic.chiSquare(expected, observed) &lt; 37.70);
-	}
-
-	/** test failure modes and dispersion of nextUniform() */
-	public void testNextUniform() {
-		try {
-			randomData.nextUniform(4, 3);
-			fail("IllegalArgumentException expected");
-		} catch (IllegalArgumentException ex) {
-			// ignored
-		}
-		try {
-			randomData.nextUniform(3, 3);
-			fail("IllegalArgumentException expected");
-		} catch (IllegalArgumentException ex) {
-			// ignored
-		}
-		double[] expected = { 500, 500 };
-		long[] observed = { 0, 0 };
-		double lower = -1d;
-		double upper = 20d;
-		double midpoint = (lower + upper) / 2d;
-		double result = 0;
-		for (int i = 0; i &lt; 1000; i++) {
-			result = randomData.nextUniform(lower, upper);
-			if ((result == lower) || (result == upper)) {
-				fail("generated value equal to an endpoint: " + result);
-			}
-			if (result &lt; midpoint) {
-				observed[0]++;
-			} else {
-				observed[1]++;
-			}
-		}
-		/*
-		 * Use ChiSquare dist with df = 2-1 = 1, alpha = .001 Change to 6.64 for
-		 * alpha = .01
-		 */
-		assertTrue("chi-square test -- will fail about 1 in 1000 times",
-				testStatistic.chiSquare(expected, observed) &lt; 10.83);
-	}
-
-	/** test exclusive endpoints of nextUniform **/
-	public void testNextUniformExclusiveEndpoints() {
-		for (int i = 0; i &lt; 1000; i++) {
-			double u = randomData.nextUniform(0.99, 1);
-			assertTrue(u &gt; 0.99 &amp;&amp; u &lt; 1);
-		}
-	}
-
-	/** test failure modes and distribution of nextGaussian() */
-	public void testNextGaussian() {
-		try {
-			randomData.nextGaussian(0, 0);
-			fail("zero sigma -- IllegalArgumentException expected");
-		} catch (IllegalArgumentException ex) {
-			// ignored
-		}
-		SummaryStatistics u = new SummaryStatistics();
-		for (int i = 0; i &lt; largeSampleSize; i++) {
-			u.addValue(randomData.nextGaussian(0, 1));
-		}
-		double xbar = u.getMean();
-		double s = u.getStandardDeviation();
-		double n = u.getN();
-		/*
-		 * t-test at .001-level TODO: replace with externalized t-test, with
-		 * test statistic defined in TestStatistic
-		 */
-		assertTrue(Math.abs(xbar) / (s / Math.sqrt(n)) &lt; 3.29);
-	}
-
-	/** test failure modes and distribution of nextExponential() */
-	public void testNextExponential() {
-		try {
-			randomData.nextExponential(-1);
-			fail("negative mean -- expecting IllegalArgumentException");
-		} catch (IllegalArgumentException ex) {
-			// ignored
-		}
+    }
+    
+    /** 
+     * Verifies that nextPoisson(mean) generates an empirical distribution of values
+     * consistent with PoissonDistributionImpl by generating 1000 values, computing a
+     * grouped frequency distribution of the observed values and comparing this distribution
+     * to the corresponding expected distribution computed using PoissonDistributionImpl.
+     * Uses ChiSquare test of goodness of fit to evaluate the null hypothesis that the
+     * distributions are the same. If the null hypothesis can be rejected with confidence
+     * 1 - alpha, the check fails.  This check will fail randomly with probability alpha.
+     */
+    public void checkNextPoissonConsistency(double mean) throws Exception {
+        // Generate sample values
+        int sampleSize = 1000;        // Number of deviates to generate
+        int minExpectedCount = 7;     // Minimum size of expected bin count 
+        long maxObservedValue = 0;   
+        double alpha = 0.001;         // Probability of false failure         
+        Frequency frequency = new Frequency();
+        for (int i = 0; i &lt; sampleSize; i++) {
+            long value = randomData.nextPoisson(mean);
+            if (value &gt; maxObservedValue) {
+                maxObservedValue = value;
+            }
+            frequency.addValue(value);
+        }
+        
+        /*
+         *  Set up bins for chi-square test.  
+         *  Ensure expected counts are all at least minExpectedCount.
+         *  Start with upper and lower tail bins.
+         *  Lower bin = [0, lower); Upper bin = [upper, +inf).
+         */
+        PoissonDistribution poissonDistribution = new PoissonDistributionImpl(mean);
+        int lower = 1;
+        while (poissonDistribution.cumulativeProbability(lower - 1) * sampleSize &lt; minExpectedCount) {
+            lower++;
+        }
+        int upper = (int) (5 * mean);  // Even for mean = 1, not much mass beyond 5
+        while ((1 - poissonDistribution.cumulativeProbability(upper - 1)) * sampleSize &lt; minExpectedCount) {
+            upper--;
+        }
+        
+        // Set bin width for interior bins.  For poisson, only need to look at end bins.
+        int binWidth = 1;
+        boolean widthSufficient = false;
+        double lowerBinMass = 0;
+        double upperBinMass = 0;
+        while (!widthSufficient) {
+            lowerBinMass = poissonDistribution.cumulativeProbability(lower, lower + binWidth - 1);
+            upperBinMass = poissonDistribution.cumulativeProbability(upper - binWidth + 1, upper);
+            widthSufficient = Math.min(lowerBinMass, upperBinMass) * sampleSize &gt;= minExpectedCount;
+            binWidth++;
+        }
+       
+        /*
+         *  Determine interior bin bounds.  Bins are
+         *  [1, lower = binBounds[0]), [lower, binBounds[1]), [binBounds[1], binBounds[2]), ... , 
+         *    [binBounds[binCount - 2], upper = binBounds[binCount - 1]), [upper, +inf)
+         *  
+         */
+        List&lt;Integer&gt; binBounds = new ArrayList&lt;Integer&gt;();
+        binBounds.add(lower);
+        int bound = lower + binWidth;
+        while (bound &lt; upper - binWidth) {
+            binBounds.add(bound);
+            bound += binWidth;
+        }
+        binBounds.add(bound);
+        binBounds.add(upper);
+        
+        // Compute observed and expected bin counts
+        final int binCount = binBounds.size() + 1; 
+        long[] observed = new long[binCount];
+        double[] expected = new double[binCount];
+        
+        // Bottom bin
+        observed[0] = 0;
+        for (int i = 0; i &lt; lower; i++) {
+            observed[0] += frequency.getCount(i);
+        }
+        expected[0] = poissonDistribution.cumulativeProbability(lower - 1) * sampleSize;
+        
+        // Top bin
+        observed[binCount - 1] = 0;
+        for (int i = upper; i &lt;= maxObservedValue; i++) {
+            observed[binCount - 1] += frequency.getCount(i);
+        }
+        expected[binCount - 1] = (1 - poissonDistribution.cumulativeProbability(upper - 1)) * sampleSize;
+        
+        // Interior bins
+        for (int i = 1; i &lt; binCount - 1; i++) {
+            observed[i] = 0;
+            for (int j = binBounds.get(i - 1); j &lt; binBounds.get(i); j++) {
+                observed[i] += frequency.getCount(j);
+            } // Expected count is (mass in [binBounds[i], binBounds[i+1])) * sampleSize
+            expected[i] = (poissonDistribution.cumulativeProbability(binBounds.get(i) - 1) -
+                poissonDistribution.cumulativeProbability(binBounds.get(i - 1) -1)) * sampleSize;
+        }
+        
+        // Use chisquare test to verify that generated values are poisson(mean)-distributed
+        ChiSquareTest chiSquareTest = new ChiSquareTestImpl();
+        try {
+            // Fail if we can reject null hypothesis that distributions are the same
+            assertFalse(chiSquareTest.chiSquareTest(expected, observed, alpha));
+        } catch (AssertionFailedError ex) {
+            StringBuffer msgBuffer = new StringBuffer();
+            DecimalFormat df = new DecimalFormat("#.##");
+            msgBuffer.append("Chisquare test failed for mean = ");
+            msgBuffer.append(mean);
+            msgBuffer.append(" p-value = ");
+            msgBuffer.append(chiSquareTest.chiSquareTest(expected, observed));
+            msgBuffer.append(" chisquare statistic = ");
+            msgBuffer.append(chiSquareTest.chiSquare(expected, observed));
+            msgBuffer.append(". \n");
+            msgBuffer.append("bin\t\texpected\tobserved\n");
+            for (int i = 0; i &lt; expected.length; i++) {
+                msgBuffer.append("[");
+                msgBuffer.append(i == 0 ? 1: binBounds.get(i - 1));
+                msgBuffer.append(",");
+                msgBuffer.append(i == binBounds.size() ? "inf": binBounds.get(i));
+                msgBuffer.append(")");
+                msgBuffer.append("\t\t");
+                msgBuffer.append(df.format(expected[i]));
+                msgBuffer.append("\t\t");
+                msgBuffer.append(observed[i]);
+                msgBuffer.append("\n");
+            }
+            msgBuffer.append("This test can fail randomly due to sampling error with probability ");
+            msgBuffer.append(alpha);
+            msgBuffer.append(".");
+            fail(msgBuffer.toString());
+        }  
+    }
+
+    /** test dispersion and failute modes for nextHex() */
+    public void testNextHex() {
+        try {
+            randomData.nextHexString(-1);
+            fail("negative length supplied -- IllegalArgumentException expected");
+        } catch (IllegalArgumentException ex) {
+            // ignored
+        }
+        try {
+            randomData.nextHexString(0);
+            fail("zero length supplied -- IllegalArgumentException expected");
+        } catch (IllegalArgumentException ex) {
+            // ignored
+        }
+        String hexString = randomData.nextHexString(3);
+        if (hexString.length() != 3) {
+            fail("incorrect length for generated string");
+        }
+        hexString = randomData.nextHexString(1);
+        if (hexString.length() != 1) {
+            fail("incorrect length for generated string");
+        }
+        try {
+            hexString = randomData.nextHexString(0);
+            fail("zero length requested -- expecting IllegalArgumentException");
+        } catch (IllegalArgumentException ex) {
+            // ignored
+        }
+        if (hexString.length() != 1) {
+            fail("incorrect length for generated string");
+        }
+        Frequency f = new Frequency();
+        for (int i = 0; i &lt; smallSampleSize; i++) {
+            hexString = randomData.nextHexString(100);
+            if (hexString.length() != 100) {
+                fail("incorrect length for generated string");
+            }
+            for (int j = 0; j &lt; hexString.length(); j++) {
+                f.addValue(hexString.substring(j, j + 1));
+            }
+        }
+        double[] expected = new double[16];
+        long[] observed = new long[16];
+        for (int i = 0; i &lt; 16; i++) {
+            expected[i] = (double) smallSampleSize * 100 / 16;
+            observed[i] = f.getCount(hex[i]);
+        }
+        /*
+         * Use ChiSquare dist with df = 16-1 = 15, alpha = .001 Change to 30.58
+         * for alpha = .01
+         */
+        assertTrue("chi-square test -- will fail about 1 in 1000 times",
+                testStatistic.chiSquare(expected, observed) &lt; 37.70);
+    }
+
+    /** test dispersion and failute modes for nextHex() */
+    public void testNextSecureHex() {
+        try {
+            randomData.nextSecureHexString(-1);
+            fail("negative length -- IllegalArgumentException expected");
+        } catch (IllegalArgumentException ex) {
+            // ignored
+        }
+        try {
+            randomData.nextSecureHexString(0);
+            fail("zero length -- IllegalArgumentException expected");
+        } catch (IllegalArgumentException ex) {
+            // ignored
+        }
+        String hexString = randomData.nextSecureHexString(3);
+        if (hexString.length() != 3) {
+            fail("incorrect length for generated string");
+        }
+        hexString = randomData.nextSecureHexString(1);
+        if (hexString.length() != 1) {
+            fail("incorrect length for generated string");
+        }
+        try {
+            hexString = randomData.nextSecureHexString(0);
+            fail("zero length requested -- expecting IllegalArgumentException");
+        } catch (IllegalArgumentException ex) {
+            // ignored
+        }
+        if (hexString.length() != 1) {
+            fail("incorrect length for generated string");
+        }
+        Frequency f = new Frequency();
+        for (int i = 0; i &lt; smallSampleSize; i++) {
+            hexString = randomData.nextSecureHexString(100);
+            if (hexString.length() != 100) {
+                fail("incorrect length for generated string");
+            }
+            for (int j = 0; j &lt; hexString.length(); j++) {
+                f.addValue(hexString.substring(j, j + 1));
+            }
+        }
+        double[] expected = new double[16];
+        long[] observed = new long[16];
+        for (int i = 0; i &lt; 16; i++) {
+            expected[i] = (double) smallSampleSize * 100 / 16;
+            observed[i] = f.getCount(hex[i]);
+        }
+        /*
+         * Use ChiSquare dist with df = 16-1 = 15, alpha = .001 Change to 30.58
+         * for alpha = .01
+         */
+        assertTrue("chi-square test -- will fail about 1 in 1000 times",
+                testStatistic.chiSquare(expected, observed) &lt; 37.70);
+    }
+
+    /** test failure modes and dispersion of nextUniform() */
+    public void testNextUniform() {
+        try {
+            randomData.nextUniform(4, 3);
+            fail("IllegalArgumentException expected");
+        } catch (IllegalArgumentException ex) {
+            // ignored
+        }
+        try {
+            randomData.nextUniform(3, 3);
+            fail("IllegalArgumentException expected");
+        } catch (IllegalArgumentException ex) {
+            // ignored
+        }
+        double[] expected = { 500, 500 };
+        long[] observed = { 0, 0 };
+        double lower = -1d;
+        double upper = 20d;
+        double midpoint = (lower + upper) / 2d;
+        double result = 0;
+        for (int i = 0; i &lt; 1000; i++) {
+            result = randomData.nextUniform(lower, upper);
+            if ((result == lower) || (result == upper)) {
+                fail("generated value equal to an endpoint: " + result);
+            }
+            if (result &lt; midpoint) {
+                observed[0]++;
+            } else {
+                observed[1]++;
+            }
+        }
+        /*
+         * Use ChiSquare dist with df = 2-1 = 1, alpha = .001 Change to 6.64 for
+         * alpha = .01
+         */
+        assertTrue("chi-square test -- will fail about 1 in 1000 times",
+                testStatistic.chiSquare(expected, observed) &lt; 10.83);
+    }
+
+    /** test exclusive endpoints of nextUniform **/
+    public void testNextUniformExclusiveEndpoints() {
+        for (int i = 0; i &lt; 1000; i++) {
+            double u = randomData.nextUniform(0.99, 1);
+            assertTrue(u &gt; 0.99 &amp;&amp; u &lt; 1);
+        }
+    }
+
+    /** test failure modes and distribution of nextGaussian() */
+    public void testNextGaussian() {
+        try {
+            randomData.nextGaussian(0, 0);
+            fail("zero sigma -- IllegalArgumentException expected");
+        } catch (IllegalArgumentException ex) {
+            // ignored
+        }
+        SummaryStatistics u = new SummaryStatistics();
+        for (int i = 0; i &lt; largeSampleSize; i++) {
+            u.addValue(randomData.nextGaussian(0, 1));
+        }
+        double xbar = u.getMean();
+        double s = u.getStandardDeviation();
+        double n = u.getN();
+        /*
+         * t-test at .001-level TODO: replace with externalized t-test, with
+         * test statistic defined in TestStatistic
+         */
+        assertTrue(Math.abs(xbar) / (s / Math.sqrt(n)) &lt; 3.29);
+    }
+
+    /** test failure modes and distribution of nextExponential() */
+    public void testNextExponential() {
+        try {
+            randomData.nextExponential(-1);
+            fail("negative mean -- expecting IllegalArgumentException");
+        } catch (IllegalArgumentException ex) {
+            // ignored
+        }
         try {
             randomData.nextExponential(0);
             fail("zero mean -- expecting IllegalArgumentException");
         } catch (IllegalArgumentException ex) {
             // ignored
         }
-		long cumFreq = 0;
-		double v = 0;
-		for (int i = 0; i &lt; largeSampleSize; i++) {
-			v = randomData.nextExponential(1);
-			assertTrue("exponential deviate postive", v &gt; 0);
-			if (v &lt; 2)
-				cumFreq++;
-		}
-		/*
-		 * TODO: Replace with a statistical test, with statistic added to
-		 * TestStatistic. Check below compares observed cumulative distribution
-		 * evaluated at 2 with exponential CDF
-		 */
-		assertEquals("exponential cumulative distribution", (double) cumFreq
-				/ (double) largeSampleSize, 0.8646647167633873, .2);
-	}
-
-	/** test reseeding, algorithm/provider games */
-	public void testConfig() {
-		randomData.reSeed(1000);
-		double v = randomData.nextUniform(0, 1);
-		randomData.reSeed();
-		assertTrue("different seeds", Math
-				.abs(v - randomData.nextUniform(0, 1)) &gt; 10E-12);
-		randomData.reSeed(1000);
-		assertEquals("same seeds", v, randomData.nextUniform(0, 1), 10E-12);
-		randomData.reSeedSecure(1000);
-		String hex = randomData.nextSecureHexString(40);
-		randomData.reSeedSecure();
-		assertTrue("different seeds", !hex.equals(randomData
-				.nextSecureHexString(40)));
-		randomData.reSeedSecure(1000);
-		assertTrue("same seeds", !hex
-				.equals(randomData.nextSecureHexString(40)));
-
-		/*
-		 * remove this test back soon, since it takes about 4 seconds
-		 *
-		 * try { randomData.setSecureAlgorithm("SHA1PRNG","SUN"); } catch
-		 * (NoSuchProviderException ex) { ; } assertTrue("different seeds",
-		 * !hex.equals(randomData.nextSecureHexString(40))); try {
-		 * randomData.setSecureAlgorithm("NOSUCHTHING","SUN");
-		 * fail("expecting NoSuchAlgorithmException"); } catch
-		 * (NoSuchProviderException ex) { ; } catch (NoSuchAlgorithmException
-		 * ex) { ; }
-		 *
-		 * try { randomData.setSecureAlgorithm("SHA1PRNG","NOSUCHPROVIDER");
-		 * fail("expecting NoSuchProviderException"); } catch
-		 * (NoSuchProviderException ex) { ; }
-		 */
-
-		// test reseeding without first using the generators
-		RandomDataImpl rd = new RandomDataImpl();
-		rd.reSeed(100);
-		rd.nextLong(1, 2);
-		RandomDataImpl rd2 = new RandomDataImpl();
-		rd2.reSeedSecure(2000);
-		rd2.nextSecureLong(1, 2);
-		rd = new RandomDataImpl();
-		rd.reSeed();
-		rd.nextLong(1, 2);
-		rd2 = new RandomDataImpl();
-		rd2.reSeedSecure();
-		rd2.nextSecureLong(1, 2);
-	}
-
-	/** tests for nextSample() sampling from Collection */
-	public void testNextSample() {
-		Object[][] c = { { "0", "1" }, { "0", "2" }, { "0", "3" },
-				{ "0", "4" }, { "1", "2" }, { "1", "3" }, { "1", "4" },
-				{ "2", "3" }, { "2", "4" }, { "3", "4" } };
-		long[] observed = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
-		double[] expected = { 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 };
-
-		HashSet&lt;Object&gt; cPop = new HashSet&lt;Object&gt;(); // {0,1,2,3,4}
-		for (int i = 0; i &lt; 5; i++) {
-			cPop.add(Integer.toString(i));
-		}
-
-		Object[] sets = new Object[10]; // 2-sets from 5
-		for (int i = 0; i &lt; 10; i++) {
-			HashSet&lt;Object&gt; hs = new HashSet&lt;Object&gt;();
-			hs.add(c[i][0]);
-			hs.add(c[i][1]);
-			sets[i] = hs;
-		}
-
-		for (int i = 0; i &lt; 1000; i++) {
-			Object[] cSamp = randomData.nextSample(cPop, 2);
-			observed[findSample(sets, cSamp)]++;
-		}
-
-		/*
-		 * Use ChiSquare dist with df = 10-1 = 9, alpha = .001 Change to 21.67
-		 * for alpha = .01
-		 */
-		assertTrue("chi-square test -- will fail about 1 in 1000 times",
-				testStatistic.chiSquare(expected, observed) &lt; 27.88);
-
-		// Make sure sample of size = size of collection returns same collection
-		HashSet&lt;Object&gt; hs = new HashSet&lt;Object&gt;();
-		hs.add("one");
-		Object[] one = randomData.nextSample(hs, 1);
-		String oneString = (String) one[0];
-		if ((one.length != 1) || !oneString.equals("one")) {
-			fail("bad sample for set size = 1, sample size = 1");
-		}
-
-		// Make sure we fail for sample size &gt; collection size
-		try {
-			one = randomData.nextSample(hs, 2);
-			fail("sample size &gt; set size, expecting IllegalArgumentException");
-		} catch (IllegalArgumentException ex) {
-			// ignored
-		}
-
-		// Make sure we fail for empty collection
-		try {
-			hs = new HashSet&lt;Object&gt;();
-			one = randomData.nextSample(hs, 0);
-			fail("n = k = 0, expecting IllegalArgumentException");
-		} catch (IllegalArgumentException ex) {
-			// ignored
-		}
-	}
-
-	@SuppressWarnings("unchecked")
-	private int findSample(Object[] u, Object[] samp) {
-		for (int i = 0; i &lt; u.length; i++) {
-			HashSet&lt;Object&gt; set = (HashSet&lt;Object&gt;) u[i];
-			HashSet&lt;Object&gt; sampSet = new HashSet&lt;Object&gt;();
-			for (int j = 0; j &lt; samp.length; j++) {
-				sampSet.add(samp[j]);
-			}
-			if (set.equals(sampSet)) {
-				return i;
-			}
-		}
-		fail("sample not found:{" + samp[0] + "," + samp[1] + "}");
-		return -1;
-	}
-
-	/** tests for nextPermutation */
-	public void testNextPermutation() {
-		int[][] p = { { 0, 1, 2 }, { 0, 2, 1 }, { 1, 0, 2 }, { 1, 2, 0 },
-				{ 2, 0, 1 }, { 2, 1, 0 } };
-		long[] observed = { 0, 0, 0, 0, 0, 0 };
-		double[] expected = { 100, 100, 100, 100, 100, 100 };
-
-		for (int i = 0; i &lt; 600; i++) {
-			int[] perm = randomData.nextPermutation(3, 3);
-			observed[findPerm(p, perm)]++;
-		}
-
-		/*
-		 * Use ChiSquare dist with df = 6-1 = 5, alpha = .001 Change to 15.09
-		 * for alpha = .01
-		 */
-		assertTrue("chi-square test -- will fail about 1 in 1000 times",
-				testStatistic.chiSquare(expected, observed) &lt; 20.52);
-
-		// Check size = 1 boundary case
-		int[] perm = randomData.nextPermutation(1, 1);
-		if ((perm.length != 1) || (perm[0] != 0)) {
-			fail("bad permutation for n = 1, sample k = 1");
-
-			// Make sure we fail for k size &gt; n
-			try {
-				perm = randomData.nextPermutation(2, 3);
-				fail("permutation k &gt; n, expecting IllegalArgumentException");
-			} catch (IllegalArgumentException ex) {
-				// ignored
-			}
-
-			// Make sure we fail for n = 0
-			try {
-				perm = randomData.nextPermutation(0, 0);
-				fail("permutation k = n = 0, expecting IllegalArgumentException");
-			} catch (IllegalArgumentException ex) {
-				// ignored
-			}
-
-			// Make sure we fail for k &lt; n &lt; 0
-			try {
-				perm = randomData.nextPermutation(-1, -3);
-				fail("permutation k &lt; n &lt; 0, expecting IllegalArgumentException");
-			} catch (IllegalArgumentException ex) {
-				// ignored
-			}
-
-		}
-	}
-	
-	// Disable until we have equals
-	//public void testSerial() {
-	//    assertEquals(randomData, TestUtils.serializeAndRecover(randomData));
-	//}
-	
-	private int findPerm(int[][] p, int[] samp) {
-		for (int i = 0; i &lt; p.length; i++) {
-			boolean good = true;
-			for (int j = 0; j &lt; samp.length; j++) {
-				if (samp[j] != p[i][j]) {
-					good = false;
-				}
-			}
-			if (good) {
-				return i;
-			}
-		}
-		fail("permutation not found");
-		return -1;
-	}
+        long cumFreq = 0;
+        double v = 0;
+        for (int i = 0; i &lt; largeSampleSize; i++) {
+            v = randomData.nextExponential(1);
+            assertTrue("exponential deviate postive", v &gt; 0);
+            if (v &lt; 2)
+                cumFreq++;
+        }
+        /*
+         * TODO: Replace with a statistical test, with statistic added to
+         * TestStatistic. Check below compares observed cumulative distribution
+         * evaluated at 2 with exponential CDF
+         */
+        assertEquals("exponential cumulative distribution", (double) cumFreq
+                / (double) largeSampleSize, 0.8646647167633873, .2);
+    }
+
+    /** test reseeding, algorithm/provider games */
+    public void testConfig() {
+        randomData.reSeed(1000);
+        double v = randomData.nextUniform(0, 1);
+        randomData.reSeed();
+        assertTrue("different seeds", Math
+                .abs(v - randomData.nextUniform(0, 1)) &gt; 10E-12);
+        randomData.reSeed(1000);
+        assertEquals("same seeds", v, randomData.nextUniform(0, 1), 10E-12);
+        randomData.reSeedSecure(1000);
+        String hex = randomData.nextSecureHexString(40);
+        randomData.reSeedSecure();
+        assertTrue("different seeds", !hex.equals(randomData
+                .nextSecureHexString(40)));
+        randomData.reSeedSecure(1000);
+        assertTrue("same seeds", !hex
+                .equals(randomData.nextSecureHexString(40)));
+
+        /*
+         * remove this test back soon, since it takes about 4 seconds
+         *
+         * try { randomData.setSecureAlgorithm("SHA1PRNG","SUN"); } catch
+         * (NoSuchProviderException ex) { ; } assertTrue("different seeds",
+         * !hex.equals(randomData.nextSecureHexString(40))); try {
+         * randomData.setSecureAlgorithm("NOSUCHTHING","SUN");
+         * fail("expecting NoSuchAlgorithmException"); } catch
+         * (NoSuchProviderException ex) { ; } catch (NoSuchAlgorithmException
+         * ex) { ; }
+         *
+         * try { randomData.setSecureAlgorithm("SHA1PRNG","NOSUCHPROVIDER");
+         * fail("expecting NoSuchProviderException"); } catch
+         * (NoSuchProviderException ex) { ; }
+         */
+
+        // test reseeding without first using the generators
+        RandomDataImpl rd = new RandomDataImpl();
+        rd.reSeed(100);
+        rd.nextLong(1, 2);
+        RandomDataImpl rd2 = new RandomDataImpl();
+        rd2.reSeedSecure(2000);
+        rd2.nextSecureLong(1, 2);
+        rd = new RandomDataImpl();
+        rd.reSeed();
+        rd.nextLong(1, 2);
+        rd2 = new RandomDataImpl();
+        rd2.reSeedSecure();
+        rd2.nextSecureLong(1, 2);
+    }
+
+    /** tests for nextSample() sampling from Collection */
+    public void testNextSample() {
+        Object[][] c = { { "0", "1" }, { "0", "2" }, { "0", "3" },
+                { "0", "4" }, { "1", "2" }, { "1", "3" }, { "1", "4" },
+                { "2", "3" }, { "2", "4" }, { "3", "4" } };
+        long[] observed = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+        double[] expected = { 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 };
+
+        HashSet&lt;Object&gt; cPop = new HashSet&lt;Object&gt;(); // {0,1,2,3,4}
+        for (int i = 0; i &lt; 5; i++) {
+            cPop.add(Integer.toString(i));
+        }
+
+        Object[] sets = new Object[10]; // 2-sets from 5
+        for (int i = 0; i &lt; 10; i++) {
+            HashSet&lt;Object&gt; hs = new HashSet&lt;Object&gt;();
+            hs.add(c[i][0]);
+            hs.add(c[i][1]);
+            sets[i] = hs;
+        }
+
+        for (int i = 0; i &lt; 1000; i++) {
+            Object[] cSamp = randomData.nextSample(cPop, 2);
+            observed[findSample(sets, cSamp)]++;
+        }
+
+        /*
+         * Use ChiSquare dist with df = 10-1 = 9, alpha = .001 Change to 21.67
+         * for alpha = .01
+         */
+        assertTrue("chi-square test -- will fail about 1 in 1000 times",
+                testStatistic.chiSquare(expected, observed) &lt; 27.88);
+
+        // Make sure sample of size = size of collection returns same collection
+        HashSet&lt;Object&gt; hs = new HashSet&lt;Object&gt;();
+        hs.add("one");
+        Object[] one = randomData.nextSample(hs, 1);
+        String oneString = (String) one[0];
+        if ((one.length != 1) || !oneString.equals("one")) {
+            fail("bad sample for set size = 1, sample size = 1");
+        }
+
+        // Make sure we fail for sample size &gt; collection size
+        try {
+            one = randomData.nextSample(hs, 2);
+            fail("sample size &gt; set size, expecting IllegalArgumentException");
+        } catch (IllegalArgumentException ex) {
+            // ignored
+        }
+
+        // Make sure we fail for empty collection
+        try {
+            hs = new HashSet&lt;Object&gt;();
+            one = randomData.nextSample(hs, 0);
+            fail("n = k = 0, expecting IllegalArgumentException");
+        } catch (IllegalArgumentException ex) {
+            // ignored
+        }
+    }
+
+    @SuppressWarnings("unchecked")
+    private int findSample(Object[] u, Object[] samp) {
+        for (int i = 0; i &lt; u.length; i++) {
+            HashSet&lt;Object&gt; set = (HashSet&lt;Object&gt;) u[i];
+            HashSet&lt;Object&gt; sampSet = new HashSet&lt;Object&gt;();
+            for (int j = 0; j &lt; samp.length; j++) {
+                sampSet.add(samp[j]);
+            }
+            if (set.equals(sampSet)) {
+                return i;
+            }
+        }
+        fail("sample not found:{" + samp[0] + "," + samp[1] + "}");
+        return -1;
+    }
+
+    /** tests for nextPermutation */
+    public void testNextPermutation() {
+        int[][] p = { { 0, 1, 2 }, { 0, 2, 1 }, { 1, 0, 2 }, { 1, 2, 0 },
+                { 2, 0, 1 }, { 2, 1, 0 } };
+        long[] observed = { 0, 0, 0, 0, 0, 0 };
+        double[] expected = { 100, 100, 100, 100, 100, 100 };
+
+        for (int i = 0; i &lt; 600; i++) {
+            int[] perm = randomData.nextPermutation(3, 3);
+            observed[findPerm(p, perm)]++;
+        }
+
+        /*
+         * Use ChiSquare dist with df = 6-1 = 5, alpha = .001 Change to 15.09
+         * for alpha = .01
+         */
+        assertTrue("chi-square test -- will fail about 1 in 1000 times",
+                testStatistic.chiSquare(expected, observed) &lt; 20.52);
+
+        // Check size = 1 boundary case
+        int[] perm = randomData.nextPermutation(1, 1);
+        if ((perm.length != 1) || (perm[0] != 0)) {
+            fail("bad permutation for n = 1, sample k = 1");
+
+            // Make sure we fail for k size &gt; n
+            try {
+                perm = randomData.nextPermutation(2, 3);
+                fail("permutation k &gt; n, expecting IllegalArgumentException");
+            } catch (IllegalArgumentException ex) {
+                // ignored
+            }
+
+            // Make sure we fail for n = 0
+            try {
+                perm = randomData.nextPermutation(0, 0);
+                fail("permutation k = n = 0, expecting IllegalArgumentException");
+            } catch (IllegalArgumentException ex) {
+                // ignored
+            }
+
+            // Make sure we fail for k &lt; n &lt; 0
+            try {
+                perm = randomData.nextPermutation(-1, -3);
+                fail("permutation k &lt; n &lt; 0, expecting IllegalArgumentException");
+            } catch (IllegalArgumentException ex) {
+                // ignored
+            }
+
+        }
+    }
+    
+    // Disable until we have equals
+    //public void testSerial() {
+    //    assertEquals(randomData, TestUtils.serializeAndRecover(randomData));
+    //}
+    
+    private int findPerm(int[][] p, int[] samp) {
+        for (int i = 0; i &lt; p.length; i++) {
+            boolean good = true;
+            for (int j = 0; j &lt; samp.length; j++) {
+                if (samp[j] != p[i][j]) {
+                    good = false;
+                }
+            }
+            if (good) {
+                return i;
+            }
+        }
+        fail("permutation not found");
+        return -1;
+    }
 }

Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math/stat/inference/ChiSquareFactoryTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/stat/inference/ChiSquareFactoryTest.java?rev=888683&amp;r1=888682&amp;r2=888683&amp;view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/stat/inference/ChiSquareFactoryTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/stat/inference/ChiSquareFactoryTest.java Wed Dec  9 02:34:11 2009
@@ -32,7 +32,7 @@
 
     @Override
     public void setUp() throws Exception {
-    	super.setUp();
+        super.setUp();
         testStatistic = TestUtils.getUnknownDistributionChiSquareTest();
     }
 

Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math/stat/inference/TTestFactoryTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/stat/inference/TTestFactoryTest.java?rev=888683&amp;r1=888682&amp;r2=888683&amp;view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/stat/inference/TTestFactoryTest.java (original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/stat/inference/TTestFactoryTest.java Wed Dec  9 02:34:11 2009
@@ -32,7 +32,7 @@
 
     @Override
     public void setUp() {
-    	super.setUp();
+        super.setUp();
         testStatistic = TestUtils.getTTest();
     }
 




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r888680 - /commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/SparseRealVectorTest.java</title>
<author><name>sebb@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091209023003.D98F323889D7@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091209023003-D98F323889D7@eris-apache-org%3e</id>
<updated>2009-12-09T02:30:03Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: sebb
Date: Wed Dec  9 02:30:02 2009
New Revision: 888680

URL: http://svn.apache.org/viewvc?rev=888680&amp;view=rev
Log:
Unnecessary casts; tab police

Modified:
    commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/SparseRealVectorTest.java

Modified: commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/SparseRealVectorTest.java
URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/SparseRealVectorTest.java?rev=888680&amp;r1=888679&amp;r2=888680&amp;view=diff
==============================================================================
--- commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/SparseRealVectorTest.java
(original)
+++ commons/proper/math/trunk/src/test/java/org/apache/commons/math/linear/SparseRealVectorTest.java
Wed Dec  9 02:30:02 2009
@@ -535,7 +535,7 @@
         assertEquals("testData len", 6, v_append_3.getDimension());
         assertEquals("testData is  ", 4.0, v_append_3.getEntry(3));
 
-	    RealVector v_append_4 = v1.append(v2_t);
+        RealVector v_append_4 = v1.append(v2_t);
         assertEquals("testData len", 6, v_append_4.getDimension());
         assertEquals("testData is 4.0 ", 4.0, v_append_4.getEntry(3));
 
@@ -551,7 +551,7 @@
             fail("wrong exception caught");
         }
 
-        OpenMapRealVector v_set1 = (OpenMapRealVector) v1.copy();
+        OpenMapRealVector v_set1 = v1.copy();
         v_set1.setEntry(1, 11.0);
         assertEquals("testData is 11.0 ", 11.0, v_set1.getEntry(1));
         try {
@@ -563,7 +563,7 @@
             fail("wrong exception caught");
         }
 
-        OpenMapRealVector v_set2 = (OpenMapRealVector) v4.copy();
+        OpenMapRealVector v_set2 = v4.copy();
         v_set2.setSubVector(3, v1);
         assertEquals("testData is 1.0 ", 1.0, v_set2.getEntry(3));
         assertEquals("testData is 7.0 ", 7.0, v_set2.getEntry(6));
@@ -576,7 +576,7 @@
             fail("wrong exception caught");
         }
 
-        OpenMapRealVector v_set3 = (OpenMapRealVector) v1.copy();
+        OpenMapRealVector v_set3 = v1.copy();
         v_set3.set(13.0);
         assertEquals("testData is 13.0 ", 13.0, v_set3.getEntry(2));
 
@@ -589,7 +589,7 @@
             fail("wrong exception caught");
         }
 
-        OpenMapRealVector v_set4 = (OpenMapRealVector) v4.copy();
+        OpenMapRealVector v_set4 = v4.copy();
         v_set4.setSubVector(3, v2_t);
         assertEquals("testData is 1.0 ", 4.0, v_set4.getEntry(3));
         assertEquals("testData is 7.0 ", 7.0, v_set4.getEntry(6));
@@ -1036,7 +1036,7 @@
             fail("wrong exception caught");
         }
 
-        OpenMapRealVector v_unitize = (OpenMapRealVector)v1.copy();
+        OpenMapRealVector v_unitize = v1.copy();
         v_unitize.unitize();
         assertClose("compare vect" ,v_unitVector_2.getData(),v_unitize.getData(),normTolerance);
         try {




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r888484 - in /commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates: download-page-body.xml download-page-foot.xml download-page-head.xml</title>
<author><name>niallp@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091208165756.D0A962388998@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091208165756-D0A962388998@eris-apache-org%3e</id>
<updated>2009-12-08T16:57:54Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: niallp
Date: Tue Dec  8 16:57:49 2009
New Revision: 888484

URL: http://svn.apache.org/viewvc?rev=888484&amp;view=rev
Log:
Improve the L&amp;F of the download links - switch to using tables &amp; sub-sections to present
source/binary distributions

Modified:
    commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-body.xml
    commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-foot.xml
    commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-head.xml

Modified: commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-body.xml
URL: http://svn.apache.org/viewvc/commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-body.xml?rev=888484&amp;r1=888483&amp;r2=888484&amp;view=diff
==============================================================================
--- commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-body.xml
(original)
+++ commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-body.xml
Tue Dec  8 16:57:49 2009
@@ -1,43 +1,30 @@
-    &lt;subsection name="@NAME@ @VERSION@ @RELDESC@"&gt;
-      &lt;p&gt;
-        &lt;div class="links"&gt;&lt;span class="link"&gt;&lt;a href="http://www.apache.org/dist/commons/KEYS"&gt;KEYS&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
-        &lt;ul class="downloads"&gt;
-          &lt;li class="group"&gt;&lt;div class="links"&gt;&lt;span class="label"&gt;Binary&lt;/span&gt;&lt;/div&gt;
-            &lt;ul&gt;
-              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/@ID@/binaries/@FINAL_NAME@@BINARY-SUFFIX@.tar.gz"&gt;@VERSION@.tar.gz&lt;/a&gt;
-                &lt;ul class="attributes"&gt;
-                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/@ID@/binaries/@FINAL_NAME@@BINARY-SUFFIX@.tar.gz.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
-                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/@ID@/binaries/@FINAL_NAME@@BINARY-SUFFIX@.tar.gz.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
-                  &lt;/li&gt;
-                &lt;/ul&gt;
-              &lt;/li&gt;
-              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/@ID@/binaries/@FINAL_NAME@@BINARY-SUFFIX@.zip"&gt;@VERSION@.zip&lt;/a&gt;
-                &lt;ul class="attributes"&gt;
-                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/@ID@/binaries/@FINAL_NAME@@BINARY-SUFFIX@.zip.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
-                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/@ID@/binaries/@FINAL_NAME@@BINARY-SUFFIX@.zip.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
-                  &lt;/li&gt;
-                &lt;/ul&gt;
-              &lt;/li&gt;
-            &lt;/ul&gt;
-          &lt;/li&gt;
-          &lt;li class="group"&gt;&lt;div class="links"&gt;&lt;span class="label"&gt;Source&lt;/span&gt;&lt;/div&gt;
-            &lt;ul&gt;
-              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/@ID@/source/@FINAL_NAME@-src.tar.gz"&gt;@VERSION@.tar.gz&lt;/a&gt;
-                &lt;ul class="attributes"&gt;
-                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/@ID@/source/@FINAL_NAME@-src.tar.gz.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
-                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/@ID@/source/@FINAL_NAME@-src.tar.gz.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
-                  &lt;/li&gt;
-                &lt;/ul&gt;
-              &lt;/li&gt;
-              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/@ID@/source/@FINAL_NAME@-src.zip"&gt;@VERSION@.zip&lt;/a&gt;
-                &lt;ul class="attributes"&gt;
-                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/@ID@/source/@FINAL_NAME@-src.zip.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
-                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/@ID@/source/@FINAL_NAME@-src.zip.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
-                  &lt;/li&gt;
-                &lt;/ul&gt;
-              &lt;/li&gt;
-            &lt;/ul&gt;
-          &lt;/li&gt;
-        &lt;/ul&gt;
-      &lt;/p&gt;
-    &lt;/subsection&gt;
+    &lt;section name="@NAME@ @VERSION@ @RELDESC@"&gt;
+      &lt;subsection name="Binaries"&gt;
+        &lt;table&gt;
+          &lt;tr&gt;
+              &lt;td&gt;&lt;a href="[preferred]/commons/@ID@/binaries/@FINAL_NAME@@BINARY-SUFFIX@.tar.gz"&gt;@FINAL_NAME@@BINARY-SUFFIX@.tar.gz&lt;/a&gt;&lt;/td&gt;
+              &lt;td&gt;&lt;a href="http://www.apache.org/dist/commons/@ID@/binaries/@FINAL_NAME@@BINARY-SUFFIX@.tar.gz.md5"&gt;md5&lt;/a&gt;&lt;/td&gt;
+              &lt;td&gt;&lt;a href="http://www.apache.org/dist/commons/@ID@/binaries/@FINAL_NAME@@BINARY-SUFFIX@.tar.gz.asc"&gt;pgp&lt;/a&gt;&lt;/td&gt;
+          &lt;/tr&gt;
+          &lt;tr&gt;
+              &lt;td&gt;&lt;a href="[preferred]/commons/@ID@/binaries/@FINAL_NAME@@BINARY-SUFFIX@.zip"&gt;@FINAL_NAME@@BINARY-SUFFIX@.zip&lt;/a&gt;&lt;/td&gt;
+              &lt;td&gt;&lt;a href="http://www.apache.org/dist/commons/@ID@/binaries/@FINAL_NAME@@BINARY-SUFFIX@.zip.md5"&gt;md5&lt;/a&gt;&lt;/td&gt;
+              &lt;td&gt;&lt;a href="http://www.apache.org/dist/commons/@ID@/binaries/@FINAL_NAME@@BINARY-SUFFIX@.zip.asc"&gt;pgp&lt;/a&gt;&lt;/td&gt;
+          &lt;/tr&gt;
+        &lt;/table&gt;
+      &lt;/subsection&gt;
+      &lt;subsection name="Source"&gt;
+        &lt;table&gt;
+          &lt;tr&gt;
+              &lt;td&gt;&lt;a href="[preferred]/commons/@ID@/source/@FINAL_NAME@-src.tar.gz"&gt;@FINAL_NAME@-src.tar.gz&lt;/a&gt;&lt;/td&gt;
+              &lt;td&gt;&lt;a href="http://www.apache.org/dist/commons/@ID@/source/@FINAL_NAME@-src.tar.gz.md5"&gt;md5&lt;/a&gt;&lt;/td&gt;
+              &lt;td&gt;&lt;a href="http://www.apache.org/dist/commons/@ID@/source/@FINAL_NAME@-src.tar.gz.asc"&gt;pgp&lt;/a&gt;&lt;/td&gt;
+          &lt;/tr&gt;
+          &lt;tr&gt;
+              &lt;td&gt;&lt;a href="[preferred]/commons/@ID@/source/@FINAL_NAME@-src.zip"&gt;@FINAL_NAME@-src.zip&lt;/a&gt;&lt;/td&gt;
+              &lt;td&gt;&lt;a href="http://www.apache.org/dist/commons/@ID@/source/@FINAL_NAME@-src.zip.md5"&gt;md5&lt;/a&gt;&lt;/td&gt;
+              &lt;td&gt;&lt;a href="http://www.apache.org/dist/commons/@ID@/source/@FINAL_NAME@-src.zip.asc"&gt;pgp&lt;/a&gt;&lt;/td&gt;
+          &lt;/tr&gt;
+        &lt;/table&gt;
+      &lt;/subsection&gt;
+    &lt;/section&gt;

Modified: commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-foot.xml
URL: http://svn.apache.org/viewvc/commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-foot.xml?rev=888484&amp;r1=888483&amp;r2=888484&amp;view=diff
==============================================================================
--- commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-foot.xml
(original)
+++ commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-foot.xml
Tue Dec  8 16:57:49 2009
@@ -1,4 +1,3 @@
-    &lt;subsection name="Browse Download Area and Archives"&gt;
         &lt;p&gt;
           Older releases can be obtained from the archives.
         &lt;/p&gt;
@@ -6,7 +5,6 @@
           &lt;li class="download"&gt;&lt;a href="[preferred]/commons/@ID@/"&gt;browse download
area&lt;/a&gt;&lt;/li&gt;
           &lt;li&gt;&lt;a href="http://archive.apache.org/dist/commons/@ID@/"&gt;archives...&lt;/a&gt;&lt;/li&gt;
         &lt;/ul&gt;
-    &lt;/subsection&gt;
     &lt;/section&gt;
   &lt;/body&gt;
 &lt;/document&gt;

Modified: commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-head.xml
URL: http://svn.apache.org/viewvc/commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-head.xml?rev=888484&amp;r1=888483&amp;r2=888484&amp;view=diff
==============================================================================
--- commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-head.xml
(original)
+++ commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-head.xml
Tue Dec  8 16:57:49 2009
@@ -88,7 +88,8 @@
       &lt;/form&gt;
 
       &lt;p&gt;
-        The &lt;code&gt;KEYS&lt;/code&gt; link links to the code signing keys used to sign
the product.
+        The &lt;a href="http://www.apache.org/dist/commons/KEYS"&gt;KEYS&lt;/a&gt;
+        link links to the code signing keys used to sign the product.
         The &lt;code&gt;PGP&lt;/code&gt; link downloads the OpenPGP compatible signature
from our main site. 
         The &lt;code&gt;MD5&lt;/code&gt; link downloads the checksum from the main site.
       &lt;/p&gt;




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r888420 - in /commons/proper/commons-build-plugin/trunk: pom.xml src/site/site.xml src/site/xdoc/issue-tracking.xml</title>
<author><name>niallp@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091208145358.4DC742388998@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091208145358-4DC742388998@eris-apache-org%3e</id>
<updated>2009-12-08T14:53:58Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: niallp
Date: Tue Dec  8 14:53:57 2009
New Revision: 888420

URL: http://svn.apache.org/viewvc?rev=888420&amp;view=rev
Log:
Add issue tracking page

Added:
    commons/proper/commons-build-plugin/trunk/src/site/xdoc/issue-tracking.xml   (with props)
Modified:
    commons/proper/commons-build-plugin/trunk/pom.xml
    commons/proper/commons-build-plugin/trunk/src/site/site.xml

Modified: commons/proper/commons-build-plugin/trunk/pom.xml
URL: http://svn.apache.org/viewvc/commons/proper/commons-build-plugin/trunk/pom.xml?rev=888420&amp;r1=888419&amp;r2=888420&amp;view=diff
==============================================================================
--- commons/proper/commons-build-plugin/trunk/pom.xml (original)
+++ commons/proper/commons-build-plugin/trunk/pom.xml Tue Dec  8 14:53:57 2009
@@ -186,5 +186,8 @@
         &lt;maven.compile.source /&gt;
         &lt;maven.compile.target /&gt;
         &lt;commons.manifestfile /&gt;
+        &lt;commons.jira.id&gt;COMMONSSITE&lt;/commons.jira.id&gt;
+        &lt;commons.jira.pid&gt;12310466&amp;amp;amp;component=12312401&lt;/commons.jira.pid&gt;
+        &lt;commons.release.version&gt;1.1&lt;/commons.release.version&gt;
     &lt;/properties&gt;
 &lt;/project&gt;

Modified: commons/proper/commons-build-plugin/trunk/src/site/site.xml
URL: http://svn.apache.org/viewvc/commons/proper/commons-build-plugin/trunk/src/site/site.xml?rev=888420&amp;r1=888419&amp;r2=888420&amp;view=diff
==============================================================================
--- commons/proper/commons-build-plugin/trunk/src/site/site.xml (original)
+++ commons/proper/commons-build-plugin/trunk/src/site/site.xml Tue Dec  8 14:53:57 2009
@@ -39,6 +39,7 @@
                 &lt;/item&gt;
             &lt;/item&gt;
             &lt;item name="Help"                    href="/development.html"&gt;
+                &lt;item name="Issue Tracking"      href="/issue-tracking.html"/&gt;
                 &lt;item name="Development"         href="/development.html"/&gt;
                 &lt;item name="Maven Plugins"       href="http://maven.apache.org/guides/plugin/guide-ant-plugin-development.html"/&gt;
                 &lt;item name="Ant"                 href="http://ant.apache.org/manual/index.html"/&gt;

Added: commons/proper/commons-build-plugin/trunk/src/site/xdoc/issue-tracking.xml
URL: http://svn.apache.org/viewvc/commons/proper/commons-build-plugin/trunk/src/site/xdoc/issue-tracking.xml?rev=888420&amp;view=auto
==============================================================================
--- commons/proper/commons-build-plugin/trunk/src/site/xdoc/issue-tracking.xml (added)
+++ commons/proper/commons-build-plugin/trunk/src/site/xdoc/issue-tracking.xml Tue Dec  8
14:53:57 2009
@@ -0,0 +1,102 @@
+&lt;?xml version="1.0"?&gt;
+&lt;!--
+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.
+--&gt;
+&lt;!--
+ +======================================================================+
+ |****                                                              ****|
+ |****      THIS FILE IS GENERATED BY THE COMMONS BUILD PLUGIN      ****|
+ |****                    DO NOT EDIT DIRECTLY                      ****|
+ |****                                                              ****|
+ +======================================================================+
+ | TEMPLATE FILE: issue-tracking-template.xml                           |
+ | commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates |
+ +======================================================================+
+ |                                                                      |
+ | 1) Re-generate using: mvn commons:jira-page                          |
+ |                                                                      |
+ | 2) Set the following properties in the component's pom:              |
+ |    - commons.jira.id  (required, alphabetic, upper case)             |
+ |    - commons.jira.pid (required, numeric)                            |
+ |                                                                      |
+ | 3) Example Properties                                                |
+ |                                                                      |
+ |  &lt;properties&gt;                                                        |
+ |    &lt;commons.jira.id&gt;MATH&lt;/commons.jira.id&gt;                           |
+ |    &lt;commons.jira.pid&gt;12310485&lt;/commons.jira.pid&gt;                     |
+ |  &lt;/properties&gt;                                                       |
+ |                                                                      |
+ +======================================================================+
+--&gt;
+&lt;document&gt;
+  &lt;properties&gt;
+    &lt;title&gt;commons-build-plugin Maven Mojo Issue tracking&lt;/title&gt;
+    &lt;author email="dev@commons.apache.org"&gt;Commons Documentation Team&lt;/author&gt;
+  &lt;/properties&gt;
+  &lt;body&gt;
+
+    &lt;section name="commons-build-plugin Maven Mojo Issue tracking"&gt;
+      &lt;p&gt;
+      commons-build-plugin Maven Mojo uses &lt;a href="http://issues.apache.org/jira/"&gt;ASF
JIRA&lt;/a&gt; for tracking issues.
+      See the &lt;a href="http://issues.apache.org/jira/browse/COMMONSSITE"&gt;commons-build-plugin
Maven Mojo JIRA project page&lt;/a&gt;.
+      &lt;/p&gt;
+
+      &lt;p&gt;
+      To use JIRA you may need to &lt;a href="http://issues.apache.org/jira/secure/Signup!default.jspa"&gt;create
an account&lt;/a&gt;
+      (if you have previously created/updated Commons issues using Bugzilla an account will
have been automatically
+      created and you can use the &lt;a href="http://issues.apache.org/jira/secure/ForgotPassword!default.jspa"&gt;Forgot
Password&lt;/a&gt;
+      page to get a new password).
+      &lt;/p&gt;
+
+      &lt;p&gt;
+      If you would like to report a bug, or raise an enhancement request with
+      commons-build-plugin Maven Mojo please do the following:
+      &lt;ol&gt;
+        &lt;li&gt;&lt;a href="http://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;amp;pid=12310466&amp;amp;component=12312401&amp;amp;sorter/field=issuekey&amp;amp;sorter/order=DESC&amp;amp;status=1&amp;amp;status=3&amp;amp;status=4"&gt;Search
existing open bugs&lt;/a&gt;.
+            If you find your issue listed then please add a comment with your details.&lt;/li&gt;
+        &lt;li&gt;&lt;a href="mail-lists.html"&gt;Search the mailing list archive(s)&lt;/a&gt;.
+            You may find your issue or idea has already been discussed.&lt;/li&gt;
+        &lt;li&gt;Decide if your issue is a bug or an enhancement.&lt;/li&gt;
+        &lt;li&gt;Submit either a &lt;a href="http://issues.apache.org/jira/secure/CreateIssueDetails!init.jspa?pid=12310466&amp;amp;component=12312401&amp;amp;issuetype=1&amp;amp;priority=4&amp;amp;assignee=-1"&gt;bug
report&lt;/a&gt;
+            or &lt;a href="http://issues.apache.org/jira/secure/CreateIssueDetails!init.jspa?pid=12310466&amp;amp;component=12312401&amp;amp;issuetype=4&amp;amp;priority=4&amp;amp;assignee=-1"&gt;enhancement
request&lt;/a&gt;.&lt;/li&gt;
+      &lt;/ol&gt;
+      &lt;/p&gt;
+
+      &lt;p&gt;
+      Please also remember these points:
+      &lt;ul&gt;
+        &lt;li&gt;the more information you provide, the better we can help you&lt;/li&gt;
+        &lt;li&gt;test cases are vital, particularly for any proposed enhancements&lt;/li&gt;
+        &lt;li&gt;the developers of commons-build-plugin Maven Mojo are all unpaid volunteers&lt;/li&gt;
+      &lt;/ul&gt;
+      &lt;/p&gt;
+
+      &lt;p&gt;
+      For more information on subversion and creating patches see the
+      &lt;a href="http://www.apache.org/dev/contributors.html"&gt;Apache Contributors Guide&lt;/a&gt;.
+      &lt;/p&gt;
+
+      &lt;p&gt;
+      You may also find these links useful:
+      &lt;ul&gt;
+        &lt;li&gt;&lt;a href="http://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;amp;pid=12310466&amp;amp;component=12312401&amp;amp;sorter/field=issuekey&amp;amp;sorter/order=DESC&amp;amp;status=1&amp;amp;status=3&amp;amp;status=4"&gt;All
Open commons-build-plugin Maven Mojo bugs&lt;/a&gt;&lt;/li&gt;
+        &lt;li&gt;&lt;a href="http://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;amp;pid=12310466&amp;amp;component=12312401&amp;amp;sorter/field=issuekey&amp;amp;sorter/order=DESC&amp;amp;status=5&amp;amp;status=6"&gt;All
Resolved commons-build-plugin Maven Mojo bugs&lt;/a&gt;&lt;/li&gt;
+        &lt;li&gt;&lt;a href="http://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;amp;pid=12310466&amp;amp;component=12312401&amp;amp;sorter/field=issuekey&amp;amp;sorter/order=DESC"&gt;All
commons-build-plugin Maven Mojo bugs&lt;/a&gt;&lt;/li&gt;
+      &lt;/ul&gt;
+      &lt;/p&gt;
+    &lt;/section&gt;
+  &lt;/body&gt;
+&lt;/document&gt;

Propchange: commons/proper/commons-build-plugin/trunk/src/site/xdoc/issue-tracking.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: commons/proper/commons-build-plugin/trunk/src/site/xdoc/issue-tracking.xml
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r888342 - /commons/proper/commons-build-plugin/trunk/pom.xml</title>
<author><name>niallp@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091208113222.0C15223888EC@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091208113222-0C15223888EC@eris-apache-org%3e</id>
<updated>2009-12-08T11:32:22Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: niallp
Date: Tue Dec  8 11:32:21 2009
New Revision: 888342

URL: http://svn.apache.org/viewvc?rev=888342&amp;view=rev
Log:
Fox dependency problem causing site generation to fail

Modified:
    commons/proper/commons-build-plugin/trunk/pom.xml

Modified: commons/proper/commons-build-plugin/trunk/pom.xml
URL: http://svn.apache.org/viewvc/commons/proper/commons-build-plugin/trunk/pom.xml?rev=888342&amp;r1=888341&amp;r2=888342&amp;view=diff
==============================================================================
--- commons/proper/commons-build-plugin/trunk/pom.xml (original)
+++ commons/proper/commons-build-plugin/trunk/pom.xml Tue Dec  8 11:32:21 2009
@@ -110,9 +110,9 @@
                 &lt;!-- Add the Ant plugin tools to the plugin --&gt;
                 &lt;dependencies&gt;
                     &lt;dependency&gt;
-                        &lt;groupId&gt;org.apache.maven&lt;/groupId&gt;
+                        &lt;groupId&gt;org.apache.maven.plugin-tools&lt;/groupId&gt;
                         &lt;artifactId&gt;maven-plugin-tools-ant&lt;/artifactId&gt;
-                        &lt;version&gt;2.1&lt;/version&gt;
+                        &lt;version&gt;2.4.3&lt;/version&gt;
                     &lt;/dependency&gt;
                 &lt;/dependencies&gt;
 




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r888341 - in /commons/proper/commons-build-plugin/trunk/src/site: ./ resources/ xdoc/</title>
<author><name>niallp@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091208113101.7524E23888EC@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091208113101-7524E23888EC@eris-apache-org%3e</id>
<updated>2009-12-08T11:31:01Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: niallp
Date: Tue Dec  8 11:31:00 2009
New Revision: 888341

URL: http://svn.apache.org/viewvc?rev=888341&amp;view=rev
Log:
COMMONSSITE-48 Update documentation for download-page changes and re-organize pages to reflect goals

Added:
    commons/proper/commons-build-plugin/trunk/src/site/resources/
    commons/proper/commons-build-plugin/trunk/src/site/resources/download-page-2release.jpg   (with props)
    commons/proper/commons-build-plugin/trunk/src/site/xdoc/download-page.xml
      - copied, changed from r887867, commons/proper/commons-build-plugin/trunk/src/site/xdoc/generate-xdocs-build.xml
    commons/proper/commons-build-plugin/trunk/src/site/xdoc/jira-page.xml
      - copied, changed from r887867, commons/proper/commons-build-plugin/trunk/src/site/xdoc/generate-xdocs-build.xml
    commons/proper/commons-build-plugin/trunk/src/site/xdoc/sandbox-jira-page.xml
      - copied, changed from r887867, commons/proper/commons-build-plugin/trunk/src/site/xdoc/generate-xdocs-build.xml
Removed:
    commons/proper/commons-build-plugin/trunk/src/site/xdoc/generate-xdocs-build.xml
Modified:
    commons/proper/commons-build-plugin/trunk/src/site/site.xml
    commons/proper/commons-build-plugin/trunk/src/site/xdoc/copy-javadoc-files-mojo.xml
    commons/proper/commons-build-plugin/trunk/src/site/xdoc/download-page-mojo.xml
    commons/proper/commons-build-plugin/trunk/src/site/xdoc/index.xml
    commons/proper/commons-build-plugin/trunk/src/site/xdoc/jira-page-mojo.xml
    commons/proper/commons-build-plugin/trunk/src/site/xdoc/sandbox-jira-page-mojo.xml

Added: commons/proper/commons-build-plugin/trunk/src/site/resources/download-page-2release.jpg
URL: http://svn.apache.org/viewvc/commons/proper/commons-build-plugin/trunk/src/site/resources/download-page-2release.jpg?rev=888341&amp;view=auto
==============================================================================
Binary file - no diff available.

Propchange: commons/proper/commons-build-plugin/trunk/src/site/resources/download-page-2release.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: commons/proper/commons-build-plugin/trunk/src/site/site.xml
URL: http://svn.apache.org/viewvc/commons/proper/commons-build-plugin/trunk/src/site/site.xml?rev=888341&amp;r1=888340&amp;r2=888341&amp;view=diff
==============================================================================
--- commons/proper/commons-build-plugin/trunk/src/site/site.xml (original)
+++ commons/proper/commons-build-plugin/trunk/src/site/site.xml Tue Dec  8 11:31:00 2009
@@ -24,13 +24,19 @@
     &lt;body&gt;
         &lt;menu name="Build Plugin"&gt;
             &lt;item name="Overview"                href="/index.html"/&gt;
-            &lt;item name="Goals"                   href="/generate-xdocs-build.html"&gt;
-                &lt;item name="Generate XDOCS"      href="/generate-xdocs-build.html"&gt;
-                    &lt;item name="jira-page"       href="/generate-xdocs-build.html"/&gt;
-                    &lt;item name="download-page"   href="/generate-xdocs-build.html#commons:download-page"/&gt;
-                    &lt;item name="sandbox-jira-page" href="/generate-xdocs-build.html#commons:sandbox-jira-page"/&gt;
+            &lt;item name="Download Page"           href="/download-page.html"&gt;
+                &lt;item name="download-page"       href="/download-page.html"/&gt;
+                &lt;item name="properties"          href="/download-page-mojo.html"/&gt;
+            &lt;/item&gt;
+            &lt;item name="JIRA Page"&gt;
+                &lt;item name="Proper"                 href="/jira-page.html"&gt;
+                    &lt;item name="jira-page"          href="/jira-page.html"/&gt;
+                    &lt;item name="properties"         href="/jira-page-mojo.html"/&gt;
+                &lt;/item&gt;
+                &lt;item name="Sandbox"                href="/sandbox-jira-page.html"&gt;
+                    &lt;item name="sandbox-jira-page"  href="/sandbox-jira-page.html"/&gt;
+                    &lt;item name="properties"         href="/sandbox-jira-page-mojo.html"/&gt;
                 &lt;/item&gt;
-                &lt;item name="copy-javadoc-files"  href="/copy-javadoc-files-build.html"/&gt;
             &lt;/item&gt;
             &lt;item name="Help"                    href="/development.html"&gt;
                 &lt;item name="Development"         href="/development.html"/&gt;

Modified: commons/proper/commons-build-plugin/trunk/src/site/xdoc/copy-javadoc-files-mojo.xml
URL: http://svn.apache.org/viewvc/commons/proper/commons-build-plugin/trunk/src/site/xdoc/copy-javadoc-files-mojo.xml?rev=888341&amp;r1=888340&amp;r2=888341&amp;view=diff
==============================================================================
--- commons/proper/commons-build-plugin/trunk/src/site/xdoc/copy-javadoc-files-mojo.xml (original)
+++ commons/proper/commons-build-plugin/trunk/src/site/xdoc/copy-javadoc-files-mojo.xml Tue Dec  8 11:31:00 2009
@@ -21,60 +21,67 @@
  --&gt;
 &lt;document&gt;
   &lt;properties&gt;
-    &lt;title&gt;commons-build-plugin - commons:copy-javadoc-files&lt;/title&gt;
-    &lt;/properties&gt;
+    &lt;title&gt;commons:copy-javadoc-files&lt;/title&gt;
+  &lt;/properties&gt;
   &lt;body&gt;
     &lt;section name="commons:copy-javadoc-files"&gt;
-      &lt;p&gt;Commons Build: Copy NOTICE and LICENSE files to -javadoc.jar&lt;/p&gt;
-      &lt;p&gt;&lt;b&gt;Mojo Attributes&lt;/b&gt;:&lt;ul&gt;
-          &lt;li&gt;Is NOT inherited by default in multi-project builds.&lt;/li&gt;
-          &lt;/ul&gt;
-        &lt;/p&gt;
+      &lt;p&gt;&lt;strong&gt;Full name&lt;/strong&gt;:&lt;/p&gt;
+      &lt;p&gt;org.apache.commons:commons-build-plugin:1.2-SNAPSHOT:copy-javadoc-files&lt;/p&gt;
+      &lt;p&gt;&lt;strong&gt;Description&lt;/strong&gt;:&lt;/p&gt;
+      &lt;div&gt;Commons Build: Copy NOTICE and LICENSE files to -javadoc.jar&lt;/div&gt;
+      &lt;p&gt;&lt;strong&gt;Attributes&lt;/strong&gt;:&lt;/p&gt;
+      &lt;ul&gt;
+        &lt;li&gt;Is NOT inherited by default in multi-project builds.&lt;/li&gt;
+      &lt;/ul&gt;
       &lt;subsection name="Required Parameters"&gt;
-        &lt;table&gt;
+        &lt;table border="0" align="left"&gt;
           &lt;tr&gt;
             &lt;th&gt;Name&lt;/th&gt;
             &lt;th&gt;Type&lt;/th&gt;
+            &lt;th&gt;Since&lt;/th&gt;
             &lt;th&gt;Description&lt;/th&gt;
-            &lt;/tr&gt;
+          &lt;/tr&gt;
           &lt;tr&gt;
-            &lt;td&gt;&lt;b&gt;&lt;a href="#basedir"&gt;basedir&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
+            &lt;td&gt;&lt;strong&gt;&lt;a href="#basedir"&gt;basedir&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
             &lt;td&gt;&lt;code&gt;File&lt;/code&gt;&lt;/td&gt;
-            &lt;td&gt;The base directory from which to execute the Ant script. Default value is &lt;code&gt;${basedir}&lt;/code&gt;.&lt;/td&gt;
-            &lt;/tr&gt;
-          &lt;/table&gt;
-        &lt;/subsection&gt;
+            &lt;td&gt;&lt;code&gt;-&lt;/code&gt;&lt;/td&gt;
+            &lt;td&gt;The base directory from which to execute the Ant script.&lt;br/&gt;&lt;strong&gt;Default value is&lt;/strong&gt;: &lt;code&gt;${basedir}&lt;/code&gt;.&lt;/td&gt;
+          &lt;/tr&gt;
+        &lt;/table&gt;
+      &lt;/subsection&gt;
       &lt;subsection name="Optional Parameters"&gt;
-        &lt;table&gt;
+        &lt;table border="0" align="left"&gt;
           &lt;tr&gt;
             &lt;th&gt;Name&lt;/th&gt;
             &lt;th&gt;Type&lt;/th&gt;
+            &lt;th&gt;Since&lt;/th&gt;
             &lt;th&gt;Description&lt;/th&gt;
-            &lt;/tr&gt;
+          &lt;/tr&gt;
           &lt;tr&gt;
-            &lt;td&gt;&lt;b&gt;&lt;a href="#messageLevel"&gt;messageLevel&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
+            &lt;td&gt;&lt;strong&gt;&lt;a href="#messageLevel"&gt;messageLevel&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
             &lt;td&gt;&lt;code&gt;String&lt;/code&gt;&lt;/td&gt;
-            &lt;td&gt;The message-level used to tune the verbosity of Ant logging. Default value is &lt;code&gt;info&lt;/code&gt;.&lt;/td&gt;
-            &lt;/tr&gt;
-          &lt;/table&gt;
-        &lt;/subsection&gt;
+            &lt;td&gt;&lt;code&gt;-&lt;/code&gt;&lt;/td&gt;
+            &lt;td&gt;The message-level used to tune the verbosity of Ant logging.&lt;br/&gt;&lt;strong&gt;Default value is&lt;/strong&gt;: &lt;code&gt;info&lt;/code&gt;.&lt;/td&gt;
+          &lt;/tr&gt;
+        &lt;/table&gt;
+      &lt;/subsection&gt;
       &lt;subsection name="Parameter Details"&gt;
-        &lt;p&gt;&lt;b&gt;&lt;a name="basedir"&gt;basedir&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
-        &lt;p&gt;The base directory from which to execute the Ant script.&lt;/p&gt;
+        &lt;p&gt;&lt;strong&gt;&lt;a name="basedir"&gt;basedir&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
+        &lt;div&gt;The base directory from which to execute the Ant script.&lt;/div&gt;
         &lt;ul&gt;
-          &lt;li&gt;&lt;b&gt;Type&lt;/b&gt;: &lt;code&gt;java.io.File&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Required&lt;/b&gt;: &lt;code&gt;Yes&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Expression&lt;/b&gt;: &lt;code&gt;${antBasedir}&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Default&lt;/b&gt;: &lt;code&gt;${basedir}&lt;/code&gt;&lt;/li&gt;
-          &lt;/ul&gt;&lt;hr/&gt;&lt;p&gt;&lt;b&gt;&lt;a name="messageLevel"&gt;messageLevel&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
-        &lt;p&gt;The message-level used to tune the verbosity of Ant logging.&lt;/p&gt;
+          &lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: &lt;code&gt;java.io.File&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Required&lt;/strong&gt;: &lt;code&gt;Yes&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Expression&lt;/strong&gt;: &lt;code&gt;${antBasedir}&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: &lt;code&gt;${basedir}&lt;/code&gt;&lt;/li&gt;
+        &lt;/ul&gt;&lt;hr/&gt;&lt;p&gt;&lt;strong&gt;&lt;a name="messageLevel"&gt;messageLevel&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
+        &lt;div&gt;The message-level used to tune the verbosity of Ant logging.&lt;/div&gt;
         &lt;ul&gt;
-          &lt;li&gt;&lt;b&gt;Type&lt;/b&gt;: &lt;code&gt;java.lang.String&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Required&lt;/b&gt;: &lt;code&gt;No&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Expression&lt;/b&gt;: &lt;code&gt;${antMessageLevel}&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Default&lt;/b&gt;: &lt;code&gt;info&lt;/code&gt;&lt;/li&gt;
-          &lt;/ul&gt;
-        &lt;/subsection&gt;
-      &lt;/section&gt;
-    &lt;/body&gt;
-  &lt;/document&gt;
\ No newline at end of file
+          &lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: &lt;code&gt;java.lang.String&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Required&lt;/strong&gt;: &lt;code&gt;No&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Expression&lt;/strong&gt;: &lt;code&gt;${antMessageLevel}&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: &lt;code&gt;info&lt;/code&gt;&lt;/li&gt;
+        &lt;/ul&gt;
+      &lt;/subsection&gt;
+    &lt;/section&gt;
+  &lt;/body&gt;
+&lt;/document&gt;
\ No newline at end of file

Modified: commons/proper/commons-build-plugin/trunk/src/site/xdoc/download-page-mojo.xml
URL: http://svn.apache.org/viewvc/commons/proper/commons-build-plugin/trunk/src/site/xdoc/download-page-mojo.xml?rev=888341&amp;r1=888340&amp;r2=888341&amp;view=diff
==============================================================================
--- commons/proper/commons-build-plugin/trunk/src/site/xdoc/download-page-mojo.xml (original)
+++ commons/proper/commons-build-plugin/trunk/src/site/xdoc/download-page-mojo.xml Tue Dec  8 11:31:00 2009
@@ -21,94 +21,128 @@
  --&gt;
 &lt;document&gt;
   &lt;properties&gt;
-    &lt;title&gt;commons-build-plugin - commons:download-page&lt;/title&gt;
-    &lt;/properties&gt;
+    &lt;title&gt;commons:download-page&lt;/title&gt;
+  &lt;/properties&gt;
   &lt;body&gt;
     &lt;section name="commons:download-page"&gt;
-      &lt;p&gt;Commons Build Ant Mojo: Generate Download page&lt;/p&gt;
-      &lt;p&gt;&lt;b&gt;Mojo Attributes&lt;/b&gt;:&lt;ul&gt;
-          &lt;li&gt;Requires a Maven 2.0 project to execute.&lt;/li&gt;
-          &lt;li&gt;Is NOT inherited by default in multi-project builds.&lt;/li&gt;
-          &lt;/ul&gt;
-        &lt;/p&gt;
+      &lt;p&gt;&lt;strong&gt;Full name&lt;/strong&gt;:&lt;/p&gt;
+      &lt;p&gt;org.apache.commons:commons-build-plugin:1.2-SNAPSHOT:download-page&lt;/p&gt;
+      &lt;p&gt;&lt;strong&gt;Description&lt;/strong&gt;:&lt;/p&gt;
+      &lt;div&gt;Commons Build Ant Mojo: Generate Download page&lt;/div&gt;
+      &lt;p&gt;&lt;strong&gt;Attributes&lt;/strong&gt;:&lt;/p&gt;
+      &lt;ul&gt;
+        &lt;li&gt;Requires a Maven 2.0 project to be executed.&lt;/li&gt;
+        &lt;li&gt;Is NOT inherited by default in multi-project builds.&lt;/li&gt;
+      &lt;/ul&gt;
       &lt;subsection name="Required Parameters"&gt;
-        &lt;table&gt;
+        &lt;table border="0" align="left"&gt;
           &lt;tr&gt;
             &lt;th&gt;Name&lt;/th&gt;
             &lt;th&gt;Type&lt;/th&gt;
+            &lt;th&gt;Since&lt;/th&gt;
             &lt;th&gt;Description&lt;/th&gt;
-            &lt;/tr&gt;
+          &lt;/tr&gt;
           &lt;tr&gt;
-            &lt;td&gt;&lt;b&gt;&lt;a href="#commons.release.version"&gt;commons.release.version&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
+            &lt;td&gt;&lt;strong&gt;&lt;a href="#commons.release.version"&gt;commons.release.version&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
             &lt;td&gt;&lt;code&gt;String&lt;/code&gt;&lt;/td&gt;
-            &lt;td&gt;The version of the latest release of the project. Default value is &lt;code&gt;${commons.release.version}&lt;/code&gt;.&lt;/td&gt;
-            &lt;/tr&gt;
+            &lt;td&gt;&lt;code&gt;-&lt;/code&gt;&lt;/td&gt;
+            &lt;td&gt;The version of the latest release of the project.&lt;br/&gt;&lt;strong&gt;Default value is&lt;/strong&gt;: &lt;code&gt;${commons.release.version}&lt;/code&gt;.&lt;/td&gt;
+          &lt;/tr&gt;
           &lt;tr&gt;
-            &lt;td&gt;&lt;b&gt;&lt;a href="#commons.release.name"&gt;commons.release.name&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
+            &lt;td&gt;&lt;strong&gt;&lt;a href="#commons.release.desc"&gt;commons.release.desc&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
             &lt;td&gt;&lt;code&gt;String&lt;/code&gt;&lt;/td&gt;
-            &lt;td&gt;The final name (i.e. artifactId-version) of the artifacts being built. Default value is &lt;code&gt;${project.artifactId}-${commons.release.version}&lt;/code&gt;.&lt;/td&gt;
-            &lt;/tr&gt;
+            &lt;td&gt;&lt;code&gt;-&lt;/code&gt;&lt;/td&gt;
+            &lt;td&gt;Release Title or Description.&lt;br/&gt;&lt;strong&gt;Default value is&lt;/strong&gt;: &lt;code&gt;${commons.release.desc}&lt;/code&gt;.&lt;/td&gt;
+          &lt;/tr&gt;
           &lt;tr&gt;
-            &lt;td&gt;&lt;b&gt;&lt;a href="#commons.binary.suffix"&gt;commons.binary.suffix&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
+            &lt;td&gt;&lt;strong&gt;&lt;a href="#commons.binary.suffix"&gt;commons.binary.suffix&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
             &lt;td&gt;&lt;code&gt;String&lt;/code&gt;&lt;/td&gt;
-            &lt;td&gt;The suffix for the binary distro. Default value is &lt;code&gt;${commons.binary.suffix}&lt;/code&gt;.&lt;/td&gt;
-            &lt;/tr&gt;
+            &lt;td&gt;&lt;code&gt;-&lt;/code&gt;&lt;/td&gt;
+            &lt;td&gt;The suffix for the binary distro.&lt;br/&gt;&lt;strong&gt;Default value is&lt;/strong&gt;: &lt;code&gt;${commons.binary.suffix}&lt;/code&gt;.&lt;/td&gt;
+          &lt;/tr&gt;
           &lt;tr&gt;
-            &lt;td&gt;&lt;b&gt;&lt;a href="#basedir"&gt;basedir&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
+            &lt;td&gt;&lt;strong&gt;&lt;a href="#basedir"&gt;basedir&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
             &lt;td&gt;&lt;code&gt;File&lt;/code&gt;&lt;/td&gt;
-            &lt;td&gt;The base directory from which to execute the Ant script. Default value is &lt;code&gt;${basedir}&lt;/code&gt;.&lt;/td&gt;
-            &lt;/tr&gt;
-          &lt;/table&gt;
-        &lt;/subsection&gt;
+            &lt;td&gt;&lt;code&gt;-&lt;/code&gt;&lt;/td&gt;
+            &lt;td&gt;The base directory from which to execute the Ant script.&lt;br/&gt;&lt;strong&gt;Default value is&lt;/strong&gt;: &lt;code&gt;${basedir}&lt;/code&gt;.&lt;/td&gt;
+          &lt;/tr&gt;
+        &lt;/table&gt;
+      &lt;/subsection&gt;
       &lt;subsection name="Optional Parameters"&gt;
-        &lt;table&gt;
+        &lt;table border="0" align="left"&gt;
           &lt;tr&gt;
             &lt;th&gt;Name&lt;/th&gt;
             &lt;th&gt;Type&lt;/th&gt;
+            &lt;th&gt;Since&lt;/th&gt;
             &lt;th&gt;Description&lt;/th&gt;
-            &lt;/tr&gt;
+          &lt;/tr&gt;
           &lt;tr&gt;
-            &lt;td&gt;&lt;b&gt;&lt;a href="#messageLevel"&gt;messageLevel&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
+            &lt;td&gt;&lt;strong&gt;&lt;a href="#commons.release.version.2"&gt;commons.release.version.2&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
             &lt;td&gt;&lt;code&gt;String&lt;/code&gt;&lt;/td&gt;
-            &lt;td&gt;The message-level used to tune the verbosity of Ant logging. Default value is &lt;code&gt;info&lt;/code&gt;.&lt;/td&gt;
-            &lt;/tr&gt;
-          &lt;/table&gt;
-        &lt;/subsection&gt;
+            &lt;td&gt;&lt;code&gt;-&lt;/code&gt;&lt;/td&gt;
+            &lt;td&gt;The version of an alternative release of the project.&lt;br/&gt;&lt;strong&gt;Default value is&lt;/strong&gt;: &lt;code&gt;${commons.release.version.2}&lt;/code&gt;.&lt;/td&gt;
+          &lt;/tr&gt;
+          &lt;tr&gt;
+            &lt;td&gt;&lt;strong&gt;&lt;a href="#commons.release.desc.2"&gt;commons.release.desc.2&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
+            &lt;td&gt;&lt;code&gt;String&lt;/code&gt;&lt;/td&gt;
+            &lt;td&gt;&lt;code&gt;-&lt;/code&gt;&lt;/td&gt;
+            &lt;td&gt;Alternative Release Title or Description.&lt;br/&gt;&lt;strong&gt;Default value is&lt;/strong&gt;: &lt;code&gt;${commons.release.desc.2}&lt;/code&gt;.&lt;/td&gt;
+          &lt;/tr&gt;
+          &lt;tr&gt;
+            &lt;td&gt;&lt;strong&gt;&lt;a href="#messageLevel"&gt;messageLevel&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
+            &lt;td&gt;&lt;code&gt;String&lt;/code&gt;&lt;/td&gt;
+            &lt;td&gt;&lt;code&gt;-&lt;/code&gt;&lt;/td&gt;
+            &lt;td&gt;The message-level used to tune the verbosity of Ant logging.&lt;br/&gt;&lt;strong&gt;Default value is&lt;/strong&gt;: &lt;code&gt;info&lt;/code&gt;.&lt;/td&gt;
+          &lt;/tr&gt;
+        &lt;/table&gt;
+      &lt;/subsection&gt;
       &lt;subsection name="Parameter Details"&gt;
-        &lt;p&gt;&lt;b&gt;&lt;a name="commons.release.version"&gt;commons.release.version&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
-        &lt;p&gt;The version of the latest release of the project.&lt;/p&gt;
+        &lt;p&gt;&lt;strong&gt;&lt;a name="commons.release.version"&gt;commons.release.version&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
+        &lt;div&gt;The version of the latest release of the project.&lt;/div&gt;
+        &lt;ul&gt;
+          &lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: &lt;code&gt;java.lang.String&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Required&lt;/strong&gt;: &lt;code&gt;Yes&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: &lt;code&gt;${commons.release.version}&lt;/code&gt;&lt;/li&gt;
+        &lt;/ul&gt;&lt;hr/&gt;&lt;p&gt;&lt;strong&gt;&lt;a name="commons.release.desc"&gt;commons.release.desc&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
+        &lt;div&gt;Release Title or Description.&lt;/div&gt;
+        &lt;ul&gt;
+          &lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: &lt;code&gt;java.lang.String&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Required&lt;/strong&gt;: &lt;code&gt;Yes&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: &lt;code&gt;${commons.release.desc}&lt;/code&gt;&lt;/li&gt;
+        &lt;/ul&gt;&lt;hr/&gt;&lt;p&gt;&lt;strong&gt;&lt;a name="commons.release.version.2"&gt;commons.release.version.2&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
+        &lt;div&gt;The version of an alternative release of the project.&lt;/div&gt;
+        &lt;ul&gt;
+          &lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: &lt;code&gt;java.lang.String&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Required&lt;/strong&gt;: &lt;code&gt;No&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: &lt;code&gt;${commons.release.version.2}&lt;/code&gt;&lt;/li&gt;
+        &lt;/ul&gt;&lt;hr/&gt;&lt;p&gt;&lt;strong&gt;&lt;a name="commons.release.desc.2"&gt;commons.release.desc.2&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
+        &lt;div&gt;Alternative Release Title or Description.&lt;/div&gt;
+        &lt;ul&gt;
+          &lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: &lt;code&gt;java.lang.String&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Required&lt;/strong&gt;: &lt;code&gt;No&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: &lt;code&gt;${commons.release.desc.2}&lt;/code&gt;&lt;/li&gt;
+        &lt;/ul&gt;&lt;hr/&gt;&lt;p&gt;&lt;strong&gt;&lt;a name="commons.binary.suffix"&gt;commons.binary.suffix&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
+        &lt;div&gt;The suffix for the binary distro.&lt;/div&gt;
+        &lt;ul&gt;
+          &lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: &lt;code&gt;java.lang.String&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Required&lt;/strong&gt;: &lt;code&gt;Yes&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: &lt;code&gt;${commons.binary.suffix}&lt;/code&gt;&lt;/li&gt;
+        &lt;/ul&gt;&lt;hr/&gt;&lt;p&gt;&lt;strong&gt;&lt;a name="basedir"&gt;basedir&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
+        &lt;div&gt;The base directory from which to execute the Ant script.&lt;/div&gt;
+        &lt;ul&gt;
+          &lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: &lt;code&gt;java.io.File&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Required&lt;/strong&gt;: &lt;code&gt;Yes&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Expression&lt;/strong&gt;: &lt;code&gt;${antBasedir}&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: &lt;code&gt;${basedir}&lt;/code&gt;&lt;/li&gt;
+        &lt;/ul&gt;&lt;hr/&gt;&lt;p&gt;&lt;strong&gt;&lt;a name="messageLevel"&gt;messageLevel&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
+        &lt;div&gt;The message-level used to tune the verbosity of Ant logging.&lt;/div&gt;
         &lt;ul&gt;
-          &lt;li&gt;&lt;b&gt;Type&lt;/b&gt;: &lt;code&gt;java.lang.String&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Required&lt;/b&gt;: &lt;code&gt;Yes&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Default&lt;/b&gt;: &lt;code&gt;${commons.release.version}&lt;/code&gt;&lt;/li&gt;
-          &lt;/ul&gt;&lt;hr/&gt;&lt;p&gt;&lt;b&gt;&lt;a name="commons.release.name"&gt;commons.release.name&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
-        &lt;p&gt;The final name (i.e. artifactId-version) of the artifacts being built.&lt;/p&gt;
-        &lt;ul&gt;
-          &lt;li&gt;&lt;b&gt;Type&lt;/b&gt;: &lt;code&gt;java.lang.String&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Required&lt;/b&gt;: &lt;code&gt;Yes&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Default&lt;/b&gt;: &lt;code&gt;${project.artifactId}-${commons.release.version}&lt;/code&gt;&lt;/li&gt;
-          &lt;/ul&gt;&lt;hr/&gt;&lt;p&gt;&lt;b&gt;&lt;a name="commons.binary.suffix"&gt;commons.binary.suffix&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
-        &lt;p&gt;The suffix for the binary distro.&lt;/p&gt;
-        &lt;ul&gt;
-          &lt;li&gt;&lt;b&gt;Type&lt;/b&gt;: &lt;code&gt;java.lang.String&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Required&lt;/b&gt;: &lt;code&gt;Yes&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Default&lt;/b&gt;: &lt;code&gt;${commons.binary.suffix}&lt;/code&gt;&lt;/li&gt;
-          &lt;/ul&gt;&lt;hr/&gt;&lt;p&gt;&lt;b&gt;&lt;a name="basedir"&gt;basedir&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
-        &lt;p&gt;The base directory from which to execute the Ant script.&lt;/p&gt;
-        &lt;ul&gt;
-          &lt;li&gt;&lt;b&gt;Type&lt;/b&gt;: &lt;code&gt;java.io.File&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Required&lt;/b&gt;: &lt;code&gt;Yes&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Expression&lt;/b&gt;: &lt;code&gt;${antBasedir}&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Default&lt;/b&gt;: &lt;code&gt;${basedir}&lt;/code&gt;&lt;/li&gt;
-          &lt;/ul&gt;&lt;hr/&gt;&lt;p&gt;&lt;b&gt;&lt;a name="messageLevel"&gt;messageLevel&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
-        &lt;p&gt;The message-level used to tune the verbosity of Ant logging.&lt;/p&gt;
-        &lt;ul&gt;
-          &lt;li&gt;&lt;b&gt;Type&lt;/b&gt;: &lt;code&gt;java.lang.String&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Required&lt;/b&gt;: &lt;code&gt;No&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Expression&lt;/b&gt;: &lt;code&gt;${antMessageLevel}&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Default&lt;/b&gt;: &lt;code&gt;info&lt;/code&gt;&lt;/li&gt;
-          &lt;/ul&gt;
-        &lt;/subsection&gt;
-      &lt;/section&gt;
-    &lt;/body&gt;
-  &lt;/document&gt;
\ No newline at end of file
+          &lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: &lt;code&gt;java.lang.String&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Required&lt;/strong&gt;: &lt;code&gt;No&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Expression&lt;/strong&gt;: &lt;code&gt;${antMessageLevel}&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: &lt;code&gt;info&lt;/code&gt;&lt;/li&gt;
+        &lt;/ul&gt;
+      &lt;/subsection&gt;
+    &lt;/section&gt;
+  &lt;/body&gt;
+&lt;/document&gt;
\ No newline at end of file

Copied: commons/proper/commons-build-plugin/trunk/src/site/xdoc/download-page.xml (from r887867, commons/proper/commons-build-plugin/trunk/src/site/xdoc/generate-xdocs-build.xml)
URL: http://svn.apache.org/viewvc/commons/proper/commons-build-plugin/trunk/src/site/xdoc/download-page.xml?p2=commons/proper/commons-build-plugin/trunk/src/site/xdoc/download-page.xml&amp;p1=commons/proper/commons-build-plugin/trunk/src/site/xdoc/generate-xdocs-build.xml&amp;r1=887867&amp;r2=888341&amp;rev=888341&amp;view=diff
==============================================================================
--- commons/proper/commons-build-plugin/trunk/src/site/xdoc/generate-xdocs-build.xml (original)
+++ commons/proper/commons-build-plugin/trunk/src/site/xdoc/download-page.xml Tue Dec  8 11:31:00 2009
@@ -22,88 +22,13 @@
 &lt;document&gt;
 
     &lt;properties&gt;
-        &lt;title&gt;Generating XDOC files&lt;/title&gt;
+        &lt;title&gt;Generating Download Page&lt;/title&gt;
         &lt;author email="dev@commons.apache.org"&gt;Commons Documentation Team&lt;/author&gt;
     &lt;/properties&gt;
 
     &lt;body&gt;
 
 
-        &lt;section name="Generating XDOC files"&gt;
-            &lt;p&gt;
-            The &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.build.xml"&gt;
-            generate-xdocs.build.xml&lt;/a&gt; Ant build script contains targets for the following goals:
-            &lt;ul&gt;
-                &lt;li&gt;&lt;a href="#commons:jira-page"&gt;commons:jira-page&lt;/a&gt; - Generate a JIRA Issue Tracking page for a component&lt;/li&gt;
-                &lt;li&gt;&lt;a href="#commons:download-page"&gt;commons:download-page&lt;/a&gt; - Generate a Download page for a component's latest release&lt;/li&gt;
-                &lt;li&gt;&lt;a href="#commons:sandbox-jira-page"&gt;commons:sandbox-jira-page&lt;/a&gt; - Generate a JIRA Issue Tracking page for a Sandbox component&lt;/li&gt;
-            &lt;/ul&gt;
-            &lt;/p&gt;
-
-            &lt;p&gt;
-            This script generates custom xdoc pages for Commons components using
-            &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/"&gt;templates&lt;/a&gt;
-            and &lt;a href="http://ant.apache.org/manual/CoreTasks/filter.html"&gt;Ant's filtering&lt;/a&gt; functionality:
-            &lt;/p&gt;
-
-            &lt;p&gt;
-            These goals (re-)generate xdoc files in either the default m1 location (i.e. &lt;code&gt;xdocs&lt;/code&gt;) or the default m2 location
-            (i.e. &lt;code&gt;src/site/xdoc&lt;/code&gt;). Once generated these can be checked into svn and the component's site regenerated using &lt;code&gt;mvn site&lt;/code&gt;.
-            &lt;/p&gt;
-
-        &lt;/section&gt;
-
-
-        &lt;section name="commons:jira-page" href="jira-page"&gt;
-
-            &lt;subsection name="Overview"&gt;
-                &lt;p&gt;
-                The &lt;code&gt;commons:jira-page&lt;/code&gt; goal generates a custom JIRA Issue Tracking page for a component.
-                Execute the goal using the following command: &lt;source&gt;mvn commons:jira-page&lt;/source&gt;
-                &lt;/p&gt;
-
-                &lt;p&gt;
-                &lt;strong&gt;Note:&lt;/strong&gt; The Issue tracking page should only need to be generated initially
-                for a component or if the issue tracking template changes.
-                &lt;/p&gt;
-
-                &lt;p&gt;
-                This goal uses the following:
-                &lt;ul&gt;
-                    &lt;li&gt;The goal is mapped to the ant script/target using the &lt;code&gt;jira-page&lt;/code&gt; mojo defintion in the 
-                        &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.mojos.xml"&gt;generate-xdocs.mojos.xml&lt;/a&gt; mapping document&lt;/li&gt;
-                    &lt;li&gt;Executes the &lt;code&gt;jira-page&lt;/code&gt; target in
-                        &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.build.xml"&gt;generate-xdocs.build.xml&lt;/a&gt;
-                        ant script&lt;/li&gt;
-                    &lt;li&gt;Uses the &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/issue-tracking-template.xml"&gt;issue-tracking-template.xml&lt;/a&gt;
-                        template&lt;/li&gt;
-                    &lt;li&gt;Uses the &lt;a href="jira-page-mojo.html"&gt;goal's (i.e. mojo's) parameters&lt;/a&gt; to filter values in the template&lt;/li&gt;
-                &lt;/ul&gt;
-                &lt;/p&gt;
-            &lt;/subsection&gt;
-
-            &lt;subsection name="Configuration"&gt;
-                &lt;p&gt;
-                To generate a JIRA page, the following &lt;i&gt;properties&lt;/i&gt; are configured in the component's &lt;code&gt;pom.xml&lt;/code&gt;
-                &lt;ul&gt;
-                    &lt;li&gt;&lt;b&gt;commons.jira.id&lt;/b&gt; - JIRA's external (upper case) project id for the component&lt;/li&gt;
-                    &lt;li&gt;&lt;b&gt;commons.jira.pid&lt;/b&gt; - JIRA's internal (numeric) project id for the component&lt;/li&gt;
-                &lt;/ul&gt;
-                &lt;/p&gt;
-                &lt;p&gt;
-                Example configuration for Commons Chain:
-&lt;source&gt;&lt;![CDATA[
-    &lt;properties&gt;
-        &lt;commons.jira.id&gt;CHAIN&lt;/commons.jira.id&gt;
-        &lt;commons.jira.pid&gt;12310462&lt;/commons.jira.pid&gt;
-    &lt;/properties&gt; 
-]]&gt;&lt;/source&gt;
-                &lt;/p&gt;
-            &lt;/subsection&gt;
-
-        &lt;/section&gt;
-
-
         &lt;section name="commons:download-page" href="download-page"&gt;
 
             &lt;subsection name="Overview"&gt;
@@ -137,10 +62,11 @@
 
             &lt;subsection name="Configuration"&gt;
                 &lt;p&gt;
-                To generate a Download page, the following &lt;i&gt;properties&lt;/i&gt; are configured in the component's &lt;code&gt;pom.xml&lt;/code&gt;
+                To generate a Download page, the following &lt;a href="download-page-mojo.html"&gt;properties&lt;/a&gt; are configured in the component's &lt;code&gt;pom.xml&lt;/code&gt;
                 &lt;ul&gt;
                     &lt;li&gt;&lt;b&gt;commons.componentid&lt;/b&gt; - Commons component id&lt;/li&gt;
                     &lt;li&gt;&lt;b&gt;commons.release.version&lt;/b&gt; - The version number of the latest release of the component&lt;/li&gt;
+                    &lt;li&gt;&lt;b&gt;commons.release.desc&lt;/b&gt; - (&lt;i&gt;optional&lt;/i&gt;) The download links are shown in a section with the component name and release version - if this paratmeter is specified then this text is appended&lt;/li&gt;
                     &lt;li&gt;&lt;b&gt;commons.binary.suffix&lt;/b&gt; - (&lt;i&gt;optional - defaults to &lt;code&gt;-bin&lt;/code&gt;&lt;/i&gt;) The suffix for the binary release
                         (some components use "-bin", others have no suffix)&lt;/li&gt;
                 &lt;/ul&gt;
@@ -150,59 +76,36 @@
 &lt;source&gt;&lt;![CDATA[
     &lt;properties&gt;
         &lt;commons.componentid&gt;chain&lt;/commons.componentid&gt;
-        &lt;commons.release.version&gt;1.1&lt;/commons.release.version&gt;
-        &lt;commons.binary.suffix&gt;&lt;/commons.binary.suffix&gt;
+        &lt;commons.release.version&gt;1.2&lt;/commons.release.version&gt;
     &lt;/properties&gt; 
 ]]&gt;&lt;/source&gt;
                 &lt;/p&gt;
-            &lt;/subsection&gt;
-
-        &lt;/section&gt;
-
-
-        &lt;section name="commons:sandbox-jira-page" href="jira-page"&gt;
-
-            &lt;subsection name="Overview"&gt;
-                &lt;p&gt;
-                The &lt;code&gt;commons:sandbox-jira-page&lt;/code&gt; goal generates a custom JIRA Issue Tracking page for a &lt;b&gt;Sandbox&lt;/b&gt; component.
-                Execute the goal using the following command: &lt;source&gt;mvn commons:sandbox-jira-page&lt;/source&gt;
-                &lt;/p&gt;
-
-                &lt;p&gt;
-                &lt;strong&gt;Note:&lt;/strong&gt; The Issue tracking page should only need to be generated initially
-                for a component or if the issue tracking template changes.
-                &lt;/p&gt;
-
-                &lt;p&gt;
-                This goal uses the following:
-                &lt;ul&gt;
-                    &lt;li&gt;The goal is mapped to the ant script/target using the &lt;code&gt;sandbox-jira-page&lt;/code&gt; mojo defintion in the 
-                        &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.mojos.xml"&gt;generate-xdocs.mojos.xml&lt;/a&gt; mapping document&lt;/li&gt;
-                    &lt;li&gt;Executes the &lt;code&gt;sandbox-jira-page&lt;/code&gt; target in
-                        &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.build.xml"&gt;generate-xdocs.build.xml&lt;/a&gt;
-                        ant script&lt;/li&gt;
-                    &lt;li&gt;Uses the &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/sandbox-issue-tracking-template.xml"&gt;sandbox-issue-tracking-template.xml&lt;/a&gt;
-                        template&lt;/li&gt;
-                    &lt;li&gt;Uses the &lt;a href="sandbox-jira-page-mojo.html"&gt;goal's (i.e. mojo's) parameters&lt;/a&gt; to filter values in the template&lt;/li&gt;
-                &lt;/ul&gt;
-                &lt;/p&gt;
-            &lt;/subsection&gt;
 
-            &lt;subsection name="Configuration"&gt;
                 &lt;p&gt;
-                To generate a JIRA page, the following &lt;i&gt;properties&lt;/i&gt; are configured in the component's &lt;code&gt;pom.xml&lt;/code&gt;
+                Sometimes there is a requirement to list two versions on the download page. This can be achieved using the following properties:
                 &lt;ul&gt;
-                    &lt;li&gt;&lt;b&gt;commons.jira.componentid&lt;/b&gt; - JIRA's internal (numeric) id for the component&lt;/li&gt;
+                    &lt;li&gt;&lt;b&gt;commons.release.version.2&lt;/b&gt; - The version number of the alternative release of the component&lt;/li&gt;
+                    &lt;li&gt;&lt;b&gt;commons.release.desc.2&lt;/b&gt; - (&lt;i&gt;optional&lt;/i&gt;) Additional text to append to the section name of the alternative release&lt;/li&gt;
                 &lt;/ul&gt;
                 &lt;/p&gt;
                 &lt;p&gt;
-                Example configuration:
+                Example configuration for Commons DBCP with two releases:
 &lt;source&gt;&lt;![CDATA[
     &lt;properties&gt;
-        &lt;commons.jira.componentid&gt;12311182&lt;/commons.jira.componentid&gt;
+        &lt;commons.componentid&gt;dbcp&lt;/commons.componentid&gt;
+        &lt;commons.release.version&gt;1.4&lt;/commons.release.version&gt;
+        &lt;commons.release.desc&gt;for JDBC 4 (JDK 1.6)&lt;/commons.release.desc&gt;
+        &lt;commons.release.version.2&gt;1.3&lt;/commons.release.version.2&gt;
+        &lt;commons.release.desc.2&gt; for JDBC 3 (JDK 1.4-1.5)&lt;/commons.release.desc.2&gt;
     &lt;/properties&gt; 
 ]]&gt;&lt;/source&gt;
                 &lt;/p&gt;
+                &lt;p&gt;
+                The above configuration generates a download page for two releases shown below:
+                &lt;/p&gt;
+                 &lt;p&gt;
+                    &lt;img src="download-page-2release.jpg" alt="Download Page with two release versions"/&gt;
+                &lt;/p&gt;
             &lt;/subsection&gt;
 
         &lt;/section&gt;

Modified: commons/proper/commons-build-plugin/trunk/src/site/xdoc/index.xml
URL: http://svn.apache.org/viewvc/commons/proper/commons-build-plugin/trunk/src/site/xdoc/index.xml?rev=888341&amp;r1=888340&amp;r2=888341&amp;view=diff
==============================================================================
--- commons/proper/commons-build-plugin/trunk/src/site/xdoc/index.xml (original)
+++ commons/proper/commons-build-plugin/trunk/src/site/xdoc/index.xml Tue Dec  8 11:31:00 2009
@@ -44,9 +44,9 @@
             &lt;p&gt;
             Available Goals:
             &lt;ul&gt;
-                &lt;li&gt;&lt;a href="generate-xdocs-build.html#commons:jira-page"&gt;commons:jira-page&lt;/a&gt; - Generate a custom JIRA Issue Tracking page for a component&lt;/li&gt;
-                &lt;li&gt;&lt;a href="generate-xdocs-build.html#commons:download-page"&gt;commons:download-page&lt;/a&gt; - Generate a Download page for the component's latest release&lt;/li&gt;
-                &lt;li&gt;&lt;a href="generate-xdocs-build.html#commons:sandbox-jira-page"&gt;commons:sandbox-jira-page&lt;/a&gt; - Generate a custom JIRA Issue Tracking page for a Sandbox component&lt;/li&gt;
+                &lt;li&gt;&lt;a href="download-page.html"&gt;commons:download-page&lt;/a&gt; - Generate a Download page for the component's latest release&lt;/li&gt;
+                &lt;li&gt;&lt;a href="jira-page.html"&gt;commons:jira-page&lt;/a&gt; - Generate a custom JIRA Issue Tracking page for a component&lt;/li&gt;
+                &lt;li&gt;&lt;a href="sandbox-jira-page.html"&gt;commons:sandbox-jira-page&lt;/a&gt; - Generate a custom JIRA Issue Tracking page for a Sandbox component&lt;/li&gt;
                 &lt;li&gt;&lt;a href="copy-javadoc-files-build.html"&gt;commons:copy-javadoc-files&lt;/a&gt; - Copy NOTICE and LICENSE files to -javadoc jar&lt;/li&gt;
             &lt;/ul&gt;
             &lt;/p&gt;

Modified: commons/proper/commons-build-plugin/trunk/src/site/xdoc/jira-page-mojo.xml
URL: http://svn.apache.org/viewvc/commons/proper/commons-build-plugin/trunk/src/site/xdoc/jira-page-mojo.xml?rev=888341&amp;r1=888340&amp;r2=888341&amp;view=diff
==============================================================================
--- commons/proper/commons-build-plugin/trunk/src/site/xdoc/jira-page-mojo.xml (original)
+++ commons/proper/commons-build-plugin/trunk/src/site/xdoc/jira-page-mojo.xml Tue Dec  8 11:31:00 2009
@@ -21,83 +21,92 @@
  --&gt;
 &lt;document&gt;
   &lt;properties&gt;
-    &lt;title&gt;commons-build-plugin - commons:jira-page&lt;/title&gt;
-    &lt;/properties&gt;
+    &lt;title&gt;commons:jira-page&lt;/title&gt;
+  &lt;/properties&gt;
   &lt;body&gt;
     &lt;section name="commons:jira-page"&gt;
-      &lt;p&gt;Commons Build Ant Mojo: Generate Issue Tracking page&lt;/p&gt;
-      &lt;p&gt;&lt;b&gt;Mojo Attributes&lt;/b&gt;:&lt;ul&gt;
-          &lt;li&gt;Requires a Maven 2.0 project to execute.&lt;/li&gt;
-          &lt;li&gt;Is NOT inherited by default in multi-project builds.&lt;/li&gt;
-          &lt;/ul&gt;
-        &lt;/p&gt;
+      &lt;p&gt;&lt;strong&gt;Full name&lt;/strong&gt;:&lt;/p&gt;
+      &lt;p&gt;org.apache.commons:commons-build-plugin:1.2-SNAPSHOT:jira-page&lt;/p&gt;
+      &lt;p&gt;&lt;strong&gt;Description&lt;/strong&gt;:&lt;/p&gt;
+      &lt;div&gt;Commons Build Ant Mojo: Generate Issue Tracking page&lt;/div&gt;
+      &lt;p&gt;&lt;strong&gt;Attributes&lt;/strong&gt;:&lt;/p&gt;
+      &lt;ul&gt;
+        &lt;li&gt;Requires a Maven 2.0 project to be executed.&lt;/li&gt;
+        &lt;li&gt;Is NOT inherited by default in multi-project builds.&lt;/li&gt;
+      &lt;/ul&gt;
       &lt;subsection name="Required Parameters"&gt;
-        &lt;table&gt;
+        &lt;table border="0" align="left"&gt;
           &lt;tr&gt;
             &lt;th&gt;Name&lt;/th&gt;
             &lt;th&gt;Type&lt;/th&gt;
+            &lt;th&gt;Since&lt;/th&gt;
             &lt;th&gt;Description&lt;/th&gt;
-            &lt;/tr&gt;
+          &lt;/tr&gt;
           &lt;tr&gt;
-            &lt;td&gt;&lt;b&gt;&lt;a href="#commons.jira.id"&gt;commons.jira.id&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
+            &lt;td&gt;&lt;strong&gt;&lt;a href="#commons.jira.id"&gt;commons.jira.id&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
             &lt;td&gt;&lt;code&gt;String&lt;/code&gt;&lt;/td&gt;
-            &lt;td&gt;The external JIRA id for the project (alphabetic, upper case) Default value is &lt;code&gt;${commons.jira.id}&lt;/code&gt;.&lt;/td&gt;
-            &lt;/tr&gt;
+            &lt;td&gt;&lt;code&gt;-&lt;/code&gt;&lt;/td&gt;
+            &lt;td&gt;The external JIRA id for the project (alphabetic, upper case)&lt;br/&gt;&lt;strong&gt;Default value is&lt;/strong&gt;: &lt;code&gt;${commons.jira.id}&lt;/code&gt;.&lt;/td&gt;
+          &lt;/tr&gt;
           &lt;tr&gt;
-            &lt;td&gt;&lt;b&gt;&lt;a href="#commons.jira.pid"&gt;commons.jira.pid&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
+            &lt;td&gt;&lt;strong&gt;&lt;a href="#commons.jira.pid"&gt;commons.jira.pid&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
             &lt;td&gt;&lt;code&gt;String&lt;/code&gt;&lt;/td&gt;
-            &lt;td&gt;The internal JIRA id for the project (numeric) Default value is &lt;code&gt;${commons.jira.pid}&lt;/code&gt;.&lt;/td&gt;
-            &lt;/tr&gt;
+            &lt;td&gt;&lt;code&gt;-&lt;/code&gt;&lt;/td&gt;
+            &lt;td&gt;The internal JIRA id for the project (numeric)&lt;br/&gt;&lt;strong&gt;Default value is&lt;/strong&gt;: &lt;code&gt;${commons.jira.pid}&lt;/code&gt;.&lt;/td&gt;
+          &lt;/tr&gt;
           &lt;tr&gt;
-            &lt;td&gt;&lt;b&gt;&lt;a href="#basedir"&gt;basedir&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
+            &lt;td&gt;&lt;strong&gt;&lt;a href="#basedir"&gt;basedir&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
             &lt;td&gt;&lt;code&gt;File&lt;/code&gt;&lt;/td&gt;
-            &lt;td&gt;The base directory from which to execute the Ant script. Default value is &lt;code&gt;${basedir}&lt;/code&gt;.&lt;/td&gt;
-            &lt;/tr&gt;
-          &lt;/table&gt;
-        &lt;/subsection&gt;
+            &lt;td&gt;&lt;code&gt;-&lt;/code&gt;&lt;/td&gt;
+            &lt;td&gt;The base directory from which to execute the Ant script.&lt;br/&gt;&lt;strong&gt;Default value is&lt;/strong&gt;: &lt;code&gt;${basedir}&lt;/code&gt;.&lt;/td&gt;
+          &lt;/tr&gt;
+        &lt;/table&gt;
+      &lt;/subsection&gt;
       &lt;subsection name="Optional Parameters"&gt;
-        &lt;table&gt;
+        &lt;table border="0" align="left"&gt;
           &lt;tr&gt;
             &lt;th&gt;Name&lt;/th&gt;
             &lt;th&gt;Type&lt;/th&gt;
+            &lt;th&gt;Since&lt;/th&gt;
             &lt;th&gt;Description&lt;/th&gt;
-            &lt;/tr&gt;
+          &lt;/tr&gt;
           &lt;tr&gt;
-            &lt;td&gt;&lt;b&gt;&lt;a href="#messageLevel"&gt;messageLevel&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
+            &lt;td&gt;&lt;strong&gt;&lt;a href="#messageLevel"&gt;messageLevel&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
             &lt;td&gt;&lt;code&gt;String&lt;/code&gt;&lt;/td&gt;
-            &lt;td&gt;The message-level used to tune the verbosity of Ant logging. Default value is &lt;code&gt;info&lt;/code&gt;.&lt;/td&gt;
-            &lt;/tr&gt;
-          &lt;/table&gt;
-        &lt;/subsection&gt;
+            &lt;td&gt;&lt;code&gt;-&lt;/code&gt;&lt;/td&gt;
+            &lt;td&gt;The message-level used to tune the verbosity of Ant logging.&lt;br/&gt;&lt;strong&gt;Default value is&lt;/strong&gt;: &lt;code&gt;info&lt;/code&gt;.&lt;/td&gt;
+          &lt;/tr&gt;
+        &lt;/table&gt;
+      &lt;/subsection&gt;
       &lt;subsection name="Parameter Details"&gt;
-        &lt;p&gt;&lt;b&gt;&lt;a name="commons.jira.id"&gt;commons.jira.id&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
-        &lt;p&gt;The external JIRA id for the project (alphabetic, upper case)&lt;/p&gt;
+        &lt;p&gt;&lt;strong&gt;&lt;a name="commons.jira.id"&gt;commons.jira.id&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
+        &lt;div&gt;The external JIRA id for the project (alphabetic, upper case)&lt;/div&gt;
         &lt;ul&gt;
-          &lt;li&gt;&lt;b&gt;Type&lt;/b&gt;: &lt;code&gt;java.lang.String&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Required&lt;/b&gt;: &lt;code&gt;Yes&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Default&lt;/b&gt;: &lt;code&gt;${commons.jira.id}&lt;/code&gt;&lt;/li&gt;
-          &lt;/ul&gt;&lt;hr/&gt;&lt;p&gt;&lt;b&gt;&lt;a name="commons.jira.pid"&gt;commons.jira.pid&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
-        &lt;p&gt;The internal JIRA id for the project (numeric)&lt;/p&gt;
+          &lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: &lt;code&gt;java.lang.String&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Required&lt;/strong&gt;: &lt;code&gt;Yes&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: &lt;code&gt;${commons.jira.id}&lt;/code&gt;&lt;/li&gt;
+        &lt;/ul&gt;&lt;hr/&gt;&lt;p&gt;&lt;strong&gt;&lt;a name="commons.jira.pid"&gt;commons.jira.pid&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
+        &lt;div&gt;The internal JIRA id for the project (numeric)&lt;/div&gt;
         &lt;ul&gt;
-          &lt;li&gt;&lt;b&gt;Type&lt;/b&gt;: &lt;code&gt;java.lang.String&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Required&lt;/b&gt;: &lt;code&gt;Yes&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Default&lt;/b&gt;: &lt;code&gt;${commons.jira.pid}&lt;/code&gt;&lt;/li&gt;
-          &lt;/ul&gt;&lt;hr/&gt;&lt;p&gt;&lt;b&gt;&lt;a name="basedir"&gt;basedir&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
-        &lt;p&gt;The base directory from which to execute the Ant script.&lt;/p&gt;
+          &lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: &lt;code&gt;java.lang.String&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Required&lt;/strong&gt;: &lt;code&gt;Yes&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: &lt;code&gt;${commons.jira.pid}&lt;/code&gt;&lt;/li&gt;
+        &lt;/ul&gt;&lt;hr/&gt;&lt;p&gt;&lt;strong&gt;&lt;a name="basedir"&gt;basedir&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
+        &lt;div&gt;The base directory from which to execute the Ant script.&lt;/div&gt;
         &lt;ul&gt;
-          &lt;li&gt;&lt;b&gt;Type&lt;/b&gt;: &lt;code&gt;java.io.File&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Required&lt;/b&gt;: &lt;code&gt;Yes&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Expression&lt;/b&gt;: &lt;code&gt;${antBasedir}&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Default&lt;/b&gt;: &lt;code&gt;${basedir}&lt;/code&gt;&lt;/li&gt;
-          &lt;/ul&gt;&lt;hr/&gt;&lt;p&gt;&lt;b&gt;&lt;a name="messageLevel"&gt;messageLevel&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
-        &lt;p&gt;The message-level used to tune the verbosity of Ant logging.&lt;/p&gt;
+          &lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: &lt;code&gt;java.io.File&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Required&lt;/strong&gt;: &lt;code&gt;Yes&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Expression&lt;/strong&gt;: &lt;code&gt;${antBasedir}&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: &lt;code&gt;${basedir}&lt;/code&gt;&lt;/li&gt;
+        &lt;/ul&gt;&lt;hr/&gt;&lt;p&gt;&lt;strong&gt;&lt;a name="messageLevel"&gt;messageLevel&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
+        &lt;div&gt;The message-level used to tune the verbosity of Ant logging.&lt;/div&gt;
         &lt;ul&gt;
-          &lt;li&gt;&lt;b&gt;Type&lt;/b&gt;: &lt;code&gt;java.lang.String&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Required&lt;/b&gt;: &lt;code&gt;No&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Expression&lt;/b&gt;: &lt;code&gt;${antMessageLevel}&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Default&lt;/b&gt;: &lt;code&gt;info&lt;/code&gt;&lt;/li&gt;
-          &lt;/ul&gt;
-        &lt;/subsection&gt;
-      &lt;/section&gt;
-    &lt;/body&gt;
-  &lt;/document&gt;
\ No newline at end of file
+          &lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: &lt;code&gt;java.lang.String&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Required&lt;/strong&gt;: &lt;code&gt;No&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Expression&lt;/strong&gt;: &lt;code&gt;${antMessageLevel}&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: &lt;code&gt;info&lt;/code&gt;&lt;/li&gt;
+        &lt;/ul&gt;
+      &lt;/subsection&gt;
+    &lt;/section&gt;
+  &lt;/body&gt;
+&lt;/document&gt;
\ No newline at end of file

Copied: commons/proper/commons-build-plugin/trunk/src/site/xdoc/jira-page.xml (from r887867, commons/proper/commons-build-plugin/trunk/src/site/xdoc/generate-xdocs-build.xml)
URL: http://svn.apache.org/viewvc/commons/proper/commons-build-plugin/trunk/src/site/xdoc/jira-page.xml?p2=commons/proper/commons-build-plugin/trunk/src/site/xdoc/jira-page.xml&amp;p1=commons/proper/commons-build-plugin/trunk/src/site/xdoc/generate-xdocs-build.xml&amp;r1=887867&amp;r2=888341&amp;rev=888341&amp;view=diff
==============================================================================
--- commons/proper/commons-build-plugin/trunk/src/site/xdoc/generate-xdocs-build.xml (original)
+++ commons/proper/commons-build-plugin/trunk/src/site/xdoc/jira-page.xml Tue Dec  8 11:31:00 2009
@@ -17,48 +17,24 @@
 --&gt;
 &lt;!--
    $HeadURL$
-   $Revision$ $Date$
+   $Revision$
  --&gt;
 &lt;document&gt;
 
     &lt;properties&gt;
-        &lt;title&gt;Generating XDOC files&lt;/title&gt;
+        &lt;title&gt;Generating JIRA Page&lt;/title&gt;
         &lt;author email="dev@commons.apache.org"&gt;Commons Documentation Team&lt;/author&gt;
     &lt;/properties&gt;
 
     &lt;body&gt;
 
 
-        &lt;section name="Generating XDOC files"&gt;
-            &lt;p&gt;
-            The &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.build.xml"&gt;
-            generate-xdocs.build.xml&lt;/a&gt; Ant build script contains targets for the following goals:
-            &lt;ul&gt;
-                &lt;li&gt;&lt;a href="#commons:jira-page"&gt;commons:jira-page&lt;/a&gt; - Generate a JIRA Issue Tracking page for a component&lt;/li&gt;
-                &lt;li&gt;&lt;a href="#commons:download-page"&gt;commons:download-page&lt;/a&gt; - Generate a Download page for a component's latest release&lt;/li&gt;
-                &lt;li&gt;&lt;a href="#commons:sandbox-jira-page"&gt;commons:sandbox-jira-page&lt;/a&gt; - Generate a JIRA Issue Tracking page for a Sandbox component&lt;/li&gt;
-            &lt;/ul&gt;
-            &lt;/p&gt;
-
-            &lt;p&gt;
-            This script generates custom xdoc pages for Commons components using
-            &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/"&gt;templates&lt;/a&gt;
-            and &lt;a href="http://ant.apache.org/manual/CoreTasks/filter.html"&gt;Ant's filtering&lt;/a&gt; functionality:
-            &lt;/p&gt;
-
-            &lt;p&gt;
-            These goals (re-)generate xdoc files in either the default m1 location (i.e. &lt;code&gt;xdocs&lt;/code&gt;) or the default m2 location
-            (i.e. &lt;code&gt;src/site/xdoc&lt;/code&gt;). Once generated these can be checked into svn and the component's site regenerated using &lt;code&gt;mvn site&lt;/code&gt;.
-            &lt;/p&gt;
-
-        &lt;/section&gt;
-
-
         &lt;section name="commons:jira-page" href="jira-page"&gt;
 
             &lt;subsection name="Overview"&gt;
                 &lt;p&gt;
-                The &lt;code&gt;commons:jira-page&lt;/code&gt; goal generates a custom JIRA Issue Tracking page for a component.
+                The &lt;code&gt;commons:jira-page&lt;/code&gt; goal generates a custom JIRA Issue Tracking page for a &lt;strong&gt;Proper&lt;/strong&gt; component
+                (for  &lt;strong&gt;Sandbox&lt;/strong&gt; components use the &lt;a href="sandbox-jira-page.html"&gt;commons:sandbox-jira-page&lt;/a&gt; goal).
                 Execute the goal using the following command: &lt;source&gt;mvn commons:jira-page&lt;/source&gt;
                 &lt;/p&gt;
 
@@ -84,7 +60,7 @@
 
             &lt;subsection name="Configuration"&gt;
                 &lt;p&gt;
-                To generate a JIRA page, the following &lt;i&gt;properties&lt;/i&gt; are configured in the component's &lt;code&gt;pom.xml&lt;/code&gt;
+                To generate a JIRA page, the following &lt;a href="jira-page-mojo.html"&gt;properties&lt;/a&gt;  are configured in the component's &lt;code&gt;pom.xml&lt;/code&gt;
                 &lt;ul&gt;
                     &lt;li&gt;&lt;b&gt;commons.jira.id&lt;/b&gt; - JIRA's external (upper case) project id for the component&lt;/li&gt;
                     &lt;li&gt;&lt;b&gt;commons.jira.pid&lt;/b&gt; - JIRA's internal (numeric) project id for the component&lt;/li&gt;
@@ -103,109 +79,5 @@
 
         &lt;/section&gt;
 
-
-        &lt;section name="commons:download-page" href="download-page"&gt;
-
-            &lt;subsection name="Overview"&gt;
-                &lt;p&gt;
-                The &lt;code&gt;commons:download-page&lt;/code&gt; goal generates a custom Download page for the latest release of a component.
-                Execute the goal using the following command: &lt;source&gt;mvn commons:download-page&lt;/source&gt;
-                &lt;/p&gt;
-
-                &lt;p&gt;
-                &lt;strong&gt;Note:&lt;/strong&gt; The Download page should only need to be re-generated after a new release of the component 
-                or if the download page template changes.
-                &lt;/p&gt;
-
-                &lt;p&gt;
-                This goal uses the following:
-                &lt;ul&gt;
-                    &lt;li&gt;The goal is mapped to the ant script/target using the &lt;code&gt;download-page&lt;/code&gt; mojo defintion in the 
-                        &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.mojos.xml"&gt;generate-xdocs.mojos.xml&lt;/a&gt; mapping document&lt;/li&gt;
-                    &lt;li&gt;Executes the &lt;code&gt;download-page&lt;/code&gt; target in
-                        &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.build.xml"&gt;generate-xdocs.build.xml&lt;/a&gt;
-                        ant script&lt;/li&gt;
-                    &lt;li&gt;Uses either the
-                        &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-template.xml"&gt;download-page-template.xml&lt;/a&gt; or 
-                        &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/no-download-page-template.xml"&gt;no-download-page-template.xml&lt;/a&gt;
-                        template, depending on whether the &lt;code&gt;commons.release.version&lt;/code&gt; property is set or not.
-                        &lt;/li&gt;
-                    &lt;li&gt;Uses the &lt;a href="download-page-mojo.html"&gt;goal's (i.e. mojo's) parameters&lt;/a&gt; to filter values in the template&lt;/li&gt;
-                &lt;/ul&gt;
-                &lt;/p&gt;
-            &lt;/subsection&gt;
-
-            &lt;subsection name="Configuration"&gt;
-                &lt;p&gt;
-                To generate a Download page, the following &lt;i&gt;properties&lt;/i&gt; are configured in the component's &lt;code&gt;pom.xml&lt;/code&gt;
-                &lt;ul&gt;
-                    &lt;li&gt;&lt;b&gt;commons.componentid&lt;/b&gt; - Commons component id&lt;/li&gt;
-                    &lt;li&gt;&lt;b&gt;commons.release.version&lt;/b&gt; - The version number of the latest release of the component&lt;/li&gt;
-                    &lt;li&gt;&lt;b&gt;commons.binary.suffix&lt;/b&gt; - (&lt;i&gt;optional - defaults to &lt;code&gt;-bin&lt;/code&gt;&lt;/i&gt;) The suffix for the binary release
-                        (some components use "-bin", others have no suffix)&lt;/li&gt;
-                &lt;/ul&gt;
-                &lt;/p&gt;
-                &lt;p&gt;
-                Example configuration for Commons Chain:
-&lt;source&gt;&lt;![CDATA[
-    &lt;properties&gt;
-        &lt;commons.componentid&gt;chain&lt;/commons.componentid&gt;
-        &lt;commons.release.version&gt;1.1&lt;/commons.release.version&gt;
-        &lt;commons.binary.suffix&gt;&lt;/commons.binary.suffix&gt;
-    &lt;/properties&gt; 
-]]&gt;&lt;/source&gt;
-                &lt;/p&gt;
-            &lt;/subsection&gt;
-
-        &lt;/section&gt;
-
-
-        &lt;section name="commons:sandbox-jira-page" href="jira-page"&gt;
-
-            &lt;subsection name="Overview"&gt;
-                &lt;p&gt;
-                The &lt;code&gt;commons:sandbox-jira-page&lt;/code&gt; goal generates a custom JIRA Issue Tracking page for a &lt;b&gt;Sandbox&lt;/b&gt; component.
-                Execute the goal using the following command: &lt;source&gt;mvn commons:sandbox-jira-page&lt;/source&gt;
-                &lt;/p&gt;
-
-                &lt;p&gt;
-                &lt;strong&gt;Note:&lt;/strong&gt; The Issue tracking page should only need to be generated initially
-                for a component or if the issue tracking template changes.
-                &lt;/p&gt;
-
-                &lt;p&gt;
-                This goal uses the following:
-                &lt;ul&gt;
-                    &lt;li&gt;The goal is mapped to the ant script/target using the &lt;code&gt;sandbox-jira-page&lt;/code&gt; mojo defintion in the 
-                        &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.mojos.xml"&gt;generate-xdocs.mojos.xml&lt;/a&gt; mapping document&lt;/li&gt;
-                    &lt;li&gt;Executes the &lt;code&gt;sandbox-jira-page&lt;/code&gt; target in
-                        &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.build.xml"&gt;generate-xdocs.build.xml&lt;/a&gt;
-                        ant script&lt;/li&gt;
-                    &lt;li&gt;Uses the &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/sandbox-issue-tracking-template.xml"&gt;sandbox-issue-tracking-template.xml&lt;/a&gt;
-                        template&lt;/li&gt;
-                    &lt;li&gt;Uses the &lt;a href="sandbox-jira-page-mojo.html"&gt;goal's (i.e. mojo's) parameters&lt;/a&gt; to filter values in the template&lt;/li&gt;
-                &lt;/ul&gt;
-                &lt;/p&gt;
-            &lt;/subsection&gt;
-
-            &lt;subsection name="Configuration"&gt;
-                &lt;p&gt;
-                To generate a JIRA page, the following &lt;i&gt;properties&lt;/i&gt; are configured in the component's &lt;code&gt;pom.xml&lt;/code&gt;
-                &lt;ul&gt;
-                    &lt;li&gt;&lt;b&gt;commons.jira.componentid&lt;/b&gt; - JIRA's internal (numeric) id for the component&lt;/li&gt;
-                &lt;/ul&gt;
-                &lt;/p&gt;
-                &lt;p&gt;
-                Example configuration:
-&lt;source&gt;&lt;![CDATA[
-    &lt;properties&gt;
-        &lt;commons.jira.componentid&gt;12311182&lt;/commons.jira.componentid&gt;
-    &lt;/properties&gt; 
-]]&gt;&lt;/source&gt;
-                &lt;/p&gt;
-            &lt;/subsection&gt;
-
-        &lt;/section&gt;
-
     &lt;/body&gt;
 &lt;/document&gt;

Modified: commons/proper/commons-build-plugin/trunk/src/site/xdoc/sandbox-jira-page-mojo.xml
URL: http://svn.apache.org/viewvc/commons/proper/commons-build-plugin/trunk/src/site/xdoc/sandbox-jira-page-mojo.xml?rev=888341&amp;r1=888340&amp;r2=888341&amp;view=diff
==============================================================================
--- commons/proper/commons-build-plugin/trunk/src/site/xdoc/sandbox-jira-page-mojo.xml (original)
+++ commons/proper/commons-build-plugin/trunk/src/site/xdoc/sandbox-jira-page-mojo.xml Tue Dec  8 11:31:00 2009
@@ -21,72 +21,80 @@
  --&gt;
 &lt;document&gt;
   &lt;properties&gt;
-    &lt;title&gt;commons-build-plugin - commons:sandbox-jira-page&lt;/title&gt;
-    &lt;/properties&gt;
+    &lt;title&gt;commons:sandbox-jira-page&lt;/title&gt;
+  &lt;/properties&gt;
   &lt;body&gt;
     &lt;section name="commons:sandbox-jira-page"&gt;
-      &lt;p&gt;Commons Build Ant Mojo: Generate Sandbox Issue Tracking page&lt;/p&gt;
-      &lt;p&gt;&lt;b&gt;Mojo Attributes&lt;/b&gt;:&lt;ul&gt;
-          &lt;li&gt;Requires a Maven 2.0 project to execute.&lt;/li&gt;
-          &lt;li&gt;Is NOT inherited by default in multi-project builds.&lt;/li&gt;
-          &lt;/ul&gt;
-        &lt;/p&gt;
+      &lt;p&gt;&lt;strong&gt;Full name&lt;/strong&gt;:&lt;/p&gt;
+      &lt;p&gt;org.apache.commons:commons-build-plugin:1.2-SNAPSHOT:sandbox-jira-page&lt;/p&gt;
+      &lt;p&gt;&lt;strong&gt;Description&lt;/strong&gt;:&lt;/p&gt;
+      &lt;div&gt;Commons Build Ant Mojo: Generate Sandbox Issue Tracking page&lt;/div&gt;
+      &lt;p&gt;&lt;strong&gt;Attributes&lt;/strong&gt;:&lt;/p&gt;
+      &lt;ul&gt;
+        &lt;li&gt;Requires a Maven 2.0 project to be executed.&lt;/li&gt;
+        &lt;li&gt;Is NOT inherited by default in multi-project builds.&lt;/li&gt;
+      &lt;/ul&gt;
       &lt;subsection name="Required Parameters"&gt;
-        &lt;table&gt;
+        &lt;table border="0" align="left"&gt;
           &lt;tr&gt;
             &lt;th&gt;Name&lt;/th&gt;
             &lt;th&gt;Type&lt;/th&gt;
+            &lt;th&gt;Since&lt;/th&gt;
             &lt;th&gt;Description&lt;/th&gt;
-            &lt;/tr&gt;
+          &lt;/tr&gt;
           &lt;tr&gt;
-            &lt;td&gt;&lt;b&gt;&lt;a href="#commons.jira.componentid"&gt;commons.jira.componentid&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
+            &lt;td&gt;&lt;strong&gt;&lt;a href="#commons.jira.componentid"&gt;commons.jira.componentid&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
             &lt;td&gt;&lt;code&gt;String&lt;/code&gt;&lt;/td&gt;
-            &lt;td&gt;The internal JIRA component id (numeric) Default value is &lt;code&gt;${commons.jira.componentid}&lt;/code&gt;.&lt;/td&gt;
-            &lt;/tr&gt;
+            &lt;td&gt;&lt;code&gt;-&lt;/code&gt;&lt;/td&gt;
+            &lt;td&gt;The internal JIRA component id (numeric)&lt;br/&gt;&lt;strong&gt;Default value is&lt;/strong&gt;: &lt;code&gt;${commons.jira.componentid}&lt;/code&gt;.&lt;/td&gt;
+          &lt;/tr&gt;
           &lt;tr&gt;
-            &lt;td&gt;&lt;b&gt;&lt;a href="#basedir"&gt;basedir&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
+            &lt;td&gt;&lt;strong&gt;&lt;a href="#basedir"&gt;basedir&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
             &lt;td&gt;&lt;code&gt;File&lt;/code&gt;&lt;/td&gt;
-            &lt;td&gt;The base directory from which to execute the Ant script. Default value is &lt;code&gt;${basedir}&lt;/code&gt;.&lt;/td&gt;
-            &lt;/tr&gt;
-          &lt;/table&gt;
-        &lt;/subsection&gt;
+            &lt;td&gt;&lt;code&gt;-&lt;/code&gt;&lt;/td&gt;
+            &lt;td&gt;The base directory from which to execute the Ant script.&lt;br/&gt;&lt;strong&gt;Default value is&lt;/strong&gt;: &lt;code&gt;${basedir}&lt;/code&gt;.&lt;/td&gt;
+          &lt;/tr&gt;
+        &lt;/table&gt;
+      &lt;/subsection&gt;
       &lt;subsection name="Optional Parameters"&gt;
-        &lt;table&gt;
+        &lt;table border="0" align="left"&gt;
           &lt;tr&gt;
             &lt;th&gt;Name&lt;/th&gt;
             &lt;th&gt;Type&lt;/th&gt;
+            &lt;th&gt;Since&lt;/th&gt;
             &lt;th&gt;Description&lt;/th&gt;
-            &lt;/tr&gt;
+          &lt;/tr&gt;
           &lt;tr&gt;
-            &lt;td&gt;&lt;b&gt;&lt;a href="#messageLevel"&gt;messageLevel&lt;/a&gt;&lt;/b&gt;&lt;/td&gt;
+            &lt;td&gt;&lt;strong&gt;&lt;a href="#messageLevel"&gt;messageLevel&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;
             &lt;td&gt;&lt;code&gt;String&lt;/code&gt;&lt;/td&gt;
-            &lt;td&gt;The message-level used to tune the verbosity of Ant logging. Default value is &lt;code&gt;info&lt;/code&gt;.&lt;/td&gt;
-            &lt;/tr&gt;
-          &lt;/table&gt;
-        &lt;/subsection&gt;
+            &lt;td&gt;&lt;code&gt;-&lt;/code&gt;&lt;/td&gt;
+            &lt;td&gt;The message-level used to tune the verbosity of Ant logging.&lt;br/&gt;&lt;strong&gt;Default value is&lt;/strong&gt;: &lt;code&gt;info&lt;/code&gt;.&lt;/td&gt;
+          &lt;/tr&gt;
+        &lt;/table&gt;
+      &lt;/subsection&gt;
       &lt;subsection name="Parameter Details"&gt;
-        &lt;p&gt;&lt;b&gt;&lt;a name="commons.jira.componentid"&gt;commons.jira.componentid&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
-        &lt;p&gt;The internal JIRA component id (numeric)&lt;/p&gt;
+        &lt;p&gt;&lt;strong&gt;&lt;a name="commons.jira.componentid"&gt;commons.jira.componentid&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
+        &lt;div&gt;The internal JIRA component id (numeric)&lt;/div&gt;
         &lt;ul&gt;
-          &lt;li&gt;&lt;b&gt;Type&lt;/b&gt;: &lt;code&gt;java.lang.String&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Required&lt;/b&gt;: &lt;code&gt;Yes&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Default&lt;/b&gt;: &lt;code&gt;${commons.jira.componentid}&lt;/code&gt;&lt;/li&gt;
-          &lt;/ul&gt;&lt;hr/&gt;&lt;p&gt;&lt;b&gt;&lt;a name="basedir"&gt;basedir&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
-        &lt;p&gt;The base directory from which to execute the Ant script.&lt;/p&gt;
+          &lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: &lt;code&gt;java.lang.String&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Required&lt;/strong&gt;: &lt;code&gt;Yes&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: &lt;code&gt;${commons.jira.componentid}&lt;/code&gt;&lt;/li&gt;
+        &lt;/ul&gt;&lt;hr/&gt;&lt;p&gt;&lt;strong&gt;&lt;a name="basedir"&gt;basedir&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
+        &lt;div&gt;The base directory from which to execute the Ant script.&lt;/div&gt;
         &lt;ul&gt;
-          &lt;li&gt;&lt;b&gt;Type&lt;/b&gt;: &lt;code&gt;java.io.File&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Required&lt;/b&gt;: &lt;code&gt;Yes&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Expression&lt;/b&gt;: &lt;code&gt;${antBasedir}&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Default&lt;/b&gt;: &lt;code&gt;${basedir}&lt;/code&gt;&lt;/li&gt;
-          &lt;/ul&gt;&lt;hr/&gt;&lt;p&gt;&lt;b&gt;&lt;a name="messageLevel"&gt;messageLevel&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
-        &lt;p&gt;The message-level used to tune the verbosity of Ant logging.&lt;/p&gt;
+          &lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: &lt;code&gt;java.io.File&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Required&lt;/strong&gt;: &lt;code&gt;Yes&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Expression&lt;/strong&gt;: &lt;code&gt;${antBasedir}&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: &lt;code&gt;${basedir}&lt;/code&gt;&lt;/li&gt;
+        &lt;/ul&gt;&lt;hr/&gt;&lt;p&gt;&lt;strong&gt;&lt;a name="messageLevel"&gt;messageLevel&lt;/a&gt;:&lt;/strong&gt;&lt;/p&gt;
+        &lt;div&gt;The message-level used to tune the verbosity of Ant logging.&lt;/div&gt;
         &lt;ul&gt;
-          &lt;li&gt;&lt;b&gt;Type&lt;/b&gt;: &lt;code&gt;java.lang.String&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Required&lt;/b&gt;: &lt;code&gt;No&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Expression&lt;/b&gt;: &lt;code&gt;${antMessageLevel}&lt;/code&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;b&gt;Default&lt;/b&gt;: &lt;code&gt;info&lt;/code&gt;&lt;/li&gt;
-          &lt;/ul&gt;
-        &lt;/subsection&gt;
-      &lt;/section&gt;
-    &lt;/body&gt;
-  &lt;/document&gt;
+          &lt;li&gt;&lt;strong&gt;Type&lt;/strong&gt;: &lt;code&gt;java.lang.String&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Required&lt;/strong&gt;: &lt;code&gt;No&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Expression&lt;/strong&gt;: &lt;code&gt;${antMessageLevel}&lt;/code&gt;&lt;/li&gt;
+          &lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: &lt;code&gt;info&lt;/code&gt;&lt;/li&gt;
+        &lt;/ul&gt;
+      &lt;/subsection&gt;
+    &lt;/section&gt;
+  &lt;/body&gt;
+&lt;/document&gt;
\ No newline at end of file

Copied: commons/proper/commons-build-plugin/trunk/src/site/xdoc/sandbox-jira-page.xml (from r887867, commons/proper/commons-build-plugin/trunk/src/site/xdoc/generate-xdocs-build.xml)
URL: http://svn.apache.org/viewvc/commons/proper/commons-build-plugin/trunk/src/site/xdoc/sandbox-jira-page.xml?p2=commons/proper/commons-build-plugin/trunk/src/site/xdoc/sandbox-jira-page.xml&amp;p1=commons/proper/commons-build-plugin/trunk/src/site/xdoc/generate-xdocs-build.xml&amp;r1=887867&amp;r2=888341&amp;rev=888341&amp;view=diff
==============================================================================
--- commons/proper/commons-build-plugin/trunk/src/site/xdoc/generate-xdocs-build.xml (original)
+++ commons/proper/commons-build-plugin/trunk/src/site/xdoc/sandbox-jira-page.xml Tue Dec  8 11:31:00 2009
@@ -22,149 +22,19 @@
 &lt;document&gt;
 
     &lt;properties&gt;
-        &lt;title&gt;Generating XDOC files&lt;/title&gt;
+        &lt;title&gt;Generating Sandbox JIRA Page&lt;/title&gt;
         &lt;author email="dev@commons.apache.org"&gt;Commons Documentation Team&lt;/author&gt;
     &lt;/properties&gt;
 
     &lt;body&gt;
 
 
-        &lt;section name="Generating XDOC files"&gt;
-            &lt;p&gt;
-            The &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.build.xml"&gt;
-            generate-xdocs.build.xml&lt;/a&gt; Ant build script contains targets for the following goals:
-            &lt;ul&gt;
-                &lt;li&gt;&lt;a href="#commons:jira-page"&gt;commons:jira-page&lt;/a&gt; - Generate a JIRA Issue Tracking page for a component&lt;/li&gt;
-                &lt;li&gt;&lt;a href="#commons:download-page"&gt;commons:download-page&lt;/a&gt; - Generate a Download page for a component's latest release&lt;/li&gt;
-                &lt;li&gt;&lt;a href="#commons:sandbox-jira-page"&gt;commons:sandbox-jira-page&lt;/a&gt; - Generate a JIRA Issue Tracking page for a Sandbox component&lt;/li&gt;
-            &lt;/ul&gt;
-            &lt;/p&gt;
-
-            &lt;p&gt;
-            This script generates custom xdoc pages for Commons components using
-            &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/"&gt;templates&lt;/a&gt;
-            and &lt;a href="http://ant.apache.org/manual/CoreTasks/filter.html"&gt;Ant's filtering&lt;/a&gt; functionality:
-            &lt;/p&gt;
-
-            &lt;p&gt;
-            These goals (re-)generate xdoc files in either the default m1 location (i.e. &lt;code&gt;xdocs&lt;/code&gt;) or the default m2 location
-            (i.e. &lt;code&gt;src/site/xdoc&lt;/code&gt;). Once generated these can be checked into svn and the component's site regenerated using &lt;code&gt;mvn site&lt;/code&gt;.
-            &lt;/p&gt;
-
-        &lt;/section&gt;
-
-
-        &lt;section name="commons:jira-page" href="jira-page"&gt;
-
-            &lt;subsection name="Overview"&gt;
-                &lt;p&gt;
-                The &lt;code&gt;commons:jira-page&lt;/code&gt; goal generates a custom JIRA Issue Tracking page for a component.
-                Execute the goal using the following command: &lt;source&gt;mvn commons:jira-page&lt;/source&gt;
-                &lt;/p&gt;
-
-                &lt;p&gt;
-                &lt;strong&gt;Note:&lt;/strong&gt; The Issue tracking page should only need to be generated initially
-                for a component or if the issue tracking template changes.
-                &lt;/p&gt;
-
-                &lt;p&gt;
-                This goal uses the following:
-                &lt;ul&gt;
-                    &lt;li&gt;The goal is mapped to the ant script/target using the &lt;code&gt;jira-page&lt;/code&gt; mojo defintion in the 
-                        &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.mojos.xml"&gt;generate-xdocs.mojos.xml&lt;/a&gt; mapping document&lt;/li&gt;
-                    &lt;li&gt;Executes the &lt;code&gt;jira-page&lt;/code&gt; target in
-                        &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.build.xml"&gt;generate-xdocs.build.xml&lt;/a&gt;
-                        ant script&lt;/li&gt;
-                    &lt;li&gt;Uses the &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/issue-tracking-template.xml"&gt;issue-tracking-template.xml&lt;/a&gt;
-                        template&lt;/li&gt;
-                    &lt;li&gt;Uses the &lt;a href="jira-page-mojo.html"&gt;goal's (i.e. mojo's) parameters&lt;/a&gt; to filter values in the template&lt;/li&gt;
-                &lt;/ul&gt;
-                &lt;/p&gt;
-            &lt;/subsection&gt;
-
-            &lt;subsection name="Configuration"&gt;
-                &lt;p&gt;
-                To generate a JIRA page, the following &lt;i&gt;properties&lt;/i&gt; are configured in the component's &lt;code&gt;pom.xml&lt;/code&gt;
-                &lt;ul&gt;
-                    &lt;li&gt;&lt;b&gt;commons.jira.id&lt;/b&gt; - JIRA's external (upper case) project id for the component&lt;/li&gt;
-                    &lt;li&gt;&lt;b&gt;commons.jira.pid&lt;/b&gt; - JIRA's internal (numeric) project id for the component&lt;/li&gt;
-                &lt;/ul&gt;
-                &lt;/p&gt;
-                &lt;p&gt;
-                Example configuration for Commons Chain:
-&lt;source&gt;&lt;![CDATA[
-    &lt;properties&gt;
-        &lt;commons.jira.id&gt;CHAIN&lt;/commons.jira.id&gt;
-        &lt;commons.jira.pid&gt;12310462&lt;/commons.jira.pid&gt;
-    &lt;/properties&gt; 
-]]&gt;&lt;/source&gt;
-                &lt;/p&gt;
-            &lt;/subsection&gt;
-
-        &lt;/section&gt;
-
-
-        &lt;section name="commons:download-page" href="download-page"&gt;
-
-            &lt;subsection name="Overview"&gt;
-                &lt;p&gt;
-                The &lt;code&gt;commons:download-page&lt;/code&gt; goal generates a custom Download page for the latest release of a component.
-                Execute the goal using the following command: &lt;source&gt;mvn commons:download-page&lt;/source&gt;
-                &lt;/p&gt;
-
-                &lt;p&gt;
-                &lt;strong&gt;Note:&lt;/strong&gt; The Download page should only need to be re-generated after a new release of the component 
-                or if the download page template changes.
-                &lt;/p&gt;
-
-                &lt;p&gt;
-                This goal uses the following:
-                &lt;ul&gt;
-                    &lt;li&gt;The goal is mapped to the ant script/target using the &lt;code&gt;download-page&lt;/code&gt; mojo defintion in the 
-                        &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.mojos.xml"&gt;generate-xdocs.mojos.xml&lt;/a&gt; mapping document&lt;/li&gt;
-                    &lt;li&gt;Executes the &lt;code&gt;download-page&lt;/code&gt; target in
-                        &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.build.xml"&gt;generate-xdocs.build.xml&lt;/a&gt;
-                        ant script&lt;/li&gt;
-                    &lt;li&gt;Uses either the
-                        &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-template.xml"&gt;download-page-template.xml&lt;/a&gt; or 
-                        &lt;a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/no-download-page-template.xml"&gt;no-download-page-template.xml&lt;/a&gt;
-                        template, depending on whether the &lt;code&gt;commons.release.version&lt;/code&gt; property is set or not.
-                        &lt;/li&gt;
-                    &lt;li&gt;Uses the &lt;a href="download-page-mojo.html"&gt;goal's (i.e. mojo's) parameters&lt;/a&gt; to filter values in the template&lt;/li&gt;
-                &lt;/ul&gt;
-                &lt;/p&gt;
-            &lt;/subsection&gt;
-
-            &lt;subsection name="Configuration"&gt;
-                &lt;p&gt;
-                To generate a Download page, the following &lt;i&gt;properties&lt;/i&gt; are configured in the component's &lt;code&gt;pom.xml&lt;/code&gt;
-                &lt;ul&gt;
-                    &lt;li&gt;&lt;b&gt;commons.componentid&lt;/b&gt; - Commons component id&lt;/li&gt;
-                    &lt;li&gt;&lt;b&gt;commons.release.version&lt;/b&gt; - The version number of the latest release of the component&lt;/li&gt;
-                    &lt;li&gt;&lt;b&gt;commons.binary.suffix&lt;/b&gt; - (&lt;i&gt;optional - defaults to &lt;code&gt;-bin&lt;/code&gt;&lt;/i&gt;) The suffix for the binary release
-                        (some components use "-bin", others have no suffix)&lt;/li&gt;
-                &lt;/ul&gt;
-                &lt;/p&gt;
-                &lt;p&gt;
-                Example configuration for Commons Chain:
-&lt;source&gt;&lt;![CDATA[
-    &lt;properties&gt;
-        &lt;commons.componentid&gt;chain&lt;/commons.componentid&gt;
-        &lt;commons.release.version&gt;1.1&lt;/commons.release.version&gt;
-        &lt;commons.binary.suffix&gt;&lt;/commons.binary.suffix&gt;
-    &lt;/properties&gt; 
-]]&gt;&lt;/source&gt;
-                &lt;/p&gt;
-            &lt;/subsection&gt;
-
-        &lt;/section&gt;
-
-
         &lt;section name="commons:sandbox-jira-page" href="jira-page"&gt;
 
             &lt;subsection name="Overview"&gt;
                 &lt;p&gt;
-                The &lt;code&gt;commons:sandbox-jira-page&lt;/code&gt; goal generates a custom JIRA Issue Tracking page for a &lt;b&gt;Sandbox&lt;/b&gt; component.
+                The &lt;code&gt;commons:sandbox-jira-page&lt;/code&gt; goal generates a custom JIRA Issue Tracking page for a &lt;strong&gt;Sandbox&lt;/strong&gt; component.
+                (for  &lt;strong&gt;Proper&lt;/strong&gt; components use the &lt;a href="jira-page.html"&gt;commons:jira-page&lt;/a&gt; goal).
                 Execute the goal using the following command: &lt;source&gt;mvn commons:sandbox-jira-page&lt;/source&gt;
                 &lt;/p&gt;
 
@@ -190,7 +60,7 @@
 
             &lt;subsection name="Configuration"&gt;
                 &lt;p&gt;
-                To generate a JIRA page, the following &lt;i&gt;properties&lt;/i&gt; are configured in the component's &lt;code&gt;pom.xml&lt;/code&gt;
+                To generate a JIRA page, the following &lt;a href="sandbox-jira-page-mojo.html"&gt;properties&lt;/a&gt;  are configured in the component's &lt;code&gt;pom.xml&lt;/code&gt;
                 &lt;ul&gt;
                     &lt;li&gt;&lt;b&gt;commons.jira.componentid&lt;/b&gt; - JIRA's internal (numeric) id for the component&lt;/li&gt;
                 &lt;/ul&gt;




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r888223 - in /commons/proper/dbcp/trunk: pom-1.3.xml pom.xml xdocs/download_dbcp.xml</title>
<author><name>niallp@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091208015751.C214223889BB@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091208015751-C214223889BB@eris-apache-org%3e</id>
<updated>2009-12-08T01:57:51Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: niallp
Date: Tue Dec  8 01:57:50 2009
New Revision: 888223

URL: http://svn.apache.org/viewvc?rev=888223&amp;view=rev
Log:
Remove "commons.binary.suffix" from poms so it picks up the default "-bin" value from commons-parent
and correct links on download page

Modified:
    commons/proper/dbcp/trunk/pom-1.3.xml
    commons/proper/dbcp/trunk/pom.xml
    commons/proper/dbcp/trunk/xdocs/download_dbcp.xml

Modified: commons/proper/dbcp/trunk/pom-1.3.xml
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/pom-1.3.xml?rev=888223&amp;r1=888222&amp;r2=888223&amp;view=diff
==============================================================================
--- commons/proper/dbcp/trunk/pom-1.3.xml (original)
+++ commons/proper/dbcp/trunk/pom-1.3.xml Tue Dec  8 01:57:50 2009
@@ -219,7 +219,6 @@
     &lt;maven.compile.target&gt;1.4&lt;/maven.compile.target&gt;
     &lt;commons.componentid&gt;dbcp&lt;/commons.componentid&gt;
     &lt;commons.release.version&gt;1.3&lt;/commons.release.version&gt;
-    &lt;commons.binary.suffix&gt;&lt;/commons.binary.suffix&gt;
     &lt;commons.jira.id&gt;DBCP&lt;/commons.jira.id&gt;
     &lt;commons.jira.pid&gt;12310469&lt;/commons.jira.pid&gt;
   &lt;/properties&gt; 

Modified: commons/proper/dbcp/trunk/pom.xml
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/pom.xml?rev=888223&amp;r1=888222&amp;r2=888223&amp;view=diff
==============================================================================
--- commons/proper/dbcp/trunk/pom.xml (original)
+++ commons/proper/dbcp/trunk/pom.xml Tue Dec  8 01:57:50 2009
@@ -220,7 +220,6 @@
     &lt;maven.compile.target&gt;1.6&lt;/maven.compile.target&gt;
     &lt;commons.componentid&gt;dbcp&lt;/commons.componentid&gt;
     &lt;commons.release.version&gt;1.4&lt;/commons.release.version&gt;
-    &lt;commons.binary.suffix&gt;&lt;/commons.binary.suffix&gt;
     &lt;commons.jira.id&gt;DBCP&lt;/commons.jira.id&gt;
     &lt;commons.jira.pid&gt;12310469&lt;/commons.jira.pid&gt;
   &lt;/properties&gt; 

Modified: commons/proper/dbcp/trunk/xdocs/download_dbcp.xml
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/xdocs/download_dbcp.xml?rev=888223&amp;r1=888222&amp;r2=888223&amp;view=diff
==============================================================================
--- commons/proper/dbcp/trunk/xdocs/download_dbcp.xml (original)
+++ commons/proper/dbcp/trunk/xdocs/download_dbcp.xml Tue Dec  8 01:57:50 2009
@@ -101,17 +101,17 @@
         &lt;ul class="downloads"&gt;
           &lt;li class="group"&gt;&lt;div class="links"&gt;&lt;span class="label"&gt;Binary&lt;/span&gt;&lt;/div&gt;
             &lt;ul&gt;
-              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/dbcp/binaries/commons-dbcp-1.4.tar.gz"&gt;1.4.tar.gz&lt;/a&gt;
+              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/dbcp/binaries/commons-dbcp-1.4-bin.tar.gz"&gt;1.4.tar.gz&lt;/a&gt;
                 &lt;ul class="attributes"&gt;
-                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.4.tar.gz.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
-                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.4.tar.gz.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
+                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.4-bin.tar.gz.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
+                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.4-bin.tar.gz.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
                   &lt;/li&gt;
                 &lt;/ul&gt;
               &lt;/li&gt;
-              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/dbcp/binaries/commons-dbcp-1.4.zip"&gt;1.4.zip&lt;/a&gt;
+              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/dbcp/binaries/commons-dbcp-1.4-bin.zip"&gt;1.4.zip&lt;/a&gt;
                 &lt;ul class="attributes"&gt;
-                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.4.zip.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
-                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.4.zip.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
+                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.4-bin.zip.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
+                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.4-bin.zip.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
                   &lt;/li&gt;
                 &lt;/ul&gt;
               &lt;/li&gt;
@@ -148,17 +148,17 @@
         &lt;ul class="downloads"&gt;
           &lt;li class="group"&gt;&lt;div class="links"&gt;&lt;span class="label"&gt;Binary&lt;/span&gt;&lt;/div&gt;
             &lt;ul&gt;
-              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/dbcp/binaries/commons-dbcp-1.3.tar.gz"&gt;1.3.tar.gz&lt;/a&gt;
+              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/dbcp/binaries/commons-dbcp-1.3-bin.tar.gz"&gt;1.3.tar.gz&lt;/a&gt;
                 &lt;ul class="attributes"&gt;
-                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.3.tar.gz.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
-                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.3.tar.gz.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
+                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.3-bin.tar.gz.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
+                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.3-bin.tar.gz.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
                   &lt;/li&gt;
                 &lt;/ul&gt;
               &lt;/li&gt;
-              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/dbcp/binaries/commons-dbcp-1.3.zip"&gt;1.3.zip&lt;/a&gt;
+              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/dbcp/binaries/commons-dbcp-1.3-bin.zip"&gt;1.3.zip&lt;/a&gt;
                 &lt;ul class="attributes"&gt;
-                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.3.zip.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
-                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.3.zip.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
+                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.3-bin.zip.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
+                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.3-bin.zip.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
                   &lt;/li&gt;
                 &lt;/ul&gt;
               &lt;/li&gt;




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r888217 - in /commons/proper/commons-build-plugin/trunk/src/main: resources/commons-xdoc-templates/ scripts/</title>
<author><name>niallp@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091208012545.9B36F23889BB@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091208012545-9B36F23889BB@eris-apache-org%3e</id>
<updated>2009-12-08T01:25:45Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: niallp
Date: Tue Dec  8 01:25:42 2009
New Revision: 888217

URL: http://svn.apache.org/viewvc?rev=888217&amp;view=rev
Log:
COMMONSSITE-48 provide a facility to add a second release to the download page

Added:
    commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-body.xml
      - copied, changed from r887867, commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-template.xml
    commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-foot.xml
      - copied, changed from r887867, commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-template.xml
    commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-head.xml
      - copied, changed from r887867, commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-template.xml
Removed:
    commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-template.xml
Modified:
    commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.build.xml
    commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.mojos.xml

Copied: commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-body.xml
(from r887867, commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-template.xml)
URL: http://svn.apache.org/viewvc/commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-body.xml?p2=commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-body.xml&amp;p1=commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-template.xml&amp;r1=887867&amp;r2=888217&amp;rev=888217&amp;view=diff
==============================================================================
--- commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-template.xml
(original)
+++ commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-body.xml
Tue Dec  8 01:25:42 2009
@@ -1,102 +1,4 @@
-&lt;?xml version="1.0"?&gt;
-&lt;!--
-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.
---&gt;
-&lt;!--
- +======================================================================+
- |****                                                              ****|
- |****      THIS FILE IS GENERATED BY THE COMMONS BUILD PLUGIN      ****|
- |****                    DO NOT EDIT DIRECTLY                      ****|
- |****                                                              ****|
- +======================================================================+
- | TEMPLATE FILE: download-page-template.xml                            |
- | commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates |
- +======================================================================+
- |                                                                      |
- | 1) Re-generate using: mvn commons:download-page                      |
- |                                                                      |
- | 2) Set the following properties in the component's pom:              |
- |    - commons.componentid (required, alphabetic, lower case)          |
- |    - commons.release.version (required)                              |
- |    - commons.binary.suffix (optional)                                |
- |      (defaults to "-bin", set to "" for pre-maven2 releases)         |
- |                                                                      |
- | 3) Example Properties                                                |
- |                                                                      |
- |  &lt;properties&gt;                                                        |
- |    &lt;commons.componentid&gt;math&lt;/commons.componentid&gt;                   |
- |    &lt;commons.release.version&gt;1.2&lt;/commons.release.version&gt;            |
- |  &lt;/properties&gt;                                                       |
- |                                                                      |
- +======================================================================+
---&gt;
-&lt;document&gt;
-  &lt;properties&gt;
-    &lt;title&gt;Download @NAME@&lt;/title&gt;
-    &lt;author email="dev@commons.apache.org"&gt;Commons Documentation Team&lt;/author&gt;
-  &lt;/properties&gt;
-  &lt;body&gt;
-    &lt;section name="Download @NAME@"&gt;
-      &lt;p&gt;
-        We recommend you use a mirror to download our release
-        builds, but you &lt;strong&gt;must&lt;/strong&gt; verify the integrity of
-        the downloaded files using signatures downloaded from our main 
-        distribution directories. Recent releases (48 hours) may not yet
-        be available from the mirrors.
-      &lt;/p&gt;
-
-      &lt;p&gt;
-        You are currently using &lt;b&gt;[preferred]&lt;/b&gt;.  If you
-        encounter a problem with this mirror, please select another
-        mirror.  If all mirrors are failing, there are &lt;i&gt;backup&lt;/i&gt;
-        mirrors (at the end of the mirrors list) that should be
-        available.
-        &lt;br&gt;&lt;/br&gt;
-        [if-any logo]&lt;a href="[link]"&gt;&lt;img align="right" src="[logo]" border="0"&gt;&lt;/img&gt;&lt;/a&gt;[end]
-      &lt;/p&gt;
-
-      &lt;form action="[location]" method="get" id="SelectMirror"&gt;
-        &lt;p&gt;
-          Other mirrors: 
-          &lt;select name="Preferred"&gt;
-          [if-any http]
-            [for http]&lt;option value="[http]"&gt;[http]&lt;/option&gt;[end]
-          [end]
-          [if-any ftp]
-            [for ftp]&lt;option value="[ftp]"&gt;[ftp]&lt;/option&gt;[end]
-          [end]
-          [if-any backup]
-            [for backup]&lt;option value="[backup]"&gt;[backup] (backup)&lt;/option&gt;[end]
-          [end]
-          &lt;/select&gt;
-          &lt;input type="submit" value="Change"&gt;&lt;/input&gt;
-        &lt;/p&gt;
-      &lt;/form&gt;
-
-      &lt;p&gt;
-        The &lt;code&gt;KEYS&lt;/code&gt; link links to the code signing keys used to sign
the product.
-        The &lt;code&gt;PGP&lt;/code&gt; link downloads the OpenPGP compatible signature
from our main site. 
-        The &lt;code&gt;MD5&lt;/code&gt; link downloads the checksum from the main site.
-      &lt;/p&gt;
-
-      &lt;p&gt;
-        For more information concerning @NAME@, see the 
-        &lt;a href="index.html" class="name"&gt;@NAME@&lt;/a&gt; web site.
-      &lt;/p&gt;
-
+    &lt;subsection name="@NAME@ @VERSION@ @RELDESC@"&gt;
       &lt;p&gt;
         &lt;div class="links"&gt;&lt;span class="link"&gt;&lt;a href="http://www.apache.org/dist/commons/KEYS"&gt;KEYS&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
         &lt;ul class="downloads"&gt;
@@ -136,10 +38,6 @@
               &lt;/li&gt;
             &lt;/ul&gt;
           &lt;/li&gt;
-          &lt;li class="download"&gt;&lt;a href="[preferred]/commons/@ID@/"&gt;browse download
area&lt;/a&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;a href="http://archive.apache.org/dist/commons/@ID@/"&gt;archives...&lt;/a&gt;&lt;/li&gt;
         &lt;/ul&gt;
       &lt;/p&gt;
-    &lt;/section&gt;
-  &lt;/body&gt;
-&lt;/document&gt;
+    &lt;/subsection&gt;

Copied: commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-foot.xml
(from r887867, commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-template.xml)
URL: http://svn.apache.org/viewvc/commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-foot.xml?p2=commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-foot.xml&amp;p1=commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-template.xml&amp;r1=887867&amp;r2=888217&amp;rev=888217&amp;view=diff
==============================================================================
--- commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-template.xml
(original)
+++ commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-foot.xml
Tue Dec  8 01:25:42 2009
@@ -1,145 +1,12 @@
-&lt;?xml version="1.0"?&gt;
-&lt;!--
-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.
---&gt;
-&lt;!--
- +======================================================================+
- |****                                                              ****|
- |****      THIS FILE IS GENERATED BY THE COMMONS BUILD PLUGIN      ****|
- |****                    DO NOT EDIT DIRECTLY                      ****|
- |****                                                              ****|
- +======================================================================+
- | TEMPLATE FILE: download-page-template.xml                            |
- | commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates |
- +======================================================================+
- |                                                                      |
- | 1) Re-generate using: mvn commons:download-page                      |
- |                                                                      |
- | 2) Set the following properties in the component's pom:              |
- |    - commons.componentid (required, alphabetic, lower case)          |
- |    - commons.release.version (required)                              |
- |    - commons.binary.suffix (optional)                                |
- |      (defaults to "-bin", set to "" for pre-maven2 releases)         |
- |                                                                      |
- | 3) Example Properties                                                |
- |                                                                      |
- |  &lt;properties&gt;                                                        |
- |    &lt;commons.componentid&gt;math&lt;/commons.componentid&gt;                   |
- |    &lt;commons.release.version&gt;1.2&lt;/commons.release.version&gt;            |
- |  &lt;/properties&gt;                                                       |
- |                                                                      |
- +======================================================================+
---&gt;
-&lt;document&gt;
-  &lt;properties&gt;
-    &lt;title&gt;Download @NAME@&lt;/title&gt;
-    &lt;author email="dev@commons.apache.org"&gt;Commons Documentation Team&lt;/author&gt;
-  &lt;/properties&gt;
-  &lt;body&gt;
-    &lt;section name="Download @NAME@"&gt;
-      &lt;p&gt;
-        We recommend you use a mirror to download our release
-        builds, but you &lt;strong&gt;must&lt;/strong&gt; verify the integrity of
-        the downloaded files using signatures downloaded from our main 
-        distribution directories. Recent releases (48 hours) may not yet
-        be available from the mirrors.
-      &lt;/p&gt;
-
-      &lt;p&gt;
-        You are currently using &lt;b&gt;[preferred]&lt;/b&gt;.  If you
-        encounter a problem with this mirror, please select another
-        mirror.  If all mirrors are failing, there are &lt;i&gt;backup&lt;/i&gt;
-        mirrors (at the end of the mirrors list) that should be
-        available.
-        &lt;br&gt;&lt;/br&gt;
-        [if-any logo]&lt;a href="[link]"&gt;&lt;img align="right" src="[logo]" border="0"&gt;&lt;/img&gt;&lt;/a&gt;[end]
-      &lt;/p&gt;
-
-      &lt;form action="[location]" method="get" id="SelectMirror"&gt;
+    &lt;subsection name="Browse Download Area and Archives"&gt;
         &lt;p&gt;
-          Other mirrors: 
-          &lt;select name="Preferred"&gt;
-          [if-any http]
-            [for http]&lt;option value="[http]"&gt;[http]&lt;/option&gt;[end]
-          [end]
-          [if-any ftp]
-            [for ftp]&lt;option value="[ftp]"&gt;[ftp]&lt;/option&gt;[end]
-          [end]
-          [if-any backup]
-            [for backup]&lt;option value="[backup]"&gt;[backup] (backup)&lt;/option&gt;[end]
-          [end]
-          &lt;/select&gt;
-          &lt;input type="submit" value="Change"&gt;&lt;/input&gt;
+          Older releases can be obtained from the archives.
         &lt;/p&gt;
-      &lt;/form&gt;
-
-      &lt;p&gt;
-        The &lt;code&gt;KEYS&lt;/code&gt; link links to the code signing keys used to sign
the product.
-        The &lt;code&gt;PGP&lt;/code&gt; link downloads the OpenPGP compatible signature
from our main site. 
-        The &lt;code&gt;MD5&lt;/code&gt; link downloads the checksum from the main site.
-      &lt;/p&gt;
-
-      &lt;p&gt;
-        For more information concerning @NAME@, see the 
-        &lt;a href="index.html" class="name"&gt;@NAME@&lt;/a&gt; web site.
-      &lt;/p&gt;
-
-      &lt;p&gt;
-        &lt;div class="links"&gt;&lt;span class="link"&gt;&lt;a href="http://www.apache.org/dist/commons/KEYS"&gt;KEYS&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
-        &lt;ul class="downloads"&gt;
-          &lt;li class="group"&gt;&lt;div class="links"&gt;&lt;span class="label"&gt;Binary&lt;/span&gt;&lt;/div&gt;
-            &lt;ul&gt;
-              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/@ID@/binaries/@FINAL_NAME@@BINARY-SUFFIX@.tar.gz"&gt;@VERSION@.tar.gz&lt;/a&gt;
-                &lt;ul class="attributes"&gt;
-                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/@ID@/binaries/@FINAL_NAME@@BINARY-SUFFIX@.tar.gz.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
-                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/@ID@/binaries/@FINAL_NAME@@BINARY-SUFFIX@.tar.gz.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
-                  &lt;/li&gt;
-                &lt;/ul&gt;
-              &lt;/li&gt;
-              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/@ID@/binaries/@FINAL_NAME@@BINARY-SUFFIX@.zip"&gt;@VERSION@.zip&lt;/a&gt;
-                &lt;ul class="attributes"&gt;
-                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/@ID@/binaries/@FINAL_NAME@@BINARY-SUFFIX@.zip.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
-                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/@ID@/binaries/@FINAL_NAME@@BINARY-SUFFIX@.zip.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
-                  &lt;/li&gt;
-                &lt;/ul&gt;
-              &lt;/li&gt;
-            &lt;/ul&gt;
-          &lt;/li&gt;
-          &lt;li class="group"&gt;&lt;div class="links"&gt;&lt;span class="label"&gt;Source&lt;/span&gt;&lt;/div&gt;
-            &lt;ul&gt;
-              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/@ID@/source/@FINAL_NAME@-src.tar.gz"&gt;@VERSION@.tar.gz&lt;/a&gt;
-                &lt;ul class="attributes"&gt;
-                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/@ID@/source/@FINAL_NAME@-src.tar.gz.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
-                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/@ID@/source/@FINAL_NAME@-src.tar.gz.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
-                  &lt;/li&gt;
-                &lt;/ul&gt;
-              &lt;/li&gt;
-              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/@ID@/source/@FINAL_NAME@-src.zip"&gt;@VERSION@.zip&lt;/a&gt;
-                &lt;ul class="attributes"&gt;
-                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/@ID@/source/@FINAL_NAME@-src.zip.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
-                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/@ID@/source/@FINAL_NAME@-src.zip.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
-                  &lt;/li&gt;
-                &lt;/ul&gt;
-              &lt;/li&gt;
-            &lt;/ul&gt;
-          &lt;/li&gt;
+        &lt;ul&gt;
           &lt;li class="download"&gt;&lt;a href="[preferred]/commons/@ID@/"&gt;browse download
area&lt;/a&gt;&lt;/li&gt;
           &lt;li&gt;&lt;a href="http://archive.apache.org/dist/commons/@ID@/"&gt;archives...&lt;/a&gt;&lt;/li&gt;
         &lt;/ul&gt;
-      &lt;/p&gt;
+    &lt;/subsection&gt;
     &lt;/section&gt;
   &lt;/body&gt;
 &lt;/document&gt;

Copied: commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-head.xml
(from r887867, commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-template.xml)
URL: http://svn.apache.org/viewvc/commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-head.xml?p2=commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-head.xml&amp;p1=commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-template.xml&amp;r1=887867&amp;r2=888217&amp;rev=888217&amp;view=diff
==============================================================================
--- commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-template.xml
(original)
+++ commons/proper/commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates/download-page-head.xml
Tue Dec  8 01:25:42 2009
@@ -50,6 +50,7 @@
   &lt;/properties&gt;
   &lt;body&gt;
     &lt;section name="Download @NAME@"&gt;
+    &lt;subsection name="Using a Mirror"&gt;
       &lt;p&gt;
         We recommend you use a mirror to download our release
         builds, but you &lt;strong&gt;must&lt;/strong&gt; verify the integrity of
@@ -91,55 +92,4 @@
         The &lt;code&gt;PGP&lt;/code&gt; link downloads the OpenPGP compatible signature
from our main site. 
         The &lt;code&gt;MD5&lt;/code&gt; link downloads the checksum from the main site.
       &lt;/p&gt;
-
-      &lt;p&gt;
-        For more information concerning @NAME@, see the 
-        &lt;a href="index.html" class="name"&gt;@NAME@&lt;/a&gt; web site.
-      &lt;/p&gt;
-
-      &lt;p&gt;
-        &lt;div class="links"&gt;&lt;span class="link"&gt;&lt;a href="http://www.apache.org/dist/commons/KEYS"&gt;KEYS&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
-        &lt;ul class="downloads"&gt;
-          &lt;li class="group"&gt;&lt;div class="links"&gt;&lt;span class="label"&gt;Binary&lt;/span&gt;&lt;/div&gt;
-            &lt;ul&gt;
-              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/@ID@/binaries/@FINAL_NAME@@BINARY-SUFFIX@.tar.gz"&gt;@VERSION@.tar.gz&lt;/a&gt;
-                &lt;ul class="attributes"&gt;
-                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/@ID@/binaries/@FINAL_NAME@@BINARY-SUFFIX@.tar.gz.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
-                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/@ID@/binaries/@FINAL_NAME@@BINARY-SUFFIX@.tar.gz.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
-                  &lt;/li&gt;
-                &lt;/ul&gt;
-              &lt;/li&gt;
-              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/@ID@/binaries/@FINAL_NAME@@BINARY-SUFFIX@.zip"&gt;@VERSION@.zip&lt;/a&gt;
-                &lt;ul class="attributes"&gt;
-                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/@ID@/binaries/@FINAL_NAME@@BINARY-SUFFIX@.zip.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
-                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/@ID@/binaries/@FINAL_NAME@@BINARY-SUFFIX@.zip.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
-                  &lt;/li&gt;
-                &lt;/ul&gt;
-              &lt;/li&gt;
-            &lt;/ul&gt;
-          &lt;/li&gt;
-          &lt;li class="group"&gt;&lt;div class="links"&gt;&lt;span class="label"&gt;Source&lt;/span&gt;&lt;/div&gt;
-            &lt;ul&gt;
-              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/@ID@/source/@FINAL_NAME@-src.tar.gz"&gt;@VERSION@.tar.gz&lt;/a&gt;
-                &lt;ul class="attributes"&gt;
-                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/@ID@/source/@FINAL_NAME@-src.tar.gz.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
-                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/@ID@/source/@FINAL_NAME@-src.tar.gz.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
-                  &lt;/li&gt;
-                &lt;/ul&gt;
-              &lt;/li&gt;
-              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/@ID@/source/@FINAL_NAME@-src.zip"&gt;@VERSION@.zip&lt;/a&gt;
-                &lt;ul class="attributes"&gt;
-                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/@ID@/source/@FINAL_NAME@-src.zip.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
-                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/@ID@/source/@FINAL_NAME@-src.zip.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
-                  &lt;/li&gt;
-                &lt;/ul&gt;
-              &lt;/li&gt;
-            &lt;/ul&gt;
-          &lt;/li&gt;
-          &lt;li class="download"&gt;&lt;a href="[preferred]/commons/@ID@/"&gt;browse download
area&lt;/a&gt;&lt;/li&gt;
-          &lt;li&gt;&lt;a href="http://archive.apache.org/dist/commons/@ID@/"&gt;archives...&lt;/a&gt;&lt;/li&gt;
-        &lt;/ul&gt;
-      &lt;/p&gt;
-    &lt;/section&gt;
-  &lt;/body&gt;
-&lt;/document&gt;
+    &lt;/subsection&gt;

Modified: commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.build.xml
URL: http://svn.apache.org/viewvc/commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.build.xml?rev=888217&amp;r1=888216&amp;r2=888217&amp;view=diff
==============================================================================
--- commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.build.xml (original)
+++ commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.build.xml Tue
Dec  8 01:25:42 2009
@@ -25,7 +25,7 @@
     &lt;property name="commonsMojoId"      value="Commons:xdoc-generate" /&gt;
     &lt;property name="commonsMojoXdocDir" value="resources/commons-xdoc-templates" /&gt;
     &lt;property name="commonsMojoTempDir" value="target/commons-generated-xdocs" /&gt;
-    &lt;property name="level"              value="debug" /&gt;
+    &lt;property name="level"              value="info" /&gt;
 
     &lt;!-- ========== Generate Issue Tracking Page ============================== --&gt;
 
@@ -110,7 +110,9 @@
         &lt;echo level="${level}" message="project.name           : ${project.name}" /&gt;
         &lt;echo level="${level}" message="commons.componentid    : ${commons.componentid}"
/&gt;
         &lt;echo level="${level}" message="commons.release.version: ${commons.release.version}"
/&gt;
-        &lt;echo level="${level}" message="commons.release.name   : ${commons.release.name}"
/&gt;
+        &lt;echo level="${level}" message="commons.release.version.2: ${commons.release.version.2}"
/&gt;
+        &lt;echo level="${level}" message="commons.release.desc   : ${commons.release.desc}"
/&gt;
+        &lt;echo level="${level}" message="commons.release.desc.2 : ${commons.release.desc.2}"
/&gt;
         &lt;echo level="${level}" message="commons.binary.suffix  : ${commons.binary.suffix}"
/&gt;
         &lt;echo level="${level}" message="----- commons:download-page - Parameters - END
  -----" /&gt;
 
@@ -121,18 +123,10 @@
 
         &lt;!-- Load the dowload-page template from mojo resources to temp directory --&gt;
         &lt;antcall target="load-no-download-page-template"/&gt;
-        &lt;antcall target="load-download-page-template"/&gt;
-
-        &lt;!-- Copy the download page template filtering to replace properties --&gt;
-        &lt;copy file="${commonsMojoTempDir}/download-page-template.xml" tofile="${commonsMojoTempDir}/download_${commons.componentid}.xml"
overwrite="true"&gt;
-            &lt;filterset&gt;
-            &lt;filter  token="NAME"          value="${project.name}"/&gt;
-            &lt;filter  token="ID"            value="${commons.componentid}"/&gt;
-            &lt;filter  token="VERSION"       value="${commons.release.version}"/&gt;
-            &lt;filter  token="FINAL_NAME"    value="${commons.release.name}"/&gt;
-            &lt;filter  token="BINARY-SUFFIX" value="${commons.binary.suffix}"/&gt;
-            &lt;/filterset&gt;
-        &lt;/copy&gt;
+        &lt;antcall target="load-download-page-head"/&gt;
+        &lt;antcall target="load-download-page-body-1"/&gt;
+        &lt;antcall target="load-download-page-body-2"/&gt;
+        &lt;antcall target="load-download-page-foot"/&gt;
 
         &lt;!-- copy to either m1 or m2 xdoc directory --&gt;
         &lt;antcall target="copy-to-xdoc-dir"&gt;
@@ -140,12 +134,78 @@
         &lt;/antcall&gt;
     &lt;/target&gt;
 
-    &lt;target name="load-download-page-template" if="commons.release.version"&gt;
-        &lt;echo  level="info" message="*** copying download-page-template.xml ***" /&gt;
-        &lt;loadresource property="downloadpage-xml"&gt;
-            &lt;javaresource name="${commonsMojoXdocDir}/download-page-template.xml"/&gt;
+    &lt;target name="load-download-page-head" if="commons.release.version"&gt;
+        &lt;echo  level="info" message="*** loading download-page header file ***" /&gt;
+
+        &lt;!-- Load header --&gt;
+        &lt;loadresource property="download-page-head-xml"&gt;
+            &lt;javaresource name="${commonsMojoXdocDir}/download-page-head.xml"/&gt;
+            &lt;filterchain&gt;
+                &lt;replacetokens&gt;
+                    &lt;token key="NAME" value="${project.name}"/&gt;
+                &lt;/replacetokens&gt;
+            &lt;/filterchain&gt;
         &lt;/loadresource&gt;
-        &lt;echo message="${downloadpage-xml}" file="${commonsMojoTempDir}/download-page-template.xml"
append="false" /&gt;
+        &lt;echo message="${download-page-head-xml}" file="${commonsMojoTempDir}/download_${commons.componentid}.xml"
append="false" /&gt;
+
+    &lt;/target&gt;
+
+    &lt;target name="load-download-page-body-1" if="commons.release.version"&gt;
+        &lt;echo  level="info" message="*** loading download-page body(1) file***" /&gt;
+
+        &lt;!-- Load Body --&gt;
+        &lt;loadresource property="download-page-body-1-xml"&gt;
+            &lt;javaresource name="${commonsMojoXdocDir}/download-page-body.xml"/&gt;
+            &lt;filterchain&gt;
+                &lt;replacetokens&gt;
+                    &lt;token key="VERSION"       value="${commons.release.version}"/&gt;
+                    &lt;token key="RELDESC"       value="${commons.release.desc}"/&gt;
+                    &lt;token key="NAME"          value="${project.name}"/&gt;
+                    &lt;token key="ID"            value="${commons.componentid}"/&gt;
+                    &lt;token key="FINAL_NAME"    value="${project.artifactId}-${commons.release.version}"/&gt;
+                    &lt;token key="BINARY-SUFFIX" value="${commons.binary.suffix}"/&gt;
+                &lt;/replacetokens&gt;
+            &lt;/filterchain&gt;
+        &lt;/loadresource&gt;
+        &lt;echo message="${download-page-body-1-xml}" file="${commonsMojoTempDir}/download_${commons.componentid}.xml"
append="true" /&gt;
+
+    &lt;/target&gt;
+
+    &lt;target name="load-download-page-body-2" if="commons.release.version.2"&gt;
+        &lt;echo  level="info" message="*** loading download-page body(2) file***" /&gt;
+
+        &lt;!-- Load Body --&gt;
+        &lt;loadresource property="download-page-body-2-xml"&gt;
+            &lt;javaresource name="${commonsMojoXdocDir}/download-page-body.xml"/&gt;
+            &lt;filterchain&gt;
+                &lt;replacetokens&gt;
+                    &lt;token key="VERSION"       value="${commons.release.version.2}"/&gt;
+                    &lt;token key="RELDESC"       value="${commons.release.desc.2}"/&gt;
+                    &lt;token key="NAME"          value="${project.name}"/&gt;
+                    &lt;token key="ID"            value="${commons.componentid}"/&gt;
+                    &lt;token key="FINAL_NAME"    value="${project.artifactId}-${commons.release.version.2}"/&gt;
+                    &lt;token key="BINARY-SUFFIX" value="${commons.binary.suffix}"/&gt;
+                &lt;/replacetokens&gt;
+            &lt;/filterchain&gt;
+        &lt;/loadresource&gt;
+        &lt;echo message="${download-page-body-2-xml}" file="${commonsMojoTempDir}/download_${commons.componentid}.xml"
append="true" /&gt;
+
+    &lt;/target&gt;
+
+    &lt;target name="load-download-page-foot" if="commons.release.version"&gt;
+        &lt;echo  level="info" message="*** loading download-page footer files ***" /&gt;
+
+        &lt;!-- Load Footer --&gt;
+        &lt;loadresource property="download-page-foot-xml"&gt;
+            &lt;javaresource name="${commonsMojoXdocDir}/download-page-foot.xml"/&gt;
+            &lt;filterchain&gt;
+                &lt;replacetokens&gt;
+                    &lt;token key="ID"            value="${commons.componentid}"/&gt;
+                &lt;/replacetokens&gt;
+            &lt;/filterchain&gt;
+        &lt;/loadresource&gt;
+        &lt;echo message="${download-page-foot-xml}" file="${commonsMojoTempDir}/download_${commons.componentid}.xml"
append="true" /&gt;
+
     &lt;/target&gt;
 
     &lt;target name="load-no-download-page-template" unless="commons.release.version"&gt;

Modified: commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.mojos.xml
URL: http://svn.apache.org/viewvc/commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.mojos.xml?rev=888217&amp;r1=888216&amp;r2=888217&amp;view=diff
==============================================================================
--- commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.mojos.xml (original)
+++ commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.mojos.xml Tue
Dec  8 01:25:42 2009
@@ -101,6 +101,15 @@
                     &lt;description&gt;The name of the project currently being built.&lt;/description&gt;
                 &lt;/parameter&gt;
                 &lt;parameter&gt;
+                    &lt;name&gt;project.artifactId&lt;/name&gt; 
+                    &lt;property&gt;project.artifactId&lt;/property&gt;
+                    &lt;required&gt;true&lt;/required&gt;
+                    &lt;readonly&gt;true&lt;/readonly&gt;
+                    &lt;defaultValue&gt;${project.artifactId}&lt;/defaultValue&gt;
+                    &lt;type&gt;java.lang.String&lt;/type&gt;
+                    &lt;description&gt;The artifactId of the project currently being built.&lt;/description&gt;
+                &lt;/parameter&gt;
+                &lt;parameter&gt;
                     &lt;name&gt;commons.componentid&lt;/name&gt; 
                     &lt;property&gt;commons.componentid&lt;/property&gt;
                     &lt;required&gt;true&lt;/required&gt;
@@ -119,13 +128,31 @@
                     &lt;description&gt;The version of the latest release of the project.&lt;/description&gt;
                 &lt;/parameter&gt;
                 &lt;parameter&gt;
-                    &lt;name&gt;commons.release.name&lt;/name&gt; 
-                    &lt;property&gt;commons.release.name&lt;/property&gt;
+                    &lt;name&gt;commons.release.desc&lt;/name&gt; 
+                    &lt;property&gt;commons.release.desc&lt;/property&gt;
                     &lt;required&gt;true&lt;/required&gt;
                     &lt;readonly&gt;false&lt;/readonly&gt;
-                    &lt;defaultValue&gt;${project.artifactId}-${commons.release.version}&lt;/defaultValue&gt;
+                    &lt;defaultValue&gt;${commons.release.desc}&lt;/defaultValue&gt;
+                    &lt;type&gt;java.lang.String&lt;/type&gt;
+                    &lt;description&gt;Release Title or Description.&lt;/description&gt;
+                &lt;/parameter&gt;
+                &lt;parameter&gt;
+                    &lt;name&gt;commons.release.version.2&lt;/name&gt; 
+                    &lt;property&gt;commons.release.version.2&lt;/property&gt;
+                    &lt;required&gt;false&lt;/required&gt;
+                    &lt;readonly&gt;false&lt;/readonly&gt;
+                    &lt;defaultValue&gt;${commons.release.version.2}&lt;/defaultValue&gt;
+                    &lt;type&gt;java.lang.String&lt;/type&gt;
+                    &lt;description&gt;The version of an alternative release of the project.&lt;/description&gt;
+                &lt;/parameter&gt;
+                &lt;parameter&gt;
+                    &lt;name&gt;commons.release.desc.2&lt;/name&gt; 
+                    &lt;property&gt;commons.release.desc.2&lt;/property&gt;
+                    &lt;required&gt;false&lt;/required&gt;
+                    &lt;readonly&gt;false&lt;/readonly&gt;
+                    &lt;defaultValue&gt;${commons.release.desc.2}&lt;/defaultValue&gt;
                     &lt;type&gt;java.lang.String&lt;/type&gt;
-                    &lt;description&gt;The final name (i.e. artifactId-version) of the artifacts
being built.&lt;/description&gt;
+                    &lt;description&gt;Alternative Release Title or Description.&lt;/description&gt;
                 &lt;/parameter&gt;
                 &lt;parameter&gt;
                     &lt;name&gt;commons.binary.suffix&lt;/name&gt; 




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r888131 - /commons/proper/jexl/trunk/compat/</title>
<author><name>henrib@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207204955.D26B8238898B@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207204955-D26B8238898B@eris-apache-org%3e</id>
<updated>2009-12-07T20:49:55Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: henrib
Date: Mon Dec  7 20:49:55 2009
New Revision: 888131

URL: http://svn.apache.org/viewvc?rev=888131&amp;view=rev
Log:
svn del failed on previous attempts

Removed:
    commons/proper/jexl/trunk/compat/



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r888128 - /commons/proper/jexl/trunk/jexl2-compat/commons-jexl-compat/</title>
<author><name>henrib@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207204542.7962D2388998@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207204542-7962D2388998@eris-apache-org%3e</id>
<updated>2009-12-07T20:45:42Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: henrib
Date: Mon Dec  7 20:45:41 2009
New Revision: 888128

URL: http://svn.apache.org/viewvc?rev=888128&amp;view=rev
Log:
svn failed to delete on previous attempt

Removed:
    commons/proper/jexl/trunk/jexl2-compat/commons-jexl-compat/



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r888125 - in /commons/proper/jexl/trunk/jexl2-compat: ./ commons-jexl-compat/pom.xml commons-jexl-compat/src/ pom.xml src/ src/main/java/org/apache/commons/jexl/JexlOne.java src/test/java/org/apache/commons/jexl/ScriptTest.java</title>
<author><name>henrib@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207203809.CFEEC238898B@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207203809-CFEEC238898B@eris-apache-org%3e</id>
<updated>2009-12-07T20:38:09Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: henrib
Date: Mon Dec  7 20:38:09 2009
New Revision: 888125

URL: http://svn.apache.org/viewvc?rev=888125&amp;view=rev
Log:
moving 1.x compat to jexl2-compat

Added:
    commons/proper/jexl/trunk/jexl2-compat/   (props changed)
      - copied from r887559, commons/proper/jexl/trunk/compat/
    commons/proper/jexl/trunk/jexl2-compat/pom.xml
      - copied unchanged from r887559, commons/proper/jexl/trunk/compat/commons-jexl-compat/pom.xml
    commons/proper/jexl/trunk/jexl2-compat/src/
      - copied from r887559, commons/proper/jexl/trunk/compat/commons-jexl-compat/src/
Removed:
    commons/proper/jexl/trunk/jexl2-compat/commons-jexl-compat/pom.xml
    commons/proper/jexl/trunk/jexl2-compat/commons-jexl-compat/src/
Modified:
    commons/proper/jexl/trunk/jexl2-compat/src/main/java/org/apache/commons/jexl/JexlOne.java
    commons/proper/jexl/trunk/jexl2-compat/src/test/java/org/apache/commons/jexl/ScriptTest.java

Propchange: commons/proper/jexl/trunk/jexl2-compat/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Dec  7 20:38:09 2009
@@ -0,0 +1 @@
+target

Modified: commons/proper/jexl/trunk/jexl2-compat/src/main/java/org/apache/commons/jexl/JexlOne.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/jexl2-compat/src/main/java/org/apache/commons/jexl/JexlOne.java?rev=888125&amp;r1=887559&amp;r2=888125&amp;view=diff
==============================================================================
--- commons/proper/jexl/trunk/jexl2-compat/src/main/java/org/apache/commons/jexl/JexlOne.java
(original)
+++ commons/proper/jexl/trunk/jexl2-compat/src/main/java/org/apache/commons/jexl/JexlOne.java
Mon Dec  7 20:38:09 2009
@@ -160,7 +160,7 @@
 
         /**{@inheritDoc}*/
         protected Interpreter createInterpreter(JexlContext context) {
-            return new JexlOne.JexlOneInterpreter(this, context);
+            return new JexlOneInterpreter(this, context);
         }
 
         /** {@inheritDoc} */

Modified: commons/proper/jexl/trunk/jexl2-compat/src/test/java/org/apache/commons/jexl/ScriptTest.java
URL: http://svn.apache.org/viewvc/commons/proper/jexl/trunk/jexl2-compat/src/test/java/org/apache/commons/jexl/ScriptTest.java?rev=888125&amp;r1=887559&amp;r2=888125&amp;view=diff
==============================================================================
--- commons/proper/jexl/trunk/jexl2-compat/src/test/java/org/apache/commons/jexl/ScriptTest.java
(original)
+++ commons/proper/jexl/trunk/jexl2-compat/src/test/java/org/apache/commons/jexl/ScriptTest.java
Mon Dec  7 20:38:09 2009
@@ -24,7 +24,7 @@
  * @since 1.1
  */
 public class ScriptTest extends TestCase {
-    static final String TEST1 =  "../../src/test/scripts/test1.jexl";
+    static final String TEST1 =  "../src/test/scripts/test1.jexl";
 
     // test class for testScriptUpdatesContext
     // making this class private static will cause the test to fail.




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887940 - /commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestAll.java</title>
<author><name>mturk@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207145626.BF5BB23889E1@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207145626-BF5BB23889E1@eris-apache-org%3e</id>
<updated>2009-12-07T14:56:26Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: mturk
Date: Mon Dec  7 14:56:25 2009
New Revision: 887940

URL: http://svn.apache.org/viewvc?rev=887940&amp;view=rev
Log:
Re-enable all tests

Modified:
    commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestAll.java

Modified: commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestAll.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestAll.java?rev=887940&amp;r1=887939&amp;r2=887940&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestAll.java (original)
+++ commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestAll.java Mon Dec
 7 14:56:25 2009
@@ -43,12 +43,11 @@
         suite.addTest(TestMemory.suite());
         suite.addTest(TestNioByteBuffer.suite());
         suite.addTest(TestPrivate.suite());
-/*
         suite.addTest(TestFile.suite());
         suite.addTest(TestStrings.suite());
-//        suite.addTest(TestSemaphore.suite());
-//        suite.addTest(TestSharedMemory.suite());
-//        suite.addTest(TestMemoryMap.suite());
+        suite.addTest(TestSemaphore.suite());
+        suite.addTest(TestSharedMemory.suite());
+        suite.addTest(TestMemoryMap.suite());
         suite.addTest(TestCallback.suite());
         suite.addTest(TestObserver.suite());
         suite.addTest(TestUtils.suite());
@@ -65,7 +64,6 @@
         suite.addTest(TestSignal.suite());
         suite.addTest(TestFileSys.suite());
 
-*/        
         // Keep this as last test
         suite.addTest(TestCleanup.suite());
         return suite;




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887939 - in /commons/sandbox/runtime/trunk/src/main/native: include/acr_private.h shared/pointer.c</title>
<author><name>mturk@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207145254.D096D23889E1@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207145254-D096D23889E1@eris-apache-org%3e</id>
<updated>2009-12-07T14:52:54Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: mturk
Date: Mon Dec  7 14:52:54 2009
New Revision: 887939

URL: http://svn.apache.org/viewvc?rev=887939&amp;view=rev
Log:
Fix get long macro

Modified:
    commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h
    commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c

Modified: commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h?rev=887939&amp;r1=887938&amp;r2=887939&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h (original)
+++ commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h Mon Dec  7 14:52:54
2009
@@ -427,8 +427,9 @@
         else     (*_E)-&gt;SetStaticBooleanField(_E, _clazzn.i, _f##I##n.i, JNI_FALSE); 
  \
     } else (void)(0)
 
-#define GET_IFIELD_P(I, O)  \
-    (_f##I##n.i &amp;&amp; (O)) ? (*_E)-&gt;GetLongField(_E, (O), _f##I##n.i) : 0
+#define GET_IFIELD_P(I, O, T)  \
+    (_f##I##n.i &amp;&amp; (O)) ? (T)(*_E)-&gt;GetLongField(_E, (O), _f##I##n.i) : 0
+
 #define GET_IFIELD_V(I, O, T)  \
     (_f##I##n.i &amp;&amp; (O)) ? (T)((acr_ssize_t)(*_E)-&gt;GetLongField(_E, (O),      \
                               _f##I##n.i)) : NULL

Modified: commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c?rev=887939&amp;r1=887938&amp;r2=887939&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c Mon Dec  7 14:52:54 2009
@@ -122,7 +122,7 @@
         }
         if (cleanup) {
             int rc;
-            size_t plength = (size_t)GET_IFIELD_P(0002, _O);
+            size_t plength = GET_IFIELD_P(0002, _O, size_t);
             if ((rc = (*cleanup)(pointer, plength))) {
                 /* Throw RuntimeException with errno message */
                 ACR_ThrowException(_E, THROW_FMARK, ACR_EX_ERUNTIME, rc);
@@ -146,7 +146,7 @@
             SET_IFIELD_P(0000, _O, NULL);
         }
         if (cleanup) {
-            size_t plength = (size_t)GET_IFIELD_P(0002, _O);
+            size_t plength = GET_IFIELD_P(0002, _O, size_t);
             (*cleanup)(pointer, plength);
         }
     }
@@ -204,7 +204,7 @@
         }
         (*_E)-&gt;MonitorExit(_E, _O);
         if (cleanup) {
-            size_t plength = (size_t)GET_IFIELD_P(0002, _O);
+            size_t plength = GET_IFIELD_P(0002, _O, size_t);
             return (*cleanup)(pointer, plength);
         }
         else {
@@ -221,7 +221,7 @@
     if (_clazzn.i &amp;&amp; J4MID(0000) &amp;&amp; _O) {
         void *pointer = GET_IFIELD_V(0000, _O, void *);
         if (len) {
-            *len = (size_t)GET_IFIELD_P(0002, _O);
+            *len = GET_IFIELD_P(0002, _O, size_t);
         }
         return pointer;
     }




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887935 - /commons/sandbox/runtime/trunk/src/main/native/shared/nbb.c</title>
<author><name>mturk@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207143713.6A2B723889E1@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207143713-6A2B723889E1@eris-apache-org%3e</id>
<updated>2009-12-07T14:37:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: mturk
Date: Mon Dec  7 14:37:12 2009
New Revision: 887935

URL: http://svn.apache.org/viewvc?rev=887935&amp;view=rev
Log:
Delete local ref in loop

Modified:
    commons/sandbox/runtime/trunk/src/main/native/shared/nbb.c

Modified: commons/sandbox/runtime/trunk/src/main/native/shared/nbb.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/nbb.c?rev=887935&amp;r1=887934&amp;r2=887935&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/nbb.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/nbb.c Mon Dec  7 14:37:12 2009
@@ -228,6 +228,7 @@
                 rv = NULL;
                 goto cleanup;
             }
+            (*_E)-&gt;DeleteLocalRef(_E, bb);
             offset += n;
         }
     }
@@ -340,6 +341,7 @@
                 rv = NULL;
                 goto cleanup;
             }
+            (*_E)-&gt;DeleteLocalRef(_E, bb);
             offset += n;
         }
     }




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887902 - in /commons/sandbox/runtime/trunk/src/main: java/org/apache/commons/runtime/ native/include/ native/os/linux/ native/os/unix/ native/os/win32/ native/shared/ native/test/</title>
<author><name>mturk@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207122832.3FB2623889E1@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207122832-3FB2623889E1@eris-apache-org%3e</id>
<updated>2009-12-07T12:28:31Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: mturk
Date: Mon Dec  7 12:28:31 2009
New Revision: 887902

URL: http://svn.apache.org/viewvc?rev=887902&amp;view=rev
Log:
Rename basic to generic so it matches the Java class

Modified:
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/NioByteBuffer.java
    commons/sandbox/runtime/trunk/src/main/native/include/acr_pointer.h
    commons/sandbox/runtime/trunk/src/main/native/os/linux/execmem.c
    commons/sandbox/runtime/trunk/src/main/native/os/unix/execmem.c
    commons/sandbox/runtime/trunk/src/main/native/os/unix/memalign.c
    commons/sandbox/runtime/trunk/src/main/native/os/unix/mmap.c
    commons/sandbox/runtime/trunk/src/main/native/os/unix/secmem.c
    commons/sandbox/runtime/trunk/src/main/native/os/win32/execmem.c
    commons/sandbox/runtime/trunk/src/main/native/os/win32/memalign.c
    commons/sandbox/runtime/trunk/src/main/native/os/win32/mmap.c
    commons/sandbox/runtime/trunk/src/main/native/os/win32/secmem.c
    commons/sandbox/runtime/trunk/src/main/native/os/win32/variant.cpp
    commons/sandbox/runtime/trunk/src/main/native/shared/memory.c
    commons/sandbox/runtime/trunk/src/main/native/shared/nbb.c
    commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c
    commons/sandbox/runtime/trunk/src/main/native/shared/shm.c
    commons/sandbox/runtime/trunk/src/main/native/test/testcase.c

Modified: commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/NioByteBuffer.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/NioByteBuffer.java?rev=887902&amp;r1=887901&amp;r2=887902&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/NioByteBuffer.java
(original)
+++ commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/NioByteBuffer.java
Mon Dec  7 12:28:31 2009
@@ -61,7 +61,7 @@
     private static native ByteBuffer    alloc5(long ptr, long len)
         throws NullPointerException;
 
-    private static native ByteBuffer[]  alloc6(long ptr, long siz, long[] sizes,
+    private static native ByteBuffer[]  alloc6(Pointer ptr, long[] sizes,
                                                int off, int len)
         throws OutOfMemoryError, IllegalArgumentException,
         IndexOutOfBoundsException;
@@ -167,11 +167,11 @@
         throws NullPointerException, IllegalArgumentException,
         IndexOutOfBoundsException
     {
-        if (ptr == null || ptr.POINTER == 0L || sizes == null)
+        if (ptr == null || sizes == null)
             throw new NullPointerException();
         if (off &lt; 0 || len &lt; 1)
             throw new IllegalArgumentException();
-        return alloc6(ptr.POINTER, ptr.PLENGTH, sizes, off, len);
+        return alloc6(ptr, sizes, off, len);
     }
 
     /**
@@ -204,11 +204,11 @@
         throws NullPointerException, IllegalArgumentException,
         IndexOutOfBoundsException
     {
-        if (ptr == null || ptr.POINTER == 0L || sizes == null)
+        if (ptr == null || sizes == null)
             throw new NullPointerException();
         if (sizes.length &lt; 1)
             throw new IllegalArgumentException();
-        return alloc6(ptr.POINTER, ptr.PLENGTH, sizes, 0, sizes.length);
+        return alloc6(ptr, sizes, 0, sizes.length);
     }
 
     /**

Modified: commons/sandbox/runtime/trunk/src/main/native/include/acr_pointer.h
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/include/acr_pointer.h?rev=887902&amp;r1=887901&amp;r2=887902&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/include/acr_pointer.h (original)
+++ commons/sandbox/runtime/trunk/src/main/native/include/acr_pointer.h Mon Dec  7 12:28:31
2009
@@ -45,8 +45,8 @@
  * @param len Length of the pointer.
  * @param cb callback function to use on Pointer.finalize()
  */
-ACR_DECLARE(jobject) ACR_NewBasicPointer(JNIEnv *env, void *p, size_t len,
-                                         acr_pointer_cleanup_fn_t *cb);
+ACR_DECLARE(jobject) ACR_NewGenericPointer(JNIEnv *env, void *p, size_t len,
+                                           acr_pointer_cleanup_fn_t *cb);
 
 /**
  * Create new Pointer array

Modified: commons/sandbox/runtime/trunk/src/main/native/os/linux/execmem.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/linux/execmem.c?rev=887902&amp;r1=887901&amp;r2=887902&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/linux/execmem.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/linux/execmem.c Mon Dec  7 12:28:31 2009
@@ -146,7 +146,7 @@
         EXEC_PAGE_OFF(mmw, ass) = (ptrdiff_t)mmx;
         /* Create the Pointer class with default cleanup.
          */
-        ptr = ACR_NewBasicPointer(_E, mmw, ass, execmem_pointer_cleanup);
+        ptr = ACR_NewGenericPointer(_E, mmw, ass, execmem_pointer_cleanup);
         if (!ptr) {
             munmap(mmw, ass);
             if (mmx)
@@ -171,9 +171,9 @@
 
     dp = (void *)(EXEC_PAGE_OFF(sp, sl));
     if (dp)
-        po = ACR_NewBasicPointer(_E, dp, sl, NULL);
+        po = ACR_NewGenericPointer(_E, dp, sl, NULL);
     else
-        po = ACR_NewBasicPointer(_E, sp, sl, NULL);
+        po = ACR_NewGenericPointer(_E, sp, sl, NULL);
     return po;
 }
 

Modified: commons/sandbox/runtime/trunk/src/main/native/os/unix/execmem.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/unix/execmem.c?rev=887902&amp;r1=887901&amp;r2=887902&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/unix/execmem.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/unix/execmem.c Mon Dec  7 12:28:31 2009
@@ -77,7 +77,7 @@
     if (mem) {
         /* Create the Pointer class with default cleanup.
          */
-        ptr = ACR_NewBasicPointer(_E, mem, ass, execmem_pointer_cleanup);
+        ptr = ACR_NewGenericPointer(_E, mem, ass, execmem_pointer_cleanup);
         if (!ptr) {
 #ifdef ACR_USE_MMAP
             munmap(mem, ass);
@@ -96,6 +96,6 @@
     void   *sp = ACR_PointerGet(_E, src, &amp;sl);
 
     UNREFERENCED_O;
-    return ACR_NewBasicPointer(_E, sp, sl, NULL);
+    return ACR_NewGenericPointer(_E, sp, sl, NULL);
 }
 

Modified: commons/sandbox/runtime/trunk/src/main/native/os/unix/memalign.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/unix/memalign.c?rev=887902&amp;r1=887901&amp;r2=887902&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/unix/memalign.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/unix/memalign.c Mon Dec  7 12:28:31 2009
@@ -29,7 +29,7 @@
 static int aligned_pointer_cleanup(void *mem, size_t len)
 {
     if (mem &amp;&amp; len) {
-        free(mem);
+        x_free(mem);
         return 0;
     }
     else {
@@ -73,9 +73,9 @@
 
     mem = ACR_Memalign(_E, THROW_FMARK, ass);
     if (mem) {
-        ptr = ACR_NewBasicPointer(_E, mem, ass, aligned_pointer_cleanup);
+        ptr = ACR_NewGenericPointer(_E, mem, ass, aligned_pointer_cleanup);
         if (!ptr) {
-            free(mem);
+            x_free(mem);
         }
     }
     return ptr;

Modified: commons/sandbox/runtime/trunk/src/main/native/os/unix/mmap.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/unix/mmap.c?rev=887902&amp;r1=887901&amp;r2=887902&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/unix/mmap.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/unix/mmap.c Mon Dec  7 12:28:31 2009
@@ -439,7 +439,7 @@
         return NULL;
     }
     if (m-&gt;flags &amp; PROT_WRITE)
-        mptr = ACR_NewBasicPointer(_E, base, (size_t)size, mmap_pointer_cleanup);
+        mptr = ACR_NewGenericPointer(_E, base, (size_t)size, mmap_pointer_cleanup);
     else
         mptr = ACR_NewConstPointer(_E, base, (size_t)size, mmap_pointer_cleanup);
 
@@ -483,7 +483,7 @@
         return NULL;
     }
     if (m-&gt;flags &amp; PROT_WRITE)
-        mptr = ACR_NewBasicPointer(_E, base, (size_t)size, mmap_pointer_cleanup);
+        mptr = ACR_NewGenericPointer(_E, base, (size_t)size, mmap_pointer_cleanup);
     else
         mptr = ACR_NewConstPointer(_E, base, (size_t)size, mmap_pointer_cleanup);
 

Modified: commons/sandbox/runtime/trunk/src/main/native/os/unix/secmem.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/unix/secmem.c?rev=887902&amp;r1=887901&amp;r2=887902&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/unix/secmem.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/unix/secmem.c Mon Dec  7 12:28:31 2009
@@ -96,7 +96,7 @@
         {
             /* Create the Pointer class with default cleanup.
              */
-            ptr = ACR_NewBasicPointer(_E, mem, ass, secmem_pointer_cleanup);
+            ptr = ACR_NewGenericPointer(_E, mem, ass, secmem_pointer_cleanup);
         }
         if (!ptr) {
 #ifdef ACR_USE_MMAP
@@ -155,7 +155,7 @@
         {
             /* Create the Pointer class with default cleanup.
              */
-            ptr = ACR_NewBasicPointer(_E, mem, ass, secmem_pointer_cleanup);
+            ptr = ACR_NewGenericPointer(_E, mem, ass, secmem_pointer_cleanup);
         }
         if (!ptr) {
 #ifdef ACR_USE_MMAP

Modified: commons/sandbox/runtime/trunk/src/main/native/os/win32/execmem.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/win32/execmem.c?rev=887902&amp;r1=887901&amp;r2=887902&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/win32/execmem.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/win32/execmem.c Mon Dec  7 12:28:31 2009
@@ -51,7 +51,7 @@
     if (mem) {
         /* Create the Pointer class with default cleanup.
          */
-        ptr = ACR_NewBasicPointer(_E, mem, ass, execmem_pointer_cleanup);
+        ptr = ACR_NewGenericPointer(_E, mem, ass, execmem_pointer_cleanup);
         if (!ptr) {
             VirtualFree(mem, 0, MEM_RELEASE);
         }
@@ -68,6 +68,6 @@
     void   *sp = ACR_PointerGet(_E, src, &amp;sl);
 
     UNREFERENCED_O;
-    return ACR_NewBasicPointer(_E, sp, sl, NULL);
+    return ACR_NewGenericPointer(_E, sp, sl, NULL);
 }
 

Modified: commons/sandbox/runtime/trunk/src/main/native/os/win32/memalign.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/win32/memalign.c?rev=887902&amp;r1=887901&amp;r2=887902&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/win32/memalign.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/win32/memalign.c Mon Dec  7 12:28:31
2009
@@ -69,7 +69,7 @@
     if (mem) {
         /* Create the Pointer class with default cleanup.
          */
-        ptr = ACR_NewBasicPointer(_E, mem, ass, aligned_pointer_cleanup);
+        ptr = ACR_NewGenericPointer(_E, mem, ass, aligned_pointer_cleanup);
         if (!ptr) {
             VirtualFree(mem, 0, MEM_RELEASE);
         }

Modified: commons/sandbox/runtime/trunk/src/main/native/os/win32/mmap.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/win32/mmap.c?rev=887902&amp;r1=887901&amp;r2=887902&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/win32/mmap.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/win32/mmap.c Mon Dec  7 12:28:31 2009
@@ -438,7 +438,7 @@
         return NULL;
     }
     if (m-&gt;flags &amp; FILE_MAP_WRITE)
-        mptr = ACR_NewBasicPointer(_E, base, (size_t)size, mmap_pointer_cleanup);
+        mptr = ACR_NewGenericPointer(_E, base, (size_t)size, mmap_pointer_cleanup);
     else
         mptr = ACR_NewConstPointer(_E, base, (size_t)size, mmap_pointer_cleanup);
 
@@ -472,7 +472,7 @@
     }
     size = mbi.RegionSize;
     if (m-&gt;flags &amp; FILE_MAP_WRITE)
-        mptr = ACR_NewBasicPointer(_E, base, (size_t)size, mmap_pointer_cleanup);
+        mptr = ACR_NewGenericPointer(_E, base, (size_t)size, mmap_pointer_cleanup);
     else
         mptr = ACR_NewConstPointer(_E, base, (size_t)size, mmap_pointer_cleanup);
 

Modified: commons/sandbox/runtime/trunk/src/main/native/os/win32/secmem.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/win32/secmem.c?rev=887902&amp;r1=887901&amp;r2=887902&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/win32/secmem.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/win32/secmem.c Mon Dec  7 12:28:31 2009
@@ -57,7 +57,7 @@
         }
         /* Create the Pointer class with default cleanup.
          */
-        ptr = ACR_NewBasicPointer(_E, mem, ass, secmem_pointer_cleanup);
+        ptr = ACR_NewGenericPointer(_E, mem, ass, secmem_pointer_cleanup);
         if (!ptr) {
             VirtualFree(mem, 0, MEM_RELEASE);
         }
@@ -87,7 +87,7 @@
         }
         /* Create the Pointer class with default cleanup.
          */
-        ptr = ACR_NewBasicPointer(_E, mem, ass, secmem_pointer_cleanup);
+        ptr = ACR_NewGenericPointer(_E, mem, ass, secmem_pointer_cleanup);
         if (!ptr) {
             VirtualFree(mem, 0, MEM_RELEASE);
         }

Modified: commons/sandbox/runtime/trunk/src/main/native/os/win32/variant.cpp
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/win32/variant.cpp?rev=887902&amp;r1=887901&amp;r2=887902&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/win32/variant.cpp (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/win32/variant.cpp Mon Dec  7 12:28:31
2009
@@ -48,7 +48,7 @@
     if (!v)
         return 0;
     VariantInit(v);
-    return ACR_NewBasicPointer(_E, v, 0, variant_callback);
+    return ACR_NewGenericPointer(_E, v, 0, variant_callback);
 }
 
 extern "C"
@@ -64,7 +64,7 @@
         VariantInit(v);
         V_VT(v)   = VT_BSTR;
         V_BSTR(v) = SysAllocString(J2W(str));
-        r = ACR_NewBasicPointer(_E, v, 0, variant_callback);
+        r = ACR_NewGenericPointer(_E, v, 0, variant_callback);
     } END_WITH_WSTR(str);
 
     return r;

Modified: commons/sandbox/runtime/trunk/src/main/native/shared/memory.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/memory.c?rev=887902&amp;r1=887901&amp;r2=887902&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/memory.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/memory.c Mon Dec  7 12:28:31 2009
@@ -323,7 +323,7 @@
 ACR_JNI_EXPORT_DECLARE(jobject, Memory, nullp0)(ACR_JNISTDARGS)
 {
     UNREFERENCED_O;
-    return ACR_NewBasicPointer(_E, NULL, 0, memory_pointer_cleanup);
+    return ACR_NewGenericPointer(_E, NULL, 0, memory_pointer_cleanup);
 }
 
 ACR_JNI_EXPORT_DECLARE(jobject, Memory, malloc)(ACR_JNISTDARGS, jlong siz)
@@ -341,7 +341,7 @@
     if (mem) {
         /* Create the Pointer class with default cleanup.
          */
-        ptr = ACR_NewBasicPointer(_E, mem, (size_t)siz, memory_pointer_cleanup);
+        ptr = ACR_NewGenericPointer(_E, mem, (size_t)siz, memory_pointer_cleanup);
         if (!ptr)
             x_free(mem);
     }
@@ -363,7 +363,7 @@
     if (mem) {
         /* Create the Pointer class with default cleanup.
          */
-        ptr = ACR_NewBasicPointer(_E, mem, (size_t)siz, memory_pointer_cleanup);
+        ptr = ACR_NewGenericPointer(_E, mem, (size_t)siz, memory_pointer_cleanup);
         if (!ptr)
             x_free(mem);
     }
@@ -441,7 +441,7 @@
     /* Create the Pointer class without the cleanup.
      * Original object will clean the entire allocated memory.
      */
-    return ACR_NewBasicPointer(_E, sp, ss, NULL);
+    return ACR_NewGenericPointer(_E, sp, ss, NULL);
 }
 
 ACR_JNI_EXPORT_DECLARE(jobject, Memory, slice1)(ACR_JNISTDARGS,
@@ -478,7 +478,7 @@
     __TRY
     {
         memcpy(dp, sp, ss);
-        po = ACR_NewBasicPointer(_E, dp, ss, memory_pointer_cleanup);
+        po = ACR_NewGenericPointer(_E, dp, ss, memory_pointer_cleanup);
     }
     __EXCEPT
     {

Modified: commons/sandbox/runtime/trunk/src/main/native/shared/nbb.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/nbb.c?rev=887902&amp;r1=887901&amp;r2=887902&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/nbb.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/nbb.c Mon Dec  7 12:28:31 2009
@@ -266,17 +266,17 @@
 }
 
 ACR_JNI_EXPORT_DECLARE(jobject, NioByteBuffer, alloc6)(ACR_JNISTDARGS,
-                                                       jlong ptr, jlong siz,
+                                                       jobject ptr,
                                                        jlongArray sizes,
                                                        jint off, jint len)
 {
     jint   i;
     jlong *ia;
     jsize  is;
-    size_t sl = (size_t)siz;
+    size_t sl;
     size_t sz = 0;
     jobjectArray rv = NULL;
-    char  *sp = J2P(ptr, char *);
+    char  *sp = ACR_PointerGet(_E, ptr, &amp;sl);
 
     UNREFERENCED_O;
 

Modified: commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c?rev=887902&amp;r1=887901&amp;r2=887902&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c Mon Dec  7 12:28:31 2009
@@ -106,7 +106,7 @@
     if (!_clazzn.i) {
         initp0(_E);
     }
-    return ACR_NewBasicPointer(_E, 0, 0, NULL);
+    return ACR_NewGenericPointer(_E, 0, 0, NULL);
 }
 
 ACR_JNI_EXPORT_DECLARE(void, Pointer, cleanup0)(ACR_JNISTDARGS)
@@ -172,8 +172,8 @@
     return rv;
 }
 
-ACR_DECLARE(jobject) ACR_NewBasicPointer(JNIEnv *_E, void *p, size_t len,
-                                         acr_pointer_cleanup_fn_t *cb)
+ACR_DECLARE(jobject) ACR_NewGenericPointer(JNIEnv *_E, void *p, size_t len,
+                                           acr_pointer_cleanup_fn_t *cb)
 {
     if (_clazzn.i &amp;&amp; J4MID(0000))
         return (*_E)-&gt;NewObject(_E, _clazzn.i, J4MID(0000),

Modified: commons/sandbox/runtime/trunk/src/main/native/shared/shm.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/shm.c?rev=887902&amp;r1=887901&amp;r2=887902&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/shm.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/shm.c Mon Dec  7 12:28:31 2009
@@ -84,7 +84,7 @@
             return NULL;
         }
         len = ACR_ShmGetSize(sd);
-        mpo = ACR_NewBasicPointer(_E, mem, len, NULL);
+        mpo = ACR_NewGenericPointer(_E, mem, len, NULL);
     }
     return mpo;
 }
@@ -94,6 +94,8 @@
                                                     jlong off, jlong siz)
 {
     jobject mpo = NULL;
+    size_t  of  = (size_t)off;
+    size_t  sz  = (size_t)siz;
     int sd;
 
     UNREFERENCED_O;
@@ -107,11 +109,11 @@
             return NULL;
         }
         len = ACR_ShmGetSize(sd);
-        if (len &lt; (size_t)(off + siz)) {
+        if (len &lt; (of + sz)) {
             ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
             return NULL;
         }
-        mpo = ACR_NewBasicPointer(_E, mem + off, (size_t)siz, NULL);
+        mpo = ACR_NewGenericPointer(_E, mem + of, sz, NULL);
     }
     return mpo;
 }

Modified: commons/sandbox/runtime/trunk/src/main/native/test/testcase.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/test/testcase.c?rev=887902&amp;r1=887901&amp;r2=887902&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/test/testcase.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/test/testcase.c Mon Dec  7 12:28:31 2009
@@ -262,7 +262,7 @@
 ACR_JNI_EXPORT_DECLARE(jobject, TestPrivate, test017)(ACR_JNISTDARGS, jint d)
 {
 
-    return  ACR_NewBasicPointer(_E, I2P(d, void *), 0, callback);
+    return  ACR_NewGenericPointer(_E, I2P(d, void *), 0, callback);
 }
 
 ACR_JNI_EXPORT_DECLARE(jobject, TestPrivate, test038)(ACR_JNISTDARGS, jint d)




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887896 - in /commons/sandbox/runtime/trunk/src/main: java/org/apache/commons/runtime/Memory.java native/shared/memory.c</title>
<author><name>mturk@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207120112.BD86B23889E7@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207120112-BD86B23889E7@eris-apache-org%3e</id>
<updated>2009-12-07T12:01:12Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: mturk
Date: Mon Dec  7 12:01:12 2009
New Revision: 887896

URL: http://svn.apache.org/viewvc?rev=887896&amp;view=rev
Log:
Use native Pointer address instead calling back into JVM

Modified:
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Memory.java
    commons/sandbox/runtime/trunk/src/main/native/shared/memory.c

Modified: commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Memory.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Memory.java?rev=887896&amp;r1=887895&amp;r2=887896&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Memory.java (original)
+++ commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Memory.java Mon Dec  7 12:01:12 2009
@@ -476,7 +476,7 @@
         set0(ptr.POINTER + offset, length, val);
     }
 
-    private static native byte[] array0(Pointer ptr, long offset, int length)
+    private static native byte[] array0(long ptr, int length)
         throws IndexOutOfBoundsException, OutOfMemoryError;
     /**
      * Return the {@code ptr} memory area from {@code src} to {@code byte} array.
@@ -498,13 +498,17 @@
         throws IndexOutOfBoundsException, IllegalArgumentException,
                NullPointerException, OutOfMemoryError
     {
+        if (ptr == null || ptr.POINTER == 0L)
+            throw new NullPointerException();
         if (offset &lt; 0L || length &lt; 1)
             throw new IllegalArgumentException();
+        if (offset + length &gt; ptr.PLENGTH)
+            throw new IndexOutOfBoundsException();
 
-        return array0(ptr, offset, length);
+        return array0(ptr.POINTER + offset, length);
     }
 
-    private static native char[] array1(Pointer ptr, long offset, int length)
+    private static native char[] array1(long ptr, int length)
         throws IndexOutOfBoundsException, OutOfMemoryError;
     /**
      * Return the {@code ptr} memory area from {@code src} to {@code char} array.
@@ -526,13 +530,17 @@
         throws IndexOutOfBoundsException, IllegalArgumentException,
                NullPointerException, OutOfMemoryError
     {
+        if (ptr == null || ptr.POINTER == 0L)
+            throw new NullPointerException();
         if (offset &lt; 0L || length &lt; 1)
             throw new IllegalArgumentException();
+        if (((offset + length) * 2) &gt; ptr.PLENGTH)
+            throw new IndexOutOfBoundsException();
 
-        return array1(ptr, offset, length);
+        return array1(ptr.POINTER + offset * 2, length);
     }
 
-    private static native short[] array2(Pointer ptr, long offset, int length)
+    private static native short[] array2(long ptr, int length)
         throws IndexOutOfBoundsException, OutOfMemoryError;
     /**
      * Return the {@code ptr} memory area from {@code src} to {@code short} array.
@@ -554,13 +562,17 @@
         throws IndexOutOfBoundsException, IllegalArgumentException,
                NullPointerException, OutOfMemoryError
     {
+        if (ptr == null || ptr.POINTER == 0L)
+            throw new NullPointerException();
         if (offset &lt; 0L || length &lt; 1)
             throw new IllegalArgumentException();
+        if (((offset + length) * 2) &gt; ptr.PLENGTH)
+            throw new IndexOutOfBoundsException();
 
-        return array2(ptr, offset, length);
+        return array2(ptr.POINTER + offset * 2, length);
     }
 
-    private static native int[] array3(Pointer ptr, long offset, int length)
+    private static native int[] array3(long ptr, int length)
         throws IndexOutOfBoundsException, OutOfMemoryError;
     /**
      * Return the {@code ptr} memory area from {@code src} to {@code int} array.
@@ -582,13 +594,17 @@
         throws IndexOutOfBoundsException, IllegalArgumentException,
                NullPointerException, OutOfMemoryError
     {
+        if (ptr == null || ptr.POINTER == 0L)
+            throw new NullPointerException();
         if (offset &lt; 0L || length &lt; 1)
             throw new IllegalArgumentException();
+        if (((offset + length) * 4) &gt; ptr.PLENGTH)
+            throw new IndexOutOfBoundsException();
 
-        return array3(ptr, offset, length);
+        return array3(ptr.POINTER + offset * 4, length);
     }
 
-    private static native long[] array4(Pointer ptr, long offset, int length)
+    private static native long[] array4(long ptr, int length)
         throws IndexOutOfBoundsException, OutOfMemoryError;
     /**
      * Return the {@code ptr} memory area from {@code src} to
@@ -611,13 +627,17 @@
         throws IndexOutOfBoundsException, IllegalArgumentException,
                NullPointerException, OutOfMemoryError
     {
+        if (ptr == null || ptr.POINTER == 0L)
+            throw new NullPointerException();
         if (offset &lt; 0L || length &lt; 1)
             throw new IllegalArgumentException();
+        if (((offset + length) * 8) &gt; ptr.PLENGTH)
+            throw new IndexOutOfBoundsException();
 
-        return array4(ptr, offset, length);
+        return array4(ptr.POINTER + offset * 8, length);
     }
 
-    private static native float[] array5(Pointer ptr, long offset, int length)
+    private static native float[] array5(long ptr, int length)
         throws IndexOutOfBoundsException, OutOfMemoryError;
     /**
      * Return the {@code ptr} memory area from {@code src} to
@@ -640,13 +660,17 @@
         throws IndexOutOfBoundsException, IllegalArgumentException,
                NullPointerException, OutOfMemoryError
     {
+        if (ptr == null || ptr.POINTER == 0L)
+            throw new NullPointerException();
         if (offset &lt; 0L || length &lt; 1)
             throw new IllegalArgumentException();
+        if (((offset + length) * 4) &gt; ptr.PLENGTH)
+            throw new IndexOutOfBoundsException();
 
-        return array5(ptr, offset, length);
+        return array5(ptr.POINTER + offset * 4, length);
     }
 
-    private static native double[] array6(Pointer ptr, long offset, int length)
+    private static native double[] array6(long ptr, int length)
         throws IndexOutOfBoundsException, OutOfMemoryError;
     /**
      * Return the {@code ptr} memory area from {@code src} to
@@ -669,15 +693,51 @@
         throws IndexOutOfBoundsException, IllegalArgumentException,
                NullPointerException, OutOfMemoryError
     {
+        if (ptr == null || ptr.POINTER == 0L)
+            throw new NullPointerException();
         if (offset &lt; 0L || length &lt; 1)
             throw new IllegalArgumentException();
+        if (((offset + length) * 8) &gt; ptr.PLENGTH)
+            throw new IndexOutOfBoundsException();
 
-        return array6(ptr, offset, length);
+        return array6(ptr.POINTER + offset * 8, length);
     }
 
-    private static native void acpy0(Pointer src, long srcPos, byte[] dst,
+    private static native boolean[] array7(long ptr, int length)
+        throws IndexOutOfBoundsException, OutOfMemoryError;
+    /**
+     * Return the {@code ptr} memory area from {@code src} to {@code boolean} array.
+     *
+     * @param ptr {@code Pointer} whose content to use.
+     * @param offset starting position in the memory.
+     * @param length the number of bytes use.
+     * @return new {@code byte} array with values from {@code src} memory area.
+     *
+     * @throws IllegalArgumentException if the {@code offset}
+     *          is {@code negative} or {@code length}
+     *          is {@code zero}.
+     * @throws IndexOutOfBoundsException if the operation would cause
+     *          access of data outside allocated memory bounds.
+     * @throws NullPointerException if {@code ptr} is {@code null}.
+     * @throws OutOfMemoryError if memory cannot be dipicated.
+     */
+    public static boolean[] toBooleanArray(Pointer ptr, long offset, int length)
+        throws IndexOutOfBoundsException, IllegalArgumentException,
+               NullPointerException, OutOfMemoryError
+    {
+        if (ptr == null || ptr.POINTER == 0L)
+            throw new NullPointerException();
+        if (offset &lt; 0L || length &lt; 1)
+            throw new IllegalArgumentException();
+        if (offset + length &gt; ptr.PLENGTH)
+            throw new IndexOutOfBoundsException();
+
+        return array7(ptr.POINTER + offset, length);
+    }
+
+    private static native void acpy0(long src, byte[] dst,
                                      int dstPos, int length)
-        throws IndexOutOfBoundsException;
+        throws ArrayIndexOutOfBoundsException;
     /**
      * Copy the memory area from {@code src} pointer to array
      * pointed by {@code dst}.
@@ -701,16 +761,21 @@
         throws IndexOutOfBoundsException, IllegalArgumentException,
                NullPointerException
     {
+        if (src == null || src.POINTER == 0L)
+            throw new NullPointerException();
         if (srcPos &lt; 0L || dstPos &lt; 0 || length == 0)
             throw new IllegalArgumentException();
-        else if ((dstPos + length) &gt; dst.length)
+        if (dstPos + length &gt; dst.length)
+            throw new ArrayIndexOutOfBoundsException();
+        if (srcPos + length &gt; src.PLENGTH)
             throw new IndexOutOfBoundsException();
-        acpy0(src, srcPos, dst, dstPos, length);
+
+        acpy0(src.POINTER + srcPos, dst, dstPos, length);
     }
 
-    private static native void acpy1(Pointer src, long srcPos, char[] dst,
+    private static native void acpy1(long src, char[] dst,
                                      int dstPos, int length)
-        throws IndexOutOfBoundsException;
+        throws ArrayIndexOutOfBoundsException;
     /**
      * Copy the memory area from {@code src} pointer to array
      * pointed by {@code dst}.
@@ -734,16 +799,21 @@
         throws IndexOutOfBoundsException, IllegalArgumentException,
                NullPointerException
     {
+        if (src == null || src.POINTER == 0L)
+            throw new NullPointerException();
         if (srcPos &lt; 0L || dstPos &lt; 0 || length == 0)
             throw new IllegalArgumentException();
-        else if ((dstPos + length) &gt; dst.length)
+        if (dstPos + length &gt; dst.length)
+            throw new ArrayIndexOutOfBoundsException();
+        if (((srcPos + length) * 2) &gt; src.PLENGTH)
             throw new IndexOutOfBoundsException();
-        acpy1(src, srcPos, dst, dstPos, length);
+
+        acpy1(src.POINTER + srcPos * 2, dst, dstPos, length);
     }
 
-    private static native void acpy2(Pointer src, long srcPos, short[] dst,
+    private static native void acpy2(long src, short[] dst,
                                      int dstPos, int length)
-        throws IndexOutOfBoundsException;
+        throws ArrayIndexOutOfBoundsException;
     /**
      * Copy the memory area from {@code src} pointer to array
      * pointed by {@code dst}.
@@ -767,16 +837,21 @@
         throws IndexOutOfBoundsException, IllegalArgumentException,
                NullPointerException
     {
+        if (src == null || src.POINTER == 0L)
+            throw new NullPointerException();
         if (srcPos &lt; 0L || dstPos &lt; 0 || length == 0)
             throw new IllegalArgumentException();
-        else if ((dstPos + length) &gt; dst.length)
+        if (dstPos + length &gt; dst.length)
+            throw new ArrayIndexOutOfBoundsException();
+        if (((srcPos + length) * 2) &gt; src.PLENGTH)
             throw new IndexOutOfBoundsException();
-        acpy2(src, srcPos, dst, dstPos, length);
+
+        acpy2(src.POINTER + srcPos * 2, dst, dstPos, length);
     }
 
-    private static native void acpy3(Pointer src, long srcPos, int[] dst,
+    private static native void acpy3(long src, int[] dst,
                                      int dstPos, int length)
-        throws IndexOutOfBoundsException;
+        throws ArrayIndexOutOfBoundsException;
     /**
      * Copy the memory area from {@code src} pointer to array
      * pointed by {@code dst}.
@@ -800,16 +875,21 @@
         throws IndexOutOfBoundsException, IllegalArgumentException,
                NullPointerException
     {
+        if (src == null || src.POINTER == 0L)
+            throw new NullPointerException();
         if (srcPos &lt; 0L || dstPos &lt; 0 || length == 0)
             throw new IllegalArgumentException();
-        else if ((dstPos + length) &gt; dst.length)
+        if (dstPos + length &gt; dst.length)
+            throw new ArrayIndexOutOfBoundsException();
+        if (((srcPos + length) * 4) &gt; src.PLENGTH)
             throw new IndexOutOfBoundsException();
-        acpy3(src, srcPos, dst, dstPos, length);
+
+        acpy3(src.POINTER + srcPos * 4, dst, dstPos, length);
     }
 
-    private static native void acpy4(Pointer src, long srcPos, long[] dst,
+    private static native void acpy4(long src, long[] dst,
                                      int dstPos, int length)
-        throws IndexOutOfBoundsException;
+        throws ArrayIndexOutOfBoundsException;
     /**
      * Copy the memory area from {@code src} pointer to array
      * pointed by {@code dst}.
@@ -833,16 +913,21 @@
         throws IndexOutOfBoundsException, IllegalArgumentException,
                NullPointerException
     {
+        if (src == null || src.POINTER == 0L)
+            throw new NullPointerException();
         if (srcPos &lt; 0L || dstPos &lt; 0 || length == 0)
             throw new IllegalArgumentException();
-        else if ((dstPos + length) &gt; dst.length)
+        if (dstPos + length &gt; dst.length)
+            throw new ArrayIndexOutOfBoundsException();
+        if (((srcPos + length) * 8) &gt; src.PLENGTH)
             throw new IndexOutOfBoundsException();
-        acpy4(src, srcPos, dst, dstPos, length);
+
+        acpy4(src.POINTER + srcPos * 8, dst, dstPos, length);
     }
 
-    private static native void acpy5(Pointer src, long srcPos, float[] dst,
+    private static native void acpy5(long src, float[] dst,
                                      int dstPos, int length)
-        throws IndexOutOfBoundsException;
+        throws ArrayIndexOutOfBoundsException;
     /**
      * Copy the memory area from {@code src} pointer to array
      * pointed by {@code dst}.
@@ -866,16 +951,21 @@
         throws IndexOutOfBoundsException, IllegalArgumentException,
                NullPointerException
     {
+        if (src == null || src.POINTER == 0L)
+            throw new NullPointerException();
         if (srcPos &lt; 0L || dstPos &lt; 0 || length == 0)
             throw new IllegalArgumentException();
-        else if ((dstPos + length) &gt; dst.length)
+        if (dstPos + length &gt; dst.length)
+            throw new ArrayIndexOutOfBoundsException();
+        if (((srcPos + length) * 4) &gt; src.PLENGTH)
             throw new IndexOutOfBoundsException();
-        acpy5(src, srcPos, dst, dstPos, length);
+
+        acpy5(src.POINTER + srcPos * 4, dst, dstPos, length);
     }
 
-    private static native void acpy6(Pointer src, long srcPos, double[] dst,
+    private static native void acpy6(long src, double[] dst,
                                      int dstPos, int length)
-        throws IndexOutOfBoundsException;
+        throws ArrayIndexOutOfBoundsException;
     /**
      * Copy the memory area from {@code src} pointer to array
      * pointed by {@code dst}.
@@ -899,16 +989,59 @@
         throws IndexOutOfBoundsException, IllegalArgumentException,
                NullPointerException
     {
+        if (src == null || src.POINTER == 0L)
+            throw new NullPointerException();
+        if (srcPos &lt; 0L || dstPos &lt; 0 || length == 0)
+            throw new IllegalArgumentException();
+        if (dstPos + length &gt; dst.length)
+            throw new ArrayIndexOutOfBoundsException();
+        if (((srcPos + length) * 8) &gt; src.PLENGTH)
+            throw new IndexOutOfBoundsException();
+
+        acpy6(src.POINTER + srcPos * 8, dst, dstPos, length);
+    }
+
+    private static native void acpy7(long src, boolean[] dst,
+                                     int dstPos, int length)
+        throws ArrayIndexOutOfBoundsException;
+    /**
+     * Copy the memory area from {@code src} pointer to array
+     * pointed by {@code dst}.
+     *
+     * @param src source memory {@code Pointer}.
+     * @param srcPos starting position in the source memory.
+     * @param dst destination {@code array}.
+     * @param dstPos starting position in the destination array.
+     * @param length the number of bytes to be copied.
+     *
+     * @throws IllegalArgumentException if the {@code srcPos} or
+     *          {@code dstPos} is {@code negative} or {@code length}
+     *          is {@code zero}.
+     * @throws IndexOutOfBoundsException if the operation would cause
+     *          access of data outside allocated memory bounds.
+     * @throws NullPointerException if {@code src} or {@code dst} is
+     *          {@code null}.
+     */
+    public static void copy(Pointer src, long srcPos, boolean[] dst,
+                            int dstPos, int length)
+        throws IndexOutOfBoundsException, IllegalArgumentException,
+               NullPointerException
+    {
+        if (src == null || src.POINTER == 0L)
+            throw new NullPointerException();
         if (srcPos &lt; 0L || dstPos &lt; 0 || length == 0)
             throw new IllegalArgumentException();
-        else if ((dstPos + length) &gt; dst.length)
+        if (dstPos + length &gt; dst.length)
+            throw new ArrayIndexOutOfBoundsException();
+        if (srcPos + length &gt; src.PLENGTH)
             throw new IndexOutOfBoundsException();
-        acpy6(src, srcPos, dst, dstPos, length);
+
+        acpy7(src.POINTER + srcPos, dst, dstPos, length);
     }
 
-    private static native void pcpy0(byte[] src, int srcPos, Pointer dst,
-                                     long dstPos, int length)
-        throws IndexOutOfBoundsException;
+    private static native void pcpy0(byte[] src, int srcPos, long dst,
+                                     int length)
+        throws ArrayIndexOutOfBoundsException;
     /**
      * Copy the array pointed by {@code src} to the memory area
      * pointed by {@code dst} pointer.
@@ -934,18 +1067,22 @@
         throws IndexOutOfBoundsException, IllegalArgumentException,
                NullPointerException, UnsupportedOperationException
     {
+        if (dst == null || dst.POINTER == 0L)
+            throw new NullPointerException();
         if (srcPos &lt; 0 || dstPos &lt; 0L || length == 0)
             throw new IllegalArgumentException();
-        else if ((dstPos + length) &gt; src.length)
+        if (dstPos + length &gt; src.length)
+            throw new ArrayIndexOutOfBoundsException();
+        if (dstPos + length &gt; dst.PLENGTH)
             throw new IndexOutOfBoundsException();
-        else if (dst instanceof ConstPointer)
+        if (dst.ISCONST)
             throw new UnsupportedOperationException();
-        pcpy0(src, srcPos, dst, dstPos, length);
+        pcpy0(src, srcPos, dst.POINTER + dstPos, length);
     }
 
-    private static native void pcpy1(char[] src, int srcPos, Pointer dst,
-                                     long dstPos, int length)
-        throws IndexOutOfBoundsException;
+    private static native void pcpy1(char[] src, int srcPos, long dst,
+                                     int length)
+        throws ArrayIndexOutOfBoundsException;
     /**
      * Copy the array pointed by {@code src} to the memory area
      * pointed by {@code dst} pointer.
@@ -971,18 +1108,22 @@
         throws IndexOutOfBoundsException, IllegalArgumentException,
                NullPointerException, UnsupportedOperationException
     {
+        if (dst == null || dst.POINTER == 0L)
+            throw new NullPointerException();
         if (srcPos &lt; 0 || dstPos &lt; 0L || length == 0)
             throw new IllegalArgumentException();
-        else if ((dstPos + length) &gt; src.length)
+        if (dstPos + length &gt; src.length)
+            throw new ArrayIndexOutOfBoundsException();
+        if (((dstPos + length) * 2) &gt; dst.PLENGTH)
             throw new IndexOutOfBoundsException();
-        else if (dst instanceof ConstPointer)
+        if (dst.ISCONST)
             throw new UnsupportedOperationException();
-        pcpy1(src, srcPos, dst, dstPos, length);
+        pcpy1(src, srcPos, dst.POINTER + dstPos * 2, length);
     }
 
-    private static native void pcpy2(short[] src, int srcPos, Pointer dst,
-                                     long dstPos, int length)
-        throws IndexOutOfBoundsException;
+    private static native void pcpy2(short[] src, int srcPos, long dst,
+                                     int length)
+        throws ArrayIndexOutOfBoundsException;
     /**
      * Copy the array pointed by {@code src} to the memory area
      * pointed by {@code dst} pointer.
@@ -1008,18 +1149,22 @@
         throws IndexOutOfBoundsException, IllegalArgumentException,
                NullPointerException, UnsupportedOperationException
     {
+        if (dst == null || dst.POINTER == 0L)
+            throw new NullPointerException();
         if (srcPos &lt; 0 || dstPos &lt; 0L || length == 0)
             throw new IllegalArgumentException();
-        else if ((dstPos + length) &gt; src.length)
+        if (dstPos + length &gt; src.length)
+            throw new ArrayIndexOutOfBoundsException();
+        if (((dstPos + length) * 2) &gt; dst.PLENGTH)
             throw new IndexOutOfBoundsException();
-        else if (dst instanceof ConstPointer)
+        if (dst.ISCONST)
             throw new UnsupportedOperationException();
-        pcpy2(src, srcPos, dst, dstPos, length);
+        pcpy2(src, srcPos, dst.POINTER + dstPos * 2, length);
     }
 
-    private static native void pcpy3(int[] src, int srcPos, Pointer dst,
-                                     long dstPos, int length)
-        throws IndexOutOfBoundsException;
+    private static native void pcpy3(int[] src, int srcPos, long dst,
+                                     int length)
+        throws ArrayIndexOutOfBoundsException;
     /**
      * Copy the array pointed by {@code src} to the memory area
      * pointed by {@code dst} pointer.
@@ -1045,18 +1190,22 @@
         throws IndexOutOfBoundsException, IllegalArgumentException,
                NullPointerException, UnsupportedOperationException
     {
+        if (dst == null || dst.POINTER == 0L)
+            throw new NullPointerException();
         if (srcPos &lt; 0 || dstPos &lt; 0L || length == 0)
             throw new IllegalArgumentException();
-        else if ((dstPos + length) &gt; src.length)
+        if (dstPos + length &gt; src.length)
+            throw new ArrayIndexOutOfBoundsException();
+        if (((dstPos + length) * 4) &gt; dst.PLENGTH)
             throw new IndexOutOfBoundsException();
-        else if (dst instanceof ConstPointer)
+        if (dst.ISCONST)
             throw new UnsupportedOperationException();
-        pcpy3(src, srcPos, dst, dstPos, length);
+        pcpy3(src, srcPos, dst.POINTER + dstPos * 4, length);
     }
 
-    private static native void pcpy4(long[] src, int srcPos, Pointer dst,
-                                     long dstPos, int length)
-        throws IndexOutOfBoundsException;
+    private static native void pcpy4(long[] src, int srcPos, long dst,
+                                     int length)
+        throws ArrayIndexOutOfBoundsException;
     /**
      * Copy the array pointed by {@code src} to the memory area
      * pointed by {@code dst} pointer.
@@ -1082,18 +1231,22 @@
         throws IndexOutOfBoundsException, IllegalArgumentException,
                NullPointerException, UnsupportedOperationException
     {
+        if (dst == null || dst.POINTER == 0L)
+            throw new NullPointerException();
         if (srcPos &lt; 0 || dstPos &lt; 0L || length == 0)
             throw new IllegalArgumentException();
-        else if ((dstPos + length) &gt; src.length)
+        if (dstPos + length &gt; src.length)
+            throw new ArrayIndexOutOfBoundsException();
+        if (((dstPos + length) * 8) &gt; dst.PLENGTH)
             throw new IndexOutOfBoundsException();
-        else if (dst instanceof ConstPointer)
+        if (dst.ISCONST)
             throw new UnsupportedOperationException();
-        pcpy4(src, srcPos, dst, dstPos, length);
+        pcpy4(src, srcPos, dst.POINTER + dstPos * 8, length);
     }
 
-    private static native void pcpy5(float[] src, int srcPos, Pointer dst,
-                                     long dstPos, int length)
-        throws IndexOutOfBoundsException;
+    private static native void pcpy5(float[] src, int srcPos, long dst,
+                                     int length)
+        throws ArrayIndexOutOfBoundsException;
     /**
      * Copy the array pointed by {@code src} to the memory area
      * pointed by {@code dst} pointer.
@@ -1119,18 +1272,22 @@
         throws IndexOutOfBoundsException, IllegalArgumentException,
                NullPointerException, UnsupportedOperationException
     {
+        if (dst == null || dst.POINTER == 0L)
+            throw new NullPointerException();
         if (srcPos &lt; 0 || dstPos &lt; 0L || length == 0)
             throw new IllegalArgumentException();
-        else if ((dstPos + length) &gt; src.length)
+        if (dstPos + length &gt; src.length)
+            throw new ArrayIndexOutOfBoundsException();
+        if (((dstPos + length) * 4) &gt; dst.PLENGTH)
             throw new IndexOutOfBoundsException();
-        else if (dst instanceof ConstPointer)
+        if (dst.ISCONST)
             throw new UnsupportedOperationException();
-        pcpy5(src, srcPos, dst, dstPos, length);
+        pcpy5(src, srcPos, dst.POINTER + dstPos * 4, length);
     }
 
-    private static native void pcpy6(double[] src, int srcPos, Pointer dst,
-                                     long dstPos, int length)
-        throws IndexOutOfBoundsException;
+    private static native void pcpy6(double[] src, int srcPos, long dst,
+                                     int length)
+        throws ArrayIndexOutOfBoundsException;
     /**
      * Copy the array pointed by {@code src} to the memory area
      * pointed by {@code dst} pointer.
@@ -1156,13 +1313,58 @@
         throws IndexOutOfBoundsException, IllegalArgumentException,
                NullPointerException, UnsupportedOperationException
     {
+        if (dst == null || dst.POINTER == 0L)
+            throw new NullPointerException();
+        if (srcPos &lt; 0 || dstPos &lt; 0L || length == 0)
+            throw new IllegalArgumentException();
+        if (dstPos + length &gt; src.length)
+            throw new ArrayIndexOutOfBoundsException();
+        if (((dstPos + length) * 8) &gt; dst.PLENGTH)
+            throw new IndexOutOfBoundsException();
+        if (dst.ISCONST)
+            throw new UnsupportedOperationException();
+        pcpy6(src, srcPos, dst.POINTER + dstPos * 8, length);
+    }
+
+    private static native void pcpy7(boolean[] src, int srcPos, long dst,
+                                     int length)
+        throws ArrayIndexOutOfBoundsException;
+    /**
+     * Copy the array pointed by {@code src} to the memory area
+     * pointed by {@code dst} pointer.
+     *
+     * @param src source {@code array}.
+     * @param srcPos starting position in the source array.
+     * @param dst source memory {@code Pointer}.
+     * @param dstPos starting position in the source memory.
+     * @param length the number of bytes to be copied.
+     *
+     * @throws IllegalArgumentException if the {@code srcPos} or
+     *          {@code dstPos} is {@code negative} or {@code length}
+     *          is {@code zero}.
+     * @throws IndexOutOfBoundsException if the operation would cause
+     *          access of data outside allocated memory bounds.
+     * @throws NullPointerException if {@code src} or {@code dst} is
+     *          {@code null}.
+     * @throws UnsupportedOperationException if {@code dst} is
+     *          instance of {@code ConstPointer}.
+     */
+    public static void copy(boolean[] src, int srcPos, Pointer dst,
+                            long dstPos, int length)
+        throws IndexOutOfBoundsException, IllegalArgumentException,
+               NullPointerException, UnsupportedOperationException
+    {
+        if (dst == null || dst.POINTER == 0L)
+            throw new NullPointerException();
         if (srcPos &lt; 0 || dstPos &lt; 0L || length == 0)
             throw new IllegalArgumentException();
-        else if ((dstPos + length) &gt; src.length)
+        if (dstPos + length &gt; src.length)
+            throw new ArrayIndexOutOfBoundsException();
+        if (dstPos + length &gt; dst.PLENGTH)
             throw new IndexOutOfBoundsException();
-        else if (dst instanceof ConstPointer)
+        if (dst.ISCONST)
             throw new UnsupportedOperationException();
-        pcpy6(src, srcPos, dst, dstPos, length);
+        pcpy7(src, srcPos, dst.POINTER + dstPos, length);
     }
 
 }

Modified: commons/sandbox/runtime/trunk/src/main/native/shared/memory.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/memory.c?rev=887896&amp;r1=887895&amp;r2=887896&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/memory.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/memory.c Mon Dec  7 12:01:12 2009
@@ -568,479 +568,295 @@
     __ENDTRY
 }
 
-ACR_JNI_EXPORT_DECLARE(jbyteArray, Memory, array0)(ACR_JNISTDARGS, jobject ptr,
-                                                   jlong poff, jint size)
+ACR_JNI_EXPORT_DECLARE(jbyteArray, Memory, array0)(ACR_JNISTDARGS, jlong ptr,
+                                                   jint size)
 {
     jbyteArray ba;
-    size_t  pl;
-    size_t  dn = (size_t)poff;
-    size_t  cs = (size_t)size;
-    jbyte   *p = (jbyte *)ACR_PointerGet(_E, ptr, &amp;pl);
+    jsize   cs = (jsize)size;
+    jbyte   *p = J2P(ptr, jbyte *);
 
-    if (!p) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return NULL;
-    }
-    if ((poff + cs) &gt; pl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return NULL;
-    }
-    ba = (*_E)-&gt;NewByteArray(_E, (jsize)cs);
+    ba = (*_E)-&gt;NewByteArray(_E, cs);
     if (ba) {
-        (*_E)-&gt;SetByteArrayRegion(_E, ba, 0, (jsize)cs, p + dn);
+        (*_E)-&gt;SetByteArrayRegion(_E, ba, 0, cs, p);
     }
     return ba;
 }
 
-ACR_JNI_EXPORT_DECLARE(jcharArray, Memory, array1)(ACR_JNISTDARGS, jobject ptr,
-                                                   jlong poff, jint size)
+ACR_JNI_EXPORT_DECLARE(jcharArray, Memory, array1)(ACR_JNISTDARGS, jlong ptr,
+                                                   jint size)
 {
     jcharArray oa;
-    size_t  pl;
-    size_t  dn = (size_t)poff;
-    size_t  cs = (size_t)size;
-    jchar   *p = (jchar *)ACR_PointerGet(_E, ptr, &amp;pl);
+    jsize   cs = (jsize)size;
+    jchar   *p = J2P(ptr, jchar *);
 
-    if (!p) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return NULL;
-    }
-    if (((poff + cs) * sizeof(jchar)) &gt; pl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return NULL;
-    }
-    oa = (*_E)-&gt;NewCharArray(_E, (jsize)cs);
+    oa = (*_E)-&gt;NewCharArray(_E, cs);
     if (oa) {
-        (*_E)-&gt;SetCharArrayRegion(_E, oa, 0, (jsize)cs, p + dn);
+        (*_E)-&gt;SetCharArrayRegion(_E, oa, 0, cs, p);
     }
     return oa;
 }
 
-ACR_JNI_EXPORT_DECLARE(jshortArray, Memory, array2)(ACR_JNISTDARGS, jobject ptr,
-                                                    jlong poff, jint size)
+ACR_JNI_EXPORT_DECLARE(jshortArray, Memory, array2)(ACR_JNISTDARGS, jlong ptr,
+                                                    jint size)
 {
-    jshortArray oa;
-    size_t  pl;
-    size_t  dn = (size_t)poff;
-    size_t  cs = (size_t)size;
-    jshort  *p = (jshort *)ACR_PointerGet(_E, ptr, &amp;pl);
+    jcharArray oa;
+    jsize   cs = (jsize)size;
+    jshort  *p = J2P(ptr, jshort *);
 
-    if (!p) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return NULL;
-    }
-    if (((poff + cs) * sizeof(jshort)) &gt; pl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return NULL;
-    }
-    oa = (*_E)-&gt;NewShortArray(_E, (jsize)cs);
+    oa = (*_E)-&gt;NewShortArray(_E, cs);
     if (oa) {
-        (*_E)-&gt;SetShortArrayRegion(_E, oa, 0, (jsize)cs, p + dn);
+        (*_E)-&gt;SetShortArrayRegion(_E, oa, 0, cs, p);
     }
     return oa;
 }
 
-ACR_JNI_EXPORT_DECLARE(jintArray, Memory, array3)(ACR_JNISTDARGS, jobject ptr,
-                                                  jlong poff, jint size)
+ACR_JNI_EXPORT_DECLARE(jintArray, Memory, array3)(ACR_JNISTDARGS, jlong ptr,
+                                                  jint size)
 {
     jintArray oa;
-    size_t  pl;
-    size_t  dn = (size_t)poff;
-    size_t  cs = (size_t)size;
-    jint    *p = (jint *)ACR_PointerGet(_E, ptr, &amp;pl);
+    jsize   cs = (jsize)size;
+    jint    *p = J2P(ptr, jint *);
 
     if (!p) {
         ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
         return NULL;
     }
-    if (((poff + cs) * sizeof(jint)) &gt; pl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return NULL;
-    }
-    oa = (*_E)-&gt;NewIntArray(_E, (jsize)cs);
+    oa = (*_E)-&gt;NewIntArray(_E, cs);
     if (oa) {
-        (*_E)-&gt;SetIntArrayRegion(_E, oa, 0, (jsize)cs, p + dn);
+        (*_E)-&gt;SetIntArrayRegion(_E, oa, 0, cs, p);
     }
     return oa;
 }
 
-ACR_JNI_EXPORT_DECLARE(jlongArray, Memory, array4)(ACR_JNISTDARGS, jobject ptr,
-                                                   jlong poff, jint size)
+ACR_JNI_EXPORT_DECLARE(jlongArray, Memory, array4)(ACR_JNISTDARGS, jlong ptr,
+                                                   jint size)
 {
     jlongArray oa;
-    size_t  pl;
-    size_t  dn = (size_t)poff;
-    size_t  cs = (size_t)size;
-    jlong   *p = (jlong *)ACR_PointerGet(_E, ptr, &amp;pl);
+    jsize   cs = (jsize)size;
+    jlong   *p = J2P(ptr, jlong *);
 
-    if (!p) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return NULL;
-    }
-    if (((poff + cs) * sizeof(jlong)) &gt; pl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return NULL;
-    }
-    oa = (*_E)-&gt;NewLongArray(_E, (jsize)cs);
+    oa = (*_E)-&gt;NewLongArray(_E, cs);
     if (oa) {
-        (*_E)-&gt;SetLongArrayRegion(_E, oa, 0, (jsize)cs, p + dn);
+        (*_E)-&gt;SetLongArrayRegion(_E, oa, 0, cs, p);
     }
     return oa;
 }
 
-ACR_JNI_EXPORT_DECLARE(jfloatArray, Memory, array5)(ACR_JNISTDARGS, jobject ptr,
-                                                    jlong poff, jint size)
+ACR_JNI_EXPORT_DECLARE(jfloatArray, Memory, array5)(ACR_JNISTDARGS, jlong ptr,
+                                                    jint size)
 {
     jlongArray oa;
-    size_t  pl;
-    size_t  dn = (size_t)poff;
-    size_t  cs = (size_t)size;
-    jfloat  *p = (jfloat *)ACR_PointerGet(_E, ptr, &amp;pl);
+    jsize   cs = (jsize)size;
+    jfloat  *p = J2P(ptr, jfloat *);
 
-    if (!p) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return NULL;
-    }
-    if (((poff + cs) * sizeof(jfloat)) &gt; pl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return NULL;
-    }
-    oa = (*_E)-&gt;NewFloatArray(_E, (jsize)cs);
+    oa = (*_E)-&gt;NewFloatArray(_E, cs);
     if (oa) {
-        (*_E)-&gt;SetFloatArrayRegion(_E, oa, 0, (jsize)cs, p + dn);
+        (*_E)-&gt;SetFloatArrayRegion(_E, oa, 0, cs, p);
     }
     return oa;
 }
 
-ACR_JNI_EXPORT_DECLARE(jdoubleArray, Memory, array6)(ACR_JNISTDARGS, jobject ptr,
-                                                     jlong poff, jint size)
+ACR_JNI_EXPORT_DECLARE(jdoubleArray, Memory, array6)(ACR_JNISTDARGS, jlong ptr,
+                                                     jint size)
 {
     jlongArray oa;
-    size_t  pl;
-    size_t  dn = (size_t)poff;
-    size_t  cs = (size_t)size;
-    jdouble *p = (jdouble *)ACR_PointerGet(_E, ptr, &amp;pl);
+    jsize   cs = (jsize)size;
+    jdouble *p = J2P(ptr, jdouble *);
 
-    if (!p) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return NULL;
-    }
-    if (((poff + cs) * sizeof(jdouble)) &gt; pl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return NULL;
+    oa = (*_E)-&gt;NewDoubleArray(_E, cs);
+    if (oa) {
+        (*_E)-&gt;SetDoubleArrayRegion(_E, oa, 0, cs, p);
     }
-    oa = (*_E)-&gt;NewDoubleArray(_E, (jsize)cs);
+    return oa;
+}
+
+ACR_JNI_EXPORT_DECLARE(jdoubleArray, Memory, array7)(ACR_JNISTDARGS, jlong ptr,
+                                                     jint size)
+{
+    jlongArray oa;
+    jsize   cs = (jsize)size;
+    jboolean *p = J2P(ptr, jboolean *);
+
+    oa = (*_E)-&gt;NewBooleanArray(_E, cs);
     if (oa) {
-        (*_E)-&gt;SetDoubleArrayRegion(_E, oa, 0, (jsize)cs, p + dn);
+        (*_E)-&gt;SetBooleanArrayRegion(_E, oa, 0, cs, p);
     }
     return oa;
 }
 
 
-ACR_JNI_EXPORT_DECLARE(void, Memory, acpy0)(ACR_JNISTDARGS, jobject ptr,
-                                            jlong poff, jbyteArray dst,
+ACR_JNI_EXPORT_DECLARE(void, Memory, acpy0)(ACR_JNISTDARGS, jlong ptr,
+                                            jbyteArray dst,
                                             jint off, jint len)
 {
-    size_t  pl;
-    size_t  po = (size_t)poff;
-    size_t  cs = (size_t)len;
-    jbyte   *p = (jbyte *)ACR_PointerGet(_E, ptr, &amp;pl);
+    jbyte   *p = J2P(ptr, jbyte *);
 
     UNREFERENCED_O;
 
-    if (!p) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return;
-    }
-    if (((po + cs) * sizeof(jbyte)) &gt; pl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return;
-    }
-    (*_E)-&gt;SetByteArrayRegion(_E, dst, (jsize)off, (jsize)len, p + po);
+    (*_E)-&gt;SetByteArrayRegion(_E, dst, (jsize)off, (jsize)len, p);
 }
 
-ACR_JNI_EXPORT_DECLARE(void, Memory, acpy1)(ACR_JNISTDARGS, jobject ptr,
-                                            jlong poff, jcharArray dst,
+ACR_JNI_EXPORT_DECLARE(void, Memory, acpy1)(ACR_JNISTDARGS, jlong ptr,
+                                            jcharArray dst,
                                             jint off, jint len)
 {
-    size_t  pl;
-    size_t  po = (size_t)poff;
-    size_t  cs = (size_t)len;
-    jchar   *p = (jchar *)ACR_PointerGet(_E, ptr, &amp;pl);
+    jchar   *p = J2P(ptr, jchar *);
 
     UNREFERENCED_O;
 
-    if (!p) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return;
-    }
-    if (((po + cs) * sizeof(jchar)) &gt; pl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return;
-    }
-    (*_E)-&gt;SetCharArrayRegion(_E, dst, (jsize)off, (jsize)len, p + po);
+    (*_E)-&gt;SetCharArrayRegion(_E, dst, (jsize)off, (jsize)len, p);
 }
 
-ACR_JNI_EXPORT_DECLARE(void, Memory, acpy2)(ACR_JNISTDARGS, jobject ptr,
-                                            jlong poff, jshortArray dst,
+ACR_JNI_EXPORT_DECLARE(void, Memory, acpy2)(ACR_JNISTDARGS, jlong ptr,
+                                            jshortArray dst,
                                             jint off, jint len)
 {
-    size_t  pl;
-    size_t  po = (size_t)poff;
-    size_t  cs = (size_t)len;
-    jshort  *p = (jshort *)ACR_PointerGet(_E, ptr, &amp;pl);
+    jshort  *p = J2P(ptr, jshort *);
 
     UNREFERENCED_O;
 
-    if (!p) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return;
-    }
-    if (((po + cs) * sizeof(jshort)) &gt; pl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return;
-    }
-    (*_E)-&gt;SetShortArrayRegion(_E, dst, (jsize)off, (jsize)len, p + po);
+    (*_E)-&gt;SetShortArrayRegion(_E, dst, (jsize)off, (jsize)len, p);
 }
 
-ACR_JNI_EXPORT_DECLARE(void, Memory, acpy3)(ACR_JNISTDARGS, jobject ptr,
-                                            jlong poff, jintArray dst,
+ACR_JNI_EXPORT_DECLARE(void, Memory, acpy3)(ACR_JNISTDARGS, jlong ptr,
+                                            jintArray dst,
                                             jint off, jint len)
 {
-    size_t  pl;
-    size_t  po = (size_t)poff;
-    size_t  cs = (size_t)len;
-    jint    *p = (jint *)ACR_PointerGet(_E, ptr, &amp;pl);
+    jint    *p = J2P(ptr, jint *);
 
     UNREFERENCED_O;
 
-    if (!p) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return;
-    }
-    if (((po + cs) * sizeof(jint)) &gt; pl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return;
-    }
-    (*_E)-&gt;SetIntArrayRegion(_E, dst, (jsize)off, (jsize)len, p + po);
+    (*_E)-&gt;SetIntArrayRegion(_E, dst, (jsize)off, (jsize)len, p);
 }
 
-ACR_JNI_EXPORT_DECLARE(void, Memory, acpy4)(ACR_JNISTDARGS, jobject ptr,
-                                            jlong poff, jlongArray dst,
+ACR_JNI_EXPORT_DECLARE(void, Memory, acpy4)(ACR_JNISTDARGS, jlong ptr,
+                                            jlongArray dst,
                                             jint off, jint len)
 {
-    size_t  pl;
-    size_t  po = (size_t)poff;
-    size_t  cs = (size_t)len;
-    jlong   *p = (jlong *)ACR_PointerGet(_E, ptr, &amp;pl);
+    jlong   *p = J2P(ptr, jlong *);
 
     UNREFERENCED_O;
 
-    if (!p) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return;
-    }
-    if (((po + cs) * sizeof(jlong)) &gt; pl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return;
-    }
-    (*_E)-&gt;SetLongArrayRegion(_E, dst, (jsize)off, (jsize)len, p + po);
+    (*_E)-&gt;SetLongArrayRegion(_E, dst, (jsize)off, (jsize)len, p);
 }
 
-ACR_JNI_EXPORT_DECLARE(void, Memory, acpy5)(ACR_JNISTDARGS, jobject ptr,
-                                            jlong poff, jfloatArray dst,
+ACR_JNI_EXPORT_DECLARE(void, Memory, acpy5)(ACR_JNISTDARGS, jlong ptr,
+                                            jfloatArray dst,
                                             jint off, jint len)
 {
-    size_t  pl;
-    size_t  po = (size_t)poff;
-    size_t  cs = (size_t)len;
-    jfloat  *p = (jfloat *)ACR_PointerGet(_E, ptr, &amp;pl);
+    jfloat  *p = J2P(ptr, jfloat *);
 
     UNREFERENCED_O;
 
-    if (!p) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return;
-    }
-    if (((po + cs) * sizeof(jfloat)) &gt; pl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return;
-    }
-    (*_E)-&gt;SetFloatArrayRegion(_E, dst, (jsize)off, (jsize)len, p + po);
+    (*_E)-&gt;SetFloatArrayRegion(_E, dst, (jsize)off, (jsize)len, p);
 }
 
-ACR_JNI_EXPORT_DECLARE(void, Memory, acpy6)(ACR_JNISTDARGS, jobject ptr,
-                                            jlong poff, jdoubleArray dst,
+ACR_JNI_EXPORT_DECLARE(void, Memory, acpy6)(ACR_JNISTDARGS, jlong ptr,
+                                            jdoubleArray dst,
                                             jint off, jint len)
 {
-    size_t  pl;
-    size_t  po = (size_t)poff;
-    size_t  cs = (size_t)len;
-    jdouble *p = (jdouble *)ACR_PointerGet(_E, ptr, &amp;pl);
+    jdouble *p = J2P(ptr, jdouble *);
 
     UNREFERENCED_O;
 
-    if (!p) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return;
-    }
-    if (((po + cs) * sizeof(jdouble)) &gt; pl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return;
-    }
-    (*_E)-&gt;SetDoubleArrayRegion(_E, dst, (jsize)off, (jsize)len, p + po);
+    (*_E)-&gt;SetDoubleArrayRegion(_E, dst, (jsize)off, (jsize)len, p);
+}
+
+ACR_JNI_EXPORT_DECLARE(void, Memory, acpy7)(ACR_JNISTDARGS, jlong ptr,
+                                            jbooleanArray dst,
+                                            jint off, jint len)
+{
+    jboolean *p = J2P(ptr, jboolean *);
+
+    UNREFERENCED_O;
+
+    (*_E)-&gt;SetBooleanArrayRegion(_E, dst, (jsize)off, (jsize)len, p);
 }
 
 ACR_JNI_EXPORT_DECLARE(void, Memory, pcpy0)(ACR_JNISTDARGS, jbyteArray src,
-                                            jint off,  jobject ptr,
-                                            jlong poff, jint len)
+                                            jint off,  jlong ptr,
+                                            jint len)
 {
-    size_t  pl;
-    size_t  po = (size_t)poff;
-    size_t  cs = (size_t)len;
-    jbyte   *p = (jbyte *)ACR_PointerGet(_E, ptr, &amp;pl);
+    jbyte   *p = J2P(ptr, jbyte *);
 
     UNREFERENCED_O;
 
-    if (!p) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return;
-    }
-    if (((po + cs) * sizeof(jbyte)) &gt; pl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return;
-    }
-    (*_E)-&gt;GetByteArrayRegion(_E, src, (jsize)off, (jsize)len, p + po);
+    (*_E)-&gt;GetByteArrayRegion(_E, src, (jsize)off, (jsize)len, p);
 }
 
 ACR_JNI_EXPORT_DECLARE(void, Memory, pcpy1)(ACR_JNISTDARGS, jcharArray src,
-                                            jint off,  jobject ptr,
-                                            jlong poff, jint len)
+                                            jint off,  jlong ptr,
+                                            jint len)
 {
-    size_t  pl;
-    size_t  po = (size_t)poff;
-    size_t  cs = (size_t)len;
-    jchar   *p = (jchar *)ACR_PointerGet(_E, ptr, &amp;pl);
+    jchar   *p = J2P(ptr, jchar *);
 
     UNREFERENCED_O;
 
-    if (!p) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return;
-    }
-    if (((po + cs) * sizeof(jchar)) &gt; pl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return;
-    }
-    (*_E)-&gt;GetCharArrayRegion(_E, src, (jsize)off, (jsize)len, p + po);
+    (*_E)-&gt;GetCharArrayRegion(_E, src, (jsize)off, (jsize)len, p);
 }
 
 ACR_JNI_EXPORT_DECLARE(void, Memory, pcpy2)(ACR_JNISTDARGS, jshortArray src,
-                                            jint off,  jobject ptr,
-                                            jlong poff, jint len)
+                                            jint off,  jlong ptr,
+                                            jint len)
 {
-    size_t  pl;
-    size_t  po = (size_t)poff;
-    size_t  cs = (size_t)len;
-    jshort  *p = (jshort *)ACR_PointerGet(_E, ptr, &amp;pl);
+    jshort   *p = J2P(ptr, jshort *);
 
     UNREFERENCED_O;
 
-    if (!p) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return;
-    }
-    if (((po + cs) * sizeof(jshort)) &gt; pl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return;
-    }
-    (*_E)-&gt;GetShortArrayRegion(_E, src, (jsize)off, (jsize)len, p + po);
+    (*_E)-&gt;GetShortArrayRegion(_E, src, (jsize)off, (jsize)len, p);
 }
 
 ACR_JNI_EXPORT_DECLARE(void, Memory, pcpy3)(ACR_JNISTDARGS, jintArray src,
-                                            jint off,  jobject ptr,
-                                            jlong poff, jint len)
+                                            jint off,  jlong ptr,
+                                            jint len)
 {
-    size_t  pl;
-    size_t  po = (size_t)poff;
-    size_t  cs = (size_t)len;
-    jint    *p = (jint *)ACR_PointerGet(_E, ptr, &amp;pl);
+    jint    *p = J2P(ptr, jint *);
 
     UNREFERENCED_O;
 
-    if (!p) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return;
-    }
-    if (((po + cs) * sizeof(jint)) &gt; pl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return;
-    }
-    (*_E)-&gt;GetIntArrayRegion(_E, src, (jsize)off, (jsize)len, p + po);
+    (*_E)-&gt;GetIntArrayRegion(_E, src, (jsize)off, (jsize)len, p);
 }
 
 ACR_JNI_EXPORT_DECLARE(void, Memory, pcpy4)(ACR_JNISTDARGS, jlongArray src,
-                                            jint off,  jobject ptr,
-                                            jlong poff, jint len)
+                                            jint off,  jlong ptr,
+                                            jint len)
 {
-    size_t  pl;
-    size_t  po = (size_t)poff;
-    size_t  cs = (size_t)len;
-    jlong   *p = (jlong *)ACR_PointerGet(_E, ptr, &amp;pl);
+    jlong   *p = J2P(ptr, jlong *);
 
     UNREFERENCED_O;
 
-    if (!p) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return;
-    }
-    if (((po + cs) * sizeof(jlong)) &gt; pl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return;
-    }
-    (*_E)-&gt;GetLongArrayRegion(_E, src, (jsize)off, (jsize)len, p + po);
+    (*_E)-&gt;GetLongArrayRegion(_E, src, (jsize)off, (jsize)len, p);
 }
 
 ACR_JNI_EXPORT_DECLARE(void, Memory, pcpy5)(ACR_JNISTDARGS, jfloatArray src,
-                                            jint off,  jobject ptr,
-                                            jlong poff, jint len)
+                                            jint off,  jlong ptr,
+                                            jint len)
 {
-    size_t  pl;
-    size_t  po = (size_t)poff;
-    size_t  cs = (size_t)len;
-    jfloat  *p = (jfloat *)ACR_PointerGet(_E, ptr, &amp;pl);
+    jfloat   *p = J2P(ptr, jfloat *);
 
     UNREFERENCED_O;
 
-    if (!p) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return;
-    }
-    if (((po + cs) * sizeof(jfloat)) &gt; pl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return;
-    }
-    (*_E)-&gt;GetFloatArrayRegion(_E, src, (jsize)off, (jsize)len, p + po);
+    (*_E)-&gt;GetFloatArrayRegion(_E, src, (jsize)off, (jsize)len, p);
 }
 
 ACR_JNI_EXPORT_DECLARE(void, Memory, pcpy6)(ACR_JNISTDARGS, jdoubleArray src,
-                                            jint off,  jobject ptr,
-                                            jlong poff, jint len)
+                                            jint off,  jlong ptr,
+                                            jint len)
 {
-    size_t  pl;
-    size_t  po = (size_t)poff;
-    size_t  cs = (size_t)len;
-    jdouble *p = (jdouble *)ACR_PointerGet(_E, ptr, &amp;pl);
+    jdouble  *p = J2P(ptr, jdouble *);
 
     UNREFERENCED_O;
 
-    if (!p) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return;
-    }
-    if (((po + cs) * sizeof(jdouble)) &gt; pl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return;
-    }
-    (*_E)-&gt;GetDoubleArrayRegion(_E, src, (jsize)off, (jsize)len, p + po);
+    (*_E)-&gt;GetDoubleArrayRegion(_E, src, (jsize)off, (jsize)len, p);
+}
+
+ACR_JNI_EXPORT_DECLARE(void, Memory, pcpy7)(ACR_JNISTDARGS, jbooleanArray src,
+                                            jint off,  jlong ptr,
+                                            jint len)
+{
+    jboolean *p = J2P(ptr, jboolean *);
+
+    UNREFERENCED_O;
+
+    (*_E)-&gt;GetBooleanArrayRegion(_E, src, (jsize)off, (jsize)len, p);
 }




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887855 - in /commons/sandbox/runtime/trunk/src/main: java/org/apache/commons/runtime/NioByteBuffer.java native/shared/nbb.c</title>
<author><name>mturk@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207073513.1A0AC23889D7@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207073513-1A0AC23889D7@eris-apache-org%3e</id>
<updated>2009-12-07T07:35:13Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: mturk
Date: Mon Dec  7 07:35:12 2009
New Revision: 887855

URL: http://svn.apache.org/viewvc?rev=887855&amp;view=rev
Log:
Use direct Pointer Addresses

Modified:
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/NioByteBuffer.java
    commons/sandbox/runtime/trunk/src/main/native/shared/nbb.c

Modified: commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/NioByteBuffer.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/NioByteBuffer.java?rev=887855&amp;r1=887854&amp;r2=887855&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/NioByteBuffer.java
(original)
+++ commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/NioByteBuffer.java
Mon Dec  7 07:35:12 2009
@@ -54,21 +54,21 @@
         throws OutOfMemoryError, IllegalArgumentException,
         IndexOutOfBoundsException;
 
-    private static native ByteBuffer    alloc4(Pointer ptr, long off, long len)
+    private static native ByteBuffer    alloc4(long ptr, long len)
         throws NullPointerException, IllegalArgumentException,
         IndexOutOfBoundsException;
 
-    private static native ByteBuffer    alloc5(Pointer ptr)
+    private static native ByteBuffer    alloc5(long ptr, long len)
         throws NullPointerException;
 
-    private static native ByteBuffer[]  alloc6(Pointer ptr, long[] sizes,
+    private static native ByteBuffer[]  alloc6(long ptr, long siz, long[] sizes,
                                                int off, int len)
         throws OutOfMemoryError, IllegalArgumentException,
         IndexOutOfBoundsException;
 
     private static native long addr0(ByteBuffer buf);
 
-    private static native ByteBuffer    attach0(long mem, long offset, long size)
+    private static native ByteBuffer    attach0(long mem, long size)
         throws NullPointerException, IllegalArgumentException;
 
     private static native void copy0(ByteBuffer src, long srcPos, ByteBuffer dst,
@@ -100,7 +100,14 @@
         throws NullPointerException, IllegalArgumentException,
         IndexOutOfBoundsException
     {
-        return alloc4(ptr, off, len);
+        if (ptr == null || ptr.POINTER == 0L)
+            throw new NullPointerException();
+        if (off &lt; 0L || len &lt; 1L)
+            throw new IllegalArgumentException();
+        if (off + len &gt;= ptr.PLENGTH)
+            throw new IndexOutOfBoundsException();
+
+        return alloc4(ptr.POINTER + off, len);
     }
 
     /**
@@ -120,7 +127,9 @@
     public static ByteBuffer allocate(Pointer ptr)
         throws NullPointerException
     {
-        return alloc5(ptr);
+        if (ptr == null || ptr.POINTER == 0L)
+            throw new NullPointerException();
+        return alloc5(ptr.POINTER, ptr.PLENGTH);
     }
 
     /**
@@ -158,7 +167,11 @@
         throws NullPointerException, IllegalArgumentException,
         IndexOutOfBoundsException
     {
-        return alloc6(ptr, sizes, off, len);
+        if (ptr == null || ptr.POINTER == 0L || sizes == null)
+            throw new NullPointerException();
+        if (off &lt; 0 || len &lt; 1)
+            throw new IllegalArgumentException();
+        return alloc6(ptr.POINTER, ptr.PLENGTH, sizes, off, len);
     }
 
     /**
@@ -191,7 +204,11 @@
         throws NullPointerException, IllegalArgumentException,
         IndexOutOfBoundsException
     {
-        return alloc6(ptr, sizes, 0, sizes.length);
+        if (ptr == null || ptr.POINTER == 0L || sizes == null)
+            throw new NullPointerException();
+        if (sizes.length &lt; 1)
+            throw new IllegalArgumentException();
+        return alloc6(ptr.POINTER, ptr.PLENGTH, sizes, 0, sizes.length);
     }
 
     /**
@@ -429,7 +446,15 @@
     public static ByteBuffer allocate(ByteBuffer buf, long offset, long size)
         throws NullPointerException, IllegalArgumentException
     {
-        return attach0(addr0(buf), offset, size);
+        long mem = addr0(buf);
+        if (mem == 0L)
+            throw new NullPointerException();
+        if (offset &lt; 0L || size &lt; 1L)
+            throw new IllegalArgumentException();
+        long len = size(buf);
+        if (offset + size &gt; len)
+            throw new IndexOutOfBoundsException();
+        return attach0(mem + offset, size);
     }
 
     /**

Modified: commons/sandbox/runtime/trunk/src/main/native/shared/nbb.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/nbb.c?rev=887855&amp;r1=887854&amp;r2=887855&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/nbb.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/nbb.c Mon Dec  7 07:35:12 2009
@@ -244,59 +244,39 @@
 }
 
 ACR_JNI_EXPORT_DECLARE(jobject, NioByteBuffer, alloc4)(ACR_JNISTDARGS,
-                                                       jobject src, jlong off,
-                                                       jlong siz)
+                                                       jlong src, jlong siz)
 {
-    size_t  so  = (size_t)off;
-    size_t  ss  = (size_t)siz;
-    size_t  sl;
-    char   *sp = (char *)ACR_PointerGet(_E, src, &amp;sl);
+    size_t  ss = (size_t)siz;
+    char   *sp = J2P(src, char *);
 
     UNREFERENCED_O;
 
-    if (!sp) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return NULL;
-    }
-    if (off &lt; 0L || siz &lt; 1L) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINVAL, 0);
-        return NULL;
-    }
-    if ((so + ss) &gt; sl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return NULL;
-    }
-
-    return (*_E)-&gt;NewDirectByteBuffer(_E, sp + so, ss);
+    return (*_E)-&gt;NewDirectByteBuffer(_E, sp, ss);
 }
 
 ACR_JNI_EXPORT_DECLARE(jobject, NioByteBuffer, alloc5)(ACR_JNISTDARGS,
-                                                       jobject src)
+                                                       jlong src, jlong len)
 {
-    size_t  sl;
-    void   *sp = ACR_PointerGet(_E, src, &amp;sl);
+    size_t  sl = (size_t)len;
+    void   *sp = J2P(src, void *);
 
     UNREFERENCED_O;
 
-    if (!sp) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return NULL;
-    }
     return (*_E)-&gt;NewDirectByteBuffer(_E, sp, sl);
 }
 
 ACR_JNI_EXPORT_DECLARE(jobject, NioByteBuffer, alloc6)(ACR_JNISTDARGS,
-                                                       jobject ptr,
+                                                       jlong ptr, jlong siz,
                                                        jlongArray sizes,
                                                        jint off, jint len)
 {
     jint   i;
     jlong *ia;
     jsize  is;
-    size_t sl;
+    size_t sl = (size_t)siz;
     size_t sz = 0;
     jobjectArray rv = NULL;
-    char  *sp = (char *)ACR_PointerGet(_E, ptr, &amp;sl);
+    char  *sp = J2P(ptr, char *);
 
     UNREFERENCED_O;
 
@@ -375,29 +355,13 @@
 
 ACR_JNI_EXPORT_DECLARE(jobject, NioByteBuffer, attach0)(ACR_JNISTDARGS,
                                                         jlong addr,
-                                                        jlong offset,
                                                         jlong size)
 {
     char *mem = J2P(addr, char *);
 
     UNREFERENCED_O;
 
-    if (!mem) {
-        ACR_ThrowException(_E, THROW_FMARK, ACR_EX_ENULL,
-                           ACR_EISNULL);
-        return NULL;
-    }
-    if (size &lt; 1) {
-        ACR_ThrowException(_E, THROW_FMARK, ACR_EX_EINVAL,
-                           ACR_EINVALSIZ);
-        return NULL;
-    }
-    if (offset &lt; 0) {
-        ACR_ThrowException(_E, THROW_FMARK, ACR_EX_EINVAL,
-                           ACR_EINVALSIZ);
-        return NULL;
-    }
-    return (*_E)-&gt;NewDirectByteBuffer(_E, mem + (size_t)offset, size);
+    return (*_E)-&gt;NewDirectByteBuffer(_E, mem, size);
 }
 
 ACR_JNI_EXPORT_DECLARE(void, NioByteBuffer, free)(ACR_JNISTDARGS, jobject bb)




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887851 - /commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h</title>
<author><name>mturk@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207065450.1EE2D23889D7@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207065450-1EE2D23889D7@eris-apache-org%3e</id>
<updated>2009-12-07T06:54:49Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: mturk
Date: Mon Dec  7 06:54:49 2009
New Revision: 887851

URL: http://svn.apache.org/viewvc?rev=887851&amp;view=rev
Log:
Use 64bit const macro

Modified:
    commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h

Modified: commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h?rev=887851&amp;r1=887850&amp;r2=887851&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h (original)
+++ commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h Mon Dec  7 06:54:49
2009
@@ -275,11 +275,11 @@
 #if CC_SIZEOF_VOIDP == 8
 #define P2J(P)                  ((jlong)LLT(P))
 #define J2P(P, T)               ((T)LLT(P))
-#define I2P(P, T)               ((T)LLT((jlong)P &amp; 0x00000000FFFFFFFFL))
+#define I2P(P, T)               ((T)LLT((jlong)(P) &amp; ACR_INT64_C(0x00000000FFFFFFFF)))
 #else
-#define P2J(P)                  ((jlong)LLT(P)   &amp; 0x00000000FFFFFFFFL)
-#define J2P(P, T)               ((T)LLT((jlong)P &amp; 0x00000000FFFFFFFFL))
-#define I2P(P, T)               ((T)LLT((jint)P))
+#define P2J(P)                  ((jlong)LLT(P)     &amp; ACR_INT64_C(0x00000000FFFFFFFF))
+#define J2P(P, T)               ((T)LLT((jlong)(P) &amp; ACR_INT64_C(0x00000000FFFFFFFF)))
+#define I2P(P, T)               ((T)LLT((jint)(P)))
 #endif
 
 /* Integer to void* casting




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887849 - in /commons/sandbox/runtime/trunk/src/main: java/org/apache/commons/runtime/ConstPointer.java java/org/apache/commons/runtime/DirectBuffer.java native/test/testcase.c</title>
<author><name>mturk@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207064007.7527623889D7@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207064007-7527623889D7@eris-apache-org%3e</id>
<updated>2009-12-07T06:40:07Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: mturk
Date: Mon Dec  7 06:40:06 2009
New Revision: 887849

URL: http://svn.apache.org/viewvc?rev=887849&amp;view=rev
Log:
Remaining of the 32/64 class fixes

Modified:
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/ConstPointer.java
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/DirectBuffer.java
    commons/sandbox/runtime/trunk/src/main/native/test/testcase.c

Modified: commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/ConstPointer.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/ConstPointer.java?rev=887849&amp;r1=887848&amp;r2=887849&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/ConstPointer.java
(original)
+++ commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/ConstPointer.java
Mon Dec  7 06:40:06 2009
@@ -17,12 +17,30 @@
 package org.apache.commons.runtime;
 
 /**
- * Represents the {@code const} Pointer.
+ * Represents the Operating System C/C++ const pointer.
  *
  * @since Runtime 1.0
  */
-public interface ConstPointer extends Pointer
+@Const
+final class ConstPointer extends Pointer
 {
 
+    private ConstPointer()
+    {
+        // No instance
+        ISCONST = true;
+    }
+
+    /*
+     * Only created from JNI code.
+     */
+    private ConstPointer(long ptr, long clr, long len)
+    {
+        POINTER = ptr;
+        CLEANUP = clr;
+        PLENGTH = len;
+        ISCONST = true;
+    }
+
 }
 

Modified: commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/DirectBuffer.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/DirectBuffer.java?rev=887849&amp;r1=887848&amp;r2=887849&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/DirectBuffer.java
(original)
+++ commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/DirectBuffer.java
Mon Dec  7 06:40:06 2009
@@ -16,15 +16,30 @@
 
 package org.apache.commons.runtime;
 
-/**
- * Represents the {@code Pointer} as buffer.
- *
+/** Represents the Operating System C/C++ pointer.
+ * &lt;p&gt;
+ * &lt;b&gt;Warning:&lt;/b&gt;&lt;br/&gt;Using this class improperly may crash the running
JVM.
+ * &lt;/p&gt;
  * @since Runtime 1.0
  */
-public interface DirectBuffer extends Pointer
+public final class DirectBuffer extends Pointer
 {
 
-
+    private DirectBuffer()
+    {
+        // No instance
+    }
+
+    /*
+     * Only created from JNI code.
+     */
+    private DirectBuffer(long ptr, long clr, long len)
+    {
+        POINTER = ptr;
+        CLEANUP = clr;
+        PLENGTH = len;
+        ISCONST = false;
+    }
 
 }
 

Modified: commons/sandbox/runtime/trunk/src/main/native/test/testcase.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/test/testcase.c?rev=887849&amp;r1=887848&amp;r2=887849&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/test/testcase.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/test/testcase.c Mon Dec  7 06:40:06 2009
@@ -237,11 +237,11 @@
     return a;
 }
 
-ACR_CLASS_LDEC(AbstractPointer);
+ACR_CLASS_LDEC(GenericPointer);
 
 ACR_JNI_EXPORT_DECLARE(jint, TestPrivate, test016)(ACR_JNISTDARGS, jint d)
 {
-    ACR_CLASS_LRUN(AbstractPointer);
+    ACR_CLASS_LRUN(GenericPointer);
     return 0;
 }
 




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887848 - in /commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime: TestAll.java TestMemory.java TestMemoryMap.java TestPrivate.java TestStrings.java</title>
<author><name>mturk@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207063736.AE5E723889D7@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207063736-AE5E723889D7@eris-apache-org%3e</id>
<updated>2009-12-07T06:37:36Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: mturk
Date: Mon Dec  7 06:37:36 2009
New Revision: 887848

URL: http://svn.apache.org/viewvc?rev=887848&amp;view=rev
Log:
Fix tests for the new API

Modified:
    commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestAll.java
    commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestMemory.java
    commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestMemoryMap.java
    commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestPrivate.java
    commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestStrings.java

Modified: commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestAll.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestAll.java?rev=887848&amp;r1=887847&amp;r2=887848&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestAll.java (original)
+++ commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestAll.java Mon Dec
 7 06:37:36 2009
@@ -43,11 +43,12 @@
         suite.addTest(TestMemory.suite());
         suite.addTest(TestNioByteBuffer.suite());
         suite.addTest(TestPrivate.suite());
+/*
         suite.addTest(TestFile.suite());
         suite.addTest(TestStrings.suite());
-        suite.addTest(TestSemaphore.suite());
-        suite.addTest(TestSharedMemory.suite());
-        suite.addTest(TestMemoryMap.suite());
+//        suite.addTest(TestSemaphore.suite());
+//        suite.addTest(TestSharedMemory.suite());
+//        suite.addTest(TestMemoryMap.suite());
         suite.addTest(TestCallback.suite());
         suite.addTest(TestObserver.suite());
         suite.addTest(TestUtils.suite());
@@ -64,6 +65,7 @@
         suite.addTest(TestSignal.suite());
         suite.addTest(TestFileSys.suite());
 
+*/        
         // Keep this as last test
         suite.addTest(TestCleanup.suite());
         return suite;

Modified: commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestMemory.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestMemory.java?rev=887848&amp;r1=887847&amp;r2=887848&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestMemory.java (original)
+++ commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestMemory.java Mon
Dec  7 06:37:36 2009
@@ -81,7 +81,7 @@
     {
         Pointer p = Memory.malloc(1000);
         assertNotNull("Pointer", p);
-        assertFalse("Null address", 0L == p.address().longValue());
+        assertFalse("Null address", 0L == p.address());
         p.free();
     }
 
@@ -97,10 +97,10 @@
         throws Throwable
     {
         Pointer p = Memory.calloc(1000);
-        p.poke(999, 23);
+        Memory.poke(p, 999, 23);
         Memory.realloc(p, 9999);
         assertNotNull("Pointer", p);
-        assertEquals("Value", 23, p.peek(999));
+        assertEquals("Value", 23, Memory.peek(p, 999));
         p.free();
     }
 
@@ -108,10 +108,10 @@
         throws Throwable
     {
         Pointer p = Memory.calloc(1000);
-        p.poke(999, 23);
+        Memory.poke(p, 999, 23);
         Memory.realloc(p, 9999);
         assertNotNull("Pointer", p);
-        assertEquals("Value", 23, p.peek(999));
+        assertEquals("Value", 23, Memory.peek(p, 999));
         Pointer s = Memory.slice(p, 0, 1000);
         assertNotNull("Pointer", s);
         try {
@@ -136,10 +136,10 @@
     {
         Pointer w = ExecutableMemory.malloc(1000);
         assertNotNull("ExecutableWritePointer", w);
-        w.poke(999, 23);
+        Memory.poke(w, 999, 23);
         Pointer x = ExecutableMemory.getExecutablePage(w);
         assertNotNull("ExecutableExecPointer", x);
-        assertEquals("Value", 23, x.peek(999));
+        assertEquals("Value", 23, Memory.peek(x, 999));
         w.free();
     }
 
@@ -310,7 +310,7 @@
         Pointer p = Memory.calloc(1000);
         assertNotNull("Pointer", p);
         Memory.set(p, 0, 1000, 0xFF);
-        assertEquals("Value", (byte)0xFF, p.peek(0));
+        assertEquals("Value", (byte)0xFF, Memory.peek(p, 0));
 
         p.free();
     }
@@ -320,8 +320,8 @@
     {
         Pointer p = Memory.calloc(1000);
         assertNotNull("Pointer", p);
-        p.poke(999, 23);
-        assertEquals("Value", 23, p.peek(999));
+        Memory.poke(p, 999, 23);
+        assertEquals("Value", 23, Memory.peek(p, 999));
 
         p.free();
     }
@@ -341,8 +341,8 @@
         Memory.set(src, 0, 1000, 0xFF);
         Pointer dst = Memory.calloc(1000);
         assertNotNull("Dest Pointer", dst);
-        src.copy(0, dst, 0, 1000);
-        assertEquals("Value", (byte)0xFF, dst.peek(0));
+        Memory.copy(src, 0, dst, 0, 1000);
+        assertEquals("Value", (byte)0xFF, Memory.peek(dst, 0));
 
         src.free();
         dst.free();
@@ -354,10 +354,10 @@
         Pointer p = Memory.calloc(1000);
         assertNotNull("Pointer", p);
         Memory.set(p, 0, 1000, 0xFF);
-        p.poke(1, 23);
+        Memory.poke(p, 1, 23);
 
-        p.move(p, 0, 1, 999);
-        assertEquals("Value", 23, p.peek(0));
+        Memory.move(p, 1, p, 0, 999);
+        assertEquals("Value", 23, Memory.peek(p, 0));
 
         p.free();
     }
@@ -368,7 +368,7 @@
         Pointer p = Memory.calloc(1000);
         assertNotNull("Pointer", p);
         Memory.set(p, 0, 1000, 0xFF);
-        p.poke(1, 23);
+        Memory.poke(p, 1, 23);
         byte ba[] = new byte[16];
         Memory.copy(p, 1, ba, 0, 8);
         assertEquals("Value", (byte)23, ba[0]);
@@ -383,8 +383,8 @@
         Pointer p = Memory.calloc(1000);
         assertNotNull("Pointer", p);
         Memory.set(p, 0, 1000, 0xFF);
-        p.poke(2, 0x23);
-        p.poke(3, 0x23);
+        Memory.poke(p, 2, 0x23);
+        Memory.poke(p, 3, 0x23);
         char ca[] = new char[16];
         Memory.copy(p, 1, ca, 0, 8);
         assertEquals("Value", (char)0x2323, ca[0]);
@@ -399,12 +399,12 @@
         Pointer a = Memory.calloc(1000);
         assertNotNull("Pointer", a);
         Memory.set(a, 0, 1000, 0xFF);
-        a.poke(1, 23);
+        Memory.poke(a, 1, 23);
 
         Pointer b = Memory.calloc(1000);
         assertNotNull("Pointer", b);
         Memory.set(b, 0, 1000, 0xFF);
-        b.poke(1, 23);
+        Memory.poke(b, 1, 23);
         assertEquals("Compare", 0, a.compareTo(b));
         a.free();
         b.free();
@@ -416,13 +416,13 @@
         Pointer a = Memory.calloc(500);
         assertNotNull("Pointer", a);
         Memory.set(a, 0, 500, 0xFF);
-        a.poke(1, 23);
+        Memory.poke(a, 1, 23);
 
         Pointer b = Memory.calloc(1000);
         assertNotNull("Pointer", b);
         Memory.set(b, 0, 1000, 0xFF);
-        b.poke(1, 23);
-        assertEquals("Compare", 0, a.compareTo(b));
+        Memory.poke(b, 1, 23);
+        assertEquals("Compare", -1, a.compareTo(b));
         a.free();
         b.free();
     }
@@ -433,13 +433,14 @@
         Pointer a = Memory.calloc(500);
         assertNotNull("Pointer", a);
         Memory.set(a, 0, 500, 0xFF);
-        a.poke(1, 23);
+        Memory.poke(a, 1, 23);
 
         Pointer b = Memory.calloc(1000);
         assertNotNull("Pointer", b);
         Memory.set(b, 0, 1000, 0xFF);
-        b.poke(1, 64);
+        Memory.poke(b, 1, 64);
         assertEquals("Compare", -1, a.compareTo(b));
+        assertEquals("Smaller",  1, b.compareTo(a));
         a.free();
         b.free();
     }
@@ -450,12 +451,12 @@
         Pointer a = Memory.calloc(500);
         assertNotNull("Pointer", a);
         Memory.set(a, 0, 500, 0xFF);
-        a.poke(1, 23);
+        Memory.poke(a, 1, 23);
 
         Pointer b = Memory.calloc(500);
         assertNotNull("Pointer", b);
         Memory.set(b, 0, 500, 0xFF);
-        b.poke(1, 3);
+        Memory.poke(b, 1, 3);
         assertEquals("Compare A",  1, a.compareTo(b));
         assertEquals("Compare B", -1, b.compareTo(a));
         a.free();
@@ -468,14 +469,14 @@
         Pointer a = Memory.calloc(500);
         assertNotNull("Pointer", a);
         Memory.set(a, 0, 500, 0xFF);
-        a.poke(1, 23);
+        Memory.poke(a, 1, 23);
 
         Pointer b = Memory.calloc(400);
         assertNotNull("Pointer", b);
         Memory.set(b, 0, 400, 0xFF);
-        b.poke(1, 64);
-        assertEquals("Smaller size", 1, a.compareTo(b));
-        assertEquals("Greater then", 1, b.compareTo(a));
+        Memory.poke(b, 1, 64);
+        assertEquals("Smaller size",  1, a.compareTo(b));
+        assertEquals("Greater then", -1, b.compareTo(a));
         a.free();
         b.free();
     }

Modified: commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestMemoryMap.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestMemoryMap.java?rev=887848&amp;r1=887847&amp;r2=887848&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestMemoryMap.java (original)
+++ commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestMemoryMap.java Mon
Dec  7 06:37:36 2009
@@ -47,10 +47,10 @@
         Path f = new Path("org/apache/commons/runtime/TestMemoryMap.class");
         MemoryMap map = new MemoryMap(f, EnumSet.of(FileOpenMode.READ));
         Pointer p = map.map(0, 128);
-        assertEquals("Class header [0]", (byte)0xCA, (byte)p.peek(0));
-        assertEquals("Class header [1]", (byte)0xFE, (byte)p.peek(1));
-        assertEquals("Class header [2]", (byte)0xBA, (byte)p.peek(2));
-        assertEquals("Class header [3]", (byte)0xBE, (byte)p.peek(3));
+        assertEquals("Class header [0]", (byte)0xCA, (byte)Memory.peek(p, 0));
+        assertEquals("Class header [1]", (byte)0xFE, (byte)Memory.peek(p, 1));
+        assertEquals("Class header [2]", (byte)0xBA, (byte)Memory.peek(p, 2));
+        assertEquals("Class header [3]", (byte)0xBE, (byte)Memory.peek(p, 3));
         map.close();
     }
 
@@ -62,10 +62,10 @@
         Pointer p = map.map(0);
         System.out.println();
         System.out.println("Map size is " + p.sizeof());
-        assertEquals("Class header [0]", (byte)0xCA, (byte)p.peek(0));
-        assertEquals("Class header [1]", (byte)0xFE, (byte)p.peek(1));
-        assertEquals("Class header [2]", (byte)0xBA, (byte)p.peek(2));
-        assertEquals("Class header [3]", (byte)0xBE, (byte)p.peek(3));
+        assertEquals("Class header [0]", (byte)0xCA, (byte)Memory.peek(p, 0));
+        assertEquals("Class header [1]", (byte)0xFE, (byte)Memory.peek(p, 1));
+        assertEquals("Class header [2]", (byte)0xBA, (byte)Memory.peek(p, 2));
+        assertEquals("Class header [3]", (byte)0xBE, (byte)Memory.peek(p, 3));
         map.close();
     }
 
@@ -117,15 +117,15 @@
             }
         }
         assertFalse("Unknown offset alignment", pa == null);
-        assertEquals("Class header [0]", (byte)0xCA, (byte)p1.peek(0));
-        assertEquals("Class header [1]", (byte)0xFE, (byte)p2.peek(1));
-        assertEquals("Class header [2]", (byte)0xBA, (byte)p1.peek(2));
-        assertEquals("Class header [3]", (byte)0xBE, (byte)p2.peek(3));
+        assertEquals("Class header [0]", (byte)0xCA, (byte)Memory.peek(p1, 0));
+        assertEquals("Class header [1]", (byte)0xFE, (byte)Memory.peek(p2, 1));
+        assertEquals("Class header [2]", (byte)0xBA, (byte)Memory.peek(p1, 2));
+        assertEquals("Class header [3]", (byte)0xBE, (byte)Memory.peek(p2, 3));
         Throwable st = null;
         int nt = 0;
         for (int i = 0; i &lt; 10; i++) {
             try {
-                p1.poke(0, (byte)0xCA);
+                Memory.poke(p1, 0, (byte)0xCA);
             } catch (Throwable t) {
                 nt++;
                 if (st == null)

Modified: commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestPrivate.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestPrivate.java?rev=887848&amp;r1=887847&amp;r2=887848&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestPrivate.java (original)
+++ commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestPrivate.java Mon
Dec  7 06:37:36 2009
@@ -376,7 +376,7 @@
         assertNotNull("ConstPointer", c);
         assertTrue("Not a ConstPointer", c instanceof ConstPointer);
         try {
-            c.poke(0, 1);
+            Memory.poke(c, 0, 1);
             fail("Missing UnsupportedOperationException");
 
         } catch (UnsupportedOperationException ux) {
@@ -689,7 +689,6 @@
         assertEquals("Sequential", 0, r);
         assertEquals("Random", 0, f);
     }
-
     public void testDescriptorNativePtrSet()
         throws Throwable
     {
@@ -755,7 +754,6 @@
             return 0;
         }
     }
-
     public void testIOHParallel()
         throws Throwable
     {
@@ -771,7 +769,6 @@
         System.out.println("Parallel test called " + wo.numCalls);
         assertEquals("Number of tests", wo.numCalls * 100, nc);
     }
-
     public void testDescriptorNativeIntSet()
         throws Throwable
     {
@@ -1112,6 +1109,5 @@
         rv = test073(sa);
         assertEquals("Destroy Named Process Mutex", 0, rv);
     }
-
 }
 

Modified: commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestStrings.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestStrings.java?rev=887848&amp;r1=887847&amp;r2=887848&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestStrings.java (original)
+++ commons/sandbox/runtime/trunk/src/test/org/apache/commons/runtime/TestStrings.java Mon
Dec  7 06:37:36 2009
@@ -68,9 +68,9 @@
         throws Exception
     {
         Pointer p = Memory.malloc(16);
-        p.poke(0, 'A');
-        p.poke(1, 'B');
-        p.poke(2, 0);
+        Memory.poke(p, 0, 'A');
+        Memory.poke(p, 1, 'B');
+        Memory.poke(p, 2, 0);
         MbString s = new MbString(p);
         byte [] ca = s.getStorage();
         assertEquals("Value", 'A', ca[0]);
@@ -83,9 +83,9 @@
         throws Exception
     {
         Pointer p = Memory.malloc(16);
-        p.poke(0, 'A');
-        p.poke(1, 'B');
-        p.poke(2, 0);
+        Memory.poke(p, 0, 'A');
+        Memory.poke(p, 1, 'B');
+        Memory.poke(p, 2, 0);
         MbString s = new MbString(p, 1);
         byte [] ca = s.getStorage();
         assertEquals("Value", 'A', ca[0]);
@@ -97,9 +97,9 @@
         throws Exception
     {
         Pointer p = Memory.malloc(16);
-        p.poke(0, 'A');
-        p.poke(1, 'B');
-        p.poke(2, 0);
+        Memory.poke(p, 0, 'A');
+        Memory.poke(p, 1, 'B');
+        Memory.poke(p, 2, 0);
         MbString s = new MbString(p, 1L);
         byte [] ca = s.getStorage();
         assertEquals("Value", 'B', ca[0]);
@@ -111,10 +111,10 @@
         throws Exception
     {
         Pointer p = Memory.malloc(16);
-        p.poke(0, 'A');
-        p.poke(1, 'B');
-        p.poke(2, 'C');
-        p.poke(3, 0);
+        Memory.poke(p, 0, 'A');
+        Memory.poke(p, 1, 'B');
+        Memory.poke(p, 2, 'C');
+        Memory.poke(p, 3, 0);
         MbString s = new MbString(p, 1L, 1);
         byte [] ca = s.getStorage();
         assertEquals("Value", 'B', ca[0]);




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887847 - in /commons/sandbox/runtime/trunk/src/main/native: include/acr_private.h shared/clazz.c shared/constp.c shared/db.c shared/descriptor.c shared/memory.c shared/pointer.c</title>
<author><name>mturk@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207063442.999F423889E1@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207063442-999F423889E1@eris-apache-org%3e</id>
<updated>2009-12-07T06:34:42Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: mturk
Date: Mon Dec  7 06:34:41 2009
New Revision: 887847

URL: http://svn.apache.org/viewvc?rev=887847&amp;view=rev
Log:
Get rid of 32/64 bit class wrappers. Use long for all platforms as generic pointer storage

Modified:
    commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h
    commons/sandbox/runtime/trunk/src/main/native/shared/clazz.c
    commons/sandbox/runtime/trunk/src/main/native/shared/constp.c
    commons/sandbox/runtime/trunk/src/main/native/shared/db.c
    commons/sandbox/runtime/trunk/src/main/native/shared/descriptor.c
    commons/sandbox/runtime/trunk/src/main/native/shared/memory.c
    commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c

Modified: commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h?rev=887847&amp;r1=887846&amp;r2=887847&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h (original)
+++ commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h Mon Dec  7 06:34:41
2009
@@ -268,21 +268,17 @@
 #define UNREFERENCED_STDARGS    _E = _E; _O = _O
 #define UNREFERENCED_O          _O = _O
 #define ACR_JNISTDARGS          JNIEnv *_E, jobject _O
-#define P2J(P)                  ((jlong)LLT(P))
-#define J2P(P, T)               ((T)LLT((jlong)P))
 #define V2Z(V)                  ((V) ? JNI_TRUE : JNI_FALSE)
 #define J2W(V)                  _w##V
 #define J2S(V)                  _c##V
 
 #if CC_SIZEOF_VOIDP == 8
-typedef jlong                   jniptr;
-#define P2N(P)                  ((jlong)LLT(P))
-#define N2P(P, T)               ((T)LLT((jlong)P))
+#define P2J(P)                  ((jlong)LLT(P))
+#define J2P(P, T)               ((T)LLT(P))
 #define I2P(P, T)               ((T)LLT((jlong)P &amp; 0x00000000FFFFFFFFL))
 #else
-typedef jint                    jniptr;
-#define P2N(P)                  ((jint)LLT(P))
-#define N2P(P, T)               ((T)LLT((jint)P))
+#define P2J(P)                  ((jlong)LLT(P)   &amp; 0x00000000FFFFFFFFL)
+#define J2P(P, T)               ((T)LLT((jlong)P &amp; 0x00000000FFFFFFFFL))
 #define I2P(P, T)               ((T)LLT((jint)P))
 #endif
 
@@ -431,9 +427,6 @@
         else     (*_E)-&gt;SetStaticBooleanField(_E, _clazzn.i, _f##I##n.i, JNI_FALSE); 
  \
     } else (void)(0)
 
-#if CC_SIZEOF_VOIDP == 8
-
-#define IFIELD_PTR  "J"
 #define GET_IFIELD_P(I, O)  \
     (_f##I##n.i &amp;&amp; (O)) ? (*_E)-&gt;GetLongField(_E, (O), _f##I##n.i) : 0
 #define GET_IFIELD_V(I, O, T)  \
@@ -445,21 +438,6 @@
         (*_E)-&gt;SetLongField(_E, (O), _f##I##n.i, (jlong)((acr_ssize_t)(V))); \
     } else (void)(0)
 
-#else  /* CC_SIZEOF_VOIDP == 4 */
-
-#define IFIELD_PTR  "I"
-#define GET_IFIELD_P(I, O)  \
-    (_f##I##n.i &amp;&amp; (O)) ? (*_E)-&gt;GetIntField(_E, (O), _f##I##n.i) : 0
-#define GET_IFIELD_V(I, O, T)  \
-    (_f##I##n.i &amp;&amp; (O)) ? (T)((acr_ssize_t)(*_E)-&gt;GetIntField(_E, (O),      \
-                              _f##I##n.i)) : NULL
-
-#define SET_IFIELD_P(I, O, V)  \
-    if (_f##I##n.i &amp;&amp; (O)) {                                                \
-        (*_E)-&gt;SetIntField(_E, (O), _f##I##n.i, (jint)((acr_ssize_t)(V)));  \
-    } else (void)(0)
-
-#endif /* CC_SIZEOF_VOIDP == 8 */
 
 #define CALL_VMETHOD0(I, O)  \
     if (_m##I##n.i) {                                                       \

Modified: commons/sandbox/runtime/trunk/src/main/native/shared/clazz.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/clazz.c?rev=887847&amp;r1=887846&amp;r2=887847&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/clazz.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/clazz.c Mon Dec  7 06:34:41 2009
@@ -375,7 +375,7 @@
 
 /* Forward class loading declarations */
 ACR_CLASS_LDEC(Descriptor);
-ACR_CLASS_LDEC(AbstractPointer);
+ACR_CLASS_LDEC(GenericPointer);
 ACR_CLASS_LDEC(ConstPointer);
 ACR_CLASS_LDEC(Callback);
 ACR_CLASS_LDEC(DirectBuffer);
@@ -394,7 +394,7 @@
 {
 
     ACR_CLASS_LRUN(Descriptor);
-    ACR_CLASS_LRUN(AbstractPointer);
+    ACR_CLASS_LRUN(GenericPointer);
     ACR_CLASS_LRUN(ConstPointer);
     ACR_CLASS_LRUN(Callback);
     ACR_CLASS_LRUN(DirectBuffer);
@@ -419,7 +419,7 @@
 {
 
     ACR_CLASS_URUN(Descriptor);
-    ACR_CLASS_URUN(AbstractPointer);
+    ACR_CLASS_URUN(GenericPointer);
     ACR_CLASS_URUN(ConstPointer);
     ACR_CLASS_URUN(Callback);
     ACR_CLASS_URUN(DirectBuffer);

Modified: commons/sandbox/runtime/trunk/src/main/native/shared/constp.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/constp.c?rev=887847&amp;r1=887846&amp;r2=887847&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/constp.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/constp.c Mon Dec  7 06:34:41 2009
@@ -30,17 +30,11 @@
 /**
  * ConstPointer utilities
  */
-/**
- * Pointer class utilities
- */
-#if CC_SIZEOF_VOIDP == 8
-#define ACR_CPT_EXPORT_DECLARE(RT, FN)  \
-    JNIEXPORT RT JNICALL Java_org_apache_commons_runtime_ConstPointer64_##FN
 
 J_DECLARE_CLAZZ = {
     NULL,
     NULL,
-    ACR_CLASS_PATH "ConstPointer64"
+    ACR_CLASS_PATH "ConstPointer"
 };
 
 J_DECLARE_M_ID(0000) = {
@@ -49,24 +43,6 @@
     "(JJJ)V"
 };
 
-#else
-#define ACR_DBB_EXPORT_DECLARE(RT, FN)  \
-    JNIEXPORT RT JNICALL Java_org_apache_commons_runtime_ConstPointer32_##FN
-
-J_DECLARE_CLAZZ = {
-    NULL,
-    NULL,
-    ACR_CLASS_PATH "ConstPointer32"
-};
-
-J_DECLARE_M_ID(0000) = {
-    NULL,
-    "&lt;init&gt;",
-    "(III)V"
-};
-
-#endif
-
 ACR_CLASS_LDEF(ConstPointer)
 {
     int rv;
@@ -96,7 +72,7 @@
 {
     if (_clazzn.i &amp;&amp; J4MID(0000)) {
          return (*_E)-&gt;NewObject(_E, _clazzn.i, J4MID(0000),
-                                 P2N(p), P2N(cb), (acr_ptr_t)len);
+                                 P2J(p), P2J(cb), (jlong)len);
     }
     else {
         ACR_SET_OS_ERROR(ACR_ECLASSNOTFOUND);

Modified: commons/sandbox/runtime/trunk/src/main/native/shared/db.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/db.c?rev=887847&amp;r1=887846&amp;r2=887847&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/db.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/db.c Mon Dec  7 06:34:41 2009
@@ -34,14 +34,10 @@
 /**
  * Pointer class utilities
  */
-#if CC_SIZEOF_VOIDP == 8
-#define ACR_DBB_EXPORT_DECLARE(RT, FN)  \
-    JNIEXPORT RT JNICALL Java_org_apache_commons_runtime_DirectBuffer64_##FN
-
 J_DECLARE_CLAZZ = {
     NULL,
     NULL,
-    ACR_CLASS_PATH "DirectBuffer64"
+    ACR_CLASS_PATH "DirectBuffer"
 };
 
 J_DECLARE_M_ID(0000) = {
@@ -50,24 +46,6 @@
     "(JJJ)V"
 };
 
-#else
-#define ACR_DBB_EXPORT_DECLARE(RT, FN)  \
-    JNIEXPORT RT JNICALL Java_org_apache_commons_runtime_DirectBuffer32_##FN
-
-J_DECLARE_CLAZZ = {
-    NULL,
-    NULL,
-    ACR_CLASS_PATH "DirectBuffer32"
-};
-
-J_DECLARE_M_ID(0000) = {
-    NULL,
-    "&lt;init&gt;",
-    "(III)V"
-};
-
-#endif
-
 ACR_CLASS_LDEF(DirectBuffer)
 {
     int rv;
@@ -122,8 +100,8 @@
             /* Create the DirectBuffer class with default cleanup.
              */
             ptr = (*_E)-&gt;NewObject(_E, _clazzn.i, J4MID(0000),
-                                   P2N(mem), P2N(direct_buffer_cleanup),
-                                   (acr_ptr_t)len);
+                                   P2J(mem), P2J(direct_buffer_cleanup),
+                                   (jlong)len);
             if (!ptr)
                 x_free(mem);
         }
@@ -140,7 +118,7 @@
 {
     if (_clazzn.i &amp;&amp; J4MID(0000)) {
         return (*_E)-&gt;NewObject(_E, _clazzn.i, J4MID(0000),
-                                P2N(p), P2N(cb), (acr_ptr_t)len);
+                                P2J(p), P2J(cb), (jlong)len);
     }
     else {
         ACR_SET_OS_ERROR(ACR_ECLASSNOTFOUND);

Modified: commons/sandbox/runtime/trunk/src/main/native/shared/descriptor.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/descriptor.c?rev=887847&amp;r1=887846&amp;r2=887847&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/descriptor.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/descriptor.c Mon Dec  7 06:34:41
2009
@@ -30,12 +30,11 @@
 /**
  * Descriptor class utilities
  */
-#if CC_SIZEOF_VOIDP == 8
 
 J_DECLARE_CLAZZ = {
     NULL,
     NULL,
-    ACR_CLASS_PATH "Descriptor64"
+    ACR_CLASS_PATH "Descriptor"
 };
 
 J_DECLARE_M_ID(0000) = {
@@ -44,22 +43,6 @@
     "(IIJJ)V"
 };
 
-#else
-
-J_DECLARE_CLAZZ = {
-    NULL,
-    NULL,
-    ACR_CLASS_PATH "Descriptor32"
-};
-
-
-J_DECLARE_M_ID(0000) = {
-    NULL,
-    "&lt;init&gt;",
-    "(IIII)V"
-};
-
-#endif
 
 J_DECLARE_F_ID(0000) = {
     NULL,
@@ -76,13 +59,13 @@
 J_DECLARE_F_ID(0002) = {
     NULL,
     "PHANDLE",
-    IFIELD_PTR
+    "J"
 };
 
 J_DECLARE_F_ID(0003) = {
     NULL,
     "HANDLER",
-    IFIELD_PTR
+    "J"
 };
 
 J_DECLARE_F_ID(0004) = {
@@ -269,7 +252,7 @@
 {
     if (_clazzn.i &amp;&amp; J4MID(0000))
         return (*_E)-&gt;NewObject(_E, _clazzn.i, J4MID(0000),
-                                (jint)f, (jint)i, P2N(p), P2N(cb));
+                                (jint)f, (jint)i, P2J(p), P2J(cb));
     else {
         ACR_SET_OS_ERROR(ACR_ECLASSNOTFOUND);
         return NULL;

Modified: commons/sandbox/runtime/trunk/src/main/native/shared/memory.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/memory.c?rev=887847&amp;r1=887846&amp;r2=887847&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/memory.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/memory.c Mon Dec  7 06:34:41 2009
@@ -399,78 +399,75 @@
     ACR_PointerSet(_E, src, np, ss);
 }
 
-ACR_JNI_EXPORT_DECLARE(jobject, Memory, slice0)(ACR_JNISTDARGS,
-                                                jobject src, jlong off,
-                                                jlong siz)
+ACR_JNI_EXPORT_DECLARE(jint, Memory, peek0)(ACR_JNISTDARGS, jlong a)
 {
-    size_t  so  = (size_t)off;
-    size_t  ss  = (size_t)siz;
-    size_t  sl;
-    char   *sp = (char *)ACR_PointerGet(_E, src, &amp;sl);
-
+    jint rv = 0;
     UNREFERENCED_O;
 
-    if (!sp) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return NULL;
+    __TRY
+    {
+        rv = *(J2P(a, char *));
     }
-    if ((so + ss) &gt; sl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return NULL;
+    __EXCEPT
+    {
+        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ERUNTIME, ACR_EFAULT);
     }
+    __ENDTRY
+    return rv;
+}
+
+ACR_JNI_EXPORT_DECLARE(void, Memory, poke0)(ACR_JNISTDARGS, jlong a, jint v)
+{
+    UNREFERENCED_O;
+    __TRY
+    {
+        *(J2P(a, char *)) = (char)(v &amp; 0xFF);
+    }
+    __EXCEPT
+    {
+        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ERUNTIME, ACR_EFAULT);
+    }
+    __ENDTRY
+}
+
+ACR_JNI_EXPORT_DECLARE(jobject, Memory, slice0)(ACR_JNISTDARGS,
+                                                jlong src, jlong siz)
+{
+    size_t  ss = (size_t)siz;
+    char   *sp = J2P(src, char *);
+
+    UNREFERENCED_O;
 
     /* Create the Pointer class without the cleanup.
      * Original object will clean the entire allocated memory.
      */
-    return ACR_NewBasicPointer(_E, sp + so, ss, NULL);
+    return ACR_NewBasicPointer(_E, sp, ss, NULL);
 }
 
 ACR_JNI_EXPORT_DECLARE(jobject, Memory, slice1)(ACR_JNISTDARGS,
-                                                jobject src, jlong off,
-                                                jlong siz)
+                                                jlong src, jlong siz)
 {
-    size_t  so  = (size_t)off;
-    size_t  ss  = (size_t)siz;
-    size_t  sl;
-    char   *sp = (char *)ACR_PointerGet(_E, src, &amp;sl);
+    size_t  ss = (size_t)siz;
+    char   *sp = J2P(src, char *);
 
     UNREFERENCED_O;
 
-    if (!sp) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return NULL;
-    }
-    if ((so + ss) &gt; sl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return NULL;
-    }
-
     /* Create the ConstPointer class.
      */
-    return ACR_NewConstPointer(_E, sp + so, ss, NULL);
+    return ACR_NewConstPointer(_E, sp, ss, NULL);
 }
 
+
 ACR_JNI_EXPORT_DECLARE(jobject, Memory, dup0)(ACR_JNISTDARGS,
-                                              jobject src, jlong off,
-                                              jlong siz)
+                                              jlong src, jlong siz)
 {
     jobject po = NULL;
-    size_t  so  = (size_t)off;
-    size_t  ss  = (size_t)siz;
-    size_t  sl;
+    size_t  ss = (size_t)siz;
     void   *dp;
-    char   *sp = (char *)ACR_PointerGet(_E, src, &amp;sl);
+    char   *sp = J2P(src, char *);
 
     UNREFERENCED_O;
 
-    if (!sp) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return NULL;
-    }
-    if ((so + ss) &gt; sl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return NULL;
-    }
     dp = ACR_Malloc(_E, THROW_NMARK, ACR_ALIGN_DEFAULT(ss));
     if (dp == NULL) {
         /* Allocation failed.
@@ -480,7 +477,7 @@
     /* Copy the original content */
     __TRY
     {
-        memcpy(dp, sp + so, ss);
+        memcpy(dp, sp, ss);
         po = ACR_NewBasicPointer(_E, dp, ss, memory_pointer_cleanup);
     }
     __EXCEPT
@@ -497,35 +494,17 @@
     return po;
 }
 
-ACR_JNI_EXPORT_DECLARE(void, Memory, copy0)(ACR_JNISTDARGS, jobject src,
-                                            jlong soff, jobject dst,
-                                            jlong doff, jlong size)
+ACR_JNI_EXPORT_DECLARE(void, Memory, copy0)(ACR_JNISTDARGS, jlong src,
+                                            jlong dst, jlong size)
 {
-    size_t  dl;
-    size_t  sl;
-    size_t  dn = (size_t)doff;
-    size_t  sn = (size_t)soff;
     size_t  cs = (size_t)size;
-    char    *d = (char *)ACR_PointerGet(_E, dst, &amp;dl);
-    char    *s = (char *)ACR_PointerGet(_E, src, &amp;sl);
-
-    if (!d || !s) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return;
-    }
-    if ((dn + cs) &gt; dl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return;
-    }
-    if ((sn + cs) &gt; sl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return;
-    }
+    char    *d = J2P(dst, char *);
+    char    *s = J2P(src, char *);
 
     /* Do a memcpy */
     __TRY
     {
-        memcpy(d + dn, s + sn, cs);
+        memcpy(d, s, cs);
     }
     __EXCEPT
     {
@@ -534,35 +513,17 @@
     __ENDTRY
 }
 
-ACR_JNI_EXPORT_DECLARE(void, Memory, move0)(ACR_JNISTDARGS, jobject src,
-                                            jlong soff, jobject dst,
-                                            jlong doff, jlong size)
+ACR_JNI_EXPORT_DECLARE(void, Memory, move0)(ACR_JNISTDARGS, jlong src,
+                                            jlong dst, jlong size)
 {
-    size_t  dl;
-    size_t  sl;
-    size_t  dn = (size_t)doff;
-    size_t  sn = (size_t)soff;
     size_t  cs = (size_t)size;
-    char    *d = (char *)ACR_PointerGet(_E, dst, &amp;dl);
-    char    *s = (char *)ACR_PointerGet(_E, src, &amp;sl);
-
-    if (!d || !s) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return;
-    }
-    if ((dn + cs) &gt; dl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return;
-    }
-    if ((sn + cs) &gt; sl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return;
-    }
+    char    *d = J2P(dst, char *);
+    char    *s = J2P(src, char *);
 
     /* Do a memmove */
     __TRY
     {
-        memmove(d + dn, s + sn, cs);
+        memmove(d, s, cs);
     }
     __EXCEPT
     {
@@ -571,30 +532,16 @@
     __ENDTRY
 }
 
-ACR_JNI_EXPORT_DECLARE(void, Memory, clear0)(ACR_JNISTDARGS, jobject dst,
-                                             jlong doff, jlong size)
+ACR_JNI_EXPORT_DECLARE(void, Memory, clear0)(ACR_JNISTDARGS, jlong  dst,
+                                             jlong size)
 {
-    size_t  dl;
-    size_t  dn = (size_t)doff;
     size_t  cs = (size_t)size;
-    char    *d = (char *)ACR_PointerGet(_E, dst, &amp;dl);
+    char    *d = J2P(dst, char *);
 
-    if (!d) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return;
-    }
-    if (doff &lt; 0L || size &lt; 1L) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINVAL, 0);
-        return;
-    }
-    if ((dn + size) &gt; dl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return;
-    }
     /* Do a memset */
     __TRY
     {
-        memset(d + dn, 0, cs);
+        memset(d, 0, cs);
     }
     __EXCEPT
     {
@@ -603,30 +550,16 @@
     __ENDTRY
 }
 
-ACR_JNI_EXPORT_DECLARE(void, Memory, set0)(ACR_JNISTDARGS, jobject dst,
-                                           jlong doff, jlong size, jint c)
+ACR_JNI_EXPORT_DECLARE(void, Memory, set0)(ACR_JNISTDARGS, jlong dst,
+                                           jlong size, jint c)
 {
-    size_t  dl;
-    size_t  dn = (size_t)doff;
     size_t  cs = (size_t)size;
-    char    *d = (char *)ACR_PointerGet(_E, dst, &amp;dl);
+    char    *d = J2P(dst, char *);
 
-    if (!d) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
-        return;
-    }
-    if (doff &lt; 0L || size &lt; 1L) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINVAL, 0);
-        return;
-    }
-    if ((dn + size) &gt; dl) {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
-        return;
-    }
     /* Do a memset */
     __TRY
     {
-        memset(d + dn, c, cs);
+        memset(d, c, cs);
     }
     __EXCEPT
     {
@@ -1111,4 +1044,3 @@
     }
     (*_E)-&gt;GetDoubleArrayRegion(_E, src, (jsize)off, (jsize)len, p + po);
 }
-

Modified: commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c?rev=887847&amp;r1=887846&amp;r2=887847&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c Mon Dec  7 06:34:41 2009
@@ -28,14 +28,10 @@
 /**
  * Pointer class utilities
  */
-#if CC_SIZEOF_VOIDP == 8
-#define ACR_PTR_EXPORT_DECLARE(RT, FN)  \
-    JNIEXPORT RT JNICALL Java_org_apache_commons_runtime_Pointer64_##FN
-
 J_DECLARE_CLAZZ = {
     NULL,
     NULL,
-    ACR_CLASS_PATH "Pointer64"
+    ACR_CLASS_PATH "GenericPointer"
 };
 
 J_DECLARE_M_ID(0000) = {
@@ -44,44 +40,26 @@
     "(JJJ)V"
 };
 
-#else
-#define ACR_PTR_EXPORT_DECLARE(RT, FN)  \
-    JNIEXPORT RT JNICALL Java_org_apache_commons_runtime_Pointer32_##FN
-
-J_DECLARE_CLAZZ = {
-    NULL,
-    NULL,
-    ACR_CLASS_PATH "Pointer32"
-};
-
-J_DECLARE_M_ID(0000) = {
-    NULL,
-    "&lt;init&gt;",
-    "(III)V"
-};
-
-#endif
-
 J_DECLARE_F_ID(0000) = {
     NULL,
     "POINTER",
-    IFIELD_PTR
+    "J"
 };
 
 J_DECLARE_F_ID(0001) = {
     NULL,
     "CLEANUP",
-    IFIELD_PTR
+    "J"
 };
 
 J_DECLARE_F_ID(0002) = {
     NULL,
     "PLENGTH",
-    IFIELD_PTR
+    "J"
 };
 
 
-ACR_CLASS_LDEF(AbstractPointer)
+ACR_CLASS_LDEF(GenericPointer)
 {
     int rv;
 
@@ -95,7 +73,7 @@
     return ACR_SUCCESS;
 }
 
-ACR_CLASS_UDEF(AbstractPointer)
+ACR_CLASS_UDEF(GenericPointer)
 {
     ACR_UnloadClass(_E, &amp;_clazzn);
 }
@@ -110,7 +88,7 @@
 
 static int initp0(JNIEnv *_E)
 {
-    ACR_CLASS_LRUN(AbstractPointer);
+    ACR_CLASS_LRUN(GenericPointer);
     return 0;
 }
 
@@ -122,7 +100,7 @@
 }
 #endif
 
-ACR_JNI_EXPORT_DECLARE(jobject, AbstractPointer, nullp0)(ACR_JNISTDARGS)
+ACR_JNI_EXPORT_DECLARE(jobject, Pointer, nullp0)(ACR_JNISTDARGS)
 {
     UNREFERENCED_O;
     if (!_clazzn.i) {
@@ -131,7 +109,7 @@
     return ACR_NewBasicPointer(_E, 0, 0, NULL);
 }
 
-ACR_JNI_EXPORT_DECLARE(void, AbstractPointer, cleanup0)(ACR_JNISTDARGS)
+ACR_JNI_EXPORT_DECLARE(void, Pointer, cleanup0)(ACR_JNISTDARGS)
 {
     if (_clazzn.i &amp;&amp; J4MID(0000)) {
         acr_pointer_cleanup_fn_t *cleanup;
@@ -156,7 +134,7 @@
 
 }
 
-ACR_JNI_EXPORT_DECLARE(void, AbstractPointer, cleanup1)(ACR_JNISTDARGS)
+ACR_JNI_EXPORT_DECLARE(void, Pointer, cleanup1)(ACR_JNISTDARGS)
 {
     if (_clazzn.i &amp;&amp; J4MID(0000)) {
         acr_pointer_cleanup_fn_t *cleanup;
@@ -174,74 +152,14 @@
     }
 }
 
-ACR_PTR_EXPORT_DECLARE(jint, peek0)(ACR_JNISTDARGS, jniptr a)
-{
-    jint rv = 0;
-    UNREFERENCED_O;
-
-    __TRY
-    {
-        rv = *(N2P(a, char *));
-    }
-    __EXCEPT
-    {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ERUNTIME, ACR_EFAULT);
-    }
-    __ENDTRY
-    return rv;
-}
-
-ACR_PTR_EXPORT_DECLARE(void, poke0)(ACR_JNISTDARGS, jniptr a, jint v)
-{
-    UNREFERENCED_O;
-    __TRY
-    {
-        *(N2P(a, char *)) = (char)(v &amp; 0xFF);
-    }
-    __EXCEPT
-    {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ERUNTIME, ACR_EFAULT);
-    }
-    __ENDTRY
-}
-
-ACR_PTR_EXPORT_DECLARE(void, copy0)(ACR_JNISTDARGS, jniptr s,
-                                    jniptr d, jniptr l)
-{
-    UNREFERENCED_O;
-    __TRY
-    {
-        memcpy(N2P(d, void *), N2P(s, const void *), (size_t)l);
-    }
-    __EXCEPT {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ERUNTIME, ACR_EFAULT);
-    }
-    __ENDTRY
-}
-
-ACR_PTR_EXPORT_DECLARE(void, move0)(ACR_JNISTDARGS, jniptr s,
-                                    jniptr d, jniptr l)
-{
-    UNREFERENCED_O;
-    __TRY
-    {
-        memmove(N2P(d, void *), N2P(s, const void *), (size_t)l);
-    }
-    __EXCEPT
-    {
-        ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ERUNTIME, ACR_EFAULT);
-    }
-    __ENDTRY
-}
-
-ACR_PTR_EXPORT_DECLARE(int, memcmp0)(ACR_JNISTDARGS, jniptr a,
-                                     jniptr b, jniptr n)
+ACR_JNI_EXPORT_DECLARE(int, Pointer, memcmp0)(ACR_JNISTDARGS, jlong a,
+                                              jlong b, jlong n)
 {
     int rv;
     UNREFERENCED_O;
     __TRY
     {
-        rv = memcmp(N2P(a, void *), N2P(b, const void *), (size_t)n);
+        rv = memcmp(J2P(a, const void *), J2P(b, const void *), (size_t)n);
         if (rv)
             rv = rv &gt; 0 ? 1 : -1;
     }
@@ -259,7 +177,7 @@
 {
     if (_clazzn.i &amp;&amp; J4MID(0000))
         return (*_E)-&gt;NewObject(_E, _clazzn.i, J4MID(0000),
-                                P2N(p), P2N(cb), (acr_ptr_t)len);
+                                P2J(p), P2J(cb), (jlong)len);
     else {
         ACR_SET_OS_ERROR(ACR_ECLASSNOTFOUND);
         return NULL;




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887846 - in /commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime: ./ util/</title>
<author><name>mturk@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207063402.C751723889D7@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207063402-C751723889D7@eris-apache-org%3e</id>
<updated>2009-12-07T06:34:02Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: mturk
Date: Mon Dec  7 06:34:01 2009
New Revision: 887846

URL: http://svn.apache.org/viewvc?rev=887846&amp;view=rev
Log:
Get rid of 32/64 bit class wrappers. Use long for all platforms as generic pointer storage

Added:
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/GenericPointer.java
  (with props)
Removed:
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/AbstractPointer.java
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/ConstPointer32.java
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/ConstPointer64.java
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Descriptor32.java
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Descriptor64.java
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/DirectBuffer32.java
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/DirectBuffer64.java
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Pointer32.java
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Pointer64.java
Modified:
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Descriptor.java
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Memory.java
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Pointer.java
    commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/util/Utils.java

Modified: commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Descriptor.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Descriptor.java?rev=887846&amp;r1=887845&amp;r2=887846&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Descriptor.java
(original)
+++ commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Descriptor.java
Mon Dec  7 06:34:01 2009
@@ -21,6 +21,7 @@
 import java.io.IOException;
 import java.io.SyncFailedException;
 import org.apache.commons.runtime.io.Syncable;
+import org.apache.commons.runtime.util.Utils;
 
 /** Represents the Operating System object descriptor.
  * &lt;p&gt;
@@ -34,7 +35,7 @@
  * &lt;/p&gt;
  * @since Runtime 1.0
  */
-public abstract class Descriptor implements Closeable, Flushable, Syncable
+public final class Descriptor implements Closeable, Flushable, Syncable
 {
 
     /* Last error operation.
@@ -49,6 +50,11 @@
      */
     private final int IDFLAGS;
 
+    private int       ISVALID;
+    private int       IHANDLE;
+    private long      PHANDLE;
+    private long      HANDLER;
+
     /* Descriptor's attached context.
      * This is opaque data associated with {@code this} Descriptor.
      * &lt;p&gt;
@@ -72,16 +78,18 @@
         IDFLAGS = 0;
     }
 
-    /**
-     * Called by the implementation class constructor.
-     * &lt;p&gt;
-     * Do not derive from this class.
-     * &lt;/p&gt;
+    /*
+     * Descriptor can be only created from native code.
+     * Suppress any instantiation except form JNI.
      */
-    protected  Descriptor(int v)
+    private Descriptor(int v, int i, long l, long h)
     {
         IERRNUM = 0;
         IDFLAGS = v;
+        IHANDLE = i;
+        PHANDLE = l;
+        HANDLER = h;
+        ISVALID = 1;
         CONTEXT = null;
     }
 
@@ -250,13 +258,23 @@
      * @return {@code true} if descriptor is valid and not closed
      *         {@code false} otherwise.
      */
-    public abstract boolean valid();
+    public boolean valid()
+    {
+        // true if both int is negative and pointer is NULL
+        if (ISVALID == 0 || (IHANDLE &lt; 0 &amp;&amp; PHANDLE == 0L))
+            return false;
+        else
+            return true;
+    }
 
     /**
      * Get underlying Operating system descriptor.
      * @return operating system descriptor.
      */
-    public abstract int fd();
+    public int fd()
+    {
+        return IHANDLE;
+    }
 
     /**
      * Compares this {@code Descriptor} to the specified object.
@@ -268,7 +286,20 @@
      *      equal. Returns false otherwise.
      */
     @Override
-    public abstract boolean equals(Object other);
+    public boolean equals(Object other)
+    {
+        if (other == null)
+            return false;
+        if (other == this)
+            return true;
+        if (Descriptor.class != other.getClass())
+            return false;
+        if (PHANDLE == ((Descriptor)other).PHANDLE &amp;&amp;
+            IHANDLE == ((Descriptor)other).IHANDLE)
+            return true;
+        else
+            return false;
+    }
 
     /**
      * Returns a string representation of the Descriptor.
@@ -278,7 +309,18 @@
      * @return a string representation of the descriptor.
      */
     @Override
-    public abstract String toString();
+    public String toString()
+    {
+        if (PHANDLE != 0) {
+            return Utils.hex(PHANDLE);
+        }
+        else if (IHANDLE &gt;= 0) {
+            return "#" + Integer.toString(IHANDLE);
+        }
+        else {
+            return "(nil)";
+        }
+    }
 
 }
 

Added: commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/GenericPointer.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/GenericPointer.java?rev=887846&amp;view=auto
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/GenericPointer.java
(added)
+++ commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/GenericPointer.java
Mon Dec  7 06:34:01 2009
@@ -0,0 +1,44 @@
+/* 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.commons.runtime;
+
+/**
+ * Represents the Operating System C/C++ pointer.
+ *
+ * @since Runtime 1.0
+ */
+final class GenericPointer extends Pointer
+{
+
+    private GenericPointer()
+    {
+        // No instance
+    }
+
+    /*
+     * Only created from JNI code.
+     */
+    private GenericPointer(long ptr, long clr, long len)
+    {
+        POINTER = ptr;
+        CLEANUP = clr;
+        PLENGTH = len;
+        ISCONST = false;
+    }
+
+}
+

Propchange: commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/GenericPointer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Memory.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Memory.java?rev=887846&amp;r1=887845&amp;r2=887846&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Memory.java (original)
+++ commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Memory.java Mon
Dec  7 06:34:01 2009
@@ -183,9 +183,56 @@
         realloc0(ptr, size);
     }
 
-    private static native Pointer slice0(Pointer src, long offset, long size)
+    private static native int peek0(long addr);
+    /**
+     * Get a {@code byte} value this {@code pointer} contains at the
+     * {@code index}.
+     *
+     * @return a {@code byte} at {@code index}.
+     * @throws IndexOutOfBoundsException if {@code index} would cause access
+     *          outside the pointer address space.
+     * @throws NullPointerException if pointer is {@code null}.
+     */
+    public static int peek(Pointer ptr, long index)
+        throws IndexOutOfBoundsException, NullPointerException
+    {
+        if (ptr == null)
+            throw new NullPointerException();
+        if (ptr.POINTER == 0L)
+            throw new NullPointerException();
+        else if (index &lt; 0L || index &gt;= ptr.PLENGTH)
+            throw new IndexOutOfBoundsException();
+        return peek0(ptr.POINTER + index);
+    }
+
+    private static native void poke0(long addr, int v);
+    /**
+     * Set a {@code byte} value to this {@code pointer} at the
+     * {@code index} location.
+     *
+     * @param value Value to set at {@code index}.
+     * @throws IndexOutOfBoundsException if {@code index} would cause access
+     *          outside the pointer address space.
+     * @throws NullPointerException if pointer is {@code null}.
+     */
+    public static void poke(Pointer ptr, long index, int value)
+        throws IndexOutOfBoundsException, NullPointerException
+    {
+        if (ptr == null)
+            throw new NullPointerException();
+        if (ptr.POINTER == 0L)
+            throw new NullPointerException();
+        else if (index &lt; 0L || index &gt;= ptr.PLENGTH)
+            throw new IndexOutOfBoundsException();
+        else if (ptr.ISCONST)
+            throw new UnsupportedOperationException();
+        poke0(ptr.POINTER + index, value);
+    }
+
+
+    private static native Pointer slice0(long src, long size)
         throws IndexOutOfBoundsException;
-    private static native Pointer slice1(Pointer src, long offset, long size)
+    private static native Pointer slice1(long src, long size)
         throws IndexOutOfBoundsException;
     /**
      * Creates a new {@link Pointer} object whose content is a shared
@@ -213,14 +260,22 @@
         throws IndexOutOfBoundsException, IllegalArgumentException,
                NullPointerException
     {
+        if (src == null)
+            throw new NullPointerException();
         if (offset &lt; 0L || size &lt; 1L)
             throw new IllegalArgumentException();
-        if (src instanceof ConstPointer)
-            return slice1(src, offset, size);
+        if (src.POINTER == 0L)
+            throw new NullPointerException();
+        if (offset + size &gt; src.PLENGTH)
+            throw new IndexOutOfBoundsException();
+        if (src.ISCONST)
+            return slice1(src.POINTER + offset, size);
         else
-            return slice0(src, offset, size);
+            return slice0(src.POINTER + offset, size);
     }
 
+    private static native Pointer dup0(long src, long size)
+        throws OutOfMemoryError, RuntimeException;
     private static native Pointer dup0(Pointer src, long offset, long size)
         throws IndexOutOfBoundsException, OutOfMemoryError,
                RuntimeException;
@@ -245,16 +300,18 @@
         throws IndexOutOfBoundsException, IllegalArgumentException,
                NullPointerException, RuntimeException, OutOfMemoryError
     {
+        if (src == null || src.POINTER == 0L)
+            throw new NullPointerException();
         if (offset &lt; 0L || size &lt; 1L)
             throw new IllegalArgumentException();
+        if (offset + size &gt; src.PLENGTH)
+            throw new IndexOutOfBoundsException();
 
-        return dup0(src, offset, size);
+        return dup0(src.POINTER + offset, size);
     }
 
-    private static native void copy0(Pointer src, long srcPos, Pointer dst,
-                                     long dstPos, long length)
-        throws IndexOutOfBoundsException, IllegalArgumentException,
-               RuntimeException;
+    private static native void copy0(long src, long dst, long length)
+        throws RuntimeException;
     /**
      * Copy the memory area from {@code src} to {@code dst}.
      * &lt;p&gt;
@@ -286,20 +343,23 @@
                NullPointerException, RuntimeException,
                UnsupportedOperationException
     {
-        if (srcPos &lt; 0L || dstPos &lt; 0L)
+        if (src == null || dst == null)
+            throw new NullPointerException();
+        if (src.POINTER == 0L || dst.POINTER == 0L)
+            throw new NullPointerException();
+        if (srcPos &lt; 0L || dstPos &lt; 0L || length &lt; 1L)
             throw new IllegalArgumentException();
-        if (length &lt; 1L)
-            throw new IllegalArgumentException();
-        if (dst instanceof ConstPointer)
+        if (dst.ISCONST)
             throw new UnsupportedOperationException();
-
-        copy0(src, srcPos, dst, dstPos, length);
+        if (srcPos + length &gt; src.PLENGTH)
+            throw new IndexOutOfBoundsException();
+        if (dstPos + length &gt; dst.PLENGTH)
+            throw new IndexOutOfBoundsException();
+        copy0(src.POINTER + srcPos, dst.POINTER + dstPos, length);
     }
 
-    private static native void move0(Pointer src, long srcPos, Pointer dst,
-                                     long dstPos, long length)
-        throws IndexOutOfBoundsException, IllegalArgumentException,
-               RuntimeException;
+    private static native void move0(long src, long dst, long length)
+        throws RuntimeException;
     /**
      * Copy the memory area from {@code src} to {@code dst}.
      * &lt;p&gt;
@@ -330,18 +390,23 @@
                NullPointerException, RuntimeException,
                UnsupportedOperationException
     {
-        if (srcPos &lt; 0L || dstPos &lt; 0L)
+        if (src == null || dst == null)
+            throw new NullPointerException();
+        if (src.POINTER == 0L || dst.POINTER == 0L)
+            throw new NullPointerException();
+        if (srcPos &lt; 0L || dstPos &lt; 0L || length &lt; 1L)
             throw new IllegalArgumentException();
-        if (length &lt; 1L)
-            throw new IllegalArgumentException();
-        if (dst instanceof ConstPointer)
+        if (dst.ISCONST)
             throw new UnsupportedOperationException();
-
-        move0(src, srcPos, dst, dstPos, length);
+        if (srcPos + length &gt; src.PLENGTH)
+            throw new IndexOutOfBoundsException();
+        if (dstPos + length &gt; dst.PLENGTH)
+            throw new IndexOutOfBoundsException();
+        move0(src.POINTER + srcPos, dst.POINTER + dstPos, length);
     }
 
-    private static native void clear0(Pointer ptr, long offset, long length)
-        throws IndexOutOfBoundsException, RuntimeException;
+    private static native void clear0(long ptr, long length)
+        throws RuntimeException;
     /**
      * Set the {@code ptr} memory area from {@code src} to {@code zero}.
      *
@@ -364,16 +429,19 @@
                NullPointerException, RuntimeException,
                UnsupportedOperationException
     {
+        if (ptr == null || ptr.POINTER == 0L)
+            throw new NullPointerException();
         if (offset &lt; 0L || length &lt; 1L)
             throw new IllegalArgumentException();
-        if (ptr instanceof ConstPointer)
+        if (ptr.ISCONST)
             throw new UnsupportedOperationException();
-
-        clear0(ptr, offset, length);
+        if (offset + length &gt; ptr.PLENGTH)
+            throw new IndexOutOfBoundsException();
+        clear0(ptr.POINTER + offset, length);
     }
 
-    private static native void set0(Pointer ptr, long offset, long length, int val)
-        throws IndexOutOfBoundsException, RuntimeException;
+    private static native void set0(long ptr, long length, int val)
+        throws RuntimeException;
     /**
      * Set the {@code ptr} memory area from {@code src} to {@code val}.
      *
@@ -397,12 +465,15 @@
                NullPointerException, RuntimeException,
                UnsupportedOperationException
     {
+        if (ptr == null || ptr.POINTER == 0L)
+            throw new NullPointerException();
         if (offset &lt; 0L || length &lt; 1L)
             throw new IllegalArgumentException();
-        if (ptr instanceof ConstPointer)
+        if (ptr.ISCONST)
             throw new UnsupportedOperationException();
-
-        set0(ptr, offset, length, val);
+        if (offset + length &gt; ptr.PLENGTH)
+            throw new IndexOutOfBoundsException();
+        set0(ptr.POINTER + offset, length, val);
     }
 
     private static native byte[] array0(Pointer ptr, long offset, int length)

Modified: commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Pointer.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Pointer.java?rev=887846&amp;r1=887845&amp;r2=887846&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Pointer.java (original)
+++ commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/Pointer.java Mon
Dec  7 06:34:01 2009
@@ -16,49 +16,105 @@
 
 package org.apache.commons.runtime;
 
-/** Represents the Operating System C/C++ pointer.
+import org.apache.commons.runtime.util.Utils;
+
+/** Represents the Operating System C/C++ native pointer.
  * &lt;p&gt;
  * &lt;b&gt;Warning:&lt;/b&gt;&lt;br/&gt;Using this class improperly may crash the running
JVM.
  * &lt;/p&gt;
  * @since Runtime 1.0
  */
-public interface Pointer extends Comparable&lt;Pointer&gt;
+public abstract class Pointer implements Comparable&lt;Pointer&gt;
 {
 
+    protected long    CLEANUP;
+    protected long    POINTER;
+    protected long    PLENGTH;
+    protected boolean ISCONST;
+
+    /**
+     * Create new {@code null} Pointer instance.
+     * &lt;p&gt;
+     * Depending on the platform the created {@code Pointer}
+     * object is either {@code Pointer32} for 32-bit machines
+     * or {@code 64-bit} for 64-bit machines.
+     * &lt;/p&gt;
+     * &lt;p&gt;
+     * This method is convinience for {@link Memory#malloc() Memory.malloc()}
+     * method.
+     * &lt;/p&gt;
+     * @return new {@code null} Pointer.
+     * @throws OutOfMemoryError if memory cannot be allocated.
+     * @see Memory#malloc()
+     */
+    public static final Pointer createInstance()
+        throws OutOfMemoryError
+    {
+        return Memory.malloc();
+    }
+
+    /*
+     * Pointer can only be created from the native code.
+     * Suppress any instantiation except from internal classes.
+     */
+    protected Pointer()
+    {
+        // No Instance
+    }
+
+    private native void cleanup0()
+        throws Throwable;
+
+    /* Used for finalize only.
+     * Doesn't throw exception in case of error
+     * returned from internal cleanup callback.
+     */
+    private native void cleanup1()
+        throws Throwable;
+
+    private static native Pointer nullp0();
 
     /**
      * Represents a C/C++ NULL {@code pointer}.
      */
-    public static final Pointer NULL = AbstractPointer.NULL;
+    public static final Pointer NULL;
+    static {
+        NULL = nullp0();
+    }
 
     /**
      * Address of the internal pointer.
-     * &lt;p&gt;
-     * Depending on the operating system the {@code Number} can be
-     * either {@code Integer} for 32 bit systems of {@code Long} for
-     * a 64 bit system.
-     *&lt;/p&gt;
      *
-     * @return Internal pointer address casted to the {@code Number}.
+     * @return Internal pointer address casted to the {@code long}.
      */
-    public Number address();
+    public long address()
+    {
+        return POINTER;
+    }
 
     /**
      * Size of the memory area this pointer consumes.
      * &lt;p&gt;
      * If the {@code this} Pointer does not have a length
-     * the returned size is {@link Sizeof#POINTER Sizeof.POINTER}.
+     * the returned size if Pointer {@code SIZEOF}.
      *&lt;/p&gt;
      *
      * @return Internal pointer size.
      */
-    public long sizeof();
+    public long sizeof()
+    {
+        return PLENGTH;    
+    }
+
 
     /**
      * Check if the pointer is valid
      * @return true if the internal pointer is not {@code NULL}.
      */
-    public boolean isNull();
+    public boolean isNull()
+    {
+        return POINTER == 0L;
+    }
 
     /**
      * Compares this {@code Pointer} to the specified object.
@@ -70,94 +126,72 @@
      *      equal. Returns false otherwise.
      */
     @Override
-    public boolean equals(Object other);
+    public boolean equals(Object other)
+    {
+        if (other == null)
+            return false;
+        if (other == this)
+            return true;
+        if (other instanceof Pointer)
+            return POINTER == ((Pointer)other).POINTER;
+        else
+           return false;
+    }
+
+    private static native int memcmp0(long a, long b, long length);
+    /**
+     * Compares this {@code Pointer} to the specified object for order
+     *
+     * @param other the {@code Pointer} to be Compared
+     * @return a negative integer, zero or positive integer as this object
+     *         is less then, equal, or greater then the specified object.
+     */
+    @Override
+    public int compareTo(Pointer other)
+        throws ClassCastException
+    {
+        if (other == null)
+            throw new ClassCastException();
+        if (POINTER == 0L)
+            return -1;
+        if (other.POINTER == 0L)
+            return 1;
+        if (PLENGTH == other.PLENGTH)
+            return memcmp0(POINTER, other.POINTER, PLENGTH);
+        else if (PLENGTH &gt; other.PLENGTH)
+            return  1;
+        else
+            return -1;
+    }
 
     /**
-     * Free the allocated resource by the Operating system.
-     * &lt;p&gt;
-     * Note that {@code Object.finalize()} method will call
-     * this method. However if the native code can block for
-     * long time explicit {@code free()} should be called.
-     * &lt;/p&gt;
+     * Called by the garbage collector when the object is destroyed.
+     * The class will free internal resources allocated by the Operating system.
      * @see Object#finalize()
      * @throws Throwable the {@code Exception} raised by this method.
      */
-    public void free()
-        throws Throwable;
-
-    /**
-     * Get a {@code byte} value this {@code pointer} contains at the
-     * {@code index}.
-     *
-     * @return a {@code byte} at {@code index}.
-     * @throws IndexOutOfBoundsException if {@code index} would cause access
-     *          outside the pointer address space.
-     * @throws NullPointerException if pointer is {@code null}.
-     */
-    public int    peek(int index)
-        throws IndexOutOfBoundsException, NullPointerException;
-
-    /**
-     * Set a {@code byte} value to this {@code pointer} at the
-     * {@code index} location.
-     *
-     * @param value Value to set at {@code index}.
-     * @throws IndexOutOfBoundsException if {@code index} would cause access
-     *          outside the pointer address space.
-     * @throws NullPointerException if pointer is {@code null}.
-     */
-    public void poke(int index, int value)
-        throws IndexOutOfBoundsException, NullPointerException;
-
-    /**
-     * Copy the memory area from {@code this} pointer to {@code dst}.
-     * &lt;p&gt;
-     * Method uses the {@code memcpy} function to do a copying, meaning
-     * that {@code source} and {@code destination} memory areas should
-     * not overlap.
-     * &lt;/p&gt;
-     *
-     * @param srcPos starting position in the source memory.
-     * @param dst destination {@code Pointer}.
-     * @param dstPos starting position in the destination memory.
-     * @param length the number of bytes to be copied.
-     *
-     * @throws IllegalArgumentException if the {@code srcPos} or
-     *          {@code dstPos} is {@code negative} or {@code length}
-     *          is {@code zero}.
-     * @throws IndexOutOfBoundsException if the operation would cause
-     *          access of data outside allocated memory bounds.
-     * @throws NullPointerException if {@code this} or {@code dst} is
-     *          {@code null}.
-     */
-    public void copy(long srcPos, Pointer dst, long dstPos, long length)
-        throws IndexOutOfBoundsException, IllegalArgumentException,
-               NullPointerException;
+    @Override
+    protected final void finalize()
+        throws Throwable
+    {
+        cleanup1();
+    }
 
     /**
-     * Copy the memory area from pointer {@code src} to {@code this} pointer.
+     * Free the allocated resource by the Operating system.
      * &lt;p&gt;
-     * Method uses the {@code memmove} function to do a copying, meaning
-     * that {@code source} and {@code destination} memory areas can overlap.
+     * Note that {@code Object.finalize()} method will call
+     * this function. However if the native code can block for
+     * long time explicit {@code free()} should be called.
      * &lt;/p&gt;
-     *
-     * @param src source {@code Pointer}.
-     * @param srcPos starting position in the source memory.
-     * @param dstPos starting position in our memory area.
-     * @param length the number of bytes to be copied.
-     *
-     * @throws IllegalArgumentException if the {@code srcPos} or
-     *          {@code dstPos} is {@code negative} or {@code length}
-     *          is {@code zero}.
-     * @throws IndexOutOfBoundsException if the operation would cause
-     *          access of data outside allocated memory bounds.
-     * @throws NullPointerException if {@code this} or {@code dst} is
-     *          {@code null}.
-     */
-    public void move(Pointer src, long srcPos, long dstPos, long length)
-        throws IndexOutOfBoundsException, IllegalArgumentException,
-               NullPointerException;
-
+     * @see #finalize()
+     * @throws Throwable the {@code Exception} raised by this method.
+     */
+    public final void free()
+        throws Throwable
+    {
+        cleanup0();
+    }
 
     /**
      * Returns a string representation of the Pointer.
@@ -166,7 +200,18 @@
      * @return a hexadecimal representation of the pointer.
      */
     @Override
-    public String toString();
+    public String toString()
+    {
+        if (POINTER != 0L) {
+            if (Platform.SIZEOF_POINTER == 4)
+                return "0x" + Utils.hex((int)(POINTER &amp; 0x00000000FFFFFFFFL));
+            else
+                return "0x" + Utils.hex(POINTER);                    
+        }
+        else {
+            return "(nil)";
+        }
+    }
 
 }
 

Modified: commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/util/Utils.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/util/Utils.java?rev=887846&amp;r1=887845&amp;r2=887846&amp;view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/util/Utils.java
(original)
+++ commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/util/Utils.java
Mon Dec  7 06:34:01 2009
@@ -39,6 +39,7 @@
     private static long     timer                  = System.currentTimeMillis();
     private static Random   rnd                    = new Random(timer);
     private static File     tmpdir                 = null;
+    private static Object   lock                   = new Object();
 
     private static final char[] hc = {
                 '0', '1', '2', '3', '4', '5', '6', '7',
@@ -188,27 +189,34 @@
 
     public static File getTempPath()
     {
-        String [] try_path;
 
         if (tmpdir != null)
             return tmpdir;
-        tmpdir = checkTempDir(System.getProperty("java.io.tmpdir"));
-        if (tmpdir != null)
-            return tmpdir;
-        for (int i = 0; i &lt; try_envs.length; i++) {
-            tmpdir = checkTempDir(System.getenv(try_envs[i]));
+
+        synchronized(lock) { 
             if (tmpdir != null)
                 return tmpdir;
-        }
-        if (SystemId.getSysname().equals("windows"))
-            try_path = win_trys;
-        else
-            try_path = psx_trys;
-
-        for (int i = 0; i &lt; try_path.length; i++) {
-            tmpdir = checkTempDir(System.getenv(try_path[i]));
+            tmpdir = checkTempDir(System.getProperty("java.io.tmpdir"));
             if (tmpdir != null)
                 return tmpdir;
+
+            for (int i = 0; i &lt; try_envs.length; i++) {
+                tmpdir = checkTempDir(System.getenv(try_envs[i]));
+                if (tmpdir != null)
+                    return tmpdir;
+            }
+
+            String [] try_path;
+            if (SystemId.getSysname().equals("windows"))
+                try_path = win_trys;
+            else
+                try_path = psx_trys;
+    
+            for (int i = 0; i &lt; try_path.length; i++) {
+                tmpdir = checkTempDir(System.getenv(try_path[i]));
+                if (tmpdir != null)
+                    return tmpdir;
+            }
         }
         return null;
     }




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887834 - in /commons/proper/dbcp/tags/DBCP_1_3_RC1: ./ src/java/org/apache/commons/dbcp/ src/java/org/apache/commons/dbcp/cpdsadapter/ src/java/org/apache/commons/dbcp/datasources/ src/test/org/apache/commons/dbcp/ src/test/org/apache/comm...</title>
<author><name>psteitz@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207042105.B38B6238898B@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207042105-B38B6238898B@eris-apache-org%3e</id>
<updated>2009-12-07T04:21:05Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: psteitz
Date: Mon Dec  7 04:21:04 2009
New Revision: 887834

URL: http://svn.apache.org/viewvc?rev=887834&amp;view=rev
Log:
Tagged dbcp-1.3-RC1.

Added:
    commons/proper/dbcp/tags/DBCP_1_3_RC1/
      - copied from r887830, commons/proper/dbcp/branches/DBCP_1_3_BRANCH/
    commons/proper/dbcp/tags/DBCP_1_3_RC1/build.xml
      - copied unchanged from r887831, commons/proper/dbcp/branches/DBCP_1_3_BRANCH/build.xml
    commons/proper/dbcp/tags/DBCP_1_3_RC1/pom.xml
      - copied unchanged from r887831, commons/proper/dbcp/branches/DBCP_1_3_BRANCH/pom.xml
    commons/proper/dbcp/tags/DBCP_1_3_RC1/src/java/org/apache/commons/dbcp/BasicDataSource.java
      - copied unchanged from r887832, commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/BasicDataSource.java
    commons/proper/dbcp/tags/DBCP_1_3_RC1/src/java/org/apache/commons/dbcp/DelegatingCallableStatement.java
      - copied unchanged from r887832, commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingCallableStatement.java
    commons/proper/dbcp/tags/DBCP_1_3_RC1/src/java/org/apache/commons/dbcp/DelegatingConnection.java
      - copied unchanged from r887832, commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingConnection.java
    commons/proper/dbcp/tags/DBCP_1_3_RC1/src/java/org/apache/commons/dbcp/DelegatingDatabaseMetaData.java
      - copied unchanged from r887832, commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingDatabaseMetaData.java
    commons/proper/dbcp/tags/DBCP_1_3_RC1/src/java/org/apache/commons/dbcp/DelegatingPreparedStatement.java
      - copied unchanged from r887832, commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingPreparedStatement.java
    commons/proper/dbcp/tags/DBCP_1_3_RC1/src/java/org/apache/commons/dbcp/DelegatingResultSet.java
      - copied unchanged from r887832, commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingResultSet.java
    commons/proper/dbcp/tags/DBCP_1_3_RC1/src/java/org/apache/commons/dbcp/DelegatingStatement.java
      - copied unchanged from r887832, commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingStatement.java
    commons/proper/dbcp/tags/DBCP_1_3_RC1/src/java/org/apache/commons/dbcp/PoolingDataSource.java
      - copied unchanged from r887832, commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/PoolingDataSource.java
    commons/proper/dbcp/tags/DBCP_1_3_RC1/src/java/org/apache/commons/dbcp/cpdsadapter/PooledConnectionImpl.java
      - copied unchanged from r887832, commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/cpdsadapter/PooledConnectionImpl.java
    commons/proper/dbcp/tags/DBCP_1_3_RC1/src/java/org/apache/commons/dbcp/datasources/InstanceKeyDataSource.java
      - copied unchanged from r887832, commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/datasources/InstanceKeyDataSource.java
    commons/proper/dbcp/tags/DBCP_1_3_RC1/src/test/org/apache/commons/dbcp/TestDelegatingDatabaseMetaData.java
      - copied unchanged from r887832, commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TestDelegatingDatabaseMetaData.java
    commons/proper/dbcp/tags/DBCP_1_3_RC1/src/test/org/apache/commons/dbcp/TesterCallableStatement.java
      - copied unchanged from r887832, commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterCallableStatement.java
    commons/proper/dbcp/tags/DBCP_1_3_RC1/src/test/org/apache/commons/dbcp/TesterConnection.java
      - copied unchanged from r887832, commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterConnection.java
    commons/proper/dbcp/tags/DBCP_1_3_RC1/src/test/org/apache/commons/dbcp/TesterDatabaseMetaData.java
      - copied unchanged from r887832, commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterDatabaseMetaData.java
    commons/proper/dbcp/tags/DBCP_1_3_RC1/src/test/org/apache/commons/dbcp/TesterPreparedStatement.java
      - copied unchanged from r887832, commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterPreparedStatement.java
    commons/proper/dbcp/tags/DBCP_1_3_RC1/src/test/org/apache/commons/dbcp/TesterResultSet.java
      - copied unchanged from r887832, commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterResultSet.java
    commons/proper/dbcp/tags/DBCP_1_3_RC1/src/test/org/apache/commons/dbcp/TesterStatement.java
      - copied unchanged from r887832, commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterStatement.java
    commons/proper/dbcp/tags/DBCP_1_3_RC1/src/test/org/apache/commons/dbcp/datasources/PooledConnectionProxy.java
      - copied unchanged from r887832, commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/datasources/PooledConnectionProxy.java



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887833 - /commons/proper/dbcp/trunk/pom-1.3.xml</title>
<author><name>psteitz@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207035914.93FC9238898A@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207035914-93FC9238898A@eris-apache-org%3e</id>
<updated>2009-12-07T03:59:14Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: psteitz
Date: Mon Dec  7 03:59:13 2009
New Revision: 887833

URL: http://svn.apache.org/viewvc?rev=887833&amp;view=rev
Log:
Fixed javadoc link in compatability pom.

Modified:
    commons/proper/dbcp/trunk/pom-1.3.xml

Modified: commons/proper/dbcp/trunk/pom-1.3.xml
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/pom-1.3.xml?rev=887833&amp;r1=887832&amp;r2=887833&amp;view=diff
==============================================================================
--- commons/proper/dbcp/trunk/pom-1.3.xml (original)
+++ commons/proper/dbcp/trunk/pom-1.3.xml Mon Dec  7 03:59:13 2009
@@ -332,7 +332,7 @@
           &lt;configuration&gt;
             &lt;links&gt;
               &lt;link&gt;http://java.sun.com/j2se/1.5.0/docs/api&lt;/link&gt;
-              &lt;link&gt;http://commons.apache.org/pool/api-1.5&lt;/link&gt;
+              &lt;link&gt;http://commons.apache.org/pool/api-1.5.4&lt;/link&gt;
               &lt;link&gt;http://java.sun.com/j2ee/sdk_1.3/techdocs/api&lt;/link&gt;
             &lt;/links&gt;
           &lt;/configuration&gt;




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887832 - in /commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src: java/org/apache/commons/dbcp/ java/org/apache/commons/dbcp/cpdsadapter/ java/org/apache/commons/dbcp/datasources/ test/org/apache/commons/dbcp/ test/org/apache/commons/dbcp/dat...</title>
<author><name>psteitz@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207035728.A57D023889E4@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207035728-A57D023889E4@eris-apache-org%3e</id>
<updated>2009-12-07T03:57:28Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: psteitz
Date: Mon Dec  7 03:57:27 2009
New Revision: 887832

URL: http://svn.apache.org/viewvc?rev=887832&amp;view=rev
Log:
Filtered sources to remove JDBC 4 methods.

Modified:
    commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/BasicDataSource.java
    commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingCallableStatement.java
    commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingConnection.java
    commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingDatabaseMetaData.java
    commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingPreparedStatement.java
    commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingResultSet.java
    commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingStatement.java
    commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/PoolingDataSource.java
    commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/cpdsadapter/PooledConnectionImpl.java
    commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/datasources/InstanceKeyDataSource.java
    commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TestDelegatingDatabaseMetaData.java
    commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterCallableStatement.java
    commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterConnection.java
    commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterDatabaseMetaData.java
    commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterPreparedStatement.java
    commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterResultSet.java
    commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterStatement.java
    commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/datasources/PooledConnectionProxy.java

Modified: commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/BasicDataSource.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/BasicDataSource.java?rev=887832&amp;r1=887831&amp;r2=887832&amp;view=diff
==============================================================================
--- commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/BasicDataSource.java
(original)
+++ commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/BasicDataSource.java
Mon Dec  7 03:57:27 2009
@@ -1322,7 +1322,7 @@
         return closed;
     }
 
-    /* JDBC_4_ANT_KEY_BEGIN */
+    /*
     public boolean isWrapperFor(Class&lt;?&gt; iface) throws SQLException {
         return false;
     }
@@ -1330,7 +1330,7 @@
     public &lt;T&gt; T unwrap(Class&lt;T&gt; iface) throws SQLException {
         throw new SQLException("BasicDataSource is not a wrapper.");
     }
-    /* JDBC_4_ANT_KEY_END */
+    */
 
         
     // ------------------------------------------------------ Protected Methods

Modified: commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingCallableStatement.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingCallableStatement.java?rev=887832&amp;r1=887831&amp;r2=887832&amp;view=diff
==============================================================================
--- commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingCallableStatement.java
(original)
+++ commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingCallableStatement.java
Mon Dec  7 03:57:27 2009
@@ -32,11 +32,11 @@
 import java.io.InputStream;
 import java.io.Reader;
 import java.sql.SQLException;
-/* JDBC_4_ANT_KEY_BEGIN */
+/*
 import java.sql.NClob;
 import java.sql.RowId;
 import java.sql.SQLXML;
-/* JDBC_4_ANT_KEY_END */
+*/
 
 /**
  * A base delegating implementation of {@link CallableStatement}.
@@ -329,7 +329,7 @@
     public URL getURL(String parameterName) throws SQLException
     { checkOpen(); try { return ((CallableStatement)_stmt).getURL(parameterName); } catch
(SQLException e) { handleException(e); return null; } }
 
-/* JDBC_4_ANT_KEY_BEGIN */
+/*
 
     public RowId getRowId(int parameterIndex) throws SQLException {
         checkOpen();
@@ -660,5 +660,5 @@
             handleException(e);
         }
     }
-/* JDBC_4_ANT_KEY_END */
+*/
 }

Modified: commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingConnection.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingConnection.java?rev=887832&amp;r1=887831&amp;r2=887832&amp;view=diff
==============================================================================
--- commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingConnection.java
(original)
+++ commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingConnection.java
Mon Dec  7 03:57:27 2009
@@ -28,7 +28,7 @@
 import java.util.List;
 import java.util.Map;
 import java.sql.ResultSet;
-/* JDBC_4_ANT_KEY_BEGIN */
+/*
 import java.sql.Array;
 import java.sql.Blob;
 import java.sql.ClientInfoStatus;
@@ -39,7 +39,7 @@
 import java.sql.Struct;
 import java.util.Collections;
 import java.util.Properties;
-/* JDBC_4_ANT_KEY_END */
+*/
 
 /**
  * A base delegating implementation of {@link Connection}.
@@ -65,10 +65,10 @@
 public class DelegatingConnection extends AbandonedTrace
         implements Connection {
 
-/* JDBC_4_ANT_KEY_BEGIN */
+/*
     private static final Map&lt;String, ClientInfoStatus&gt; EMPTY_FAILED_PROPERTIES =
         Collections.&lt;String, ClientInfoStatus&gt;emptyMap();
-/* JDBC_4_ANT_KEY_END */
+*/
 
     /** My delegate {@link Connection}. */
     protected Connection _conn = null;
@@ -534,7 +534,7 @@
         }
     }
 
-/* JDBC_4_ANT_KEY_BEGIN */
+/*
 
     public boolean isWrapperFor(Class&lt;?&gt; iface) throws SQLException {
         return iface.isAssignableFrom(getClass()) || _conn.isWrapperFor(iface);
@@ -674,5 +674,5 @@
             return null;
         }
     }
-/* JDBC_4_ANT_KEY_END */
+*/
 }

Modified: commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingDatabaseMetaData.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingDatabaseMetaData.java?rev=887832&amp;r1=887831&amp;r2=887832&amp;view=diff
==============================================================================
--- commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingDatabaseMetaData.java
(original)
+++ commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingDatabaseMetaData.java
Mon Dec  7 03:57:27 2009
@@ -20,9 +20,9 @@
 import java.sql.Connection;
 import java.sql.DatabaseMetaData;
 import java.sql.ResultSet;
-/* JDBC_4_ANT_KEY_BEGIN */
+/*
 import java.sql.RowIdLifetime;
-/* JDBC_4_ANT_KEY_END */
+*/
 import java.sql.SQLException;
 
 /**
@@ -1121,7 +1121,7 @@
         catch (SQLException e) { handleException(e); return false; } }
     }
 
-    /* JDBC_4_ANT_KEY_BEGIN */
+    /*
 
     public boolean isWrapperFor(Class&lt;?&gt; iface) throws SQLException {
         return iface.isAssignableFrom(getClass()) || _meta.isWrapperFor(iface);
@@ -1206,6 +1206,6 @@
         }
     }
 
-    /* JDBC_4_ANT_KEY_END */
+    */
 
 }

Modified: commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingPreparedStatement.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingPreparedStatement.java?rev=887832&amp;r1=887831&amp;r2=887832&amp;view=diff
==============================================================================
--- commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingPreparedStatement.java
(original)
+++ commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingPreparedStatement.java
Mon Dec  7 03:57:27 2009
@@ -27,13 +27,13 @@
 import java.sql.ResultSetMetaData;
 import java.sql.SQLException;
 import java.util.Calendar;
-/* JDBC_4_ANT_KEY_BEGIN */
+/*
 import java.io.InputStream;
 import java.io.Reader;
 import java.sql.NClob;
 import java.sql.RowId;
 import java.sql.SQLXML;
-/* JDBC_4_ANT_KEY_END */
+*/
 
 /**
  * A base delegating implementation of {@link PreparedStatement}.
@@ -220,7 +220,7 @@
     public java.sql.ParameterMetaData getParameterMetaData() throws SQLException
     { checkOpen(); try { return ((PreparedStatement)_stmt).getParameterMetaData(); } catch
(SQLException e) { handleException(e); throw new AssertionError(); } }
 
-/* JDBC_4_ANT_KEY_BEGIN */
+/*
 
     public void setRowId(int parameterIndex, RowId value) throws SQLException {
         checkOpen();
@@ -401,5 +401,5 @@
             handleException(e);
         }
     }
-/* JDBC_4_ANT_KEY_END */
+*/
 }

Modified: commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingResultSet.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingResultSet.java?rev=887832&amp;r1=887831&amp;r2=887832&amp;view=diff
==============================================================================
--- commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingResultSet.java
(original)
+++ commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingResultSet.java
Mon Dec  7 03:57:27 2009
@@ -35,11 +35,11 @@
 import java.sql.Clob;
 import java.sql.Array;
 import java.util.Calendar;
-/* JDBC_4_ANT_KEY_BEGIN */
+/*
 import java.sql.NClob;
 import java.sql.RowId;
 import java.sql.SQLXML;
-/* JDBC_4_ANT_KEY_END */
+*/
 
 /**
  * A base delegating implementation of {@link ResultSet}.
@@ -619,7 +619,7 @@
     public void updateArray(String columnName, java.sql.Array x) throws SQLException
     { try { _res.updateArray(columnName, x); } catch (SQLException e) { handleException(e);
} }
 
-/* JDBC_4_ANT_KEY_BEGIN */
+/*
 
     public boolean isWrapperFor(Class&lt;?&gt; iface) throws SQLException {
         return iface.isAssignableFrom(getClass()) || _res.isWrapperFor(iface);
@@ -1078,5 +1078,5 @@
             handleException(e);
         }
     }
-/* JDBC_4_ANT_KEY_END */
+*/
 }

Modified: commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingStatement.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingStatement.java?rev=887832&amp;r1=887831&amp;r2=887832&amp;view=diff
==============================================================================
--- commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingStatement.java
(original)
+++ commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/DelegatingStatement.java
Mon Dec  7 03:57:27 2009
@@ -345,7 +345,7 @@
         return _closed;
     }
 
-/* JDBC_4_ANT_KEY_BEGIN */
+/*
 
     public boolean isWrapperFor(Class&lt;?&gt; iface) throws SQLException {
         return iface.isAssignableFrom(getClass()) || _stmt.isWrapperFor(iface);
@@ -381,5 +381,5 @@
             return false;
         }
     }
-/* JDBC_4_ANT_KEY_END */
+*/
 }

Modified: commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/PoolingDataSource.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/PoolingDataSource.java?rev=887832&amp;r1=887831&amp;r2=887832&amp;view=diff
==============================================================================
--- commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/PoolingDataSource.java
(original)
+++ commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/PoolingDataSource.java
Mon Dec  7 03:57:27 2009
@@ -85,7 +85,7 @@
         this.accessToUnderlyingConnectionAllowed = allow;
     }
 
-    /* JDBC_4_ANT_KEY_BEGIN */
+    /*
     public boolean isWrapperFor(Class&lt;?&gt; iface) throws SQLException {
         return false;
     }
@@ -93,7 +93,7 @@
     public &lt;T&gt; T unwrap(Class&lt;T&gt; iface) throws SQLException {
         throw new SQLException("PoolingDataSource is not a wrapper.");
     }
-    /* JDBC_4_ANT_KEY_END */
+    */
     
     //--- DataSource methods -----------------------------------------
 

Modified: commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/cpdsadapter/PooledConnectionImpl.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/cpdsadapter/PooledConnectionImpl.java?rev=887832&amp;r1=887831&amp;r2=887832&amp;view=diff
==============================================================================
--- commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/cpdsadapter/PooledConnectionImpl.java
(original)
+++ commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/cpdsadapter/PooledConnectionImpl.java
Mon Dec  7 03:57:27 2009
@@ -26,9 +26,9 @@
 import javax.sql.ConnectionEvent;
 import javax.sql.ConnectionEventListener;
 import javax.sql.PooledConnection;
-/* JDBC_4_ANT_KEY_BEGIN */
+/*
 import javax.sql.StatementEventListener;
-/* JDBC_4_ANT_KEY_END */
+*/
 
 import org.apache.commons.dbcp.DelegatingConnection;
 import org.apache.commons.dbcp.DelegatingPreparedStatement;
@@ -113,13 +113,13 @@
         }
     }
 
-    /* JDBC_4_ANT_KEY_BEGIN */
+    /*
     public void addStatementEventListener(StatementEventListener listener) {
         if (!statementEventListeners.contains(listener)) {
             statementEventListeners.add(listener);
         }
     }
-    /* JDBC_4_ANT_KEY_END */
+    */
 
     /**
      * Closes the physical connection and marks this 
@@ -190,11 +190,11 @@
         eventListeners.remove(listener);
     }
 
-    /* JDBC_4_ANT_KEY_BEGIN */
+    /*
     public void removeStatementEventListener(StatementEventListener listener) {
         statementEventListeners.remove(listener);
     }
-    /* JDBC_4_ANT_KEY_END */
+    */
 
     /**
      * Closes the physical connection and checks that the logical connection

Modified: commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/datasources/InstanceKeyDataSource.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/datasources/InstanceKeyDataSource.java?rev=887832&amp;r1=887831&amp;r2=887832&amp;view=diff
==============================================================================
--- commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/datasources/InstanceKeyDataSource.java
(original)
+++ commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/java/org/apache/commons/dbcp/datasources/InstanceKeyDataSource.java
Mon Dec  7 03:57:27 2009
@@ -155,7 +155,7 @@
      */
     public abstract void close() throws Exception;
 
-    /* JDBC_4_ANT_KEY_BEGIN */
+    /*
     public boolean isWrapperFor(Class&lt;?&gt; iface) throws SQLException {
         return false;
     }
@@ -163,7 +163,7 @@
     public &lt;T&gt; T unwrap(Class&lt;T&gt; iface) throws SQLException {
         throw new SQLException("InstanceKeyDataSource is not a wrapper.");
     }
-    /* JDBC_4_ANT_KEY_END */
+    */
 
     // -------------------------------------------------------------------
     // Properties

Modified: commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TestDelegatingDatabaseMetaData.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TestDelegatingDatabaseMetaData.java?rev=887832&amp;r1=887831&amp;r2=887832&amp;view=diff
==============================================================================
--- commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TestDelegatingDatabaseMetaData.java
(original)
+++ commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TestDelegatingDatabaseMetaData.java
Mon Dec  7 03:57:27 2009
@@ -85,12 +85,12 @@
         assertTrue(!meta.equals(meta3));
     }
     
-    /* JDBC_4_ANT_KEY_BEGIN */
+    /*
     public void testCheckOpen() throws Exception {
         ResultSet rst = meta.getSchemas();
         assertTrue(!rst.isClosed());
         conn.close();
         assertTrue(rst.isClosed());
     }
-    /* JDBC_4_ANT_KEY_END */
+    */
 }

Modified: commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterCallableStatement.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterCallableStatement.java?rev=887832&amp;r1=887831&amp;r2=887832&amp;view=diff
==============================================================================
--- commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterCallableStatement.java
(original)
+++ commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterCallableStatement.java
Mon Dec  7 03:57:27 2009
@@ -33,11 +33,11 @@
 import java.sql.Timestamp;
 import java.util.Calendar;
 import java.util.Map;
-/* JDBC_4_ANT_KEY_BEGIN */
+/*
 import java.sql.NClob;
 import java.sql.RowId;
 import java.sql.SQLXML;
-/* JDBC_4_ANT_KEY_END */
+*/
 
 /**
  * Trivial implementation of a CallableStatement to avoid null pointer exceptions in tests.
@@ -346,7 +346,7 @@
     public URL getURL(String parameterName) throws SQLException {
         return null;
     }
-/* JDBC_4_ANT_KEY_BEGIN */
+/*
 
     public RowId getRowId(int parameterIndex) throws SQLException {
         return null;
@@ -455,5 +455,5 @@
 
     public void setNClob(String parameterName, Reader reader) throws SQLException {
     }
-/* JDBC_4_ANT_KEY_END */
+*/
 }

Modified: commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterConnection.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterConnection.java?rev=887832&amp;r1=887831&amp;r2=887832&amp;view=diff
==============================================================================
--- commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterConnection.java
(original)
+++ commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterConnection.java
Mon Dec  7 03:57:27 2009
@@ -25,7 +25,7 @@
 import java.sql.SQLWarning;
 import java.sql.Statement;
 import java.util.Map;
-/* JDBC_4_ANT_KEY_BEGIN */
+/*
 import java.sql.Array;
 import java.sql.Blob;
 import java.sql.Clob;
@@ -34,7 +34,7 @@
 import java.sql.SQLXML;
 import java.sql.Struct;
 import java.util.Properties;
-/* JDBC_4_ANT_KEY_END */
+*/
 
 /**
  * A dummy {@link Connection}, for testing purposes.
@@ -280,7 +280,7 @@
         return prepareStatement(sql);
     }
 
-/* JDBC_4_ANT_KEY_BEGIN */
+/*
 
     public boolean isWrapperFor(Class&lt;?&gt; iface) throws SQLException {
         throw new SQLException("Not implemented.");
@@ -333,5 +333,5 @@
     public String getClientInfo(String name) throws SQLException {
         throw new SQLException("Not implemented.");
     }
-/* JDBC_4_ANT_KEY_END */
+*/
 }

Modified: commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterDatabaseMetaData.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterDatabaseMetaData.java?rev=887832&amp;r1=887831&amp;r2=887832&amp;view=diff
==============================================================================
--- commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterDatabaseMetaData.java
(original)
+++ commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterDatabaseMetaData.java
Mon Dec  7 03:57:27 2009
@@ -20,9 +20,9 @@
 import java.sql.Connection;
 import java.sql.DatabaseMetaData;
 import java.sql.ResultSet;
-/* JDBC_4_ANT_KEY_BEGIN */
+/*
 import java.sql.RowIdLifetime;
-/* JDBC_4_ANT_KEY_END */
+*/
 import java.sql.SQLException;
 
 /**
@@ -718,7 +718,7 @@
         return false;
     }
 
-    /* JDBC_4_ANT_KEY_BEGIN */
+    /*
 
     public boolean isWrapperFor(Class&lt;?&gt; iface) throws SQLException {
         return false;
@@ -760,5 +760,5 @@
         return null;
     }
 
-    /* JDBC_4_ANT_KEY_END */
+    */
 }

Modified: commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterPreparedStatement.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterPreparedStatement.java?rev=887832&amp;r1=887831&amp;r2=887832&amp;view=diff
==============================================================================
--- commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterPreparedStatement.java
(original)
+++ commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterPreparedStatement.java
Mon Dec  7 03:57:27 2009
@@ -28,13 +28,13 @@
 import java.sql.ResultSetMetaData;
 import java.sql.SQLException;
 import java.util.Calendar;
-/* JDBC_4_ANT_KEY_BEGIN */
+/*
 import java.io.InputStream;
 import java.io.Reader;
 import java.sql.NClob;
 import java.sql.RowId;
 import java.sql.SQLXML;
-/* JDBC_4_ANT_KEY_END */
+*/
 
 /**
  * A dummy {@link PreparedStatement}, for testing purposes.
@@ -290,7 +290,7 @@
         throw new SQLException("Not implemented.");
     }
 
-/* JDBC_4_ANT_KEY_BEGIN */
+/*
 
     public void setRowId(int parameterIndex, RowId value) throws SQLException {
         throw new SQLException("Not implemented.");
@@ -363,5 +363,5 @@
     public void setNClob(int parameterIndex, Reader reader) throws SQLException {
         throw new SQLException("Not implemented.");
     }
-/* JDBC_4_ANT_KEY_END */
+*/
 }

Modified: commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterResultSet.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterResultSet.java?rev=887832&amp;r1=887831&amp;r2=887832&amp;view=diff
==============================================================================
--- commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterResultSet.java
(original)
+++ commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterResultSet.java
Mon Dec  7 03:57:27 2009
@@ -28,13 +28,13 @@
 import java.sql.SQLWarning;
 import java.sql.Statement;
 import java.util.Calendar;
-/* JDBC_4_ANT_KEY_BEGIN */
+/*
 import java.io.InputStream;
 import java.io.Reader;
 import java.sql.NClob;
 import java.sql.RowId;
 import java.sql.SQLXML;
-/* JDBC_4_ANT_KEY_END */
+*/
 
 /**
  * A dummy {@link ResultSet}, for testing purposes.
@@ -767,7 +767,7 @@
         throw new SQLException("Not implemented.");
     }
 
-/* JDBC_4_ANT_KEY_BEGIN */
+/*
 
     public boolean isWrapperFor(Class&lt;?&gt; iface) throws SQLException {
         throw new SQLException("Not implemented.");
@@ -968,5 +968,5 @@
     public void updateNClob(String columnLabel, Reader reader) throws SQLException {
         throw new SQLException("Not implemented.");
     }
-/* JDBC_4_ANT_KEY_END */
+*/
 }

Modified: commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterStatement.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterStatement.java?rev=887832&amp;r1=887831&amp;r2=887832&amp;view=diff
==============================================================================
--- commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterStatement.java
(original)
+++ commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/TesterStatement.java
Mon Dec  7 03:57:27 2009
@@ -274,7 +274,7 @@
         throw new SQLException("Not implemented.");
     }
 
-/* JDBC_4_ANT_KEY_BEGIN */
+/*
 
     public boolean isWrapperFor(Class&lt;?&gt; iface) throws SQLException {
         throw new SQLException("Not implemented.");
@@ -295,5 +295,5 @@
     public boolean isPoolable() throws SQLException {
         throw new SQLException("Not implemented.");
     }
-/* JDBC_4_ANT_KEY_END */
+*/
 }

Modified: commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/datasources/PooledConnectionProxy.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/datasources/PooledConnectionProxy.java?rev=887832&amp;r1=887831&amp;r2=887832&amp;view=diff
==============================================================================
--- commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/datasources/PooledConnectionProxy.java
(original)
+++ commons/proper/dbcp/branches/DBCP_1_3_BRANCH/src/test/org/apache/commons/dbcp/datasources/PooledConnectionProxy.java
Mon Dec  7 03:57:27 2009
@@ -26,9 +26,9 @@
 import javax.sql.ConnectionEvent;
 import javax.sql.ConnectionEventListener;
 import javax.sql.PooledConnection;
-/* JDBC_4_ANT_KEY_BEGIN */
+/*
 import javax.sql.StatementEventListener;
-/* JDBC_4_ANT_KEY_END */
+*/
 
 /**
  * PooledConnection implementation that wraps a driver-supplied
@@ -80,11 +80,11 @@
         eventListeners.remove(listener);
     }
 
-    /* JDBC_4_ANT_KEY_BEGIN */
+    /*
     public void removeStatementEventListener(StatementEventListener listener) {
         eventListeners.remove(listener);
     }
-    /* JDBC_4_ANT_KEY_END */
+    */
 
     public boolean isNotifyOnClose() {
         return notifyOnClose;
@@ -114,13 +114,13 @@
         }
     }
 
-    /* JDBC_4_ANT_KEY_BEGIN */
+    /*
     public void addStatementEventListener(StatementEventListener listener) {
         if (!eventListeners.contains(listener)) {
             eventListeners.add(listener);
         }
     }
-    /* JDBC_4_ANT_KEY_END */
+    */
     
     /**
      * Pass closed events on to listeners




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887831 - in /commons/proper/dbcp/branches/DBCP_1_3_BRANCH: build.xml pom.xml</title>
<author><name>psteitz@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207035630.05832238898A@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207035630-05832238898A@eris-apache-org%3e</id>
<updated>2009-12-07T03:56:29Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: psteitz
Date: Mon Dec  7 03:56:29 2009
New Revision: 887831

URL: http://svn.apache.org/viewvc?rev=887831&amp;view=rev
Log:
Changed version, jdk level for 1.3 release.

Modified:
    commons/proper/dbcp/branches/DBCP_1_3_BRANCH/build.xml
    commons/proper/dbcp/branches/DBCP_1_3_BRANCH/pom.xml

Modified: commons/proper/dbcp/branches/DBCP_1_3_BRANCH/build.xml
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/branches/DBCP_1_3_BRANCH/build.xml?rev=887831&amp;r1=887830&amp;r2=887831&amp;view=diff
==============================================================================
--- commons/proper/dbcp/branches/DBCP_1_3_BRANCH/build.xml (original)
+++ commons/proper/dbcp/branches/DBCP_1_3_BRANCH/build.xml Mon Dec  7 03:56:29 2009
@@ -51,7 +51,7 @@
 
       &lt;property name="name" value="commons-dbcp"/&gt;
       &lt;property name="title" value="Apache Commons Database Pooling Package"/&gt;
-      &lt;property name="version" value="Nightly-${DSTAMP}${TSTAMP}"/&gt;
+      &lt;property name="version" value="1.3"/&gt;
       &lt;property name="package" value="org.apache.commons.dbcp.*"/&gt;
 
       &lt;property name="build.dir" value="${basedir}/build"/&gt;
@@ -65,15 +65,15 @@
       &lt;property name="test.runner" value="junit.textui.TestRunner" /&gt; 
      
       &lt;property name="javadoc.dir" value="${dist.dir}/docs/api"/&gt;
-      &lt;property name="javadoc.bottom" value="&amp;lt;small&amp;gt;Copyright &amp;amp;copy;
2001-2004 Apache Software Foundation. Documenation generated ${TODAY}&amp;lt;/small&amp;gt;."/&gt;
+      &lt;property name="javadoc.bottom" value="&amp;lt;small&amp;gt;Copyright &amp;amp;copy;
2001-2009 Apache Software Foundation. Documenation generated ${TODAY}&amp;lt;/small&amp;gt;."/&gt;
       &lt;property name="javadoc.overview" value="${basedir}/src/java/org/apache/commons/dbcp/overview.html"/&gt;
 
       &lt;property name="javac.optimize" value="false"/&gt;
       &lt;property name="javac.debug" value="true"/&gt;
       &lt;property name="javac.deprecation" value="false"/&gt;
+   	  &lt;property name="javac.source" value="1.4" /&gt;
 
       &lt;available property="jndi.present" classname="javax.naming.Context"/&gt;
-      &lt;available property="jdbc4.present" classname="java.sql.Wrapper"/&gt;
    &lt;/target&gt;
 
    &lt;target name="check_jar"&gt;
@@ -128,36 +128,20 @@
       &lt;delete dir="${dist.dir}"/&gt;
    &lt;/target&gt;
 
-   &lt;target name="prepare-nojdbc4" depends="init" unless="jdbc4.present"&gt;
-      &lt;echo message="Commenting out the jdbc4 additional methods since JDBC 4 was not
detected."/&gt;
-      &lt;property name="src.dir" value="${build.dir}/src"/&gt;
+   &lt;target name="filter-sources"&gt;
+      &lt;echo message="Comment out the jdbc4 additional methods."/&gt;
+      &lt;property name="src.dir" value="${basedir}/src"/&gt;
       &lt;property name="src.java.dir" value="${src.dir}/java"/&gt;
       &lt;property name="src.test.dir" value="${src.dir}/test"/&gt;
-      &lt;property name="javac.source" value="1.4" /&gt;
 
-      &lt;mkdir dir="${src.dir}"/&gt;
-      &lt;copy todir="${src.dir}" filtering="yes"&gt;
-         &lt;fileset dir="${basedir}/src" defaultexcludes="no"&gt;
-            &lt;include name="**/*.java"/&gt;
-            &lt;include name="**/*.xml"/&gt;
-            &lt;include name="**/*.properties"/&gt;
-            &lt;include name="**/*.jocl"/&gt;
-            &lt;include name="**/package.html"/&gt;
-         &lt;/fileset&gt;
-      &lt;/copy&gt;
-      &lt;replace dir="${src.dir}" token="/* JDBC_4_ANT_KEY_BEGIN */" value="/*"/&gt;
-      &lt;replace dir="${src.dir}" token="/* JDBC_4_ANT_KEY_END */" value="*/"/&gt;
-   &lt;/target&gt;
+      &lt;replace dir="${src.java.dir}" token="/* JDBC_4_ANT_KEY_BEGIN */" value="/*"/&gt;
+      &lt;replace dir="${src.java.dir}" token="/* JDBC_4_ANT_KEY_END */" value="*/"/&gt;
 
-   &lt;target name="prepare-jdbc4" depends="init" if="jdbc4.present"&gt;
-      &lt;echo message="JDBC 4 was detected."/&gt;
-      &lt;property name="src.dir" value="${basedir}/src"/&gt;
-      &lt;property name="src.java.dir" value="${src.dir}/java"/&gt;
-      &lt;property name="src.test.dir" value="${src.dir}/test"/&gt;
-      &lt;property name="javac.source" value="1.5" /&gt;
+      &lt;replace dir="${src.test.dir}" token="/* JDBC_4_ANT_KEY_BEGIN */" value="/*"/&gt;
+      &lt;replace dir="${src.test.dir}" token="/* JDBC_4_ANT_KEY_END */" value="*/"/&gt;
    &lt;/target&gt;
 
-   &lt;target name="prepare" depends="init,prepare-nojdbc4,prepare-jdbc4"/&gt;
+   &lt;target name="prepare" depends="init,filter-sources"/&gt;
 
    &lt;target name="javadoc" depends="prepare" description="generates javadocs"&gt;
       &lt;mkdir dir="${javadoc.dir}"/&gt;

Modified: commons/proper/dbcp/branches/DBCP_1_3_BRANCH/pom.xml
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/branches/DBCP_1_3_BRANCH/pom.xml?rev=887831&amp;r1=887830&amp;r2=887831&amp;view=diff
==============================================================================
--- commons/proper/dbcp/branches/DBCP_1_3_BRANCH/pom.xml (original)
+++ commons/proper/dbcp/branches/DBCP_1_3_BRANCH/pom.xml Mon Dec  7 03:56:29 2009
@@ -27,7 +27,7 @@
   &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
   &lt;groupId&gt;commons-dbcp&lt;/groupId&gt;
   &lt;artifactId&gt;commons-dbcp&lt;/artifactId&gt;
-  &lt;version&gt;1.4&lt;/version&gt;
+  &lt;version&gt;1.3&lt;/version&gt;
   &lt;name&gt;Commons DBCP&lt;/name&gt;
 
   &lt;inceptionYear&gt;2001&lt;/inceptionYear&gt;
@@ -49,8 +49,8 @@
 
   &lt;scm&gt;
     &lt;connection&gt;scm:svn:http://svn.apache.org/repos/asf/commons/proper/dbcp/trunk&lt;/connection&gt;
-    &lt;developerConnection&gt;scm:svn:https://svn.apache.org/repos/asf/commons/proper/dbcp/trunk&lt;/developerConnection&gt;
-    &lt;url&gt;http://svn.apache.org/viewvc/commons/proper/dbcp/trunk&lt;/url&gt;
+    &lt;developerConnection&gt;scm:svn:https://svn.apache.org/repos/asf/commons/proper/dbcp/branches/DBCP_1_3_BRANCH&lt;/developerConnection&gt;
+    &lt;url&gt;http://svn.apache.org/viewvc/commons/proper/dbcp/branches/DBCP_1_3_BRANCH&lt;/url&gt;
   &lt;/scm&gt;
 
   &lt;developers&gt;
@@ -214,12 +214,11 @@
   &lt;/dependencies&gt;
 
   &lt;properties&gt;
-    &lt;!-- Target Java versions are actually 1.4, 1.5 and 1.6
-         but maven build only supports 1.6 --&gt;
-    &lt;maven.compile.source&gt;1.6&lt;/maven.compile.source&gt;
-    &lt;maven.compile.target&gt;1.6&lt;/maven.compile.target&gt;
+    &lt;!-- Target Java versions are actually 1.4, 1.5 and 1.6 --&gt;
+    &lt;maven.compile.source&gt;1.4&lt;/maven.compile.source&gt;
+    &lt;maven.compile.target&gt;1.4&lt;/maven.compile.target&gt;
     &lt;commons.componentid&gt;dbcp&lt;/commons.componentid&gt;
-    &lt;commons.release.version&gt;1.4&lt;/commons.release.version&gt;
+    &lt;commons.release.version&gt;1.3&lt;/commons.release.version&gt;
     &lt;commons.binary.suffix&gt;&lt;/commons.binary.suffix&gt;
     &lt;commons.jira.id&gt;DBCP&lt;/commons.jira.id&gt;
     &lt;commons.jira.pid&gt;12310469&lt;/commons.jira.pid&gt;
@@ -345,8 +344,6 @@
           &lt;configuration&gt;
             &lt;xmlPath&gt;${basedir}/xdocs/changes.xml&lt;/xmlPath&gt;
             &lt;issueLinkTemplate&gt;%URL%/%ISSUE%&lt;/issueLinkTemplate&gt;
-            &lt;template&gt;dbcp-release-notes.vm&lt;/template&gt;
-            &lt;templateDirectory&gt;src/template&lt;/templateDirectory&gt;
           &lt;/configuration&gt;
           &lt;reportSets&gt;
             &lt;reportSet&gt;




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887830 - /commons/proper/dbcp/branches/DBCP_1_3_BRANCH/</title>
<author><name>psteitz@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207034536.06F52238898A@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207034536-06F52238898A@eris-apache-org%3e</id>
<updated>2009-12-07T03:45:35Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: psteitz
Date: Mon Dec  7 03:45:35 2009
New Revision: 887830

URL: http://svn.apache.org/viewvc?rev=887830&amp;view=rev
Log:
Copied 1.4-RC1 tag to 1.3 release branch.

Added:
    commons/proper/dbcp/branches/DBCP_1_3_BRANCH/
      - copied from r887825, commons/proper/dbcp/tags/DBCP_1_4_RC1/



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887825 - /commons/proper/dbcp/tags/DBCP_1_4_RC1/</title>
<author><name>psteitz@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207023223.67ABD23889BF@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207023223-67ABD23889BF@eris-apache-org%3e</id>
<updated>2009-12-07T02:32:23Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: psteitz
Date: Mon Dec  7 02:32:21 2009
New Revision: 887825

URL: http://svn.apache.org/viewvc?rev=887825&amp;view=rev
Log:
Tagged DBCP 1.4-RC1.

Added:
    commons/proper/dbcp/tags/DBCP_1_4_RC1/
      - copied from r887823, commons/proper/dbcp/trunk/



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887822 - /commons/proper/dbcp/trunk/RELEASE-NOTES.txt</title>
<author><name>psteitz@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207022623.4E48823889BF@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207022623-4E48823889BF@eris-apache-org%3e</id>
<updated>2009-12-07T02:26:22Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: psteitz
Date: Mon Dec  7 02:26:18 2009
New Revision: 887822

URL: http://svn.apache.org/viewvc?rev=887822&amp;view=rev
Log:
Added release notes (modified version of file generated by mvn changes:announcement-generate).

Added:
    commons/proper/dbcp/trunk/RELEASE-NOTES.txt   (with props)

Added: commons/proper/dbcp/trunk/RELEASE-NOTES.txt
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/RELEASE-NOTES.txt?rev=887822&amp;view=auto
==============================================================================
--- commons/proper/dbcp/trunk/RELEASE-NOTES.txt (added)
+++ commons/proper/dbcp/trunk/RELEASE-NOTES.txt Mon Dec  7 02:26:18 2009
@@ -0,0 +1,131 @@
+                        
+
+              commons-dbcp-1.3/1.4 RELEASE NOTES
+
+This release includes new features as well as bug fixes and enhancements. Some bug fixes
change semantics
+(e.g. connection close is now idempotent).  The 1.3 and 1.4 releases of DBCP are built from
the same sources.
+Version 1.4 supports JDBC 4, so requires JDK 1.6.  Version 1.3 supports JDBC 3 and has JDK
1.4 as its minimum
+JDK requirement.  Other than support for the added methods in JDBC 4, there is nothing new
or different in
+DBCP 1.4 vs. DBCP 1.3. Applications running under JDK 1.4-1.5 must use DBCP 1.3.  Applications
running under
+JDK 1.6 may use DBCP 1.4.
+
+Changes since DBCP 1.2.2 include:
+
+New features:
+o  DBCP-204:  Made PoolingConnection pool CallableStatements. When BasicDataSource's 
+        poolPreparedStatements property is true, CallableStatements are now
+        pooled along with PreparedStatements. The maxOpenPreparedStatements
+        property limits the combined number of Callable and Prepared statements
+        that can be in use at a given time. Thanks to Wei Chen. 
+o  DBCP-226:  Added a validationQueryTimeout configuration parameter to BasicDataSource
+        allowing the user to specify a timeout value (in seconds) for connection
+        validation queries. 
+o  DBCP-175:  Added a connectionInitSqls configuration parameter to BasicDataSource
+        allowing the user to specify a collection of SQL statements to execute
+        one time when a physical database connection is first opened. Thanks to Jiri Melichna
and Jerome Lacoste. 
+o  DBCP-228:  Added support for pooling managed connections. Thanks to Dain Sundstrom. 
+o  DBCP-230:  Added BasicManagedDataSource, extending BasicDataSource.
+        Also improved extensibility of BasicDataSource by encapsulating
+        methods to create object pool, connection factory and datasource
+        instance previously embedded in createDataSource. Thanks to Dain Sundstrom. 
+
+Fixed Bugs:
+o  DBCP-303:  Ensure Statement.getGeneratedKeys() works correctly with the CPDS
+        adapter. Thanks to Dave Oxley. 
+o  DBCP-302:  Removed incorrectly advertised ClassNotFoundException from
+        JOCLContentHandler.ConstructorDetails.createObject(). Thanks to Sebastian Bazley.

+o  DBCP-8:  Handle user password changes for InstanceKeyDataSources. 
+o  DBCP-294:  Added PoolableManagedConnection and PoolableManagedConnectionFactory so that
+        pooled managed connections can unregister themselves from transaction registries,
+        avoiding resource leaks. Thanks to Philippe Mouawad. 
+o  PoolableConnectionFactory.makeObject() is no longer synchronized. This
+        provides improved response times when load spikes at the cost of a
+        faster rise in database server load. This change was made as a partial
+        fix for DBCP-212 although it does not fully address that issue. 
+o  DBCP-242:  Reverted DelegatingConnection close to 1.2.2 version to ensure
+        open statements are closed before the underlying connection is closed. 
+o  Add some test cases that were missing from the TestAll test suite. 
+o  DBCP-235:  Refactor DelegatingConnection and ManagedConnection enable overridden
+        equals() and hashcode() to work correctly. 
+o  DBCP-215:  Modified BasicDataSourceFactory to complete initialization of the pool
+        by creating initialSize connections rather than leaving this to lazy
+        initialization when the pool is used. 
+o  DBCP-253:  Eliminated masked _stmt field in descendents of DelegatingStatement. 
+o  DBCP-191:  Modified DBCP sources to support compilation under JDK 1.4-1.6
+        using Ant flags to do conditional compilation. Thanks to Michael Heuer and J. David
Beutel. 
+o  DBCP-272:  Added a static initializer to BasicDatasource that calls
+        DriverManager.getDrivers() to force initialization before we ever do
+        anything that might use Class.forName() to load (and register) a JDBC
+        driver. 
+o  DBCP-4:  Eliminated direct System.out calls in AbandonedTrace. 
+o  DBCP-264:  Modified DelegatingStatment close to clear open batches. 
+o  DBCP-255:  Eliminated unused private "parent" field in AbandonedTrace. 
+o  DBCP-273:  Fixed errors handling boolean-valued Reference properties in 
+        InstanceKeyObjectFactory, DriverAdapterCPDS that were causing 
+        testOnBorrow and poolPreparedStatements properties to be incorrectly
+        set when creating objects from javax.naming.Reference instances. Thanks to Mark Lin.

+o  DBCP-271:  Made private instance fields of AbandonedTrace volatile (parent,
+        createdBy, lastUsed, createdTime) or final (trace). Thanks to Sebastian Bazley. 
+o  DBCP-270:  Narrowed synchronization in AbandonedTrace to resolve an Evictor deadlock.
Thanks to Filip Hanik. 
+o  DBCP-218:  Corrected Javadoc to state that getLoginTimeout and setLoginTimeout are
+        NOT supported by BasicDataSource. 
+o  DBCP-221:  BasicDataSource.close() now permanently marks the data source as closed,
+        and no new connections can be obtained from the data source. At close all
+        idle connections are destroyed and the method returns.  As the remaining
+        active connections are closed, they are destroyed. 
+o  DBCP-241:  Eliminated potential sources of NullPointerExceptions in 
+        PoolingConnection. 
+o  DBCP-216:  Improved error recovery and listener cleanup in 
+        KeyedCPDSConnectionFactory. Substituted calls to destroyObject with
+         _pool.invalidateObject on error to ensure pool active count is
+        decremented on error events. Ensured that events from closed or invalid
+        connections are ignored and listeners are cleaned up. Thanks to Marcos Sanz. 
+o  DBCP-245:  Fixed error in SharedPoolDataSource causing incorrect passwords to be 
+        stored under certain conditions. Thanks to Michael Drechsel. 
+o  DBCP-237:  Added exception handler to ensure that PooledConnections are not
+        orphaned when an exception occurs in setUpDefaults or clearWarnings in 
+        IntanceKeyDataSource.getConnection. Thanks to Oliver Matz. 
+o  DBCP-252:  Made getPool synchronized in PoolableConnectionFactory.
+        Fixes inconsistent synchronization accessing _pool. Thanks to FindBugs. 
+o  DBCP-252:  Fixed inconsistent synchronization on _rollbackAfterValidation,
+        _validationQuery and _pool in CPDSConnectionFactory and 
+        KeyedCPDSConnectionFactory by making the first two volatile and making
+        both getter and setter for _pool synchronized. Thanks to FindBugs. 
+
+Changes:
+o  DBCP-305:  Use an API specific exception for logging abandoned objects to make
+        scanning the logs for these exceptions simpler and to provide a better
+        message that includes the creation time of the abandoned object. Thanks to Christopher
Schultz. 
+o  DBCP-203:  Make the class loader used to load the JDBC driver configurable for the
+        BasicDatasource. Thanks to Mark Grand. 
+o  DBCP-289:  Made XADataSource configurable in BasicManagedDataSource. Thanks to Marc Kannegießer.

+o  DBCP-276:  Added connectionProperties property to DriverAdapterCPDS. 
+o  DBCP-265:  Add a DelegatingDatabaseMetaData to track ResultSets returned from
+        DatabaseMetaData objects. 
+o  DBCP-211:  Added Maven 2 pom.xml. Removed a block of code from TestJOCLed that set
+        the Xerces parser manually. This was to support early JDKs. The 1.3
+        version of DBCP requires JDK 1.4+. 
+o  DBCP-233:  Changed behavior to allow Connection, Statement, PreparedStatement,
+        CallableStatement and ResultSet to be closed multiple times. The first
+        time close is called the resource is closed and any subsequent calls
+        have no effect. This behavior is required as per the JavaDocs for these
+        classes. Also added tests for closing all types multiple times and
+        updated any tests that incorrectly assert that a resource can not be
+        closed more then once.  Fixes DBCP-3, DBCP-5, DBCP-23 and DBCP-134. Thanks to Dain
Sundstrom. 
+o  DBCP-11:  Modified PoolingDataSource, PoolingDriver and DelegatingStatement to
+        assure that all returned Statements, PreparedStatements, 
+        CallableStatements and ResultSets are wrapped with a delegating object,
+        which already properly handle the back pointers for Connection and
+        Statement.  Also added tests to to assure that the *same* object used 
+        to create the statement or result set is returned  from either 
+        getConnection() or getStatement(). Thanks to Dain Sundstrom. 
+o  DBCP-143:  SQLNestedException has been deprecated and will be replaced in DBCP 1.4 with
+        SQLException and standard Java exception chaining. 
+
+ 
+For complete information on commons-dbcp, including instructions on how to submit bug reports,
+patches, or suggestions for improvement, see the commons-dbcp website:
+
+http://commons.apache.org/dbcp/
+
+

Propchange: commons/proper/dbcp/trunk/RELEASE-NOTES.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: commons/proper/dbcp/trunk/RELEASE-NOTES.txt
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: commons/proper/dbcp/trunk/RELEASE-NOTES.txt
------------------------------------------------------------------------------
    svn:mime-type = text/plain




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887821 - /commons/proper/dbcp/trunk/xdocs/download_dbcp.xml</title>
<author><name>psteitz@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207022318.B9A7A23889BF@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207022318-B9A7A23889BF@eris-apache-org%3e</id>
<updated>2009-12-07T02:23:16Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: psteitz
Date: Mon Dec  7 02:23:10 2009
New Revision: 887821

URL: http://svn.apache.org/viewvc?rev=887821&amp;view=rev
Log:
Modified (commons-build-generated) download page to include links to both 1.3 and 1.4 releases.

Modified:
    commons/proper/dbcp/trunk/xdocs/download_dbcp.xml

Modified: commons/proper/dbcp/trunk/xdocs/download_dbcp.xml
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/xdocs/download_dbcp.xml?rev=887821&amp;r1=887820&amp;r2=887821&amp;view=diff
==============================================================================
--- commons/proper/dbcp/trunk/xdocs/download_dbcp.xml (original)
+++ commons/proper/dbcp/trunk/xdocs/download_dbcp.xml Mon Dec  7 02:23:10 2009
@@ -18,28 +18,24 @@
 &lt;!--
  +======================================================================+
  |****                                                              ****|
- |****      THIS FILE IS GENERATED BY THE COMMONS BUILD PLUGIN      ****|
- |****                    DO NOT EDIT DIRECTLY                      ****|
+ |****      THIS IS A MODIFIED VERSION OF THE FILE GENERATED        ****|
+ |****      BY THE COMMONS BUILD PLUGIN.  THE MODIFICATION          ****|
+ |****      DISPLAYS DOWNLOAD LINKS FOR TWO RELEASE VERSIONS        ****|
+ |****      (DBCP 1.3 and 1.4).                                     ****|
  |****                                                              ****|
  +======================================================================+
  | TEMPLATE FILE: download-page-template.xml                            |
  | commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates |
  +======================================================================+
  |                                                                      |
- | 1) Re-generate using: mvn commons:download-page                      |
+ | To regenerate this file:                                             |    
  |                                                                      |
- | 2) Set the following properties in the component's pom:              |
- |    - commons.componentid (required, alphabetic, lower case)          |
- |    - commons.release.version (required)                              |
- |    - commons.binary.suffix (optional)                                |
- |      (defaults to "-bin", set to "" for pre-maven2 releases)         |
+ | 0) Make sure commons.release.version is set correcly in pom.xml.     |
  |                                                                      |
- | 3) Example Properties                                                |
+ | 1) Execute "mvn commons:download-page"                               |
+ |                                                                      |               
                                                   |
+ | 2) Add the sections marked "ADDITIONAL RELEASE"                      |
  |                                                                      |
- |  &lt;properties&gt;                                                        |
- |    &lt;commons.componentid&gt;math&lt;/commons.componentid&gt;                   |
- |    &lt;commons.release.version&gt;1.2&lt;/commons.release.version&gt;            |
- |  &lt;/properties&gt;                                                       |
  |                                                                      |
  +======================================================================+
 --&gt;
@@ -99,20 +95,23 @@
 
       &lt;p&gt;
         &lt;div class="links"&gt;&lt;span class="link"&gt;&lt;a href="http://www.apache.org/dist/commons/KEYS"&gt;KEYS&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
+        &lt;!-- ADDITIONAL RELEASE --&gt;
+        &lt;subsection name="Latest Release for JDBC 4 (JDK 1.6)"&gt;
+        &lt;!-- END ADDITIONAL RELEASE --&gt;
         &lt;ul class="downloads"&gt;
           &lt;li class="group"&gt;&lt;div class="links"&gt;&lt;span class="label"&gt;Binary&lt;/span&gt;&lt;/div&gt;
             &lt;ul&gt;
-              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/dbcp/binaries/commons-dbcp-1.2.2.tar.gz"&gt;1.2.2.tar.gz&lt;/a&gt;
+              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/dbcp/binaries/commons-dbcp-1.4.tar.gz"&gt;1.4.tar.gz&lt;/a&gt;
                 &lt;ul class="attributes"&gt;
-                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.2.2.tar.gz.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
-                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.2.2.tar.gz.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
+                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.4.tar.gz.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
+                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.4.tar.gz.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
                   &lt;/li&gt;
                 &lt;/ul&gt;
               &lt;/li&gt;
-              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/dbcp/binaries/commons-dbcp-1.2.2.zip"&gt;1.2.2.zip&lt;/a&gt;
+              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/dbcp/binaries/commons-dbcp-1.4.zip"&gt;1.4.zip&lt;/a&gt;
                 &lt;ul class="attributes"&gt;
-                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.2.2.zip.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
-                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.2.2.zip.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
+                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.4.zip.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
+                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.4.zip.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
                   &lt;/li&gt;
                 &lt;/ul&gt;
               &lt;/li&gt;
@@ -120,17 +119,17 @@
           &lt;/li&gt;
           &lt;li class="group"&gt;&lt;div class="links"&gt;&lt;span class="label"&gt;Source&lt;/span&gt;&lt;/div&gt;
             &lt;ul&gt;
-              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/dbcp/source/commons-dbcp-1.2.2-src.tar.gz"&gt;1.2.2.tar.gz&lt;/a&gt;
+              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/dbcp/source/commons-dbcp-1.4-src.tar.gz"&gt;1.4.tar.gz&lt;/a&gt;
                 &lt;ul class="attributes"&gt;
-                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/source/commons-dbcp-1.2.2-src.tar.gz.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
-                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/source/commons-dbcp-1.2.2-src.tar.gz.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
+                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/source/commons-dbcp-1.4-src.tar.gz.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
+                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/source/commons-dbcp-1.4-src.tar.gz.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
                   &lt;/li&gt;
                 &lt;/ul&gt;
               &lt;/li&gt;
-              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/dbcp/source/commons-dbcp-1.2.2-src.zip"&gt;1.2.2.zip&lt;/a&gt;
+              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/dbcp/source/commons-dbcp-1.4-src.zip"&gt;1.4.zip&lt;/a&gt;
                 &lt;ul class="attributes"&gt;
-                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/source/commons-dbcp-1.2.2-src.zip.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
-                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/source/commons-dbcp-1.2.2-src.zip.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
+                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/source/commons-dbcp-1.4-src.zip.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
+                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/source/commons-dbcp-1.4-src.zip.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
                   &lt;/li&gt;
                 &lt;/ul&gt;
               &lt;/li&gt;
@@ -139,7 +138,54 @@
           &lt;li class="download"&gt;&lt;a href="[preferred]/commons/dbcp/"&gt;browse download
area&lt;/a&gt;&lt;/li&gt;
           &lt;li&gt;&lt;a href="http://archive.apache.org/dist/commons/dbcp/"&gt;archives...&lt;/a&gt;&lt;/li&gt;
         &lt;/ul&gt;
+        &lt;!-- ADDITIONAL RELEASE --&gt;
+        &lt;/subsection&gt;
+        &lt;!-- END ADDITIONAL RELEASE --&gt;
       &lt;/p&gt;
+      &lt;!-- ADDITIONAL RELEASE --&gt;
+      &lt;p&gt;
+        &lt;subsection name="Latest Release for JDBC 3 (JDK 1.4-1.5)"&gt;
+        &lt;ul class="downloads"&gt;
+          &lt;li class="group"&gt;&lt;div class="links"&gt;&lt;span class="label"&gt;Binary&lt;/span&gt;&lt;/div&gt;
+            &lt;ul&gt;
+              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/dbcp/binaries/commons-dbcp-1.3.tar.gz"&gt;1.3.tar.gz&lt;/a&gt;
+                &lt;ul class="attributes"&gt;
+                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.3.tar.gz.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
+                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.3.tar.gz.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
+                  &lt;/li&gt;
+                &lt;/ul&gt;
+              &lt;/li&gt;
+              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/dbcp/binaries/commons-dbcp-1.3.zip"&gt;1.3.zip&lt;/a&gt;
+                &lt;ul class="attributes"&gt;
+                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.3.zip.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
+                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.3.zip.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
+                  &lt;/li&gt;
+                &lt;/ul&gt;
+              &lt;/li&gt;
+            &lt;/ul&gt;
+          &lt;/li&gt;
+          &lt;li class="group"&gt;&lt;div class="links"&gt;&lt;span class="label"&gt;Source&lt;/span&gt;&lt;/div&gt;
+            &lt;ul&gt;
+              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/dbcp/source/commons-dbcp-1.3-src.tar.gz"&gt;1.3.tar.gz&lt;/a&gt;
+                &lt;ul class="attributes"&gt;
+                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/source/commons-dbcp-1.3-src.tar.gz.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
+                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/source/commons-dbcp-1.3-src.tar.gz.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
+                  &lt;/li&gt;
+                &lt;/ul&gt;
+              &lt;/li&gt;
+              &lt;li class="download"&gt;&lt;a href="[preferred]/commons/dbcp/source/commons-dbcp-1.3-src.zip"&gt;1.3.zip&lt;/a&gt;
+                &lt;ul class="attributes"&gt;
+                  &lt;li&gt;&lt;span class="md5"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/source/commons-dbcp-1.3-src.zip.md5"&gt;md5&lt;/a&gt;]&lt;/span&gt;
+                      &lt;span class="pgp"&gt;[&lt;a href="http://www.apache.org/dist/commons/dbcp/source/commons-dbcp-1.3-src.zip.asc"&gt;pgp&lt;/a&gt;]&lt;/span&gt;
+                  &lt;/li&gt;
+                &lt;/ul&gt;
+              &lt;/li&gt;
+            &lt;/ul&gt;
+          &lt;/li&gt;
+        &lt;/ul&gt;
+        &lt;/subsection&gt;
+      &lt;/p&gt;
+      &lt;!-- END ADDITIONAL RELEASE --&gt;
     &lt;/section&gt;
   &lt;/body&gt;
 &lt;/document&gt;




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887820 - /commons/proper/dbcp/trunk/src/site/site.xml</title>
<author><name>psteitz@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207022126.AA5E323889BF@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207022126-AA5E323889BF@eris-apache-org%3e</id>
<updated>2009-12-07T02:21:25Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: psteitz
Date: Mon Dec  7 02:21:19 2009
New Revision: 887820

URL: http://svn.apache.org/viewvc?rev=887820&amp;view=rev
Log:
Prepare for 1.3/1/4 release.

Modified:
    commons/proper/dbcp/trunk/src/site/site.xml

Modified: commons/proper/dbcp/trunk/src/site/site.xml
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/site/site.xml?rev=887820&amp;r1=887819&amp;r2=887820&amp;view=diff
==============================================================================
--- commons/proper/dbcp/trunk/src/site/site.xml (original)
+++ commons/proper/dbcp/trunk/src/site/site.xml Mon Dec  7 02:21:19 2009
@@ -27,7 +27,9 @@
         &lt;item name="Overview" href="/index.html" /&gt;
         &lt;item name="Configuration" href="/configuration.html" /&gt;
         &lt;item name="Javadoc (1.2.2 release)" href="http://commons.apache.org/dbcp/api-1.2.2/index.html"/&gt;
-        &lt;item name="Javadoc (1.3-SNAPSHOT)" href="apidocs/index.html"/&gt;
+        &lt;item name="Javadoc (1.3 release)" href="http://commons.apache.org/dbcp/api-1.3/index.html"/&gt;
+        &lt;item name="Javadoc (1.4 release)" href="http://commons.apache.org/dbcp/api-1.4/index.html"/&gt;
+        &lt;item name="Javadoc (1.4.1-SNAPSHOT)" href="apidocs/index.html"/&gt;
         &lt;item name="Developers&amp;#xA0;Guide" href="/guide/index.html" collapse="true"&gt;
         &lt;item name="JNDI&amp;#xA0;Howto"  href="/guide/jndi-howto.html"/&gt;
         &lt;item name="Class&amp;#xA0;Diagrams" href="/guide/classdiagrams.html"/&gt;




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887819 - /commons/proper/dbcp/trunk/xdocs/navigation.xml</title>
<author><name>psteitz@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207021929.6C17B23889BF@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207021929-6C17B23889BF@eris-apache-org%3e</id>
<updated>2009-12-07T02:19:29Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: psteitz
Date: Mon Dec  7 02:19:09 2009
New Revision: 887819

URL: http://svn.apache.org/viewvc?rev=887819&amp;view=rev
Log:
Deleted obsolete maven 1 file.

Removed:
    commons/proper/dbcp/trunk/xdocs/navigation.xml



</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887815 - /commons/proper/jelly/branches/MAVEN-2-BRANCH/jelly-tags/xml/pom.xml</title>
<author><name>niallp@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091207012004.3FEA7238899B@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091207012004-3FEA7238899B@eris-apache-org%3e</id>
<updated>2009-12-07T01:20:04Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: niallp
Date: Mon Dec  7 01:20:03 2009
New Revision: 887815

URL: http://svn.apache.org/viewvc?rev=887815&amp;view=rev
Log:
Fix tests

Modified:
    commons/proper/jelly/branches/MAVEN-2-BRANCH/jelly-tags/xml/pom.xml

Modified: commons/proper/jelly/branches/MAVEN-2-BRANCH/jelly-tags/xml/pom.xml
URL: http://svn.apache.org/viewvc/commons/proper/jelly/branches/MAVEN-2-BRANCH/jelly-tags/xml/pom.xml?rev=887815&amp;r1=887814&amp;r2=887815&amp;view=diff
==============================================================================
--- commons/proper/jelly/branches/MAVEN-2-BRANCH/jelly-tags/xml/pom.xml (original)
+++ commons/proper/jelly/branches/MAVEN-2-BRANCH/jelly-tags/xml/pom.xml Mon Dec  7 01:20:03
2009
@@ -55,8 +55,7 @@
 
   &lt;build&gt;
     &lt;sourceDirectory&gt;src/java&lt;/sourceDirectory&gt;
-    &lt;!-- comment out test source until tests stop failing --&gt;
-    &lt;!--testSourceDirectory&gt;src/test&lt;/testSourceDirectory--&gt;
+    &lt;testSourceDirectory&gt;src/test&lt;/testSourceDirectory&gt;
 
     &lt;resources&gt;
       &lt;resource&gt;
@@ -78,6 +77,10 @@
           &lt;include&gt;**/*.xml&lt;/include&gt;
         &lt;/includes&gt;
       &lt;/testResource&gt;
+      &lt;testResource&gt;
+        &lt;directory&gt;src/test/resources&lt;/directory&gt;
+        &lt;targetPath&gt;resources&lt;/targetPath&gt;
+      &lt;/testResource&gt;
     &lt;/testResources&gt;
 
     &lt;plugins&gt;




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887801 - /commons/proper/jelly/branches/MAVEN-2-BRANCH/jelly/src/java/org/apache/commons/jelly/tags/core/BreakTag.java</title>
<author><name>niallp@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091206234344.7D79523889CF@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091206234344-7D79523889CF@eris-apache-org%3e</id>
<updated>2009-12-06T23:43:44Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: niallp
Date: Sun Dec  6 23:43:44 2009
New Revision: 887801

URL: http://svn.apache.org/viewvc?rev=887801&amp;view=rev
Log:
minor javadoc correction

Modified:
    commons/proper/jelly/branches/MAVEN-2-BRANCH/jelly/src/java/org/apache/commons/jelly/tags/core/BreakTag.java

Modified: commons/proper/jelly/branches/MAVEN-2-BRANCH/jelly/src/java/org/apache/commons/jelly/tags/core/BreakTag.java
URL: http://svn.apache.org/viewvc/commons/proper/jelly/branches/MAVEN-2-BRANCH/jelly/src/java/org/apache/commons/jelly/tags/core/BreakTag.java?rev=887801&amp;r1=887800&amp;r2=887801&amp;view=diff
==============================================================================
--- commons/proper/jelly/branches/MAVEN-2-BRANCH/jelly/src/java/org/apache/commons/jelly/tags/core/BreakTag.java
(original)
+++ commons/proper/jelly/branches/MAVEN-2-BRANCH/jelly/src/java/org/apache/commons/jelly/tags/core/BreakTag.java
Sun Dec  6 23:43:44 2009
@@ -23,7 +23,7 @@
 import org.apache.commons.jelly.expression.Expression;
 
 /**
- * A tag which terminates the execution of the current &amp;lt;forEach&amp;gt; or &amp;lg;while&amp;gt;
+ * A tag which terminates the execution of the current &amp;lt;forEach&amp;gt; or &amp;lt;while&amp;gt;
  * loop. This tag can take an optional boolean test attribute which if its true
  * then the break occurs otherwise the loop continues processing.
  *




</pre>
</div>
</content>
</entry>
<entry>
<title>svn commit: r887800 - /commons/proper/jelly/trunk/src/java/org/apache/commons/jelly/tags/core/BreakTag.java</title>
<author><name>niallp@apache.org</name></author>
<link rel="alternate" href="http://mail-archives.apache.org/mod_mbox/commons-commits/200912.mbox/%3c20091206234237.D309F23889CF@eris.apache.org%3e"/>
<id>urn:uuid:%3c20091206234237-D309F23889CF@eris-apache-org%3e</id>
<updated>2009-12-06T23:42:37Z</updated>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>
Author: niallp
Date: Sun Dec  6 23:42:37 2009
New Revision: 887800

URL: http://svn.apache.org/viewvc?rev=887800&amp;view=rev
Log:
minor javadoc correction

Modified:
    commons/proper/jelly/trunk/src/java/org/apache/commons/jelly/tags/core/BreakTag.java

Modified: commons/proper/jelly/trunk/src/java/org/apache/commons/jelly/tags/core/BreakTag.java
URL: http://svn.apache.org/viewvc/commons/proper/jelly/trunk/src/java/org/apache/commons/jelly/tags/core/BreakTag.java?rev=887800&amp;r1=887799&amp;r2=887800&amp;view=diff
==============================================================================
--- commons/proper/jelly/trunk/src/java/org/apache/commons/jelly/tags/core/BreakTag.java (original)
+++ commons/proper/jelly/trunk/src/java/org/apache/commons/jelly/tags/core/BreakTag.java Sun
Dec  6 23:42:37 2009
@@ -23,7 +23,7 @@
 import org.apache.commons.jelly.expression.Expression;
 
 /**
- * A tag which terminates the execution of the current &amp;lt;forEach&amp;gt; or &amp;lg;while&amp;gt;
+ * A tag which terminates the execution of the current &amp;lt;forEach&amp;gt; or &amp;lt;while&amp;gt;
  * loop. This tag can take an optional boolean test attribute which if its true
  * then the break occurs otherwise the loop continues processing.
  *




</pre>
</div>
</content>
</entry>
</feed>
