Author: bimargulies
Date: Tue Oct 7 13:26:30 2008
New Revision: 702616
URL: http://svn.apache.org/viewvc?rev=702616&view=rev
Log:
Fixes from Peter Jones to CXF-1840 and 1845. Thank you!
Modified:
cxf/trunk/parent/pom.xml
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/AnnotationReader.java
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/mtom/AttachmentUtil.java
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/xml/stax/ElementReader.java
cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/JaxbTypeTest.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/UriBuilderImplTest.java
cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBITransportFactory.java
cxf/trunk/tools/corba/src/test/java/org/apache/cxf/tools/corba/processors/WSDLToCorbaBindingTest.java
cxf/trunk/tools/corba/src/test/java/org/apache/cxf/tools/corba/processors/WSDLToCorbaBindingTypeTest.java
cxf/trunk/tools/corba/src/test/java/org/apache/cxf/tools/corba/processors/WSDLToIDLGenerationTest.java
Modified: cxf/trunk/parent/pom.xml
URL:
http://svn.apache.org/viewvc/cxf/trunk/parent/pom.xml?rev=702616&r1=702615&r2=702616&view=diff
==============================================================================
--- cxf/trunk/parent/pom.xml (original)
+++ cxf/trunk/parent/pom.xml Tue Oct 7 13:26:30 2008
@@ -283,7 +283,7 @@
<value>${surefire.fork.vmargs}</value>
</property>
<property>
- <!-- If we close the port after a client in
the same JVM has oppened a keep-alive
+ <!-- If we close the port after a client in
the same JVM has opened a keep-alive
connection, on some Linux's, the socket
remains consumed until
some timeout occurs. That may cause some
tests to timeout/hang. -->
<name>org.apache.cxf.transports.http_jetty.DontClosePort</name>
@@ -1137,12 +1137,16 @@
<value>${spring.validation.mode}</value>
</property>
<property>
- <!-- If we close the port after a client
in the same JVM has oppened a keep-alive
+ <!-- If we close the port after a client
in the same JVM has opened a keep-alive
connection, on some Linux's, the socket
remains consumed until
some timeout occurs. That may cause
some tests to timeout/hang. -->
<name>org.apache.cxf.transports.http_jetty.DontClosePort</name>
<value>false</value>
</property>
+ <property>
+ <name>java.security.properties</name>
+
<value>${basedir}/target/test-classes/ibm.security</value>
+ </property>
</systemProperties>
</configuration>
</plugin>
Modified:
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/AnnotationReader.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/AnnotationReader.java?rev=702616&r1=702615&r2=702616&view=diff
==============================================================================
---
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/AnnotationReader.java
(original)
+++
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/AnnotationReader.java
Tue Oct 7 13:26:30 2008
@@ -76,13 +76,22 @@
@SuppressWarnings("unchecked")
public Class getType(AnnotatedElement element) {
- return (Class) getAnnotationValue("type",
+ Class value = (Class) getAnnotationValue("type",
element,
Type.class,
XmlAttribute.class,
XmlElement.class,
org.codehaus.xfire.aegis.type.java5.XmlAttribute.class,
org.codehaus.xfire.aegis.type.java5.XmlElement.class);
+ // jaxb uses a different default value
+ if (value == null) {
+ value = (Class) getAnnotationValue("type",
+ element,
+ javax.xml.bind.annotation.XmlElement.DEFAULT.class,
+ XML_ELEMENT);
+ }
+
+ return value;
}
@SuppressWarnings("unchecked")
Modified:
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/mtom/AttachmentUtil.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/mtom/AttachmentUtil.java?rev=702616&r1=702615&r2=702616&view=diff
==============================================================================
---
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/mtom/AttachmentUtil.java
(original)
+++
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/mtom/AttachmentUtil.java
Tue Oct 7 13:26:30 2008
@@ -49,6 +49,9 @@
}
public static Attachment getAttachment(String id, Collection<Attachment>
attachments) {
+ if (id == null) {
+ throw new DatabindingException("Cannot get attachment: null id");
+ }
int i = id.indexOf("cid:");
if (i != -1) {
id = id.substring(4).trim();
Modified:
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/xml/stax/ElementReader.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/xml/stax/ElementReader.java?rev=702616&r1=702615&r2=702616&view=diff
==============================================================================
---
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/xml/stax/ElementReader.java
(original)
+++
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/xml/stax/ElementReader.java
Tue Oct 7 13:26:30 2008
@@ -247,8 +247,14 @@
}
public MessageReader getAttributeReader(QName qName) {
- return new AttributeReader(qName,
root.getAttributeValue(qName.getNamespaceURI(), qName
- .getLocalPart()));
+ String attribute = root.getAttributeValue(qName.getNamespaceURI(),
qName.getLocalPart());
+ if (attribute == null && "".equals(qName.getNamespaceURI())) {
+ // The qName namespaceURI of the attribute seems to be null
+ // rather than "" when using the ibmjdk.
+ // The MtomTest systest fails unless we do this.
+ attribute = root.getAttributeValue(null, qName.getLocalPart());
+ }
+ return new AttributeReader(qName, attribute);
}
public MessageReader getNextAttributeReader() {
Modified:
cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/JaxbTypeTest.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/JaxbTypeTest.java?rev=702616&r1=702615&r2=702616&view=diff
==============================================================================
---
cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/JaxbTypeTest.java
(original)
+++
cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/JaxbTypeTest.java
Tue Oct 7 13:26:30 2008
@@ -46,7 +46,7 @@
@Before
public void setUp() throws Exception {
super.setUp();
-
+
Server s = createService(JaxbService.class);
service = s.getEndpoint().getService();
databinding = (AegisDatabinding) service.getDataBinding();
@@ -86,7 +86,7 @@
if ("bogusProperty".equals(element.getLocalPart())) {
assertTrue(custom instanceof StringType);
} else if ("elementProperty".equals(element.getLocalPart())) {
- assertTrue(custom instanceof StringType);
+ assertTrue(custom instanceof CustomStringType);
} else {
fail("Unexpected element name: " + element.getLocalPart());
}
Modified:
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/UriBuilderImplTest.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/UriBuilderImplTest.java?rev=702616&r1=702615&r2=702616&view=diff
==============================================================================
---
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/UriBuilderImplTest.java
(original)
+++
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/UriBuilderImplTest.java
Tue Oct 7 13:26:30 2008
@@ -46,7 +46,12 @@
@Test
public void testSchemeHostPortQueryFragment() throws Exception {
- URI uri = new URI("http://foo:1234/bar?n1=v1&n2=v2#fragment");
+ URI uri;
+ if ("IBM Corporation".equals(System.getProperty("java.vendor"))) {
+ uri = new URI("http://foo:1234/bar?n2=v2&n1=v1#fragment");
+ } else {
+ uri = new URI("http://foo:1234/bar?n1=v1&n2=v2#fragment");
+ }
URI newUri = new UriBuilderImpl().scheme("http").host("foo")
.port(1234).path("bar")
.queryParam("n1", "v1").queryParam("n2", "v2")
Modified:
cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBITransportFactory.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBITransportFactory.java?rev=702616&r1=702615&r2=702616&view=diff
==============================================================================
---
cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBITransportFactory.java
(original)
+++
cxf/trunk/rt/transports/jbi/src/main/java/org/apache/cxf/transport/jbi/JBITransportFactory.java
Tue Oct 7 13:26:30 2008
@@ -143,7 +143,7 @@
public void putDestination(String epName, JBIDestination destination)
throws JBIException {
if (destinationMap.containsKey(epName)) {
throw new JBIException("JBIDestination for Endpoint "
- + epName + " already be created");
+ + epName + " has already been created");
} else {
destinationMap.put(epName, destination);
}
Modified:
cxf/trunk/tools/corba/src/test/java/org/apache/cxf/tools/corba/processors/WSDLToCorbaBindingTest.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/tools/corba/src/test/java/org/apache/cxf/tools/corba/processors/WSDLToCorbaBindingTest.java?rev=702616&r1=702615&r2=702616&view=diff
==============================================================================
---
cxf/trunk/tools/corba/src/test/java/org/apache/cxf/tools/corba/processors/WSDLToCorbaBindingTest.java
(original)
+++
cxf/trunk/tools/corba/src/test/java/org/apache/cxf/tools/corba/processors/WSDLToCorbaBindingTest.java
Tue Oct 7 13:26:30 2008
@@ -385,12 +385,21 @@
assertEquals(bindingOperation.getBindingOutput().getName(),
"review_dataResponse");
Iterator f =
bindingOperation.getBindingFaults().values().iterator();
+ boolean hasBadRecord = false;
+ boolean hasMyException = false;
while (f.hasNext()) {
BindingFault bindingFault = (BindingFault)f.next();
- assertEquals(bindingFault.getName(),
"TestException.BadRecord");
- bindingFault = (BindingFault)f.next();
- assertEquals(bindingFault.getName(), "MyException");
- }
+ if ("TestException.BadRecord".equals(bindingFault.getName())) {
+ hasBadRecord = true;
+ } else if ("MyException".equals(bindingFault.getName())) {
+ hasMyException = true;
+ } else {
+ fail("Unexpected BindingFault: " + bindingFault.getName());
+ }
+ }
+ assertTrue("Did not get expected TestException.BadRecord",
hasBadRecord);
+ assertTrue("Did not get expected MyException", hasMyException);
+
Iterator bOp =
bindingOperation.getExtensibilityElements().iterator();
while (bOp.hasNext()) {
ExtensibilityElement extElement =
(ExtensibilityElement)bOp.next();
@@ -398,10 +407,21 @@
OperationType corbaOpType = (OperationType)extElement;
assertEquals(corbaOpType.getName(), "review_data");
assertEquals(1, corbaOpType.getParam().size());
-
assertEquals(corbaOpType.getRaises().get(0).getException().getLocalPart(),
- "TestException.BadRecord");
-
assertEquals(corbaOpType.getRaises().get(1).getException().getLocalPart(),
- "MyExceptionType");
+ assertEquals(2, corbaOpType.getRaises().size());
+ hasBadRecord = false;
+ hasMyException = false;
+ for (int k = 0; k < corbaOpType.getRaises().size(); k++) {
+ String localPart =
corbaOpType.getRaises().get(k).getException().getLocalPart();
+ if ("TestException.BadRecord".equals(localPart)) {
+ hasBadRecord = true;
+ } else if ("MyExceptionType".equals(localPart)) {
+ hasMyException = true;
+ } else {
+ fail("Unexpected Raises: " + localPart);
+ }
+ }
+ assertTrue("Did not find expected
TestException.BadRecord", hasBadRecord);
+ assertTrue("Did not find expected MyException",
hasMyException);
}
}
}
Modified:
cxf/trunk/tools/corba/src/test/java/org/apache/cxf/tools/corba/processors/WSDLToCorbaBindingTypeTest.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/tools/corba/src/test/java/org/apache/cxf/tools/corba/processors/WSDLToCorbaBindingTypeTest.java?rev=702616&r1=702615&r2=702616&view=diff
==============================================================================
---
cxf/trunk/tools/corba/src/test/java/org/apache/cxf/tools/corba/processors/WSDLToCorbaBindingTypeTest.java
(original)
+++
cxf/trunk/tools/corba/src/test/java/org/apache/cxf/tools/corba/processors/WSDLToCorbaBindingTypeTest.java
Tue Oct 7 13:26:30 2008
@@ -430,32 +430,58 @@
idlgen.setOutputFile("atype.idl");
idlgen.generateIDL(model);
- Anonstring str =
(Anonstring)mapType.getStructOrExceptionOrUnion().get(2);
- assertEquals("Name is incorrect for Array Type", "X._1_S",
+ List<CorbaTypeImpl> types = mapType.getStructOrExceptionOrUnion();
+ for (int i = 0; i < types.size(); i++) {
+ CorbaTypeImpl type = types.get(i);
+ if (type instanceof Anonstring) {
+ Anonstring str = (Anonstring)type;
+ assertEquals("Name is incorrect for Array Type", "X._1_S",
str.getName());
- assertEquals("Type is incorrect for AnonString Type", "string",
+ assertEquals("Type is incorrect for AnonString Type",
"string",
str.getType().getLocalPart());
- Anonfixed fx =
(Anonfixed)mapType.getStructOrExceptionOrUnion().get(3);
- assertEquals("Name is incorrect for Anon Array Type", "X._2_S",
+ } else if (type instanceof Anonfixed) {
+ Anonfixed fx = (Anonfixed)type;
+ assertEquals("Name is incorrect for Anon Array Type",
"X._2_S",
fx.getName());
- assertEquals("Type is incorrect for AnonFixed Type", "decimal",
+ assertEquals("Type is incorrect for AnonFixed Type",
"decimal",
fx.getType().getLocalPart());
- Struct struct =
(Struct)mapType.getStructOrExceptionOrUnion().get(1);
- assertEquals("Name is incorrect for Anon Array Type", "X.S",
- struct.getName());
- assertEquals("Type is incorrect for Struct Type", "X.S",
- struct.getType().getLocalPart());
- assertEquals("Name for first Struct Member Type is incorrect",
"str",
- struct.getMember().get(0).getName());
- assertEquals("Idltype for first Struct Member Type is incorrect",
"X._1_S",
-
struct.getMember().get(0).getIdltype().getLocalPart());
- assertEquals("Name for second Struct Member Type is incorrect",
"fx",
- struct.getMember().get(1).getName());
- assertEquals("Idltype for second Struct Member Type is incorrect",
"X._2_S",
-
struct.getMember().get(1).getIdltype().getLocalPart());
-
+ } else if (type instanceof Struct) {
+ Struct struct = (Struct)type;
+ String[] testResult;
+ if ("X.op_a".equals(struct.getName())) {
+ testResult = new String[]{"X.op_a", "X.op_a", "p1",
+ "X.S", "p2", "X.S"};
+ } else if ("X.op_aResult".equals(struct.getName())) {
+ testResult = new String[]{"X.op_aResult",
+ "X.op_aResult", "return", "X.S", "p2", "X.S"};
+ } else {
+ testResult = new String[]{"X.S", "X.S", "str",
+ "X._1_S", "fx", "X._2_S"};
+ }
+ assertEquals("Name is incorrect for Anon Array Type",
+ testResult[0],
+ struct.getName());
+ assertEquals("Type is incorrect for Struct Type",
+ testResult[1],
+ struct.getType().getLocalPart());
+ assertEquals("Name for first Struct Member Type is
incorrect",
+ testResult[2],
+ struct.getMember().get(0).getName());
+ assertEquals("Idltype for first Struct Member Type is
incorrect",
+ testResult[3],
+
struct.getMember().get(0).getIdltype().getLocalPart());
+ assertEquals("Name for second Struct Member Type is
incorrect",
+ testResult[4],
+ struct.getMember().get(1).getName());
+ assertEquals("Idltype for second Struct Member Type is
incorrect",
+ testResult[5],
+ struct.getMember().get(1).getIdltype().getLocalPart());
+ } else {
+ //System.err.println("Type: " + i + " " +
type.getClass().getName());
+ }
+ }
File f = new File("atype.idl");
assertTrue("atype.idl should be generated", f.exists());
} finally {
Modified:
cxf/trunk/tools/corba/src/test/java/org/apache/cxf/tools/corba/processors/WSDLToIDLGenerationTest.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/tools/corba/src/test/java/org/apache/cxf/tools/corba/processors/WSDLToIDLGenerationTest.java?rev=702616&r1=702615&r2=702616&view=diff
==============================================================================
---
cxf/trunk/tools/corba/src/test/java/org/apache/cxf/tools/corba/processors/WSDLToIDLGenerationTest.java
(original)
+++
cxf/trunk/tools/corba/src/test/java/org/apache/cxf/tools/corba/processors/WSDLToIDLGenerationTest.java
Tue Oct 7 13:26:30 2008
@@ -672,8 +672,14 @@
idlgen.setGenerateAllBindings(true);
idlgen.generateIDL(null);
- InputStream origstream =
-
getClass().getResourceAsStream("/idlgen/expected_multiplebinding.idl");
+ InputStream origstream;
+ if ("IBM Corporation".equals(System.getProperty("java.vendor"))) {
+ // The ibm jdk outputs the idl modules in a different order
+ // (still valid idl).
+ origstream =
getClass().getResourceAsStream("/idlgen/expected_multiplebinding_ibmjdk.idl");
+ } else {
+ origstream =
getClass().getResourceAsStream("/idlgen/expected_multiplebinding.idl");
+ }
byte orig[] = inputStreamToBytes(origstream);
checkIDLStrings(orig, idloutput.toByteArray());
} finally {