Hehe...looks like a hack :) Can u try using a FilterOutputStream? that
at least avoids exposing the ugliness too much :) :)

-- dims


On Mon, 14 Feb 2005 01:10:08 -0800 (PST), [EMAIL PROTECTED]
<[EMAIL PROTECTED]> wrote:
> toshi       2005/02/14 01:10:04
> 
>   Modified:    java/src/org/apache/axis/client AdminClient.java
>   Log:
>   To support multi-language.
> 
>   Revision  Changes    Path
>   1.86      +33 -1     
> ws-axis/java/src/org/apache/axis/client/AdminClient.java
> 
>   Index: AdminClient.java
>   ===================================================================
>   RCS file: 
> /home/cvs/ws-axis/java/src/org/apache/axis/client/AdminClient.java,v
>   retrieving revision 1.85
>   retrieving revision 1.86
>   diff -u -r1.85 -r1.86
>   --- AdminClient.java  23 Nov 2004 00:39:21 -0000      1.85
>   +++ AdminClient.java  14 Feb 2005 09:10:04 -0000      1.86
>   @@ -24,6 +24,7 @@
>    import org.apache.axis.utils.Messages;
>    import org.apache.axis.utils.Options;
>    import org.apache.commons.logging.Log;
>   +import org.apache.commons.lang.StringEscapeUtils;
> 
>    import javax.xml.rpc.ServiceException;
>    import java.io.ByteArrayInputStream;
>   @@ -449,6 +450,37 @@
>        }
> 
>        /**
>   +     * Unescape the specified String.
>   +     * @param message - to unescape String
>   +     * @return unescaped message
>   +     */
>   +    public String unescape(String message) {
>   +        StringBuffer buf = new StringBuffer();
>   +
>   +        int length = message.length();
>   +        char character;
>   +        for (int i = 0; i < length; i++) {
>   +            character = message.charAt( i );
>   +            if (character == '&') {
>   +                if (i+7 <= length)
>   +                if (message.charAt(i+1)=='#' && message.charAt(i+2)=='x' &&
>   +                                                message.charAt(i+7)==';') {
>   +                    buf.append("\\u");
>   +                    buf.append(message.charAt(i+3));
>   +                    buf.append(message.charAt(i+4));
>   +                    buf.append(message.charAt(i+5));
>   +                    buf.append(message.charAt(i+6));
>   +                    i+=7;
>   +                }
>   +            } else {
>   +                buf.append(character);
>   +            }
>   +        }
>   +
>   +        return StringEscapeUtils.unescapeJava(buf.toString());
>   +    }
>   +
>   +    /**
>         * Creates in instance of <code>AdminClient</code> and
>         * invokes <code>process(args)</code>.
>         * <p>Diagnostic output goes to <code>log.info</code>.</p>
>   @@ -461,7 +493,7 @@
> 
>                String result = admin.process(args);
>                if (result != null) {
>   -                System.out.println(result);
>   +                System.out.println( admin.unescape(result) );
>                } else {
>                    System.exit(1);
>                }
> 
> 


-- 
Davanum Srinivas - http://webservices.apache.org/~dims/

Reply via email to