sanjiva 2002/10/28 08:50:53 Modified: java/src/org/apache/soap/encoding SOAPMappingRegistry.java java/src/org/apache/soap/encoding/soapenc BeanSerializer.java SoapEncUtils.java java/src/org/apache/soap/rpc RPCMessage.java Log: changed write(s1+s2+..+sn) to write (s1) write (s2) ... write (sn) Revision Changes Path 1.32 +4 -1 xml-soap/java/src/org/apache/soap/encoding/SOAPMappingRegistry.java Index: SOAPMappingRegistry.java =================================================================== RCS file: /home/cvs/xml-soap/java/src/org/apache/soap/encoding/SOAPMappingRegistry.java,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- SOAPMappingRegistry.java 9 Sep 2002 21:15:27 -0000 1.31 +++ SOAPMappingRegistry.java 28 Oct 2002 16:50:53 -0000 1.32 @@ -302,7 +302,10 @@ xjmr, ctx); - sink.write(src + "</" + context + '>'); + sink.write(src.toString ()); + sink.write("</"); + sink.write(context.toString ()); + sink.write(">"); } nsStack.popScope(); } 1.9 +17 -8 xml-soap/java/src/org/apache/soap/encoding/soapenc/BeanSerializer.java Index: BeanSerializer.java =================================================================== RCS file: /home/cvs/xml-soap/java/src/org/apache/soap/encoding/soapenc/BeanSerializer.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- BeanSerializer.java 30 Aug 2002 21:39:00 -0000 1.8 +++ BeanSerializer.java 28 Oct 2002 16:50:53 -0000 1.9 @@ -77,6 +77,8 @@ */ public class BeanSerializer implements Serializer, Deserializer { + private static HashMap beanInfoCache = new HashMap (); + public void marshall(String inScopeEncStyle, Class javaType, Object src, Object context, Writer sink, NSStack nsStack, XMLJavaMappingRegistry xjmr, SOAPContext ctx) @@ -138,7 +140,9 @@ } } - sink.write("</" + context + '>'); + sink.write("</"); + sink.write(context.toString ()); + sink.write(">"); nsStack.popScope(); } @@ -192,17 +196,22 @@ return new Bean(javaType, bean); } - private PropertyDescriptor[] getPropertyDescriptors(Class javaType) + private static PropertyDescriptor[] getPropertyDescriptors(Class javaType) throws IllegalArgumentException { BeanInfo beanInfo = null; - try - { - beanInfo = Introspector.getBeanInfo(javaType); - } - catch (IntrospectionException e) - { + beanInfo = (BeanInfo) beanInfoCache.get (javaType); + if (beanInfo == null) { + try + { + beanInfo = Introspector.getBeanInfo(javaType); + beanInfoCache.put (javaType, beanInfo); + } + catch (IntrospectionException e) + { + // caught below via beanInfo == null + } } if (beanInfo != null) 1.17 +42 -14 xml-soap/java/src/org/apache/soap/encoding/soapenc/SoapEncUtils.java Index: SoapEncUtils.java =================================================================== RCS file: /home/cvs/xml-soap/java/src/org/apache/soap/encoding/soapenc/SoapEncUtils.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- SoapEncUtils.java 30 Aug 2002 21:39:00 -0000 1.16 +++ SoapEncUtils.java 28 Oct 2002 16:50:53 -0000 1.17 @@ -164,11 +164,19 @@ } } - sink.write('<' + context.toString() + namespaceDecl); + sink.write("<"); + sink.write(context.toString()); + sink.write(namespaceDecl); // Write the id for a multiRef element - if (context instanceof MultiRefContext) - sink.write(' ' + Constants.ATTR_ID + "=\"" + Constants.ATTRVAL_MULTIREF_ID_PREFIX + ((MultiRefContext) context).getId() + "\""); + if (context instanceof MultiRefContext) { + sink.write(" "); + sink.write(Constants.ATTR_ID); + sink.write("=\""); + sink.write(Constants.ATTRVAL_MULTIREF_ID_PREFIX); + sink.write(((MultiRefContext) context).getId() + ""); + sink.write( "\""); + } // Get prefixes for the needed namespaces. String elementTypeNS = elementType.getNamespaceURI(); @@ -184,9 +192,15 @@ String elementTypeNSPrefix = nsStack.getPrefixFromURI(elementTypeNS, sink); if (ctx == null || !ctx.getDocLitSerialization()) { - sink.write(' ' + xsiNSPrefix + ':' + Constants.ATTR_TYPE + "=\"" + - elementTypeNSPrefix + ':' + - elementType.getLocalPart() + '\"'); + sink.write(" "); + sink.write(xsiNSPrefix); + sink.write(":"); + sink.write(Constants.ATTR_TYPE); + sink.write("=\""); + sink.write(elementTypeNSPrefix); + sink.write(":"); + sink.write(elementType.getLocalPart()); + sink.write("\""); } if (inScopeEncStyle == null @@ -197,9 +211,13 @@ String soapEnvNSPrefix = nsStack.getPrefixFromURI( Constants.NS_URI_SOAP_ENV, sink); - sink.write(' ' + soapEnvNSPrefix + ':' + - Constants.ATTR_ENCODING_STYLE + "=\"" + - Constants.NS_URI_SOAP_ENC + '\"'); + sink.write(" "); + sink.write(soapEnvNSPrefix); + sink.write(":"); + sink.write(Constants.ATTR_ENCODING_STYLE); + sink.write("=\""); + sink.write(Constants.NS_URI_SOAP_ENC); + sink.write("\""); } if (arrayElementType != null) @@ -212,17 +230,27 @@ String soapEncNSPrefix = nsStack.getPrefixFromURI( Constants.NS_URI_SOAP_ENC, sink); - sink.write(' ' + soapEncNSPrefix + ':' + - Constants.ATTR_ARRAY_TYPE + "=\"" + arrayTypeValue + '\"'); + sink.write(" "); + sink.write(soapEncNSPrefix); + sink.write(":"); + sink.write(Constants.ATTR_ARRAY_TYPE); + sink.write("=\""); + sink.write(arrayTypeValue); + sink.write("\""); } if (isNull) { - sink.write(' ' + xsiNSPrefix + ':' + nilName(xsiNamespaceURI) + "=\"" + - Constants.ATTRVAL_TRUE + "\"/"); + sink.write(" "); + sink.write(xsiNSPrefix); + sink.write(":"); + sink.write(nilName(xsiNamespaceURI)); + sink.write("=\""); + sink.write(Constants.ATTRVAL_TRUE); + sink.write("\"/"); } - sink.write('>'); + sink.write(">"); } public static void generateNullStructure(String inScopeEncStyle, 1.19 +62 -24 xml-soap/java/src/org/apache/soap/rpc/RPCMessage.java Index: RPCMessage.java =================================================================== RCS file: /home/cvs/xml-soap/java/src/org/apache/soap/rpc/RPCMessage.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- RPCMessage.java 2 Oct 2002 14:05:52 -0000 1.18 +++ RPCMessage.java 28 Oct 2002 16:50:53 -0000 1.19 @@ -237,11 +237,20 @@ String targetObjectNSPrefix = nsStack.getPrefixFromURI( targetObjectURI, nsDeclSW); - sink.write('<' + - (!ctx.getDocLitSerialization() ? targetObjectNSPrefix + ':' : "") + - methodName + suffix + - (!ctx.getDocLitSerialization() ? nsDeclSW.toString() : " xmlns=\"" + targetObjectURI + "\"") - ); + sink.write("<"); + if (!ctx.getDocLitSerialization ()) { + sink.write(targetObjectNSPrefix); + sink.write(":"); + } + sink.write(methodName); + sink.write(suffix); + if (!ctx.getDocLitSerialization ()) { + sink.write(nsDeclSW.toString ()); + } else { + sink.write(" xmlns=\""); + sink.write(targetObjectURI); + sink.write("\""); + } // Determine the prefix associated with the NS_URI_SOAP_ENV // namespace URI. @@ -251,12 +260,17 @@ if (declMsgEncStyle != null && (!declMsgEncStyle.equals(inScopeEncStyle)) && (!ctx.getDocLitSerialization())) { - sink.write(' ' + soapEnvNSPrefix + ':' + - Constants.ATTR_ENCODING_STYLE + "=\"" + - declMsgEncStyle + '\"'); + sink.write(" "); + sink.write(soapEnvNSPrefix); + sink.write(":"); + sink.write(Constants.ATTR_ENCODING_STYLE); + sink.write("=\""); + sink.write(declMsgEncStyle); + sink.write("\""); } - sink.write('>' + StringUtils.lineSeparator); + sink.write(">"); + sink.write(StringUtils.lineSeparator); // Get the returnValue. Parameter ret = resp.getReturnValue(); @@ -277,9 +291,14 @@ serializeParams(params, actualMsgEncStyle, sink, nsStack, xjmr, ctx); - sink.write("</" + - (!ctx.getDocLitSerialization() ? targetObjectNSPrefix + ':' : "") + - methodName + suffix + '>'); + sink.write("</"); + if (!ctx.getDocLitSerialization ()) { + sink.write(targetObjectNSPrefix); + sink.write(":"); + } + sink.write(methodName); + sink.write(suffix); + sink.write(">"); } else { // Get the fault information. Fault fault = resp.getFault(); @@ -292,11 +311,20 @@ String targetObjectNSPrefix = nsStack.getPrefixFromURI(targetObjectURI, nsDeclSW); - sink.write('<' + - (!ctx.getDocLitSerialization() ? targetObjectNSPrefix + ':' : "") + - methodName + suffix + - (!ctx.getDocLitSerialization() ? nsDeclSW.toString() : " xmlns=\"" + targetObjectURI + "\"") - ); + sink.write("<"); + if (!ctx.getDocLitSerialization ()) { + sink.write(targetObjectNSPrefix); + sink.write(":"); + } + sink.write(methodName); + sink.write(suffix); + if (!ctx.getDocLitSerialization ()) { + sink.write(nsDeclSW.toString ()); + } else { + sink.write(" xmlns=\""); + sink.write(targetObjectURI); + sink.write("\""); + } // Determine the prefix associated with the NS_URI_SOAP_ENV // namespace URI. @@ -306,18 +334,28 @@ if (declMsgEncStyle != null && (!declMsgEncStyle.equals(inScopeEncStyle)) && (!ctx.getDocLitSerialization())) { - sink.write(' ' + soapEnvNSPrefix + ':' + - Constants.ATTR_ENCODING_STYLE + "=\"" + - declMsgEncStyle + '\"'); + sink.write(" "); + sink.write(soapEnvNSPrefix); + sink.write(":"); + sink.write(Constants.ATTR_ENCODING_STYLE); + sink.write("=\""); + sink.write(declMsgEncStyle); + sink.write("\""); } - sink.write('>' + StringUtils.lineSeparator); + sink.write(">"); + sink.write(StringUtils.lineSeparator); serializeParams(params, actualMsgEncStyle, sink, nsStack, xjmr, ctx); - sink.write("</" + - (!ctx.getDocLitSerialization() ? targetObjectNSPrefix + ':' : "") + - methodName + suffix + '>'); + sink.write("</"); + if (!ctx.getDocLitSerialization()) { + sink.write(targetObjectNSPrefix); + sink.write(":"); + } + sink.write(methodName); + sink.write(suffix); + sink.write(">"); } nsStack.popScope();
-- To unsubscribe, e-mail: <mailto:soap-dev-unsubscribe@;xml.apache.org> For additional commands, e-mail: <mailto:soap-dev-help@;xml.apache.org>