Author: veithen
Date: Sun Jun 29 21:06:52 2014
New Revision: 1606606
URL: http://svn.apache.org/r1606606
Log:
AXIOM-311:
* Generalize the TestGetChild/TestSetChild/TestSetChildVersionMismatch test
cases so that they can be used to test getters/setters in SOAPEnvelope,
SOAPBody, SOAPFaultCode and SOAPFaultSubCode as well.
* Remove old test cases made redundant by this change.
* Fixed a bug uncovered by the new tests.
Added:
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/GetSetChildTestCase.java
(with props)
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestGetChild.java
- copied, changed from r1606561,
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetChild.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestSetChild.java
- copied, changed from r1606561,
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestSetChild.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestSetChildVersionMismatch.java
- copied, changed from r1606561,
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestSetChildVersionMismatch.java
Removed:
webservices/axiom/trunk/modules/axiom-api/src/test/java/org/apache/axiom/soap/SOAPFaultCodeTestBase.java
webservices/axiom/trunk/modules/axiom-api/src/test/java/org/apache/axiom/soap/SOAPFaultSubCodeTestBase.java
webservices/axiom/trunk/modules/axiom-dom/src/test/java/org/apache/axiom/soap/impl/dom/SOAPFaultCodeTest.java
webservices/axiom/trunk/modules/axiom-dom/src/test/java/org/apache/axiom/soap/impl/dom/SOAPFaultSubCodeTest.java
webservices/axiom/trunk/modules/axiom-impl/src/test/java/org/apache/axiom/soap/impl/llom/SOAPFaultCodeTest.java
webservices/axiom/trunk/modules/axiom-impl/src/test/java/org/apache/axiom/soap/impl/llom/SOAPFaultSubCodeTest.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPFaultChildAdapter.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetChild.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestSetChild.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestSetChildVersionMismatch.java
Modified:
webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultCodeImpl.java
webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultCodeImpl.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPElementTypeAdapter.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPElementTypeAdapterFactory.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPTestSuiteBuilder.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestChildOrder.java
Modified:
webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultCodeImpl.java
URL:
http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultCodeImpl.java?rev=1606606&r1=1606605&r2=1606606&view=diff
==============================================================================
---
webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultCodeImpl.java
(original)
+++
webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap12/SOAP12FaultCodeImpl.java
Sun Jun 29 21:06:52 2014
@@ -65,7 +65,7 @@ public class SOAP12FaultCodeImpl extends
"Expecting SOAP 1.2 implementation of SOAP Fault Value. " +
"But received some other implementation");
}
- ElementHelper.setNewElement(this, value, value);
+ ElementHelper.setNewElement(this, getValue(), value);
}
// TODO: For compatibility with Axiom 1.2.x; remove in Axiom 1.3
Modified:
webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultCodeImpl.java
URL:
http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultCodeImpl.java?rev=1606606&r1=1606605&r2=1606606&view=diff
==============================================================================
---
webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultCodeImpl.java
(original)
+++
webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultCodeImpl.java
Sun Jun 29 21:06:52 2014
@@ -67,7 +67,7 @@ public class SOAP12FaultCodeImpl extends
throw new SOAPProcessingException(
"Expecting SOAP12FaultValueImpl, got " + value.getClass());
}
- ElementHelper.setNewElement(this, value, value);
+ ElementHelper.setNewElement(this, getValue(), value);
}
protected void checkParent(OMElement parent) throws
SOAPProcessingException {
Modified:
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPElementTypeAdapter.java
URL:
http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPElementTypeAdapter.java?rev=1606606&r1=1606605&r2=1606606&view=diff
==============================================================================
---
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPElementTypeAdapter.java
(original)
+++
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPElementTypeAdapter.java
Sun Jun 29 21:06:52 2014
@@ -25,10 +25,22 @@ import org.apache.axiom.testutils.suite.
@AdapterType
public abstract class SOAPElementTypeAdapter implements Dimension {
+ public interface Getter {
+ OMElement invoke(OMElement parent);
+ }
+
+ public interface Setter {
+ void invoke(OMElement parent, OMElement child);
+ }
+
private final Class<? extends OMElement> type;
+ private final Getter getter;
+ private final Setter setter;
- SOAPElementTypeAdapter(Class<? extends OMElement> type) {
+ SOAPElementTypeAdapter(Class<? extends OMElement> type, Getter getter,
Setter setter) {
this.type = type;
+ this.getter = getter;
+ this.setter = setter;
}
public final void addTestParameters(MatrixTestCase testCase) {
@@ -39,6 +51,14 @@ public abstract class SOAPElementTypeAda
return type;
}
+ public final Getter getGetter() {
+ return getter;
+ }
+
+ public final Setter getSetter() {
+ return setter;
+ }
+
public abstract OMElement create(SOAPFactory factory);
public abstract OMElement create(SOAPFactory factory, SOAPElementType
parentType, OMElement parent);
}
Modified:
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPElementTypeAdapterFactory.java
URL:
http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPElementTypeAdapterFactory.java?rev=1606606&r1=1606605&r2=1606606&view=diff
==============================================================================
---
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPElementTypeAdapterFactory.java
(original)
+++
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPElementTypeAdapterFactory.java
Sun Jun 29 21:06:52 2014
@@ -23,6 +23,7 @@ import org.apache.axiom.soap.SOAPBody;
import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFault;
+import org.apache.axiom.soap.SOAPFaultClassifier;
import org.apache.axiom.soap.SOAPFaultCode;
import org.apache.axiom.soap.SOAPFaultDetail;
import org.apache.axiom.soap.SOAPFaultNode;
@@ -32,11 +33,13 @@ import org.apache.axiom.soap.SOAPFaultSu
import org.apache.axiom.soap.SOAPFaultText;
import org.apache.axiom.soap.SOAPFaultValue;
import org.apache.axiom.soap.SOAPHeader;
+import org.apache.axiom.ts.soap.SOAPElementTypeAdapter.Getter;
+import org.apache.axiom.ts.soap.SOAPElementTypeAdapter.Setter;
public class SOAPElementTypeAdapterFactory implements
AdapterFactory<SOAPElementType> {
public void createAdapters(SOAPElementType type, Adapters adapters) {
if (type == SOAPElementType.ENVELOPE) {
- adapters.add(new SOAPElementTypeAdapter(SOAPEnvelope.class) {
+ adapters.add(new SOAPElementTypeAdapter(SOAPEnvelope.class, null,
null) {
public OMElement create(SOAPFactory factory) {
return factory.createSOAPEnvelope();
}
@@ -48,7 +51,12 @@ public class SOAPElementTypeAdapterFacto
}
});
} else if (type == SOAPElementType.HEADER) {
- adapters.add(new SOAPElementTypeAdapter(SOAPHeader.class) {
+ Getter getter = new Getter() {
+ public OMElement invoke(OMElement parent) {
+ return ((SOAPEnvelope)parent).getHeader();
+ }
+ };
+ adapters.add(new SOAPElementTypeAdapter(SOAPHeader.class, getter,
null) {
public OMElement create(SOAPFactory factory) {
return factory.createSOAPHeader();
}
@@ -60,7 +68,12 @@ public class SOAPElementTypeAdapterFacto
}
});
} else if (type == SOAPElementType.BODY) {
- adapters.add(new SOAPElementTypeAdapter(SOAPBody.class) {
+ Getter getter = new Getter() {
+ public OMElement invoke(OMElement parent) {
+ return ((SOAPEnvelope)parent).getBody();
+ }
+ };
+ adapters.add(new SOAPElementTypeAdapter(SOAPBody.class, getter,
null) {
public OMElement create(SOAPFactory factory) {
return factory.createSOAPBody();
}
@@ -72,7 +85,12 @@ public class SOAPElementTypeAdapterFacto
}
});
} else if (type == SOAPElementType.FAULT) {
- adapters.add(new SOAPElementTypeAdapter(SOAPFault.class) {
+ Getter getter = new Getter() {
+ public OMElement invoke(OMElement parent) {
+ return ((SOAPBody)parent).getFault();
+ }
+ };
+ adapters.add(new SOAPElementTypeAdapter(SOAPFault.class, getter,
null) {
public OMElement create(SOAPFactory factory) {
return factory.createSOAPFault();
}
@@ -84,7 +102,17 @@ public class SOAPElementTypeAdapterFacto
}
});
} else if (type == SOAPFaultChild.CODE) {
- adapters.add(new SOAPFaultChildAdapter(SOAPFaultCode.class) {
+ Getter getter = new Getter() {
+ public OMElement invoke(OMElement parent) {
+ return ((SOAPFault)parent).getCode();
+ }
+ };
+ Setter setter = new Setter() {
+ public void invoke(OMElement parent, OMElement child) {
+ ((SOAPFault)parent).setCode((SOAPFaultCode)child);
+ }
+ };
+ adapters.add(new SOAPElementTypeAdapter(SOAPFaultCode.class,
getter, setter) {
public OMElement create(SOAPFactory factory) {
return factory.createSOAPFaultCode();
}
@@ -93,18 +121,19 @@ public class SOAPElementTypeAdapterFacto
OMElement parent) {
return factory.createSOAPFaultCode((SOAPFault)parent);
}
-
- @Override
- public OMElement get(SOAPFault fault) {
- return fault.getCode();
- }
-
- public void set(SOAPFault fault, OMElement element) {
- fault.setCode((SOAPFaultCode)element);
- }
});
} else if (type == SOAPElementType.VALUE) {
- adapters.add(new SOAPElementTypeAdapter(SOAPFaultValue.class) {
+ Getter getter = new Getter() {
+ public OMElement invoke(OMElement parent) {
+ return ((SOAPFaultClassifier)parent).getValue();
+ }
+ };
+ Setter setter = new Setter() {
+ public void invoke(OMElement parent, OMElement child) {
+
((SOAPFaultClassifier)parent).setValue((SOAPFaultValue)child);
+ }
+ };
+ adapters.add(new SOAPElementTypeAdapter(SOAPFaultValue.class,
getter, setter) {
public OMElement create(SOAPFactory factory) {
return factory.createSOAPFaultValue();
}
@@ -120,7 +149,17 @@ public class SOAPElementTypeAdapterFacto
}
});
} else if (type == SOAPElementType.SUB_CODE) {
- adapters.add(new SOAPElementTypeAdapter(SOAPFaultSubCode.class) {
+ Getter getter = new Getter() {
+ public OMElement invoke(OMElement parent) {
+ return ((SOAPFaultClassifier)parent).getSubCode();
+ }
+ };
+ Setter setter = new Setter() {
+ public void invoke(OMElement parent, OMElement child) {
+
((SOAPFaultClassifier)parent).setSubCode((SOAPFaultSubCode)child);
+ }
+ };
+ adapters.add(new SOAPElementTypeAdapter(SOAPFaultSubCode.class,
getter, setter) {
public OMElement create(SOAPFactory factory) {
return factory.createSOAPFaultSubCode();
}
@@ -136,7 +175,17 @@ public class SOAPElementTypeAdapterFacto
}
});
} else if (type == SOAPFaultChild.REASON) {
- adapters.add(new SOAPFaultChildAdapter(SOAPFaultReason.class) {
+ Getter getter = new Getter() {
+ public OMElement invoke(OMElement parent) {
+ return ((SOAPFault)parent).getReason();
+ }
+ };
+ Setter setter = new Setter() {
+ public void invoke(OMElement parent, OMElement child) {
+ ((SOAPFault)parent).setReason((SOAPFaultReason)child);
+ }
+ };
+ adapters.add(new SOAPElementTypeAdapter(SOAPFaultReason.class,
getter, setter) {
public OMElement create(SOAPFactory factory) {
return factory.createSOAPFaultReason();
}
@@ -145,18 +194,9 @@ public class SOAPElementTypeAdapterFacto
OMElement parent) {
return factory.createSOAPFaultReason((SOAPFault)parent);
}
-
- @Override
- public OMElement get(SOAPFault fault) {
- return fault.getReason();
- }
-
- public void set(SOAPFault fault, OMElement element) {
- fault.setReason((SOAPFaultReason)element);
- }
});
} else if (type == SOAPElementType.TEXT) {
- adapters.add(new SOAPElementTypeAdapter(SOAPFaultText.class) {
+ adapters.add(new SOAPElementTypeAdapter(SOAPFaultText.class, null,
null) {
public OMElement create(SOAPFactory factory) {
return factory.createSOAPFaultText();
}
@@ -168,7 +208,17 @@ public class SOAPElementTypeAdapterFacto
}
});
} else if (type == SOAPFaultChild.NODE) {
- adapters.add(new SOAPFaultChildAdapter(SOAPFaultNode.class) {
+ Getter getter = new Getter() {
+ public OMElement invoke(OMElement parent) {
+ return ((SOAPFault)parent).getNode();
+ }
+ };
+ Setter setter = new Setter() {
+ public void invoke(OMElement parent, OMElement child) {
+ ((SOAPFault)parent).setNode((SOAPFaultNode)child);
+ }
+ };
+ adapters.add(new SOAPElementTypeAdapter(SOAPFaultNode.class,
getter, setter) {
public OMElement create(SOAPFactory factory) {
return factory.createSOAPFaultNode();
}
@@ -177,18 +227,19 @@ public class SOAPElementTypeAdapterFacto
OMElement parent) {
return factory.createSOAPFaultNode((SOAPFault)parent);
}
-
- @Override
- public OMElement get(SOAPFault fault) {
- return fault.getNode();
- }
-
- public void set(SOAPFault fault, OMElement element) {
- fault.setNode((SOAPFaultNode)element);
- }
});
} else if (type == SOAPFaultChild.ROLE) {
- adapters.add(new SOAPFaultChildAdapter(SOAPFaultRole.class) {
+ Getter getter = new Getter() {
+ public OMElement invoke(OMElement parent) {
+ return ((SOAPFault)parent).getRole();
+ }
+ };
+ Setter setter = new Setter() {
+ public void invoke(OMElement parent, OMElement child) {
+ ((SOAPFault)parent).setRole((SOAPFaultRole)child);
+ }
+ };
+ adapters.add(new SOAPElementTypeAdapter(SOAPFaultRole.class,
getter, setter) {
public OMElement create(SOAPFactory factory) {
return factory.createSOAPFaultRole();
}
@@ -197,18 +248,19 @@ public class SOAPElementTypeAdapterFacto
OMElement parent) {
return factory.createSOAPFaultRole((SOAPFault)parent);
}
-
- @Override
- public OMElement get(SOAPFault fault) {
- return fault.getRole();
- }
-
- public void set(SOAPFault fault, OMElement element) {
- fault.setRole((SOAPFaultRole)element);
- }
});
} else if (type == SOAPFaultChild.DETAIL) {
- adapters.add(new SOAPFaultChildAdapter(SOAPFaultDetail.class) {
+ Getter getter = new Getter() {
+ public OMElement invoke(OMElement parent) {
+ return ((SOAPFault)parent).getDetail();
+ }
+ };
+ Setter setter = new Setter() {
+ public void invoke(OMElement parent, OMElement child) {
+ ((SOAPFault)parent).setDetail((SOAPFaultDetail)child);
+ }
+ };
+ adapters.add(new SOAPElementTypeAdapter(SOAPFaultDetail.class,
getter, setter) {
public OMElement create(SOAPFactory factory) {
return factory.createSOAPFaultDetail();
}
@@ -217,15 +269,6 @@ public class SOAPElementTypeAdapterFacto
OMElement parent) {
return factory.createSOAPFaultDetail((SOAPFault)parent);
}
-
- @Override
- public OMElement get(SOAPFault fault) {
- return fault.getDetail();
- }
-
- public void set(SOAPFault fault, OMElement element) {
- fault.setDetail((SOAPFaultDetail)element);
- }
});
}
}
Modified:
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPTestSuiteBuilder.java
URL:
http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPTestSuiteBuilder.java?rev=1606606&r1=1606605&r2=1606606&view=diff
==============================================================================
---
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPTestSuiteBuilder.java
(original)
+++
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/SOAPTestSuiteBuilder.java
Sun Jun 29 21:06:52 2014
@@ -192,15 +192,6 @@ public class SOAPTestSuiteBuilder extend
addTest(new
org.apache.axiom.ts.soap.fault.TestChildOrder(metaFactory, spec,
new SOAPFaultChild[] { SOAPFaultChild.CODE,
SOAPFaultChild.REASON, SOAPFaultChild.DETAIL, SOAPFaultChild.REASON }, ss));
}
- for (SOAPElementType type : SOAPElementType.FAULT.getChildTypes()) {
- if (type.getQName(spec) != null) {
- addTest(new
org.apache.axiom.ts.soap.fault.TestGetChild(metaFactory, spec,
(SOAPFaultChild)type));
- addTest(new
org.apache.axiom.ts.soap.fault.TestSetChild(metaFactory, spec,
(SOAPFaultChild)type));
- if (type.getQName(spec.getAltSpec()) != null) {
- addTest(new
org.apache.axiom.ts.soap.fault.TestSetChildVersionMismatch(metaFactory, spec,
(SOAPFaultChild)type));
- }
- }
- }
addTest(new
org.apache.axiom.ts.soap.fault.TestGetCodeWithParser(metaFactory, spec));
addTest(new
org.apache.axiom.ts.soap.fault.TestGetDetailWithParser(metaFactory, spec));
addTest(new
org.apache.axiom.ts.soap.fault.TestGetException(metaFactory, spec));
@@ -274,6 +265,23 @@ public class SOAPTestSuiteBuilder extend
addTest(new
org.apache.axiom.ts.soap.message.TestGetOMFactoryWithParser(metaFactory, spec));
addTest(new
org.apache.axiom.ts.soap.message.TestSetOMDocumentElement(metaFactory, spec));
addTest(new
org.apache.axiom.ts.soap.message.TestSetOMDocumentElementNonSOAPEnvelope(metaFactory,
spec));
+ for (SOAPElementType type : SOAPElementType.getAll()) {
+ if (type.getQName(spec) != null) {
+ for (SOAPElementType childType : type.getChildTypes()) {
+ if (childType.getQName(spec) != null) {
+ if
(childType.getAdapter(SOAPElementTypeAdapter.class).getGetter() != null) {
+ addTest(new
org.apache.axiom.ts.soap.misc.TestGetChild(metaFactory, spec, type, childType));
+ }
+ if
(childType.getAdapter(SOAPElementTypeAdapter.class).getSetter() != null) {
+ addTest(new
org.apache.axiom.ts.soap.misc.TestSetChild(metaFactory, spec, type, childType));
+ if (childType.getQName(spec.getAltSpec()) != null)
{
+ addTest(new
org.apache.axiom.ts.soap.misc.TestSetChildVersionMismatch(metaFactory, spec,
type, childType));
+ }
+ }
+ }
+ }
+ }
+ }
addTest(new
org.apache.axiom.ts.soap.xpath.TestXPathAppliedToSOAPEnvelope(metaFactory,
spec, true));
addTest(new
org.apache.axiom.ts.soap.xpath.TestXPathAppliedToSOAPEnvelope(metaFactory,
spec, false));
}
Modified:
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestChildOrder.java
URL:
http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestChildOrder.java?rev=1606606&r1=1606605&r2=1606606&view=diff
==============================================================================
---
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestChildOrder.java
(original)
+++
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestChildOrder.java
Sun Jun 29 21:06:52 2014
@@ -31,8 +31,8 @@ import org.apache.axiom.soap.SOAPFault;
import org.apache.axiom.soap.SOAPFaultCode;
import org.apache.axiom.soap.SOAPFaultReason;
import org.apache.axiom.ts.dimension.serialization.SerializationStrategy;
+import org.apache.axiom.ts.soap.SOAPElementTypeAdapter;
import org.apache.axiom.ts.soap.SOAPFaultChild;
-import org.apache.axiom.ts.soap.SOAPFaultChildAdapter;
import org.apache.axiom.ts.soap.SOAPSpec;
import org.apache.axiom.ts.soap.SOAPTestCase;
import org.w3c.dom.Document;
@@ -59,7 +59,7 @@ public class TestChildOrder extends SOAP
if (i>0) {
buffer.append(',');
}
-
buffer.append(inputOrder[i].getAdapter(SOAPFaultChildAdapter.class).getType().getSimpleName());
+
buffer.append(inputOrder[i].getAdapter(SOAPElementTypeAdapter.class).getType().getSimpleName());
}
addTestParameter("inputOrder", buffer.toString());
serializationStrategy.addTestParameters(this);
@@ -69,8 +69,8 @@ public class TestChildOrder extends SOAP
SOAPFault fault = soapFactory.createSOAPFault();
// Add the elements in the specified order.
for (int i=0; i<inputOrder.length; i++) {
- SOAPFaultChildAdapter adapter =
inputOrder[i].getAdapter(SOAPFaultChildAdapter.class);
- adapter.set(fault, adapter.create(soapFactory));
+ SOAPElementTypeAdapter adapter =
inputOrder[i].getAdapter(SOAPElementTypeAdapter.class);
+ adapter.getSetter().invoke(fault, adapter.create(soapFactory));
}
// Calculate the order in which we expect to see the children. Note
that a given type
// may be added multiple times. Therefore we need to use a Set.
Added:
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/GetSetChildTestCase.java
URL:
http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/GetSetChildTestCase.java?rev=1606606&view=auto
==============================================================================
---
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/GetSetChildTestCase.java
(added)
+++
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/GetSetChildTestCase.java
Sun Jun 29 21:06:52 2014
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 org.apache.axiom.ts.soap.misc;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMMetaFactory;
+import org.apache.axiom.ts.soap.SOAPElementType;
+import org.apache.axiom.ts.soap.SOAPElementTypeAdapter;
+import org.apache.axiom.ts.soap.SOAPSpec;
+import org.apache.axiom.ts.soap.SOAPTestCase;
+
+public abstract class GetSetChildTestCase extends SOAPTestCase {
+ protected final SOAPElementType type;
+ protected final SOAPElementType childType;
+
+ public GetSetChildTestCase(OMMetaFactory metaFactory, SOAPSpec spec,
SOAPElementType type, SOAPElementType childType) {
+ super(metaFactory, spec);
+ this.type = type;
+ this.childType = childType;
+ addTestParameter("type",
type.getAdapter(SOAPElementTypeAdapter.class).getType().getSimpleName());
+ addTestParameter("childType",
childType.getAdapter(SOAPElementTypeAdapter.class).getType().getSimpleName());
+ }
+
+ @Override
+ protected final void runTest() throws Throwable {
+
runTest(type.getAdapter(SOAPElementTypeAdapter.class).create(soapFactory),
+ childType.getAdapter(SOAPElementTypeAdapter.class));
+ }
+
+ protected abstract void runTest(OMElement parent, SOAPElementTypeAdapter
adapter);
+}
Propchange:
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/GetSetChildTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Copied:
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestGetChild.java
(from r1606561,
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetChild.java)
URL:
http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestGetChild.java?p2=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestGetChild.java&p1=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetChild.java&r1=1606561&r2=1606606&rev=1606606&view=diff
==============================================================================
---
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestGetChild.java
(original)
+++
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestGetChild.java
Sun Jun 29 21:06:52 2014
@@ -16,32 +16,24 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.axiom.ts.soap.fault;
+package org.apache.axiom.ts.soap.misc;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMMetaFactory;
-import org.apache.axiom.soap.SOAPFault;
import org.apache.axiom.ts.soap.SOAPElementType;
-import org.apache.axiom.ts.soap.SOAPFaultChild;
-import org.apache.axiom.ts.soap.SOAPFaultChildAdapter;
+import org.apache.axiom.ts.soap.SOAPElementTypeAdapter;
import org.apache.axiom.ts.soap.SOAPSpec;
-import org.apache.axiom.ts.soap.SOAPTestCase;
-public class TestGetChild extends SOAPTestCase {
- private final SOAPFaultChild type;
-
- public TestGetChild(OMMetaFactory metaFactory, SOAPSpec spec,
SOAPFaultChild type) {
- super(metaFactory, spec);
- this.type = type;
- type.getAdapter(SOAPFaultChildAdapter.class).addTestParameters(this);
+public class TestGetChild extends GetSetChildTestCase {
+ public TestGetChild(OMMetaFactory metaFactory, SOAPSpec spec,
SOAPElementType type,
+ SOAPElementType childType) {
+ super(metaFactory, spec, type, childType);
}
@Override
- protected void runTest() throws Throwable {
- SOAPFaultChildAdapter adapter =
type.getAdapter(SOAPFaultChildAdapter.class);
- SOAPFault fault = soapFactory.createSOAPFault();
- assertNull(adapter.get(fault));
- OMElement child = adapter.create(soapFactory, SOAPElementType.FAULT,
fault);
- assertSame(child, adapter.get(fault));
+ protected void runTest(OMElement parent, SOAPElementTypeAdapter adapter) {
+ assertNull(adapter.getGetter().invoke(parent));
+ OMElement child = adapter.create(soapFactory, type, parent);
+ assertSame(child, adapter.getGetter().invoke(parent));
}
}
Copied:
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestSetChild.java
(from r1606561,
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestSetChild.java)
URL:
http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestSetChild.java?p2=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestSetChild.java&p1=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestSetChild.java&r1=1606561&r2=1606606&rev=1606606&view=diff
==============================================================================
---
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestSetChild.java
(original)
+++
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestSetChild.java
Sun Jun 29 21:06:52 2014
@@ -16,32 +16,25 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.axiom.ts.soap.fault;
+package org.apache.axiom.ts.soap.misc;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMMetaFactory;
-import org.apache.axiom.soap.SOAPFault;
-import org.apache.axiom.ts.soap.SOAPFaultChild;
-import org.apache.axiom.ts.soap.SOAPFaultChildAdapter;
+import org.apache.axiom.ts.soap.SOAPElementType;
+import org.apache.axiom.ts.soap.SOAPElementTypeAdapter;
import org.apache.axiom.ts.soap.SOAPSpec;
-import org.apache.axiom.ts.soap.SOAPTestCase;
-public class TestSetChild extends SOAPTestCase {
- private final SOAPFaultChild type;
-
- public TestSetChild(OMMetaFactory metaFactory, SOAPSpec spec,
SOAPFaultChild type) {
- super(metaFactory, spec);
- this.type = type;
- type.getAdapter(SOAPFaultChildAdapter.class).addTestParameters(this);
+public class TestSetChild extends GetSetChildTestCase {
+ public TestSetChild(OMMetaFactory metaFactory, SOAPSpec spec,
SOAPElementType type,
+ SOAPElementType childType) {
+ super(metaFactory, spec, type, childType);
}
@Override
- protected void runTest() throws Throwable {
- SOAPFaultChildAdapter adapter =
type.getAdapter(SOAPFaultChildAdapter.class);
- SOAPFault fault = soapFactory.createSOAPFault();
+ protected void runTest(OMElement parent, SOAPElementTypeAdapter adapter) {
OMElement child = adapter.create(soapFactory);
- adapter.set(fault, child);
- assertSame(child, adapter.get(fault));
- assertSame(child, fault.getFirstOMChild());
+ adapter.getSetter().invoke(parent, child);
+ assertSame(child, adapter.getGetter().invoke(parent));
+ assertSame(child, parent.getFirstOMChild());
}
}
Copied:
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestSetChildVersionMismatch.java
(from r1606561,
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestSetChildVersionMismatch.java)
URL:
http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestSetChildVersionMismatch.java?p2=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestSetChildVersionMismatch.java&p1=webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestSetChildVersionMismatch.java&r1=1606561&r2=1606606&rev=1606606&view=diff
==============================================================================
---
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/fault/TestSetChildVersionMismatch.java
(original)
+++
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/misc/TestSetChildVersionMismatch.java
Sun Jun 29 21:06:52 2014
@@ -16,33 +16,26 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.axiom.ts.soap.fault;
+package org.apache.axiom.ts.soap.misc;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMMetaFactory;
-import org.apache.axiom.soap.SOAPFault;
import org.apache.axiom.soap.SOAPProcessingException;
-import org.apache.axiom.ts.soap.SOAPFaultChild;
-import org.apache.axiom.ts.soap.SOAPFaultChildAdapter;
+import org.apache.axiom.ts.soap.SOAPElementType;
+import org.apache.axiom.ts.soap.SOAPElementTypeAdapter;
import org.apache.axiom.ts.soap.SOAPSpec;
-import org.apache.axiom.ts.soap.SOAPTestCase;
-public class TestSetChildVersionMismatch extends SOAPTestCase {
- private final SOAPFaultChild type;
-
- public TestSetChildVersionMismatch(OMMetaFactory metaFactory, SOAPSpec
spec, SOAPFaultChild type) {
- super(metaFactory, spec);
- this.type = type;
- type.getAdapter(SOAPFaultChildAdapter.class).addTestParameters(this);
+public class TestSetChildVersionMismatch extends GetSetChildTestCase {
+ public TestSetChildVersionMismatch(OMMetaFactory metaFactory, SOAPSpec
spec,
+ SOAPElementType type, SOAPElementType childType) {
+ super(metaFactory, spec, type, childType);
}
@Override
- protected void runTest() throws Throwable {
- SOAPFaultChildAdapter adapter =
type.getAdapter(SOAPFaultChildAdapter.class);
- SOAPFault fault = soapFactory.createSOAPFault();
+ protected void runTest(OMElement parent, SOAPElementTypeAdapter adapter) {
OMElement child = adapter.create(altSoapFactory);
try {
- adapter.set(fault, child);
+ adapter.getSetter().invoke(parent, child);
fail("Expected SOAPProcessingException");
} catch (SOAPProcessingException ex) {
// Expected