Return-Path: Delivered-To: apmail-xml-axis-dev-archive@xml.apache.org Received: (qmail 43027 invoked by uid 500); 4 May 2001 06:09:56 -0000 Mailing-List: contact axis-dev-help@xml.apache.org; run by ezmlm Precedence: bulk Reply-To: axis-dev@xml.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list axis-dev@xml.apache.org Received: (qmail 43018 invoked by uid 500); 4 May 2001 06:09:55 -0000 Delivered-To: apmail-xml-axis-cvs@apache.org Received: (qmail 43015 invoked by uid 1064); 4 May 2001 06:09:54 -0000 Date: 4 May 2001 06:09:54 -0000 Message-ID: <20010504060954.43014.qmail@apache.org> From: rubys@apache.org To: xml-axis-cvs@apache.org Subject: cvs commit: xml-axis/java/test/encoding TestDeser2000.java TestDeser2001.java PackageTests.java TestDeser.java rubys 01/05/03 23:09:54 Modified: java/src/org/apache/axis Constants.java java/src/org/apache/axis/encoding SOAPEncoding.java SOAPTypeMappingRegistry.java java/src/org/apache/axis/message MessageElement.java RPCParam.java SOAPEnvelope.java java/test/encoding PackageTests.java TestDeser.java Added: java/test/encoding TestDeser2000.java TestDeser2001.java Log: Add support for multiple schemas Revision Changes Path 1.11 +29 -4 xml-axis/java/src/org/apache/axis/Constants.java Index: Constants.java =================================================================== RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/Constants.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- Constants.java 2001/05/02 14:37:08 1.10 +++ Constants.java 2001/05/04 06:09:49 1.11 @@ -78,12 +78,37 @@ "http://schemas.xmlsoap.org/soap/envelope/" ; public static String URI_SOAP_ENC = "http://schemas.xmlsoap.org/soap/encoding/" ; - public static String URI_SCHEMA_XSI = - "http://www.w3.org/1999/XMLSchema-instance" ; - public static String URI_SCHEMA_XSD = - "http://www.w3.org/1999/XMLSchema" ; public static String URI_NEXT_ACTOR = "http://schemas.xmlsoap.org/soap/actor/next" ; + + + // Schema namespaces + public static final String URI_1999_SCHEMA_XSI = + "http://www.w3.org/1999/XMLSchema-instance"; + public static final String URI_1999_SCHEMA_XSD = + "http://www.w3.org/1999/XMLSchema"; + public static final String URI_2000_SCHEMA_XSI = + "http://www.w3.org/2000/10/XMLSchema-instance"; + public static final String URI_2000_SCHEMA_XSD = + "http://www.w3.org/2000/10/XMLSchema"; + public static final String URI_2001_SCHEMA_XSI = + "http://www.w3.org/2001/XMLSchema-instance"; + public static final String URI_2001_SCHEMA_XSD = + "http://www.w3.org/2001/XMLSchema"; + public static final String URI_CURRENT_SCHEMA_XSI = URI_1999_SCHEMA_XSI; + public static final String URI_CURRENT_SCHEMA_XSD = URI_1999_SCHEMA_XSD; + + public static final String[] URIS_SCHEMA_XSI = { + URI_1999_SCHEMA_XSI, + URI_2000_SCHEMA_XSI, + URI_2001_SCHEMA_XSI, + }; + + public static final String[] URIS_SCHEMA_XSD = { + URI_1999_SCHEMA_XSD, + URI_2000_SCHEMA_XSD, + URI_2001_SCHEMA_XSD, + }; public static String ELEM_ENVELOPE = "Envelope" ; public static String ELEM_HEADER = "Header" ; 1.3 +2 -2 xml-axis/java/src/org/apache/axis/encoding/SOAPEncoding.java Index: SOAPEncoding.java =================================================================== RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/SOAPEncoding.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- SOAPEncoding.java 2001/05/03 14:31:46 1.2 +++ SOAPEncoding.java 2001/05/04 06:09:50 1.3 @@ -63,14 +63,14 @@ attributes.getLocalName(i), attributes.getQName(i), "CDATA", attributes.getValue(i)); - if (attributes.getURI(i).equals(Constants.URI_SCHEMA_XSI) && + if (attributes.getURI(i).equals(Constants.URI_CURRENT_SCHEMA_XSI) && attributes.getLocalName(i).equals("type")) gotType = true; } } if (!gotType) { - impl.addAttribute(Constants.URI_SCHEMA_XSI, + impl.addAttribute(Constants.URI_CURRENT_SCHEMA_XSI, "type", "xsi:type", "CDATA", str); } 1.4 +31 -14 xml-axis/java/src/org/apache/axis/encoding/SOAPTypeMappingRegistry.java Index: SOAPTypeMappingRegistry.java =================================================================== RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/encoding/SOAPTypeMappingRegistry.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- SOAPTypeMappingRegistry.java 2001/05/04 01:17:28 1.3 +++ SOAPTypeMappingRegistry.java 2001/05/04 06:09:50 1.4 @@ -6,13 +6,13 @@ public class SOAPTypeMappingRegistry extends TypeMappingRegistry { - public static final QName XSD_STRING = new QName(Constants.URI_SCHEMA_XSD, "string"); - public static final QName XSD_BOOLEAN = new QName(Constants.URI_SCHEMA_XSD, "boolean"); - public static final QName XSD_DOUBLE = new QName(Constants.URI_SCHEMA_XSD, "double"); - public static final QName XSD_FLOAT = new QName(Constants.URI_SCHEMA_XSD, "float"); - public static final QName XSD_INT = new QName(Constants.URI_SCHEMA_XSD, "int"); - public static final QName XSD_LONG = new QName(Constants.URI_SCHEMA_XSD, "long"); - public static final QName XSD_SHORT = new QName(Constants.URI_SCHEMA_XSD, "short"); + public static final QName XSD_STRING = new QName(Constants.URI_CURRENT_SCHEMA_XSD, "string"); + public static final QName XSD_BOOLEAN = new QName(Constants.URI_CURRENT_SCHEMA_XSD, "boolean"); + public static final QName XSD_DOUBLE = new QName(Constants.URI_CURRENT_SCHEMA_XSD, "double"); + public static final QName XSD_FLOAT = new QName(Constants.URI_CURRENT_SCHEMA_XSD, "float"); + public static final QName XSD_INT = new QName(Constants.URI_CURRENT_SCHEMA_XSD, "int"); + public static final QName XSD_LONG = new QName(Constants.URI_CURRENT_SCHEMA_XSD, "long"); + public static final QName XSD_SHORT = new QName(Constants.URI_CURRENT_SCHEMA_XSD, "short"); public static final QName SOAP_STRING = new QName(Constants.URI_SOAP_ENC, "string"); public static final QName SOAP_BOOLEAN = new QName(Constants.URI_SOAP_ENC, "boolean"); public static final QName SOAP_DOUBLE = new QName(Constants.URI_SOAP_ENC, "double"); @@ -83,6 +83,22 @@ public DeserializerBase getDeserializer() { return new ShortDeser(); } } + /** + * Alias common DeserializerFactories across the various popular schemas + * @param base QName based on the current Schema namespace + * @param factory common factory to be used across all schemas + */ + private void addDeserializersFor(QName base, DeserializerFactory factory) { + addDeserializerFactory(base, factory); + String localPart = base.getLocalPart(); + for (int i=0; i\n" + - "\n" + - "\n" + - "\n"; - - private static final String footer = - "\n" + - "\n" + - "\n"; + public TestDeser(String name, String NS_XSI, String NS_XSD) { + super(name); + header = + "\n" + + "\n" + + "\n" + + "\n"; + + footer = + "\n" + + "\n" + + "\n"; + } private void deserialize(String data, Object expected) { Message message = new Message(header + data + footer, "String"); 1.1 xml-axis/java/test/encoding/TestDeser2000.java Index: TestDeser2000.java =================================================================== package test.encoding; import org.apache.axis.Constants; import junit.framework.TestCase; /** * Test deserialization of SOAP responses */ public class TestDeser2001 extends TestDeser { public TestDeser2001(String name) { super(name, Constants.URI_2000_SCHEMA_XSI, Constants.URI_2000_SCHEMA_XSD); } } 1.1 xml-axis/java/test/encoding/TestDeser2001.java Index: TestDeser2001.java =================================================================== package test.encoding; import org.apache.axis.Constants; import junit.framework.TestCase; /** * Test deserialization of SOAP responses */ public class TestDeser2001 extends TestDeser { public TestDeser2001(String name) { super(name, Constants.URI_2001_SCHEMA_XSI, Constants.URI_2001_SCHEMA_XSD); } }