cziegeler 02/02/05 01:48:07
Modified: src/scratchpad/org/apache/avalon/excalibur/source
SourceParameters.java SourceUtil.java
Log:
Added new utility methods
Revision Changes Path
1.6 +2 -2
jakarta-avalon-excalibur/src/scratchpad/org/apache/avalon/excalibur/source/SourceParameters.java
Index: SourceParameters.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/src/scratchpad/org/apache/avalon/excalibur/source/SourceParameters.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- SourceParameters.java 5 Feb 2002 08:22:08 -0000 1.5
+++ SourceParameters.java 5 Feb 2002 09:48:07 -0000 1.6
@@ -19,7 +19,7 @@
* more than one value for a parameter.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a>
- * @version $Id: SourceParameters.java,v 1.5 2002/02/05 08:22:08 cziegeler
Exp $
+ * @version $Id: SourceParameters.java,v 1.6 2002/02/05 09:48:07 cziegeler
Exp $
*/
public final class SourceParameters
implements Serializable, Cloneable {
@@ -88,7 +88,7 @@
}
/**
- * Standard Constructor
+ * Standard Constructor creating an empty parameters object
*/
public SourceParameters() {
}
1.5 +63 -3
jakarta-avalon-excalibur/src/scratchpad/org/apache/avalon/excalibur/source/SourceUtil.java
Index: SourceUtil.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/src/scratchpad/org/apache/avalon/excalibur/source/SourceUtil.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- SourceUtil.java 4 Jan 2002 13:25:36 -0000 1.4
+++ SourceUtil.java 5 Feb 2002 09:48:07 -0000 1.5
@@ -7,20 +7,20 @@
*/
package org.apache.avalon.excalibur.source;
+import org.apache.avalon.framework.parameters.Parameters;
import org.xml.sax.InputSource;
-
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.BitSet;
-
+import java.util.Iterator;
/**
*
* Utility class for source resolving.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a>
- * @version CVS $Revision: 1.4 $ $Date: 2002/01/04 13:25:36 $
+ * @version CVS $Revision: 1.5 $ $Date: 2002/02/05 09:48:07 $
*/
public final class SourceUtil
{
@@ -34,6 +34,66 @@
'o', 'p', 'q', 'r', 's', 't', 'u', 'v', // 40 to 47
'w', 'x', 'y', 'z', '0', '1', '2', '3', // 48 to 55
'4', '5', '6', '7', '8', '9', '+', '/' }; // 56 to 63
+
+ /**
+ * Append parameters to the uri.
+ * Each parameter is appended to the uri with "parameter=value",
+ * the parameters are separated by "&".
+ */
+ public static String appendParameters(String uri,
+ Parameters parameters) {
+ if (parameters != null) {
+ StringBuffer buffer = new StringBuffer(uri);
+ String[] keys = parameters.getNames();
+ String current;
+ char separator = (uri.indexOf("?") == -1 ? '?' : '&');
+
+ if (keys != null) {
+ for(int i=0;i<keys.length;i++) {
+ current = keys[i];
+ buffer.append(separator)
+ .append(current)
+ .append('=')
+
.append(SourceUtil.encode(parameters.getParameter(current, null)));
+ separator = '&';
+ }
+ }
+ return buffer.toString();
+ }
+
+ return uri;
+ }
+
+ /**
+ * Append parameters to the uri
+ * Each parameter is appended to the uri with "parameter=value",
+ * the parameters are separated by "&".
+ */
+ public static String appendParameters(String uri,
+ SourceParameters parameters) {
+ if (parameters != null) {
+ StringBuffer buffer = new StringBuffer(uri);
+ Iterator keys = parameters.getParameterNames();
+ String current;
+ char separator = (uri.indexOf("?") == -1 ? '?' : '&');
+ Iterator values;
+
+ while (keys.hasNext() == true) {
+ current = (String)keys.next();
+ values = parameters.getParameterValues(current);
+ while (values.hasNext() == true) {
+ buffer.append(separator)
+ .append(current)
+ .append('=')
+ .append(SourceUtil.encode((String)values.next()));
+ separator = '&';
+ }
+ }
+ return buffer.toString();
+ }
+
+ return uri;
+ }
/**
* BASE 64 encoding.
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>