You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Davanum Srinivas <di...@yahoo.com> on 2001/10/11 23:41:04 UTC

Consolidated patches against latest CVS.

Team,

Here's the latest consolidated set of patches against the latest (ever-churning!!!) cvs.

- Support for hexBinary
- Make latest Jikes compiler happy
- Pick up jars from java\lib for running functional tests

Thanks,
dims


=====
Davanum Srinivas - http://jguru.com/dims/

__________________________________________________
Do You Yahoo!?
Make a great connection at Yahoo! Personals.
http://personals.yahoo.com

Re: Consolidated patches against latest CVS.

Posted by Glen Daniels <gd...@macromedia.com>.
Dims:

I will get this stuff committed tomorrow if no one else gets to it.

--Glen

----- Original Message -----
From: "Davanum Srinivas" <di...@yahoo.com>
To: <ax...@xml.apache.org>
Sent: Thursday, October 11, 2001 4:41 PM
Subject: Consolidated patches against latest CVS.


> Team,
>
> Here's the latest consolidated set of patches against the latest
(ever-churning!!!) cvs.
>
> - Support for hexBinary
> - Make latest Jikes compiler happy
> - Pick up jars from java\lib for running functional tests
>
> Thanks,
> dims
>
>
> =====
> Davanum Srinivas - http://jguru.com/dims/
>
> __________________________________________________
> Do You Yahoo!?
> Make a great connection at Yahoo! Personals.
> http://personals.yahoo.com
>
>


----------------------------------------------------------------------------
----


