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 gd...@apache.org on 2005/02/17 21:05:06 UTC
cvs commit: ws-axis/java/test/encoding TestDefaultTM.java PackageTests.java
gdaniels 2005/02/17 12:05:06
Modified: java/src/org/apache/axis/encoding
DefaultJAXRPC11TypeMappingImpl.java
TypeMappingRegistryImpl.java
java/test/encoding PackageTests.java
Added: java/test/encoding TestDefaultTM.java
Log:
Fix up type mappings.
The DefaultJAXRPC11TypeMappingImpl shouldn't have extended
DefaultSOAPEncodedTMI, because that means that SOAP encoded
types would be polluting the default typemapping. According to
JAX-RPC (and common sense) the default TM is not supposed to have
any encodingStyle-specific types in it.
JAXRPC type mapping now extends the normal type mapping, is
correctly registered as the defaultDelTM when using "1.3" as the
TypeMappingVersion (yuk), and there's a new test to check to make
sure SOAPENC_STRING is *not* mapped for the default TM no
matter which TMV we select.
Revision Changes Path
1.10 +1 -1 ws-axis/java/src/org/apache/axis/encoding/DefaultJAXRPC11TypeMappingImpl.java
Index: DefaultJAXRPC11TypeMappingImpl.java
===================================================================
RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/encoding/DefaultJAXRPC11TypeMappingImpl.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- DefaultJAXRPC11TypeMappingImpl.java 12 Feb 2005 04:41:20 -0000 1.9
+++ DefaultJAXRPC11TypeMappingImpl.java 17 Feb 2005 20:05:05 -0000 1.10
@@ -29,7 +29,7 @@
* This is the implementation of the axis Default JAX-RPC SOAP Encoding TypeMapping
* See DefaultTypeMapping for more information.
*/
-public class DefaultJAXRPC11TypeMappingImpl extends DefaultSOAPEncodingTypeMappingImpl {
+public class DefaultJAXRPC11TypeMappingImpl extends DefaultTypeMappingImpl {
private static DefaultJAXRPC11TypeMappingImpl tm = null;
1.33 +30 -24 ws-axis/java/src/org/apache/axis/encoding/TypeMappingRegistryImpl.java
Index: TypeMappingRegistryImpl.java
===================================================================
RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/encoding/TypeMappingRegistryImpl.java,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- TypeMappingRegistryImpl.java 17 Feb 2005 15:34:02 -0000 1.32
+++ TypeMappingRegistryImpl.java 17 Feb 2005 20:05:05 -0000 1.33
@@ -247,39 +247,44 @@
* if an invalid type mapping is specified or the delegate is already set
*/
public void registerDefault(javax.xml.rpc.encoding.TypeMapping mapping) {
-// if (mapping == null ||
-// !(mapping instanceof TypeMapping)) {
-// throw new IllegalArgumentException(
-// Messages.getMessage("badTypeMapping"));
-// }
-//
-// /* Don't allow this call after the delegate() method since
-// * the TMR's TypeMappings will be using the default type mapping
-// * of the secondary TMR.
-// */
-// if (defaultDelTM.getDelegate() instanceof TypeMappingDelegate) {
-// throw new IllegalArgumentException(
-// Messages.getMessage("defaultTypeMappingSet"));
-// }
-//
-// defaultDelTM.setDelegate((TypeMapping) mapping);
+ if (mapping == null ||
+ !(mapping instanceof TypeMapping)) {
+ throw new IllegalArgumentException(
+ Messages.getMessage("badTypeMapping"));
+ }
+
+ /* Don't allow this call after the delegate() method since
+ * the TMR's TypeMappings will be using the default type mapping
+ * of the secondary TMR.
+ */
+ if (defaultDelTM.getDelegate() instanceof TypeMappingDelegate) {
+ throw new IllegalArgumentException(
+ Messages.getMessage("defaultTypeMappingSet"));
+ }
+
+ defaultDelTM.setDelegate((TypeMapping) mapping);
}
+ /**
+ * Set up the default type mapping (and the SOAP encoding type mappings)
+ * as per the passed "version" option.
+ *
+ * @param version
+ */
public void doRegisterFromVersion(String version) {
- TypeMapping tm;
- if (version == null || version.equals("1.0")) {
- tm = DefaultSOAPEncodingTypeMappingImpl.getSingleton();
+ if (version == null || version.equals("1.0") || version.equals("1.2")) {
+ // Do nothing, just register SOAPENC mapping
} else if (version.equals("1.1")) {
+ // Do nothing, no SOAPENC mapping
return;
- } else if (version.equals("1.2")) {
- tm = DefaultSOAPEncodingTypeMappingImpl.create();
} else if (version.equals("1.3")) {
- tm = DefaultJAXRPC11TypeMappingImpl.create();
+ // Reset the default TM to the JAXRPC version, then register SOAPENC
+ TypeMapping tm = DefaultJAXRPC11TypeMappingImpl.create();
+ defaultDelTM = new TypeMappingDelegate(tm);
} else {
throw new RuntimeException(org.apache.axis.utils.Messages.getMessage("j2wBadTypeMapping00"));
}
- registerSOAPENCDefault(tm);
- defaultDelTM = new TypeMappingDelegate(tm);
+ registerSOAPENCDefault(DefaultSOAPEncodingTypeMappingImpl.getSingleton());
}
/**
* Force registration of the given mapping as the SOAPENC default mapping
@@ -288,6 +293,7 @@
private void registerSOAPENCDefault(TypeMapping mapping) {
registerForced(Constants.URI_SOAP11_ENC, mapping);
registerForced(Constants.URI_SOAP12_ENC, mapping);
+ mapping.setDelegate(defaultDelTM);
}
/**
1.32 +1 -0 ws-axis/java/test/encoding/PackageTests.java
Index: PackageTests.java
===================================================================
RCS file: /home/cvs/ws-axis/java/test/encoding/PackageTests.java,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- PackageTests.java 26 Apr 2004 11:51:43 -0000 1.31
+++ PackageTests.java 17 Feb 2005 20:05:06 -0000 1.32
@@ -44,6 +44,7 @@
suite.addTestSuite(TestCircularRefs.class);
suite.addTestSuite(TestAutoTypes.class);
suite.addTestSuite(EncodingTest.class);
+ suite.addTestSuite(TestDefaultTM.class);
return suite;
}
}
1.1 ws-axis/java/test/encoding/TestDefaultTM.java
Index: TestDefaultTM.java
===================================================================
/*
* Copyright 2002-2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package encoding;
import junit.framework.TestCase;
import org.apache.axis.encoding.TypeMappingRegistryImpl;
import org.apache.axis.Constants;
import javax.xml.rpc.encoding.TypeMapping;
/**
* Default Type Mapping tests
*/
public class TestDefaultTM extends TestCase {
/**
* This test makes sure that there aren't any SOAPENC types
* mapped in the default type mappings for any of the valid
* "version" strings.
*
* @throws Exception
*/
public void testNoSOAPENCTypes() throws Exception {
checkTypes(null);
checkTypes("1.0");
checkTypes("1.1");
checkTypes("1.2");
checkTypes("1.3");
}
private void checkTypes(String version) throws Exception {
TypeMappingRegistryImpl tmr = new TypeMappingRegistryImpl();
tmr.doRegisterFromVersion(version);
TypeMapping tm = tmr.getDefaultTypeMapping();
assertNull("Found mapping for soapenc:string in TM version " + version,
tm.getDeserializer(null, Constants.SOAP_STRING));
}
}
Re: cvs commit: ws-axis/java/test/encoding TestDefaultTM.java
PackageTests.java
Posted by Glen Daniels <gl...@thoughtcraft.com>.
Thanks for the catch, Jongjin! Dims already got around to fixing it. :)
--G
Jongjin Choi wrote:
> Glen,
>
> I think the TestDefaultTM.java's package should be 'test.encoding' instead of'encoding'
>
> /Jongjin
>
> ----- Original Message -----
> From: <gd...@apache.org>
> To: <ws...@apache.org>
> Sent: Friday, February 18, 2005 5:05 AM
> Subject: cvs commit: ws-axis/java/test/encoding TestDefaultTM.java PackageTests.java
>
>
>
>>gdaniels 2005/02/17 12:05:06
>>
>> Modified: java/src/org/apache/axis/encoding
>> DefaultJAXRPC11TypeMappingImpl.java
>> TypeMappingRegistryImpl.java
>> java/test/encoding PackageTests.java
>> Added: java/test/encoding TestDefaultTM.java
>> Log:
>> Fix up type mappings.
>>
>> The DefaultJAXRPC11TypeMappingImpl shouldn't have extended
>> DefaultSOAPEncodedTMI, because that means that SOAP encoded
>> types would be polluting the default typemapping. According to
>> JAX-RPC (and common sense) the default TM is not supposed to have
>> any encodingStyle-specific types in it.
>>
>> JAXRPC type mapping now extends the normal type mapping, is
>> correctly registered as the defaultDelTM when using "1.3" as the
>> TypeMappingVersion (yuk), and there's a new test to check to make
>> sure SOAPENC_STRING is *not* mapped for the default TM no
>> matter which TMV we select.
>>
>> Revision Changes Path
>> 1.10 +1 -1 ws-axis/java/src/org/apache/axis/encoding/DefaultJAXRPC11TypeMappingImpl.java
>>
>> Index: DefaultJAXRPC11TypeMappingImpl.java
>> ===================================================================
>> RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/encoding/DefaultJAXRPC11TypeMappingImpl.java,v
>> retrieving revision 1.9
>> retrieving revision 1.10
>> diff -u -r1.9 -r1.10
>> --- DefaultJAXRPC11TypeMappingImpl.java 12 Feb 2005 04:41:20 -0000 1.9
>> +++ DefaultJAXRPC11TypeMappingImpl.java 17 Feb 2005 20:05:05 -0000 1.10
>> @@ -29,7 +29,7 @@
>> * This is the implementation of the axis Default JAX-RPC SOAP Encoding TypeMapping
>> * See DefaultTypeMapping for more information.
>> */
>> -public class DefaultJAXRPC11TypeMappingImpl extends DefaultSOAPEncodingTypeMappingImpl {
>> +public class DefaultJAXRPC11TypeMappingImpl extends DefaultTypeMappingImpl {
>>
>> private static DefaultJAXRPC11TypeMappingImpl tm = null;
>>
>>
>>
>>
>> 1.33 +30 -24 ws-axis/java/src/org/apache/axis/encoding/TypeMappingRegistryImpl.java
>>
>> Index: TypeMappingRegistryImpl.java
>> ===================================================================
>> RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/encoding/TypeMappingRegistryImpl.java,v
>> retrieving revision 1.32
>> retrieving revision 1.33
>> diff -u -r1.32 -r1.33
>> --- TypeMappingRegistryImpl.java 17 Feb 2005 15:34:02 -0000 1.32
>> +++ TypeMappingRegistryImpl.java 17 Feb 2005 20:05:05 -0000 1.33
>> @@ -247,39 +247,44 @@
>> * if an invalid type mapping is specified or the delegate is already set
>> */
>> public void registerDefault(javax.xml.rpc.encoding.TypeMapping mapping) {
>> -// if (mapping == null ||
>> -// !(mapping instanceof TypeMapping)) {
>> -// throw new IllegalArgumentException(
>> -// Messages.getMessage("badTypeMapping"));
>> -// }
>> -//
>> -// /* Don't allow this call after the delegate() method since
>> -// * the TMR's TypeMappings will be using the default type mapping
>> -// * of the secondary TMR.
>> -// */
>> -// if (defaultDelTM.getDelegate() instanceof TypeMappingDelegate) {
>> -// throw new IllegalArgumentException(
>> -// Messages.getMessage("defaultTypeMappingSet"));
>> -// }
>> -//
>> -// defaultDelTM.setDelegate((TypeMapping) mapping);
>> + if (mapping == null ||
>> + !(mapping instanceof TypeMapping)) {
>> + throw new IllegalArgumentException(
>> + Messages.getMessage("badTypeMapping"));
>> + }
>> +
>> + /* Don't allow this call after the delegate() method since
>> + * the TMR's TypeMappings will be using the default type mapping
>> + * of the secondary TMR.
>> + */
>> + if (defaultDelTM.getDelegate() instanceof TypeMappingDelegate) {
>> + throw new IllegalArgumentException(
>> + Messages.getMessage("defaultTypeMappingSet"));
>> + }
>> +
>> + defaultDelTM.setDelegate((TypeMapping) mapping);
>> }
>>
>> + /**
>> + * Set up the default type mapping (and the SOAP encoding type mappings)
>> + * as per the passed "version" option.
>> + *
>> + * @param version
>> + */
>> public void doRegisterFromVersion(String version) {
>> - TypeMapping tm;
>> - if (version == null || version.equals("1.0")) {
>> - tm = DefaultSOAPEncodingTypeMappingImpl.getSingleton();
>> + if (version == null || version.equals("1.0") || version.equals("1.2")) {
>> + // Do nothing, just register SOAPENC mapping
>> } else if (version.equals("1.1")) {
>> + // Do nothing, no SOAPENC mapping
>> return;
>> - } else if (version.equals("1.2")) {
>> - tm = DefaultSOAPEncodingTypeMappingImpl.create();
>> } else if (version.equals("1.3")) {
>> - tm = DefaultJAXRPC11TypeMappingImpl.create();
>> + // Reset the default TM to the JAXRPC version, then register SOAPENC
>> + TypeMapping tm = DefaultJAXRPC11TypeMappingImpl.create();
>> + defaultDelTM = new TypeMappingDelegate(tm);
>> } else {
>> throw new RuntimeException(org.apache.axis.utils.Messages.getMessage("j2wBadTypeMapping00"));
>> }
>> - registerSOAPENCDefault(tm);
>> - defaultDelTM = new TypeMappingDelegate(tm);
>> + registerSOAPENCDefault(DefaultSOAPEncodingTypeMappingImpl.getSingleton());
>> }
>> /**
>> * Force registration of the given mapping as the SOAPENC default mapping
>> @@ -288,6 +293,7 @@
>> private void registerSOAPENCDefault(TypeMapping mapping) {
>> registerForced(Constants.URI_SOAP11_ENC, mapping);
>> registerForced(Constants.URI_SOAP12_ENC, mapping);
>> + mapping.setDelegate(defaultDelTM);
>> }
>>
>> /**
>>
>>
>>
>> 1.32 +1 -0 ws-axis/java/test/encoding/PackageTests.java
>>
>> Index: PackageTests.java
>> ===================================================================
>> RCS file: /home/cvs/ws-axis/java/test/encoding/PackageTests.java,v
>> retrieving revision 1.31
>> retrieving revision 1.32
>> diff -u -r1.31 -r1.32
>> --- PackageTests.java 26 Apr 2004 11:51:43 -0000 1.31
>> +++ PackageTests.java 17 Feb 2005 20:05:06 -0000 1.32
>> @@ -44,6 +44,7 @@
>> suite.addTestSuite(TestCircularRefs.class);
>> suite.addTestSuite(TestAutoTypes.class);
>> suite.addTestSuite(EncodingTest.class);
>> + suite.addTestSuite(TestDefaultTM.class);
>> return suite;
>> }
>> }
>>
>>
>>
>> 1.1 ws-axis/java/test/encoding/TestDefaultTM.java
>>
>> Index: TestDefaultTM.java
>> ===================================================================
>> /*
>> * Copyright 2002-2004 The Apache Software Foundation.
>> *
>> * Licensed under the Apache License, Version 2.0 (the "License");
>> * you may not use this file except in compliance with the License.
>> * You may obtain a copy of the License at
>> *
>> * http://www.apache.org/licenses/LICENSE-2.0
>> *
>> * Unless required by applicable law or agreed to in writing, software
>> * distributed under the License is distributed on an "AS IS" BASIS,
>> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>> * See the License for the specific language governing permissions and
>> * limitations under the License.
>> */
>>
>> package encoding;
>>
>> import junit.framework.TestCase;
>> import org.apache.axis.encoding.TypeMappingRegistryImpl;
>> import org.apache.axis.Constants;
>>
>> import javax.xml.rpc.encoding.TypeMapping;
>>
>> /**
>> * Default Type Mapping tests
>> */
>> public class TestDefaultTM extends TestCase {
>> /**
>> * This test makes sure that there aren't any SOAPENC types
>> * mapped in the default type mappings for any of the valid
>> * "version" strings.
>> *
>> * @throws Exception
>> */
>> public void testNoSOAPENCTypes() throws Exception {
>> checkTypes(null);
>> checkTypes("1.0");
>> checkTypes("1.1");
>> checkTypes("1.2");
>> checkTypes("1.3");
>> }
>>
>> private void checkTypes(String version) throws Exception {
>> TypeMappingRegistryImpl tmr = new TypeMappingRegistryImpl();
>> tmr.doRegisterFromVersion(version);
>> TypeMapping tm = tmr.getDefaultTypeMapping();
>> assertNull("Found mapping for soapenc:string in TM version " + version,
>> tm.getDeserializer(null, Constants.SOAP_STRING));
>> }
>> }
>>
>>
>>
>
>>
Re: cvs commit: ws-axis/java/test/encoding TestDefaultTM.java
PackageTests.java
Posted by Glen Daniels <gl...@thoughtcraft.com>.
Thanks for the catch, Jongjin! Dims already got around to fixing it. :)
--G
Jongjin Choi wrote:
> Glen,
>
> I think the TestDefaultTM.java's package should be 'test.encoding' instead of'encoding'
>
> /Jongjin
>
> ----- Original Message -----
> From: <gd...@apache.org>
> To: <ws...@apache.org>
> Sent: Friday, February 18, 2005 5:05 AM
> Subject: cvs commit: ws-axis/java/test/encoding TestDefaultTM.java PackageTests.java
>
>
>
>>gdaniels 2005/02/17 12:05:06
>>
>> Modified: java/src/org/apache/axis/encoding
>> DefaultJAXRPC11TypeMappingImpl.java
>> TypeMappingRegistryImpl.java
>> java/test/encoding PackageTests.java
>> Added: java/test/encoding TestDefaultTM.java
>> Log:
>> Fix up type mappings.
>>
>> The DefaultJAXRPC11TypeMappingImpl shouldn't have extended
>> DefaultSOAPEncodedTMI, because that means that SOAP encoded
>> types would be polluting the default typemapping. According to
>> JAX-RPC (and common sense) the default TM is not supposed to have
>> any encodingStyle-specific types in it.
>>
>> JAXRPC type mapping now extends the normal type mapping, is
>> correctly registered as the defaultDelTM when using "1.3" as the
>> TypeMappingVersion (yuk), and there's a new test to check to make
>> sure SOAPENC_STRING is *not* mapped for the default TM no
>> matter which TMV we select.
>>
>> Revision Changes Path
>> 1.10 +1 -1 ws-axis/java/src/org/apache/axis/encoding/DefaultJAXRPC11TypeMappingImpl.java
>>
>> Index: DefaultJAXRPC11TypeMappingImpl.java
>> ===================================================================
>> RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/encoding/DefaultJAXRPC11TypeMappingImpl.java,v
>> retrieving revision 1.9
>> retrieving revision 1.10
>> diff -u -r1.9 -r1.10
>> --- DefaultJAXRPC11TypeMappingImpl.java 12 Feb 2005 04:41:20 -0000 1.9
>> +++ DefaultJAXRPC11TypeMappingImpl.java 17 Feb 2005 20:05:05 -0000 1.10
>> @@ -29,7 +29,7 @@
>> * This is the implementation of the axis Default JAX-RPC SOAP Encoding TypeMapping
>> * See DefaultTypeMapping for more information.
>> */
>> -public class DefaultJAXRPC11TypeMappingImpl extends DefaultSOAPEncodingTypeMappingImpl {
>> +public class DefaultJAXRPC11TypeMappingImpl extends DefaultTypeMappingImpl {
>>
>> private static DefaultJAXRPC11TypeMappingImpl tm = null;
>>
>>
>>
>>
>> 1.33 +30 -24 ws-axis/java/src/org/apache/axis/encoding/TypeMappingRegistryImpl.java
>>
>> Index: TypeMappingRegistryImpl.java
>> ===================================================================
>> RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/encoding/TypeMappingRegistryImpl.java,v
>> retrieving revision 1.32
>> retrieving revision 1.33
>> diff -u -r1.32 -r1.33
>> --- TypeMappingRegistryImpl.java 17 Feb 2005 15:34:02 -0000 1.32
>> +++ TypeMappingRegistryImpl.java 17 Feb 2005 20:05:05 -0000 1.33
>> @@ -247,39 +247,44 @@
>> * if an invalid type mapping is specified or the delegate is already set
>> */
>> public void registerDefault(javax.xml.rpc.encoding.TypeMapping mapping) {
>> -// if (mapping == null ||
>> -// !(mapping instanceof TypeMapping)) {
>> -// throw new IllegalArgumentException(
>> -// Messages.getMessage("badTypeMapping"));
>> -// }
>> -//
>> -// /* Don't allow this call after the delegate() method since
>> -// * the TMR's TypeMappings will be using the default type mapping
>> -// * of the secondary TMR.
>> -// */
>> -// if (defaultDelTM.getDelegate() instanceof TypeMappingDelegate) {
>> -// throw new IllegalArgumentException(
>> -// Messages.getMessage("defaultTypeMappingSet"));
>> -// }
>> -//
>> -// defaultDelTM.setDelegate((TypeMapping) mapping);
>> + if (mapping == null ||
>> + !(mapping instanceof TypeMapping)) {
>> + throw new IllegalArgumentException(
>> + Messages.getMessage("badTypeMapping"));
>> + }
>> +
>> + /* Don't allow this call after the delegate() method since
>> + * the TMR's TypeMappings will be using the default type mapping
>> + * of the secondary TMR.
>> + */
>> + if (defaultDelTM.getDelegate() instanceof TypeMappingDelegate) {
>> + throw new IllegalArgumentException(
>> + Messages.getMessage("defaultTypeMappingSet"));
>> + }
>> +
>> + defaultDelTM.setDelegate((TypeMapping) mapping);
>> }
>>
>> + /**
>> + * Set up the default type mapping (and the SOAP encoding type mappings)
>> + * as per the passed "version" option.
>> + *
>> + * @param version
>> + */
>> public void doRegisterFromVersion(String version) {
>> - TypeMapping tm;
>> - if (version == null || version.equals("1.0")) {
>> - tm = DefaultSOAPEncodingTypeMappingImpl.getSingleton();
>> + if (version == null || version.equals("1.0") || version.equals("1.2")) {
>> + // Do nothing, just register SOAPENC mapping
>> } else if (version.equals("1.1")) {
>> + // Do nothing, no SOAPENC mapping
>> return;
>> - } else if (version.equals("1.2")) {
>> - tm = DefaultSOAPEncodingTypeMappingImpl.create();
>> } else if (version.equals("1.3")) {
>> - tm = DefaultJAXRPC11TypeMappingImpl.create();
>> + // Reset the default TM to the JAXRPC version, then register SOAPENC
>> + TypeMapping tm = DefaultJAXRPC11TypeMappingImpl.create();
>> + defaultDelTM = new TypeMappingDelegate(tm);
>> } else {
>> throw new RuntimeException(org.apache.axis.utils.Messages.getMessage("j2wBadTypeMapping00"));
>> }
>> - registerSOAPENCDefault(tm);
>> - defaultDelTM = new TypeMappingDelegate(tm);
>> + registerSOAPENCDefault(DefaultSOAPEncodingTypeMappingImpl.getSingleton());
>> }
>> /**
>> * Force registration of the given mapping as the SOAPENC default mapping
>> @@ -288,6 +293,7 @@
>> private void registerSOAPENCDefault(TypeMapping mapping) {
>> registerForced(Constants.URI_SOAP11_ENC, mapping);
>> registerForced(Constants.URI_SOAP12_ENC, mapping);
>> + mapping.setDelegate(defaultDelTM);
>> }
>>
>> /**
>>
>>
>>
>> 1.32 +1 -0 ws-axis/java/test/encoding/PackageTests.java
>>
>> Index: PackageTests.java
>> ===================================================================
>> RCS file: /home/cvs/ws-axis/java/test/encoding/PackageTests.java,v
>> retrieving revision 1.31
>> retrieving revision 1.32
>> diff -u -r1.31 -r1.32
>> --- PackageTests.java 26 Apr 2004 11:51:43 -0000 1.31
>> +++ PackageTests.java 17 Feb 2005 20:05:06 -0000 1.32
>> @@ -44,6 +44,7 @@
>> suite.addTestSuite(TestCircularRefs.class);
>> suite.addTestSuite(TestAutoTypes.class);
>> suite.addTestSuite(EncodingTest.class);
>> + suite.addTestSuite(TestDefaultTM.class);
>> return suite;
>> }
>> }
>>
>>
>>
>> 1.1 ws-axis/java/test/encoding/TestDefaultTM.java
>>
>> Index: TestDefaultTM.java
>> ===================================================================
>> /*
>> * Copyright 2002-2004 The Apache Software Foundation.
>> *
>> * Licensed under the Apache License, Version 2.0 (the "License");
>> * you may not use this file except in compliance with the License.
>> * You may obtain a copy of the License at
>> *
>> * http://www.apache.org/licenses/LICENSE-2.0
>> *
>> * Unless required by applicable law or agreed to in writing, software
>> * distributed under the License is distributed on an "AS IS" BASIS,
>> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>> * See the License for the specific language governing permissions and
>> * limitations under the License.
>> */
>>
>> package encoding;
>>
>> import junit.framework.TestCase;
>> import org.apache.axis.encoding.TypeMappingRegistryImpl;
>> import org.apache.axis.Constants;
>>
>> import javax.xml.rpc.encoding.TypeMapping;
>>
>> /**
>> * Default Type Mapping tests
>> */
>> public class TestDefaultTM extends TestCase {
>> /**
>> * This test makes sure that there aren't any SOAPENC types
>> * mapped in the default type mappings for any of the valid
>> * "version" strings.
>> *
>> * @throws Exception
>> */
>> public void testNoSOAPENCTypes() throws Exception {
>> checkTypes(null);
>> checkTypes("1.0");
>> checkTypes("1.1");
>> checkTypes("1.2");
>> checkTypes("1.3");
>> }
>>
>> private void checkTypes(String version) throws Exception {
>> TypeMappingRegistryImpl tmr = new TypeMappingRegistryImpl();
>> tmr.doRegisterFromVersion(version);
>> TypeMapping tm = tmr.getDefaultTypeMapping();
>> assertNull("Found mapping for soapenc:string in TM version " + version,
>> tm.getDeserializer(null, Constants.SOAP_STRING));
>> }
>> }
>>
>>
>>
>
>>
Re: cvs commit: ws-axis/java/test/encoding TestDefaultTM.java PackageTests.java
Posted by Jongjin Choi <gu...@hotmail.com>.
Glen,
I think the TestDefaultTM.java's package should be 'test.encoding' instead of'encoding'
/Jongjin
----- Original Message -----
From: <gd...@apache.org>
To: <ws...@apache.org>
Sent: Friday, February 18, 2005 5:05 AM
Subject: cvs commit: ws-axis/java/test/encoding TestDefaultTM.java PackageTests.java
> gdaniels 2005/02/17 12:05:06
>
> Modified: java/src/org/apache/axis/encoding
> DefaultJAXRPC11TypeMappingImpl.java
> TypeMappingRegistryImpl.java
> java/test/encoding PackageTests.java
> Added: java/test/encoding TestDefaultTM.java
> Log:
> Fix up type mappings.
>
> The DefaultJAXRPC11TypeMappingImpl shouldn't have extended
> DefaultSOAPEncodedTMI, because that means that SOAP encoded
> types would be polluting the default typemapping. According to
> JAX-RPC (and common sense) the default TM is not supposed to have
> any encodingStyle-specific types in it.
>
> JAXRPC type mapping now extends the normal type mapping, is
> correctly registered as the defaultDelTM when using "1.3" as the
> TypeMappingVersion (yuk), and there's a new test to check to make
> sure SOAPENC_STRING is *not* mapped for the default TM no
> matter which TMV we select.
>
> Revision Changes Path
> 1.10 +1 -1 ws-axis/java/src/org/apache/axis/encoding/DefaultJAXRPC11TypeMappingImpl.java
>
> Index: DefaultJAXRPC11TypeMappingImpl.java
> ===================================================================
> RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/encoding/DefaultJAXRPC11TypeMappingImpl.java,v
> retrieving revision 1.9
> retrieving revision 1.10
> diff -u -r1.9 -r1.10
> --- DefaultJAXRPC11TypeMappingImpl.java 12 Feb 2005 04:41:20 -0000 1.9
> +++ DefaultJAXRPC11TypeMappingImpl.java 17 Feb 2005 20:05:05 -0000 1.10
> @@ -29,7 +29,7 @@
> * This is the implementation of the axis Default JAX-RPC SOAP Encoding TypeMapping
> * See DefaultTypeMapping for more information.
> */
> -public class DefaultJAXRPC11TypeMappingImpl extends DefaultSOAPEncodingTypeMappingImpl {
> +public class DefaultJAXRPC11TypeMappingImpl extends DefaultTypeMappingImpl {
>
> private static DefaultJAXRPC11TypeMappingImpl tm = null;
>
>
>
>
> 1.33 +30 -24 ws-axis/java/src/org/apache/axis/encoding/TypeMappingRegistryImpl.java
>
> Index: TypeMappingRegistryImpl.java
> ===================================================================
> RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/encoding/TypeMappingRegistryImpl.java,v
> retrieving revision 1.32
> retrieving revision 1.33
> diff -u -r1.32 -r1.33
> --- TypeMappingRegistryImpl.java 17 Feb 2005 15:34:02 -0000 1.32
> +++ TypeMappingRegistryImpl.java 17 Feb 2005 20:05:05 -0000 1.33
> @@ -247,39 +247,44 @@
> * if an invalid type mapping is specified or the delegate is already set
> */
> public void registerDefault(javax.xml.rpc.encoding.TypeMapping mapping) {
> -// if (mapping == null ||
> -// !(mapping instanceof TypeMapping)) {
> -// throw new IllegalArgumentException(
> -// Messages.getMessage("badTypeMapping"));
> -// }
> -//
> -// /* Don't allow this call after the delegate() method since
> -// * the TMR's TypeMappings will be using the default type mapping
> -// * of the secondary TMR.
> -// */
> -// if (defaultDelTM.getDelegate() instanceof TypeMappingDelegate) {
> -// throw new IllegalArgumentException(
> -// Messages.getMessage("defaultTypeMappingSet"));
> -// }
> -//
> -// defaultDelTM.setDelegate((TypeMapping) mapping);
> + if (mapping == null ||
> + !(mapping instanceof TypeMapping)) {
> + throw new IllegalArgumentException(
> + Messages.getMessage("badTypeMapping"));
> + }
> +
> + /* Don't allow this call after the delegate() method since
> + * the TMR's TypeMappings will be using the default type mapping
> + * of the secondary TMR.
> + */
> + if (defaultDelTM.getDelegate() instanceof TypeMappingDelegate) {
> + throw new IllegalArgumentException(
> + Messages.getMessage("defaultTypeMappingSet"));
> + }
> +
> + defaultDelTM.setDelegate((TypeMapping) mapping);
> }
>
> + /**
> + * Set up the default type mapping (and the SOAP encoding type mappings)
> + * as per the passed "version" option.
> + *
> + * @param version
> + */
> public void doRegisterFromVersion(String version) {
> - TypeMapping tm;
> - if (version == null || version.equals("1.0")) {
> - tm = DefaultSOAPEncodingTypeMappingImpl.getSingleton();
> + if (version == null || version.equals("1.0") || version.equals("1.2")) {
> + // Do nothing, just register SOAPENC mapping
> } else if (version.equals("1.1")) {
> + // Do nothing, no SOAPENC mapping
> return;
> - } else if (version.equals("1.2")) {
> - tm = DefaultSOAPEncodingTypeMappingImpl.create();
> } else if (version.equals("1.3")) {
> - tm = DefaultJAXRPC11TypeMappingImpl.create();
> + // Reset the default TM to the JAXRPC version, then register SOAPENC
> + TypeMapping tm = DefaultJAXRPC11TypeMappingImpl.create();
> + defaultDelTM = new TypeMappingDelegate(tm);
> } else {
> throw new RuntimeException(org.apache.axis.utils.Messages.getMessage("j2wBadTypeMapping00"));
> }
> - registerSOAPENCDefault(tm);
> - defaultDelTM = new TypeMappingDelegate(tm);
> + registerSOAPENCDefault(DefaultSOAPEncodingTypeMappingImpl.getSingleton());
> }
> /**
> * Force registration of the given mapping as the SOAPENC default mapping
> @@ -288,6 +293,7 @@
> private void registerSOAPENCDefault(TypeMapping mapping) {
> registerForced(Constants.URI_SOAP11_ENC, mapping);
> registerForced(Constants.URI_SOAP12_ENC, mapping);
> + mapping.setDelegate(defaultDelTM);
> }
>
> /**
>
>
>
> 1.32 +1 -0 ws-axis/java/test/encoding/PackageTests.java
>
> Index: PackageTests.java
> ===================================================================
> RCS file: /home/cvs/ws-axis/java/test/encoding/PackageTests.java,v
> retrieving revision 1.31
> retrieving revision 1.32
> diff -u -r1.31 -r1.32
> --- PackageTests.java 26 Apr 2004 11:51:43 -0000 1.31
> +++ PackageTests.java 17 Feb 2005 20:05:06 -0000 1.32
> @@ -44,6 +44,7 @@
> suite.addTestSuite(TestCircularRefs.class);
> suite.addTestSuite(TestAutoTypes.class);
> suite.addTestSuite(EncodingTest.class);
> + suite.addTestSuite(TestDefaultTM.class);
> return suite;
> }
> }
>
>
>
> 1.1 ws-axis/java/test/encoding/TestDefaultTM.java
>
> Index: TestDefaultTM.java
> ===================================================================
> /*
> * Copyright 2002-2004 The Apache Software Foundation.
> *
> * Licensed under the Apache License, Version 2.0 (the "License");
> * you may not use this file except in compliance with the License.
> * You may obtain a copy of the License at
> *
> * http://www.apache.org/licenses/LICENSE-2.0
> *
> * Unless required by applicable law or agreed to in writing, software
> * distributed under the License is distributed on an "AS IS" BASIS,
> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> * See the License for the specific language governing permissions and
> * limitations under the License.
> */
>
> package encoding;
>
> import junit.framework.TestCase;
> import org.apache.axis.encoding.TypeMappingRegistryImpl;
> import org.apache.axis.Constants;
>
> import javax.xml.rpc.encoding.TypeMapping;
>
> /**
> * Default Type Mapping tests
> */
> public class TestDefaultTM extends TestCase {
> /**
> * This test makes sure that there aren't any SOAPENC types
> * mapped in the default type mappings for any of the valid
> * "version" strings.
> *
> * @throws Exception
> */
> public void testNoSOAPENCTypes() throws Exception {
> checkTypes(null);
> checkTypes("1.0");
> checkTypes("1.1");
> checkTypes("1.2");
> checkTypes("1.3");
> }
>
> private void checkTypes(String version) throws Exception {
> TypeMappingRegistryImpl tmr = new TypeMappingRegistryImpl();
> tmr.doRegisterFromVersion(version);
> TypeMapping tm = tmr.getDefaultTypeMapping();
> assertNull("Found mapping for soapenc:string in TM version " + version,
> tm.getDeserializer(null, Constants.SOAP_STRING));
> }
> }
>
>
>
>
Re: cvs commit: ws-axis/java/test/encoding TestDefaultTM.java PackageTests.java
Posted by Jongjin Choi <gu...@hotmail.com>.
Glen,
I think the TestDefaultTM.java's package should be 'test.encoding' instead of'encoding'
/Jongjin
----- Original Message -----
From: <gd...@apache.org>
To: <ws...@apache.org>
Sent: Friday, February 18, 2005 5:05 AM
Subject: cvs commit: ws-axis/java/test/encoding TestDefaultTM.java PackageTests.java
> gdaniels 2005/02/17 12:05:06
>
> Modified: java/src/org/apache/axis/encoding
> DefaultJAXRPC11TypeMappingImpl.java
> TypeMappingRegistryImpl.java
> java/test/encoding PackageTests.java
> Added: java/test/encoding TestDefaultTM.java
> Log:
> Fix up type mappings.
>
> The DefaultJAXRPC11TypeMappingImpl shouldn't have extended
> DefaultSOAPEncodedTMI, because that means that SOAP encoded
> types would be polluting the default typemapping. According to
> JAX-RPC (and common sense) the default TM is not supposed to have
> any encodingStyle-specific types in it.
>
> JAXRPC type mapping now extends the normal type mapping, is
> correctly registered as the defaultDelTM when using "1.3" as the
> TypeMappingVersion (yuk), and there's a new test to check to make
> sure SOAPENC_STRING is *not* mapped for the default TM no
> matter which TMV we select.
>
> Revision Changes Path
> 1.10 +1 -1 ws-axis/java/src/org/apache/axis/encoding/DefaultJAXRPC11TypeMappingImpl.java
>
> Index: DefaultJAXRPC11TypeMappingImpl.java
> ===================================================================
> RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/encoding/DefaultJAXRPC11TypeMappingImpl.java,v
> retrieving revision 1.9
> retrieving revision 1.10
> diff -u -r1.9 -r1.10
> --- DefaultJAXRPC11TypeMappingImpl.java 12 Feb 2005 04:41:20 -0000 1.9
> +++ DefaultJAXRPC11TypeMappingImpl.java 17 Feb 2005 20:05:05 -0000 1.10
> @@ -29,7 +29,7 @@
> * This is the implementation of the axis Default JAX-RPC SOAP Encoding TypeMapping
> * See DefaultTypeMapping for more information.
> */
> -public class DefaultJAXRPC11TypeMappingImpl extends DefaultSOAPEncodingTypeMappingImpl {
> +public class DefaultJAXRPC11TypeMappingImpl extends DefaultTypeMappingImpl {
>
> private static DefaultJAXRPC11TypeMappingImpl tm = null;
>
>
>
>
> 1.33 +30 -24 ws-axis/java/src/org/apache/axis/encoding/TypeMappingRegistryImpl.java
>
> Index: TypeMappingRegistryImpl.java
> ===================================================================
> RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/encoding/TypeMappingRegistryImpl.java,v
> retrieving revision 1.32
> retrieving revision 1.33
> diff -u -r1.32 -r1.33
> --- TypeMappingRegistryImpl.java 17 Feb 2005 15:34:02 -0000 1.32
> +++ TypeMappingRegistryImpl.java 17 Feb 2005 20:05:05 -0000 1.33
> @@ -247,39 +247,44 @@
> * if an invalid type mapping is specified or the delegate is already set
> */
> public void registerDefault(javax.xml.rpc.encoding.TypeMapping mapping) {
> -// if (mapping == null ||
> -// !(mapping instanceof TypeMapping)) {
> -// throw new IllegalArgumentException(
> -// Messages.getMessage("badTypeMapping"));
> -// }
> -//
> -// /* Don't allow this call after the delegate() method since
> -// * the TMR's TypeMappings will be using the default type mapping
> -// * of the secondary TMR.
> -// */
> -// if (defaultDelTM.getDelegate() instanceof TypeMappingDelegate) {
> -// throw new IllegalArgumentException(
> -// Messages.getMessage("defaultTypeMappingSet"));
> -// }
> -//
> -// defaultDelTM.setDelegate((TypeMapping) mapping);
> + if (mapping == null ||
> + !(mapping instanceof TypeMapping)) {
> + throw new IllegalArgumentException(
> + Messages.getMessage("badTypeMapping"));
> + }
> +
> + /* Don't allow this call after the delegate() method since
> + * the TMR's TypeMappings will be using the default type mapping
> + * of the secondary TMR.
> + */
> + if (defaultDelTM.getDelegate() instanceof TypeMappingDelegate) {
> + throw new IllegalArgumentException(
> + Messages.getMessage("defaultTypeMappingSet"));
> + }
> +
> + defaultDelTM.setDelegate((TypeMapping) mapping);
> }
>
> + /**
> + * Set up the default type mapping (and the SOAP encoding type mappings)
> + * as per the passed "version" option.
> + *
> + * @param version
> + */
> public void doRegisterFromVersion(String version) {
> - TypeMapping tm;
> - if (version == null || version.equals("1.0")) {
> - tm = DefaultSOAPEncodingTypeMappingImpl.getSingleton();
> + if (version == null || version.equals("1.0") || version.equals("1.2")) {
> + // Do nothing, just register SOAPENC mapping
> } else if (version.equals("1.1")) {
> + // Do nothing, no SOAPENC mapping
> return;
> - } else if (version.equals("1.2")) {
> - tm = DefaultSOAPEncodingTypeMappingImpl.create();
> } else if (version.equals("1.3")) {
> - tm = DefaultJAXRPC11TypeMappingImpl.create();
> + // Reset the default TM to the JAXRPC version, then register SOAPENC
> + TypeMapping tm = DefaultJAXRPC11TypeMappingImpl.create();
> + defaultDelTM = new TypeMappingDelegate(tm);
> } else {
> throw new RuntimeException(org.apache.axis.utils.Messages.getMessage("j2wBadTypeMapping00"));
> }
> - registerSOAPENCDefault(tm);
> - defaultDelTM = new TypeMappingDelegate(tm);
> + registerSOAPENCDefault(DefaultSOAPEncodingTypeMappingImpl.getSingleton());
> }
> /**
> * Force registration of the given mapping as the SOAPENC default mapping
> @@ -288,6 +293,7 @@
> private void registerSOAPENCDefault(TypeMapping mapping) {
> registerForced(Constants.URI_SOAP11_ENC, mapping);
> registerForced(Constants.URI_SOAP12_ENC, mapping);
> + mapping.setDelegate(defaultDelTM);
> }
>
> /**
>
>
>
> 1.32 +1 -0 ws-axis/java/test/encoding/PackageTests.java
>
> Index: PackageTests.java
> ===================================================================
> RCS file: /home/cvs/ws-axis/java/test/encoding/PackageTests.java,v
> retrieving revision 1.31
> retrieving revision 1.32
> diff -u -r1.31 -r1.32
> --- PackageTests.java 26 Apr 2004 11:51:43 -0000 1.31
> +++ PackageTests.java 17 Feb 2005 20:05:06 -0000 1.32
> @@ -44,6 +44,7 @@
> suite.addTestSuite(TestCircularRefs.class);
> suite.addTestSuite(TestAutoTypes.class);
> suite.addTestSuite(EncodingTest.class);
> + suite.addTestSuite(TestDefaultTM.class);
> return suite;
> }
> }
>
>
>
> 1.1 ws-axis/java/test/encoding/TestDefaultTM.java
>
> Index: TestDefaultTM.java
> ===================================================================
> /*
> * Copyright 2002-2004 The Apache Software Foundation.
> *
> * Licensed under the Apache License, Version 2.0 (the "License");
> * you may not use this file except in compliance with the License.
> * You may obtain a copy of the License at
> *
> * http://www.apache.org/licenses/LICENSE-2.0
> *
> * Unless required by applicable law or agreed to in writing, software
> * distributed under the License is distributed on an "AS IS" BASIS,
> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> * See the License for the specific language governing permissions and
> * limitations under the License.
> */
>
> package encoding;
>
> import junit.framework.TestCase;
> import org.apache.axis.encoding.TypeMappingRegistryImpl;
> import org.apache.axis.Constants;
>
> import javax.xml.rpc.encoding.TypeMapping;
>
> /**
> * Default Type Mapping tests
> */
> public class TestDefaultTM extends TestCase {
> /**
> * This test makes sure that there aren't any SOAPENC types
> * mapped in the default type mappings for any of the valid
> * "version" strings.
> *
> * @throws Exception
> */
> public void testNoSOAPENCTypes() throws Exception {
> checkTypes(null);
> checkTypes("1.0");
> checkTypes("1.1");
> checkTypes("1.2");
> checkTypes("1.3");
> }
>
> private void checkTypes(String version) throws Exception {
> TypeMappingRegistryImpl tmr = new TypeMappingRegistryImpl();
> tmr.doRegisterFromVersion(version);
> TypeMapping tm = tmr.getDefaultTypeMapping();
> assertNull("Found mapping for soapenc:string in TM version " + version,
> tm.getDeserializer(null, Constants.SOAP_STRING));
> }
> }
>
>
>
>