You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2007/10/22 23:55:31 UTC
svn commit: r587274 - in /incubator/cxf/trunk:
rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/databinding/
rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/xml/stax/
systests/src/test/java/org/apache/cxf/systest/aegis/ testutils/src/mai...
Author: dkulp
Date: Mon Oct 22 14:55:31 2007
New Revision: 587274
URL: http://svn.apache.org/viewvc?rev=587274&view=rev
Log:
[CXF-922] Fix for problems with nillables with Aegis not closing the elements
Modified:
incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/databinding/ElementDataWriter.java
incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/databinding/XMLStreamDataWriter.java
incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/xml/stax/ElementWriter.java
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/AegisClientServerTest.java
incubator/cxf/trunk/testutils/src/main/java/org/apache/cxf/authservice/AuthServiceImpl.java
Modified: incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/databinding/ElementDataWriter.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/databinding/ElementDataWriter.java?rev=587274&r1=587273&r2=587274&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/databinding/ElementDataWriter.java (original)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/databinding/ElementDataWriter.java Mon Oct 22 14:55:31 2007
@@ -97,6 +97,7 @@
MessageWriter w2 = writer.getElementWriter(part.getConcreteName());
if (type.isNillable() && type.isWriteOuter() && obj == null) {
w2.writeXsiNil();
+ w2.close();
return;
}
Modified: incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/databinding/XMLStreamDataWriter.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/databinding/XMLStreamDataWriter.java?rev=587274&r1=587273&r2=587274&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/databinding/XMLStreamDataWriter.java (original)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/databinding/XMLStreamDataWriter.java Mon Oct 22 14:55:31 2007
@@ -94,6 +94,7 @@
MessageWriter w2 = writer.getElementWriter(part.getConcreteName());
if (type.isNillable() && type.isWriteOuter() && obj == null) {
w2.writeXsiNil();
+ w2.close();
return;
}
Modified: incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/xml/stax/ElementWriter.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/xml/stax/ElementWriter.java?rev=587274&r1=587273&r2=587274&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/xml/stax/ElementWriter.java (original)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/xml/stax/ElementWriter.java Mon Oct 22 14:55:31 2007
@@ -29,6 +29,7 @@
import org.apache.cxf.aegis.util.NamespaceHelper;
import org.apache.cxf.aegis.xml.AbstractMessageWriter;
import org.apache.cxf.aegis.xml.MessageWriter;
+import org.apache.cxf.common.util.StringUtils;
/**
* LiteralWriter
@@ -99,10 +100,10 @@
String decPrefix = writer.getNamespaceContext().getPrefix(namespace);
// If the user didn't specify a prefix, create one
- if (prefix == null && decPrefix == null) {
+ if (StringUtils.isEmpty(prefix) && decPrefix == null) {
declare = true;
prefix = NamespaceHelper.getUniquePrefix(writer);
- } else if (prefix == null) {
+ } else if (StringUtils.isEmpty(prefix)) {
prefix = decPrefix;
} else if (!prefix.equals(decPrefix)) {
declare = true;
Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/AegisClientServerTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/AegisClientServerTest.java?rev=587274&r1=587273&r2=587274&view=diff
==============================================================================
--- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/AegisClientServerTest.java (original)
+++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/AegisClientServerTest.java Mon Oct 22 14:55:31 2007
@@ -56,6 +56,7 @@
AuthService service = (AuthService) proxyFactory.create();
assertTrue(service.authenticate("Joe", "Joe", "123"));
assertFalse(service.authenticate("Joe1", "Joe", "fang"));
+ assertTrue(service.authenticate("Joe", null, "123"));
List<String> list = service.getRoles("Joe");
assertEquals(3, list.size());
assertEquals("Joe", list.get(0));
@@ -85,6 +86,7 @@
AuthService service = (AuthService) proxyFactory.create();
assertTrue(service.authenticate("Joe", "Joe", "123"));
assertFalse(service.authenticate("Joe1", "Joe", "fang"));
+ assertTrue(service.authenticate("Joe", null, "123"));
List<String> list = service.getRoles("Joe");
assertEquals(3, list.size());
assertEquals("Joe", list.get(0));
Modified: incubator/cxf/trunk/testutils/src/main/java/org/apache/cxf/authservice/AuthServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/testutils/src/main/java/org/apache/cxf/authservice/AuthServiceImpl.java?rev=587274&r1=587273&r2=587274&view=diff
==============================================================================
--- incubator/cxf/trunk/testutils/src/main/java/org/apache/cxf/authservice/AuthServiceImpl.java (original)
+++ incubator/cxf/trunk/testutils/src/main/java/org/apache/cxf/authservice/AuthServiceImpl.java Mon Oct 22 14:55:31 2007
@@ -29,6 +29,10 @@
public class AuthServiceImpl implements AuthService {
public boolean authenticate(String sid, String uid, String pwd) {
+ if (uid == null) {
+ //test to make sure a "middle" param can be null
+ return pwd != null;
+ }
return sid.equals(uid);
}