> cvs server: Diffing xml-axis
> cvs server: Diffing xml-axis/java
> cvs server: Diffing xml-axis/java/docs
> cvs server: Diffing xml-axis/java/lib
> cvs server: Diffing xml-axis/java/samples
> cvs server: Diffing xml-axis/java/samples/addr
> cvs server: Diffing xml-axis/java/samples/bidbuy
> cvs server: Diffing xml-axis/java/samples/echo
> Index: xml-axis/java/samples/echo/EchoService.java
> ===================================================================
> RCS file: /home/cvs/xml-axis/java/samples/echo/EchoService.java,v
> retrieving revision 1.7
> diff -w -b -B -d -u -r1.7 EchoService.java
> --- xml-axis/java/samples/echo/EchoService.java 2001/08/17 18:55:15 1.7
> +++ xml-axis/java/samples/echo/EchoService.java 2001/10/11 21:30:58
> @@ -143,6 +143,13 @@
>      }
>
>      /**
> +     * This methods accepts a hex object and echoes it back to the
client.
> +     */
> +    public org.apache.axis.encoding.Hex
echoHex(org.apache.axis.encoding.Hex input) {
> +        return input;
> +    }
> +
> +    /**
>       * This method accepts a Date/Time and echoes it back to the client.
>       */
>      public Date echoDate(Date input) {
> Index: xml-axis/java/samples/echo/TestClient.java
> ===================================================================
> RCS file: /home/cvs/xml-axis/java/samples/echo/TestClient.java,v
> retrieving revision 1.28
> diff -w -b -B -d -u -r1.28 TestClient.java
> --- xml-axis/java/samples/echo/TestClient.java 2001/09/12 14:57:42 1.28
> +++ xml-axis/java/samples/echo/TestClient.java 2001/10/11 21:30:58
> @@ -212,6 +212,7 @@
>            new SOAPStruct(3, "three", 3.3F)});
>          test("Void        ", null);
>          test("Base64      ", "Base64".getBytes());
> +        test("Hex         ", new org.apache.axis.encoding.Hex("3344"));
>          test("Date        ", new Date());
>          test("Decimal     ", new BigDecimal("3.14159"));
>          test("Boolean     ", Boolean.TRUE);
> cvs server: Diffing xml-axis/java/samples/encoding
> cvs server: Diffing xml-axis/java/samples/misc
> cvs server: Diffing xml-axis/java/samples/proxy
> Index: xml-axis/java/samples/proxy/ProxyService.java
> ===================================================================
> RCS file: /home/cvs/xml-axis/java/samples/proxy/ProxyService.java,v
> retrieving revision 1.4
> diff -w -b -B -d -u -r1.4 ProxyService.java
> --- xml-axis/java/samples/proxy/ProxyService.java 2001/10/11 19:40:40 1.4
> +++ xml-axis/java/samples/proxy/ProxyService.java 2001/10/11 21:30:58
> @@ -78,7 +78,7 @@
>      /**
>       * Process the given message, treating it as raw XML.
>       */
> -    public Document ProxyService(MessageContext msgContext)
> +    public Document processMessage (MessageContext msgContext)
>          throws AxisFault
>      {
>          try {
> Index: xml-axis/java/samples/proxy/deploy.xml
> ===================================================================
> RCS file: /home/cvs/xml-axis/java/samples/proxy/deploy.xml,v
> retrieving revision 1.1
> diff -w -b -B -d -u -r1.1 deploy.xml
> --- xml-axis/java/samples/proxy/deploy.xml 2001/07/10 22:52:38 1.1
> +++ xml-axis/java/samples/proxy/deploy.xml 2001/10/11 21:30:58
> @@ -8,7 +8,7 @@
>
>    <service name="ProxyService" pivot="proxyPivot" >
>      <option name="className" value="samples.proxy.ProxyService" />
> -    <option name="methodName" value="ProxyService" />
> +    <option name="methodName" value="processMessage" />
>      <option name="FullMessageService" value="true" />
>      <option name="URL" value="tcp://localhost:8088/" />
>    </service>
> cvs server: Diffing xml-axis/java/samples/stock
> cvs server: Diffing xml-axis/java/samples/transport
> cvs server: Diffing xml-axis/java/samples/transport/tcp
> Index: xml-axis/java/samples/transport/tcp/AdminClient.java
> ===================================================================
> RCS file: /home/cvs/xml-axis/java/samples/transport/tcp/AdminClient.java,v
> retrieving revision 1.5
> diff -w -b -B -d -u -r1.5 AdminClient.java
> --- xml-axis/java/samples/transport/tcp/AdminClient.java 2001/09/02
04:04:22 1.5
> +++ xml-axis/java/samples/transport/tcp/AdminClient.java 2001/10/11
21:30:58
> @@ -78,9 +78,9 @@
>          try {
>              org.apache.axis.client.AdminClient.main(args);
>          }
> -        catch( Exception e ) {
> -            System.err.println( e );
> -            e.printStackTrace( System.err );
> +        catch( Throwable t ) {
> +            System.err.println( t );
> +            t.printStackTrace( System.err );
>          }
>      }
>  }
> cvs server: Diffing xml-axis/java/samples/userguide
> cvs server: Diffing xml-axis/java/samples/userguide/example1
> cvs server: Diffing xml-axis/java/samples/userguide/example2
> cvs server: Diffing xml-axis/java/samples/userguide/example3
> cvs server: Diffing xml-axis/java/samples/userguide/example4
> cvs server: Diffing xml-axis/java/samples/userguide/example5
> cvs server: Diffing xml-axis/java/src
> cvs server: Diffing xml-axis/java/src/org
> cvs server: Diffing xml-axis/java/src/org/apache
> cvs server: Diffing xml-axis/java/src/org/apache/axis
> cvs server: Diffing xml-axis/java/src/org/apache/axis/client
> cvs server: Diffing xml-axis/java/src/org/apache/axis/configuration
> cvs server: Diffing xml-axis/java/src/org/apache/axis/deployment
> cvs server: Diffing xml-axis/java/src/org/apache/axis/deployment/v2dd
> cvs server: Diffing
xml-axis/java/src/org/apache/axis/deployment/v2dd/providers
> cvs server: Diffing xml-axis/java/src/org/apache/axis/deployment/wsdd
> cvs server: Diffing
xml-axis/java/src/org/apache/axis/deployment/wsdd/providers
> cvs server: Diffing xml-axis/java/src/org/apache/axis/deployment/wsml
> cvs server: Diffing xml-axis/java/src/org/apache/axis/description
> cvs server: Diffing xml-axis/java/src/org/apache/axis/encoding
> Index: xml-axis/java/src/org/apache/axis/encoding/Hex.java
> ===================================================================
> RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/Hex.java,v
> retrieving revision 1.1
> diff -w -b -B -d -u -r1.1 Hex.java
> --- xml-axis/java/src/org/apache/axis/encoding/Hex.java 2001/10/10
12:58:11 1.1
> +++ xml-axis/java/src/org/apache/axis/encoding/Hex.java 2001/10/11
21:30:58
> @@ -54,212 +54,181 @@
>   */
>  package org.apache.axis.encoding ;
>
> +import java.io.ByteArrayOutputStream;
>  import java.io.IOException;
>  import java.io.OutputStream;
>  import java.io.Writer;
>
>  /**
> + * Custom class for supporting primitive XSD data type hexBinary.
>   *
> - * @author TAMURA Kent &lt;kent@trl.ibm.co.jp&gt;
> + * @author Davanum Srinivas <di...@yahoo.com>
>   */
> -public class Hex {
> -    private static final char[] S_HEXCHAR = {
> -        '0', '1', '2', '3', '4', '5', '6', '7',
> -        '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
> -    };
> -    private static final char S_HEXPAD = '=';
> -    private static final byte[] S_DECODETABLE = new byte[32];
> -    static {
> -        for (int i = 0;  i < S_DECODETABLE.length;  i ++)
> -            S_DECODETABLE[i] = Byte.MAX_VALUE;  // 127
> -        for (int i = 0;  i < S_HEXCHAR.length;  i ++) // 0 to 15
> -            S_DECODETABLE[S_HEXCHAR[i]] = (byte)i;
> +public class Hex extends Object{
> +
> +    byte[] m_value = null;
> +
> +    public Hex() {
>      }
>
> -    private static int decode0(char[] ibuf, byte[] obuf, int wp) {
> -        int b0 = S_DECODETABLE[ibuf[0]];
> -        int b1 = S_DECODETABLE[ibuf[1]];
> -        obuf[wp] = (byte)(b0 << 2 & 0xfc | b1 >> 4 & 0x3);
> -        return 1;
> +    public Hex(String string){
> +        m_value = decode(string);
>      }
>
> -    /**
> -     *
> -     */
> -    public static byte[] decode(char[] data, int off, int len) {
> -        char[] ibuf = new char[2];
> -        int ibufcount = 0;
> -        byte[] obuf = new byte[len/2*1+1];
> -        int obufcount = 0;
> -        for (int i = off;  i < off+len;  i ++) {
> -            char ch = data[i];
> -            if (ch == S_HEXPAD
> -                || ch < S_DECODETABLE.length && S_DECODETABLE[ch] !=
Byte.MAX_VALUE) {
> -                ibuf[ibufcount++] = ch;
> -                if (ibufcount == ibuf.length) {
> -                    ibufcount = 0;
> -                    obufcount += decode0(ibuf, obuf, obufcount);
> +    public byte[] getBytes(){
> +        return m_value;
>                  }
> +
> +    public String toString(){
> +        return encode(m_value);
>              }
> +
> +    public int hashCode(){
> +        //TODO: How do we hash this?
> +        return super.hashCode();
>          }
> -        if (obufcount == obuf.length)
> -            return obuf;
> -        byte[] ret = new byte[obufcount];
> -        System.arraycopy(obuf, 0, ret, 0, obufcount);
> -        return ret;
> +
> +    public boolean equals(java.lang.Object object){
> +        //TODO: Is this good enough?
> +        String s1 = object.toString();
> +        String s2 = this.toString();
> +        return s1.equals(s2);
>      }
>
> +    public static final String ERROR_ODD_NUMBER_OF_DIGITS="Odd number of
digits hex string";
> +    public static final String ERROR_BAD_CHARACTER_IN_HEX_STRING="Bad
character or insufficient number of characters in hex string";
> +
> +    // Code from Ajp11, from Apache's JServ
> +
> +    // Table for HEX to DEC byte translation
> +    public static final int[] DEC = {
> +        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
> +        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
> +        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
> +        00, 01, 02, 03, 04, 05, 06, 07,  8,  9, -1, -1, -1, -1, -1, -1,
> +        -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,
> +        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
> +        -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,
> +        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
> +        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
> +        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
> +        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
> +        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
> +        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
> +        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
> +        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
> +        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
> +    };
> +
>      /**
> +     * Convert a String of hexadecimal digits into the corresponding
> +     * byte array by encoding each two hexadecimal digits as a byte.
> +     *
> +     * @param digits Hexadecimal digits representation
>       *
> +     * @exception IllegalArgumentException if an invalid hexadecimal
digit
> +     *  is found, or the input string contains an odd number of
hexadecimal
> +     *  digits
>       */
> -    public static byte[] decode(String data) {
> -        char[] ibuf = new char[2];
> -        int ibufcount = 0;
> -        byte[] obuf = new byte[data.length()/2*1+1];
> -        int obufcount = 0;
> -        for (int i = 0;  i < data.length();  i ++) {
> -            char ch = data.charAt(i);
> -            if (ch == S_HEXPAD
> -                || ch < S_DECODETABLE.length && S_DECODETABLE[ch] !=
Byte.MAX_VALUE) {
> -                ibuf[ibufcount++] = ch;
> -                if (ibufcount == ibuf.length) {
> -                    ibufcount = 0;
> -                    obufcount += decode0(ibuf, obuf, obufcount);
> -                }
> -            }
> +    public static byte[] decode(String digits) {
> +
> +        ByteArrayOutputStream baos = new ByteArrayOutputStream();
> +        for (int i = 0; i < digits.length(); i += 2) {
> +            char c1 = digits.charAt(i);
> +            if ((i+1) >= digits.length())
> +                throw new IllegalArgumentException
> +                    (ERROR_ODD_NUMBER_OF_DIGITS);
> +            char c2 = digits.charAt(i + 1);
> +            byte b = 0;
> +            if ((c1 >= '0') && (c1 <= '9'))
> +                b += ((c1 - '0') * 16);
> +            else if ((c1 >= 'a') && (c1 <= 'f'))
> +                b += ((c1 - 'a' + 10) * 16);
> +            else if ((c1 >= 'A') && (c1 <= 'F'))
> +                b += ((c1 - 'A' + 10) * 16);
> +            else
> +                throw new IllegalArgumentException
> +                    (ERROR_BAD_CHARACTER_IN_HEX_STRING);
> +            if ((c2 >= '0') && (c2 <= '9'))
> +                b += (c2 - '0');
> +            else if ((c2 >= 'a') && (c2 <= 'f'))
> +                b += (c2 - 'a' + 10);
> +            else if ((c2 >= 'A') && (c2 <= 'F'))
> +                b += (c2 - 'A' + 10);
> +            else
> +                throw new IllegalArgumentException
> +                    (ERROR_BAD_CHARACTER_IN_HEX_STRING);
> +            baos.write(b);
>          }
> -        if (obufcount == obuf.length)
> -            return obuf;
> -        byte[] ret = new byte[obufcount];
> -        System.arraycopy(obuf, 0, ret, 0, obufcount);
> -        return ret;
> +        return (baos.toByteArray());
> +
>      }
>
> +
>      /**
> +     * Convert a byte array into a printable format containing a
> +     * String of hexadecimal digit characters (two per byte).
>       *
> +     * @param bytes Byte array representation
>       */
> -    public static void decode(char[] data, int off, int len, OutputStream
ostream) throws IOException {
> -        char[] ibuf = new char[2];
> -        int ibufcount = 0;
> -        byte[] obuf = new byte[1];
> -        for (int i = off;  i < off+len;  i ++) {
> -            char ch = data[i];
> -            if (ch == S_HEXPAD
> -                || ch < S_DECODETABLE.length && S_DECODETABLE[ch] !=
Byte.MAX_VALUE) {
> -                ibuf[ibufcount++] = ch;
> -                if (ibufcount == ibuf.length) {
> -                    ibufcount = 0;
> -                    int obufcount = decode0(ibuf, obuf, 0);
> -                    ostream.write(obuf, 0, obufcount);
> -                }
> -            }
> +    public static String encode(byte bytes[]) {
> +
> +        StringBuffer sb = new StringBuffer(bytes.length * 2);
> +        for (int i = 0; i < bytes.length; i++) {
> +            sb.append(convertDigit((int) (bytes[i] >> 4)));
> +            sb.append(convertDigit((int) (bytes[i] & 0x0f)));
>          }
> +        return (sb.toString());
> +
>      }
>
>      /**
> +     * Convert 4 hex digits to an int, and return the number of converted
> +     * bytes.
>       *
> +     * @param hex Byte array containing exactly four hexadecimal digits
> +     *
> +     * @exception IllegalArgumentException if an invalid hexadecimal
digit
> +     *  is included
>       */
> -    public static void decode(String data, OutputStream ostream) throws
IOException {
> -        char[] ibuf = new char[2];
> -        int ibufcount = 0;
> -        byte[] obuf = new byte[1];
> -        for (int i = 0;  i < data.length();  i ++) {
> -            char ch = data.charAt(i);
> -            if (ch == S_HEXPAD
> -                || ch < S_DECODETABLE.length && S_DECODETABLE[ch] !=
Byte.MAX_VALUE) {
> -                ibuf[ibufcount++] = ch;
> -                if (ibufcount == ibuf.length) {
> -                    ibufcount = 0;
> -                    int obufcount = decode0(ibuf, obuf, 0);
> -                    ostream.write(obuf, 0, obufcount);
> -                }
> -            }
> -        }
> -    }
> +    public static int convert2Int( byte[] hex ) {
> +        // Code from Ajp11, from Apache's JServ
>
> -    /**
> -     * Returns hex representation of specified byte array.
> -     */
> -    public static String encode(byte[] data) {
> -        return encode(data, 0, data.length);
> +        // assert b.length==4
> +        // assert valid data
> +        int len;
> +        if(hex.length < 4 ) return 0;
> +        if( DEC[hex[0]]<0 )
> +            throw new
IllegalArgumentException(ERROR_BAD_CHARACTER_IN_HEX_STRING);
> +        len = DEC[hex[0]];
> +        len = len << 4;
> +        if( DEC[hex[1]]<0 )
> +            throw new
IllegalArgumentException(ERROR_BAD_CHARACTER_IN_HEX_STRING);
> +        len += DEC[hex[1]];
> +        len = len << 4;
> +        if( DEC[hex[2]]<0 )
> +            throw new
IllegalArgumentException(ERROR_BAD_CHARACTER_IN_HEX_STRING);
> +        len += DEC[hex[2]];
> +        len = len << 4;
> +        if( DEC[hex[3]]<0 )
> +            throw new
IllegalArgumentException(ERROR_BAD_CHARACTER_IN_HEX_STRING);
> +        len += DEC[hex[3]];
> +        return len;
>      }
>
>      /**
> -     * Returns hex representation of specified byte array.
> +     * [Private] Convert the specified value (0 .. 15) to the
corresponding
> +     * hexadecimal digit.
> +     *
> +     * @param value Value to be converted
>       */
> -    public static String encode(byte[] data, int off, int len) {
> -        if (len <= 0)  return "";
> -        char[] out = new char[len/1*2+2];
> -        int rindex = off;
> -        int windex = 0;
> -        int rest = len-off;
> -        while (rest >= 1) {
> -            int i = ((data[rindex]&0xff)<<8)
> -                    +(data[rindex+1]&0xff);
> -            out[windex++] = S_HEXCHAR[(i>>6)&0x3f];
> -            out[windex++] = S_HEXCHAR[i&0x3f];
> -            rindex += 3;
> -            rest -= 3;
> -        }
> -        if (rest == 1) {
> -            int i = data[rindex]&0xff;
> -            out[windex++] = S_HEXCHAR[i>>2];
> -            out[windex++] = S_HEXPAD;
> -        }
> -        return new String(out, 0, windex);
> -    }
> +    private static char convertDigit(int value) {
>
> -    /**
> -     * Outputs hex representation of the specified byte array to a byte
stream.
> -     */
> -    public static void encode(byte[] data, int off, int len, OutputStream
ostream) throws IOException {
> -        if (len <= 0)  return;
> -        byte[] out = new byte[4];
> -        int rindex = off;
> -        int rest = len-off;
> -        while (rest >= 1) {
> -            int i = ((data[rindex]&0xff)<<8)
> -                    +(data[rindex+1]&0xff);
> -            out[0] = (byte)S_HEXCHAR[(i>>6)&0x3f];
> -            out[1] = (byte)S_HEXCHAR[i&0x3f];
> -            ostream.write(out, 0, 2);
> -            rindex += 1;
> -            rest -= 1;
> -        }
> -        if (rest == 1) {
> -            int i = data[rindex]&0xff;
> -            out[0] = (byte)S_HEXCHAR[i>>2];
> -            out[1] = (byte)S_HEXCHAR[(i<<4)&0x3f];
> -            ostream.write(out, 0, 2);
> -        }
> -    }
> +        value &= 0x0f;
> +        if (value >= 10)
> +            return ((char) (value - 10 + 'a'));
> +        else
> +            return ((char) (value + '0'));
>
> -    /**
> -     * Outputs hex representation of the specified byte array to a
character stream.
> -     */
> -    public static void encode(byte[] data, int off, int len, Writer
writer) throws IOException {
> -        if (len <= 0)  return;
> -        char[] out = new char[4];
> -        int rindex = off;
> -        int rest = len-off;
> -        int output = 0;
> -        while (rest >= 1) {
> -            int i = ((data[rindex]&0xff)<<8)
> -                    +(data[rindex+1]&0xff);
> -            out[0] = S_HEXCHAR[(i>>6)&0x3f];
> -            out[1] = S_HEXCHAR[i&0x3f];
> -            writer.write(out, 0, 2);
> -            rindex += 1;
> -            rest -= 1;
> -            output += 2;
> -            if (output % 19 == 0)
> -                writer.write("\n");
> -        }
> -        if (rest == 1) {
> -            int i = data[rindex]&0xff;
> -            out[0] = S_HEXCHAR[i>>2];
> -            out[1] = S_HEXCHAR[(i<<4)&0x3f];
> -            writer.write(out, 0, 2);
> -        }
>      }
>  }
> Index: xml-axis/java/src/org/apache/axis/encoding/HexSerializer.java
> ===================================================================
> RCS file:
/home/cvs/xml-axis/java/src/org/apache/axis/encoding/HexSerializer.java,v
> retrieving revision 1.1
> diff -w -b -B -d -u -r1.1 HexSerializer.java
> --- xml-axis/java/src/org/apache/axis/encoding/HexSerializer.java
2001/10/10 12:58:11 1.1
> +++ xml-axis/java/src/org/apache/axis/encoding/HexSerializer.java
2001/10/11 21:30:58
> @@ -73,7 +73,7 @@
>          public void characters(char [] chars, int start, int end)
>              throws SAXException
>          {
> -            value = Hex.decode(chars, start, end);
> +            value = new Hex(new String(chars, start, end));
>          }
>      }
>
> @@ -90,10 +90,10 @@
>                            Object value, SerializationContext context)
>          throws IOException
>      {
> -        byte[] data = (byte[]) value;
> +        Hex data = (Hex) value;
>
>          context.startElement(name, attributes);
> -        context.writeString(Hex.encode(data, 0, data.length));
> +        context.writeString(data.toString());
>          context.endElement();
>      }
>  }
> Index:
xml-axis/java/src/org/apache/axis/encoding/SOAPTypeMappingRegistry.java
> ===================================================================
> RCS file:
/home/cvs/xml-axis/java/src/org/apache/axis/encoding/SOAPTypeMappingRegistry
.java,v
> retrieving revision 1.37
> diff -w -b -B -d -u -r1.37 SOAPTypeMappingRegistry.java
> ---
xml-axis/java/src/org/apache/axis/encoding/SOAPTypeMappingRegistry.java
2001/10/10 12:58:11 1.37
> +++
xml-axis/java/src/org/apache/axis/encoding/SOAPTypeMappingRegistry.java
2001/10/11 21:30:58
> @@ -252,7 +252,7 @@
>          addSerializer(java.lang.Byte.TYPE, XSD_BYTE, se);
>          addSerializer(java.util.Date.class, XSD_DATE, new
DateSerializer());
>          addSerializer(byte[].class, XSD_BASE64, new Base64Serializer());
> -//        addSerializer(byte[].class, XSD_HEXBIN, new HexSerializer());
> +        addSerializer(Hex.class, XSD_HEXBIN, new HexSerializer());
>          addSerializer(java.math.BigDecimal.class, XSD_DECIMAL, se);
>
>          addDeserializersFor(XSD_STRING, java.lang.String.class, factory);
> @@ -290,7 +290,7 @@
>          addDeserializerFactory(XSD_BASE64, byte[].class, base64Ser);
>
>          // handle the hexBinary QName...
> -        addDeserializerFactory(XSD_HEXBIN, byte[].class, hexSer);
> +        addDeserializerFactory(XSD_HEXBIN, Hex.class, hexSer);
>
>          // !!! Seems a little weird to pass a null class here...?
>          addDeserializerFactory(SOAP_ARRAY, null,
ArraySerializer.factory);
> cvs server: Diffing xml-axis/java/src/org/apache/axis/handlers
> cvs server: Diffing xml-axis/java/src/org/apache/axis/handlers/http
> cvs server: Diffing xml-axis/java/src/org/apache/axis/handlers/soap
> cvs server: Diffing xml-axis/java/src/org/apache/axis/message
> cvs server: Diffing xml-axis/java/src/org/apache/axis/providers
> cvs server: Diffing xml-axis/java/src/org/apache/axis/providers/java
> cvs server: Diffing xml-axis/java/src/org/apache/axis/registries
> cvs server: Diffing xml-axis/java/src/org/apache/axis/rpc
> cvs server: Diffing xml-axis/java/src/org/apache/axis/rpc/encoding
> cvs server: Diffing xml-axis/java/src/org/apache/axis/rpc/holders
> cvs server: Diffing xml-axis/java/src/org/apache/axis/rpc/namespace
> cvs server: Diffing xml-axis/java/src/org/apache/axis/rpc/soap
> cvs server: Diffing xml-axis/java/src/org/apache/axis/security
> cvs server: Diffing xml-axis/java/src/org/apache/axis/security/servlet
> cvs server: Diffing xml-axis/java/src/org/apache/axis/security/simple
> cvs server: Diffing xml-axis/java/src/org/apache/axis/server
> cvs server: Diffing xml-axis/java/src/org/apache/axis/session
> cvs server: Diffing xml-axis/java/src/org/apache/axis/strategies
> cvs server: Diffing xml-axis/java/src/org/apache/axis/suppliers
> cvs server: Diffing xml-axis/java/src/org/apache/axis/transport
> cvs server: Diffing xml-axis/java/src/org/apache/axis/transport/http
> cvs server: Diffing xml-axis/java/src/org/apache/axis/transport/local
> cvs server: Diffing xml-axis/java/src/org/apache/axis/utils
> Index: xml-axis/java/src/org/apache/axis/utils/tcpmon.java
> ===================================================================
> RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/utils/tcpmon.java,v
> retrieving revision 1.14
> diff -w -b -B -d -u -r1.14 tcpmon.java
> --- xml-axis/java/src/org/apache/axis/utils/tcpmon.java 2001/10/03
15:30:08 1.14
> +++ xml-axis/java/src/org/apache/axis/utils/tcpmon.java 2001/10/11
21:30:58
> @@ -118,7 +118,7 @@
>              JPanel     buttons   = null ;
>              JButton    addButton = null ;
>
> -            setLayout( new BorderLayout() );
> +            this.setLayout( new BorderLayout() );
>              noteb = notebook ;
>
>              GridBagLayout       layout        = new GridBagLayout();
> @@ -162,7 +162,7 @@
>              c.gridwidth = 1 ;
>              mainPane.add( proxyBox = new JCheckBox( "Act As A Proxy" ),
c );
>
> -            add( new JScrollPane( mainPane ), BorderLayout.CENTER );
> +            this.add( new JScrollPane( mainPane ), BorderLayout.CENTER );
>
>              // addButton.setEnabled( false );
>              addButton.addActionListener( new ActionListener() {
> @@ -605,7 +605,7 @@
>              notebook = _notebook ;
>              if ( name == null ) name = "Port " + listenPort ;
>
> -            setLayout( new BorderLayout() );
> +            this.setLayout( new BorderLayout() );
>
>              // 1st component is just a row of labels and 1-line entry
fields
>
/////////////////////////////////////////////////////////////////////
> @@ -647,7 +647,7 @@
>                  };
>                  });
>
> -            add( top, BorderLayout.NORTH );
> +            this.add( top, BorderLayout.NORTH );
>
>              // 2nd component is a split pane with a table on the top
>              // and the request/response text areas on the bottom
> @@ -816,7 +816,7 @@
>              pane1.setTopComponent( tablePane );
>              pane1.setBottomComponent( pane2 );
>              pane1.setDividerLocation( 150 );
> -            add( pane1, BorderLayout.CENTER );
> +            this.add( pane1, BorderLayout.CENTER );
>
>              //
>
/////////////////////////////////////////////////////////////////////
> cvs server: Diffing xml-axis/java/src/org/apache/axis/utils/cache
> cvs server: Diffing xml-axis/java/src/org/apache/axis/utils/events
> cvs server: Diffing xml-axis/java/src/org/apache/axis/utils/events/debug
> cvs server: Diffing xml-axis/java/src/org/apache/axis/wsdl
> Index: xml-axis/java/src/org/apache/axis/wsdl/Type.java
> ===================================================================
> RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/Type.java,v
> retrieving revision 1.5
> diff -w -b -B -d -u -r1.5 Type.java
> --- xml-axis/java/src/org/apache/axis/wsdl/Type.java 2001/10/10 13:45:04
1.5
> +++ xml-axis/java/src/org/apache/axis/wsdl/Type.java 2001/10/11 21:30:59
> @@ -186,7 +186,7 @@
>              } else if (localName.equals("base64Binary")) {
>                  return "byte[]";
>              } else if (localName.equals("hexBinary")) {
> -                return "byte[]";
> +                return "org.apache.axis.encoding.Hex";
>              } else if (localName.equals("date")) {
>                  return "java.util.Date";
>              } else if (localName.equals("void")) {
> cvs server: Diffing xml-axis/java/src/org/apache/axis/wsdl/test
> cvs server: Diffing xml-axis/java/test
> Index: xml-axis/java/test/build_functional_tests.xml
> ===================================================================
> RCS file: /home/cvs/xml-axis/java/test/build_functional_tests.xml,v
> retrieving revision 1.9
> diff -w -b -B -d -u -r1.9 build_functional_tests.xml
> --- xml-axis/java/test/build_functional_tests.xml 2001/09/16 19:58:46 1.9
> +++ xml-axis/java/test/build_functional_tests.xml 2001/10/11 21:30:59
> @@ -28,6 +28,10 @@
>      <pathelement location="${build.dir}" />
>      <pathelement location="${build.dest}" />
>      <pathelement path="${java.class.path}" />
> +    <pathelement location="${log4j-core.jar}"/>
> +    <fileset dir="../java/lib">
> +     <include name="*.jar"/>
> +    </fileset>
>    </path>
>
>    <taskdef name="runaxisfunctionaltests"
> cvs server: Diffing xml-axis/java/test/RPCDispatch
> cvs server: Diffing xml-axis/java/test/encoding
> cvs server: Diffing xml-axis/java/test/functional
> cvs server: Diffing xml-axis/java/test/functional/ant
> cvs server: Diffing xml-axis/java/test/outparams
> cvs server: Diffing xml-axis/java/test/session
> cvs server: Diffing xml-axis/java/test/utils
> cvs server: Diffing xml-axis/java/test/utils/cache
> cvs server: Diffing xml-axis/java/webapps
> cvs server: Diffing xml-axis/java/webapps/axis
> cvs server: Diffing xml-axis/java/webapps/axis/WEB-INF
> cvs server: Diffing xml-axis/java/wsdd
> cvs server: Diffing xml-axis/java/wsdd/docs
> cvs server: Diffing xml-axis/java/wsdd/examples
> cvs server: Diffing xml-axis/java/wsdd/examples/chaining_examples
> cvs server: Diffing xml-axis/java/wsdd/examples/from_SOAP_v2
> cvs server: Diffing
xml-axis/java/wsdd/examples/serviceConfiguration_examples
> cvs server: Diffing xml-axis/java/wsdd/providers
> cvs server: Diffing xml-axis/java/wsdd/v2dd
> cvs server: Diffing xml-axis/java/wsdd/v2dd/docs