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 2009/05/06 20:55:26 UTC
svn commit: r772402 - in /cxf/trunk:
common/common/src/main/java/org/apache/cxf/configuration/spring/
common/common/src/main/java/org/apache/cxf/helpers/
common/common/src/main/java/org/apache/cxf/staxutils/
rt/bindings/http/src/main/java/org/apache/cx...
Author: dkulp
Date: Wed May 6 18:55:25 2009
New Revision: 772402
URL: http://svn.apache.org/viewvc?rev=772402&view=rev
Log:
[CXF-2205] Fix issues with Aegis trimming strings
Also fix potential problems with DOMUtils.getContent(..) not returning all the content
Added:
cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/ServerPasswordCallback.java (with props)
Modified:
cxf/trunk/common/common/src/main/java/org/apache/cxf/configuration/spring/StringBeanDefinitionParser.java
cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/DOMUtils.java
cxf/trunk/common/common/src/main/java/org/apache/cxf/staxutils/W3CDOMStreamReader.java
cxf/trunk/rt/bindings/http/src/main/java/org/apache/cxf/binding/http/interceptor/URIParameterOutInterceptor.java
cxf/trunk/rt/core/src/main/java/org/apache/cxf/test/XPathAssert.java
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/BigDecimalType.java
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/BigIntegerType.java
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/ByteType.java
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/CalendarType.java
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/DateTimeType.java
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/DateType.java
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/ObjectType.java
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/ShortType.java
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/TimeType.java
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/TimestampType.java
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/TimezoneLessDateType.java
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/URIType.java
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/DurationType.java
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/EnumType.java
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/XMLGregorianCalendarType.java
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/mtom/AbstractXOPType.java
cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/xml/AbstractMessageReader.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/encoded/arrayAnyType1.xml
cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/encoded/arrayAnyType2.xml
cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/encoded/arrayUrType1.xml
cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/encoded/arrayUrType2.xml
cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/AegisJaxWsImpl.java
cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/AegisJaxWsTest.java
cxf/trunk/systests/src/test/resources/aegisJaxWsBeans.xml
Modified: cxf/trunk/common/common/src/main/java/org/apache/cxf/configuration/spring/StringBeanDefinitionParser.java
URL: http://svn.apache.org/viewvc/cxf/trunk/common/common/src/main/java/org/apache/cxf/configuration/spring/StringBeanDefinitionParser.java?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/common/common/src/main/java/org/apache/cxf/configuration/spring/StringBeanDefinitionParser.java (original)
+++ cxf/trunk/common/common/src/main/java/org/apache/cxf/configuration/spring/StringBeanDefinitionParser.java Wed May 6 18:55:25 2009
@@ -29,7 +29,7 @@
@SuppressWarnings("deprecation")
@Override
protected void doParse(Element element, BeanDefinitionBuilder builder) {
- builder.addConstructorArg(DOMUtils.getContent(element));
+ builder.addConstructorArg(DOMUtils.getRawContent(element));
}
@Override
Modified: cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/DOMUtils.java
URL: http://svn.apache.org/viewvc/cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/DOMUtils.java?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/DOMUtils.java (original)
+++ cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/DOMUtils.java Wed May 6 18:55:25 2009
@@ -46,6 +46,7 @@
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
+import org.w3c.dom.Text;
import org.xml.sax.EntityResolver;
import org.xml.sax.InputSource;
@@ -93,17 +94,11 @@
* Get the trimmed text content of a node or null if there is no text
*/
public static String getContent(Node n) {
- if (n == null) {
- return null;
+ String s = getRawContent(n);
+ if (s != null) {
+ s = s.trim();
}
-
- Node n1 = DOMUtils.getChild(n, Node.TEXT_NODE);
-
- if (n1 == null) {
- return null;
- }
-
- return n1.getNodeValue().trim();
+ return s;
}
/**
@@ -113,14 +108,26 @@
if (n == null) {
return null;
}
-
- Node n1 = DOMUtils.getChild(n, Node.TEXT_NODE);
-
- if (n1 == null) {
- return null;
+ StringBuilder b = null;
+ String s = null;
+ Node n1 = n.getFirstChild();
+ while (n1 != null) {
+ if (n1.getNodeType() == Node.TEXT_NODE) {
+ if (b != null) {
+ b.append(((Text)n1).getNodeValue());
+ } else if (s == null) {
+ s = ((Text)n1).getNodeValue();
+ } else {
+ b = new StringBuilder(s);
+ s = null;
+ }
+ }
+ n1 = n1.getNextSibling();
}
-
- return n1.getNodeValue();
+ if (b != null) {
+ return b.toString();
+ }
+ return s;
}
/**
@@ -234,7 +241,7 @@
// System.out.println("getNode: " + name + " " +
// node.getNodeName());
if (name.equals(node.getNodeName())) {
- return getContent(node);
+ return getRawContent(node);
}
}
return null;
Modified: cxf/trunk/common/common/src/main/java/org/apache/cxf/staxutils/W3CDOMStreamReader.java
URL: http://svn.apache.org/viewvc/cxf/trunk/common/common/src/main/java/org/apache/cxf/staxutils/W3CDOMStreamReader.java?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/common/common/src/main/java/org/apache/cxf/staxutils/W3CDOMStreamReader.java (original)
+++ cxf/trunk/common/common/src/main/java/org/apache/cxf/staxutils/W3CDOMStreamReader.java Wed May 6 18:55:25 2009
@@ -188,7 +188,7 @@
@Override
public String getElementText() throws XMLStreamException {
- String result = DOMUtils.getContent(content);
+ String result = DOMUtils.getRawContent(content);
ElementFrame<Node, Node> frame = getCurrentFrame();
frame.ended = true;
@@ -229,8 +229,7 @@
if (at == null) {
return null;
}
-
- return DOMUtils.getContent(at);
+ return at.getNodeValue();
}
public int getAttributeCount() {
Modified: cxf/trunk/rt/bindings/http/src/main/java/org/apache/cxf/binding/http/interceptor/URIParameterOutInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/http/src/main/java/org/apache/cxf/binding/http/interceptor/URIParameterOutInterceptor.java?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/rt/bindings/http/src/main/java/org/apache/cxf/binding/http/interceptor/URIParameterOutInterceptor.java (original)
+++ cxf/trunk/rt/bindings/http/src/main/java/org/apache/cxf/binding/http/interceptor/URIParameterOutInterceptor.java Wed May 6 18:55:25 2009
@@ -92,7 +92,7 @@
Node node = root.getFirstChild();
while (node != null) {
if (node.getNodeType() == Node.ELEMENT_NODE && name.equals(node.getLocalName())) {
- builder.append(DOMUtils.getContent(node));
+ builder.append(DOMUtils.getRawContent(node));
break;
}
node = node.getNextSibling();
Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/test/XPathAssert.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/test/XPathAssert.java?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/test/XPathAssert.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/test/XPathAssert.java Wed May 6 18:55:25 2009
@@ -141,7 +141,7 @@
+ writeNodeToString(node));
}
- String value2 = DOMUtils.getContent(result).trim();
+ String value2 = DOMUtils.getContent(result);
Assert.assertEquals(value, value2);
}
Modified: cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/BigDecimalType.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/BigDecimalType.java?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/BigDecimalType.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/BigDecimalType.java Wed May 6 18:55:25 2009
@@ -39,7 +39,7 @@
public Object readObject(final MessageReader reader, final Context context) {
final String value = reader.getValue();
- return null == value ? null : new BigDecimal(value);
+ return null == value ? null : new BigDecimal(value.trim());
}
@Override
Modified: cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/BigIntegerType.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/BigIntegerType.java?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/BigIntegerType.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/BigIntegerType.java Wed May 6 18:55:25 2009
@@ -39,7 +39,7 @@
public Object readObject(final MessageReader reader, final Context context) {
final String value = reader.getValue();
- return null == value ? null : new BigInteger(value);
+ return null == value ? null : new BigInteger(value.trim());
}
@Override
Modified: cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/ByteType.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/ByteType.java?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/ByteType.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/ByteType.java Wed May 6 18:55:25 2009
@@ -31,7 +31,7 @@
public class ByteType extends Type {
@Override
public Object readObject(MessageReader reader, Context context) {
- return new Byte(reader.getValue());
+ return new Byte(reader.getValue().trim());
}
@Override
Modified: cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/CalendarType.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/CalendarType.java?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/CalendarType.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/CalendarType.java Wed May 6 18:55:25 2009
@@ -44,7 +44,7 @@
}
try {
- return format.parseObject(value);
+ return format.parseObject(value.trim());
} catch (ParseException e) {
throw new DatabindingException("Could not parse xs:dateTime: " + e.getMessage(), e);
}
Modified: cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/DateTimeType.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/DateTimeType.java?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/DateTimeType.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/DateTimeType.java Wed May 6 18:55:25 2009
@@ -51,7 +51,7 @@
}
try {
- return ((Calendar)format.parseObject(value)).getTime();
+ return ((Calendar)format.parseObject(value.trim())).getTime();
} catch (ParseException e) {
throw new DatabindingException("Could not parse xs:dateTime: " + e.getMessage(), e);
}
Modified: cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/DateType.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/DateType.java?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/DateType.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/DateType.java Wed May 6 18:55:25 2009
@@ -47,7 +47,7 @@
}
try {
- return ((Calendar)format.parseObject(value)).getTime();
+ return ((Calendar)format.parseObject(value.trim())).getTime();
} catch (ParseException e) {
throw new DatabindingException("Could not parse xs:dat: " + e.getMessage(), e);
}
Modified: cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/ObjectType.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/ObjectType.java?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/ObjectType.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/ObjectType.java Wed May 6 18:55:25 2009
@@ -101,6 +101,7 @@
throw new DatabindingException("Missing 'xsi:type' attribute value");
}
+ typeName = typeName.trim();
Type type = null;
QName typeQName = null;
if (typeName != null) {
@@ -154,7 +155,8 @@
private Object reconstituteJavaObject(MessageReader reader) throws DatabindingException {
try {
- ByteArrayInputStream in = new ByteArrayInputStream(Base64Utility.decode(reader.getValue()));
+ ByteArrayInputStream in = new ByteArrayInputStream(Base64Utility
+ .decode(reader.getValue().trim()));
return new ObjectInputStream(in).readObject();
} catch (Exception e) {
throw new DatabindingException("Unable to reconstitute serialized object", e);
@@ -162,7 +164,7 @@
}
private boolean isNil(MessageReader reader) {
- return null != reader && "true".equals(reader.getValue());
+ return null != reader && "true".equals(reader.getValue() == null ? "" : reader.getValue());
}
@Override
Modified: cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/ShortType.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/ShortType.java?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/ShortType.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/ShortType.java Wed May 6 18:55:25 2009
@@ -29,7 +29,7 @@
public class ShortType extends Type {
@Override
public Object readObject(MessageReader reader, Context context) {
- return new Short(reader.getValue());
+ return new Short(reader.getValue().trim());
}
@Override
Modified: cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/TimeType.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/TimeType.java?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/TimeType.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/TimeType.java Wed May 6 18:55:25 2009
@@ -46,7 +46,7 @@
}
try {
- Calendar c = (Calendar)format.parseObject(value);
+ Calendar c = (Calendar)format.parseObject(value.trim());
return new Time(c.getTimeInMillis());
} catch (ParseException e) {
throw new DatabindingException("Could not parse xs:dateTime: " + e.getMessage(), e);
Modified: cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/TimestampType.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/TimestampType.java?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/TimestampType.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/TimestampType.java Wed May 6 18:55:25 2009
@@ -46,7 +46,7 @@
}
try {
- Calendar c = (Calendar)format.parseObject(value);
+ Calendar c = (Calendar)format.parseObject(value.trim());
return new Timestamp(c.getTimeInMillis());
} catch (ParseException e) {
throw new DatabindingException("Could not parse xs:dateTime: " + e.getMessage(), e);
Modified: cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/TimezoneLessDateType.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/TimezoneLessDateType.java?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/TimezoneLessDateType.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/TimezoneLessDateType.java Wed May 6 18:55:25 2009
@@ -47,7 +47,7 @@
}
try {
- return ((Calendar)format.parseObject(value)).getTime();
+ return ((Calendar)format.parseObject(value.trim())).getTime();
} catch (ParseException e) {
throw new DatabindingException("Could not parse xs:date: " + e.getMessage(), e);
}
Modified: cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/URIType.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/URIType.java?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/URIType.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/URIType.java Wed May 6 18:55:25 2009
@@ -35,7 +35,7 @@
public Object readObject(final MessageReader reader, final Context context) {
final String value = reader.getValue();
- return null == value ? null : URI.create(value);
+ return null == value ? null : URI.create(value.trim());
}
@Override
Modified: cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/DurationType.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/DurationType.java?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/DurationType.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/DurationType.java Wed May 6 18:55:25 2009
@@ -46,7 +46,7 @@
@Override
public Object readObject(MessageReader reader, Context context) {
- return dtFactory.newDuration(reader.getValue());
+ return dtFactory.newDuration(reader.getValue().trim());
}
@Override
Modified: cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/EnumType.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/EnumType.java?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/EnumType.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/EnumType.java Wed May 6 18:55:25 2009
@@ -36,7 +36,7 @@
public Object readObject(MessageReader reader, Context context) {
String value = reader.getValue();
- return Enum.valueOf(getTypeClass(), value);
+ return Enum.valueOf(getTypeClass(), value.trim());
}
@Override
Modified: cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/XMLGregorianCalendarType.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/XMLGregorianCalendarType.java?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/XMLGregorianCalendarType.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/java5/XMLGregorianCalendarType.java Wed May 6 18:55:25 2009
@@ -46,7 +46,7 @@
@Override
public Object readObject(MessageReader reader, Context context) {
- return dtFactory.newXMLGregorianCalendar(reader.getValue());
+ return dtFactory.newXMLGregorianCalendar(reader.getValue().trim());
}
@Override
Modified: cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/mtom/AbstractXOPType.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/mtom/AbstractXOPType.java?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/mtom/AbstractXOPType.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/mtom/AbstractXOPType.java Wed May 6 18:55:25 2009
@@ -90,7 +90,7 @@
MessageReader child = reader.getNextElementReader();
if (child.getName().equals(XOP_INCLUDE)) {
MessageReader mimeReader = child.getAttributeReader(XOP_HREF);
- String type = mimeReader.getValue();
+ String type = mimeReader.getValue().trim();
o = readInclude(type, child, context);
}
child.readToEnd();
@@ -123,7 +123,7 @@
private Object readInclude(String type, MessageReader reader,
Context context) throws DatabindingException {
- String href = reader.getAttributeReader(XOP_HREF).getValue();
+ String href = reader.getAttributeReader(XOP_HREF).getValue().trim();
Attachment att = AttachmentUtil.getAttachment(href, context.getAttachments());
Modified: cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/xml/AbstractMessageReader.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/xml/AbstractMessageReader.java?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/xml/AbstractMessageReader.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/xml/AbstractMessageReader.java Wed May 6 18:55:25 2009
@@ -50,7 +50,7 @@
boolean nil = false;
if (nilReader != null) {
String value = nilReader.getValue();
- if (value != null && (value.equals("true") || value.equals("1"))) {
+ if (value != null && (value.trim().equals("true") || value.trim().equals("1"))) {
return true;
}
}
@@ -77,7 +77,7 @@
return 0;
}
- return Integer.parseInt(getValue());
+ return Integer.parseInt(getValue().trim());
}
/**
@@ -88,7 +88,7 @@
return 0L;
}
- return Long.parseLong(getValue());
+ return Long.parseLong(getValue().trim());
}
/**
@@ -99,7 +99,7 @@
return 0d;
}
- return Double.parseDouble(getValue());
+ return Double.parseDouble(getValue().trim());
}
/**
@@ -110,7 +110,7 @@
return 0f;
}
- return Float.parseFloat(getValue());
+ return Float.parseFloat(getValue().trim());
}
/**
@@ -121,7 +121,7 @@
if (value == null) {
return false;
}
-
+ value = value.trim();
if ("true".equalsIgnoreCase(value) || "1".equalsIgnoreCase(value)) {
return true;
}
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=772402&r1=772401&r2=772402&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 Wed May 6 18:55:25 2009
@@ -141,8 +141,6 @@
if (value == null) {
value = "";
- } else {
- value = value.trim();
}
}
return value;
Modified: cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/encoded/arrayAnyType1.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/encoded/arrayAnyType1.xml?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/encoded/arrayAnyType1.xml (original)
+++ cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/encoded/arrayAnyType1.xml Wed May 6 18:55:25 2009
@@ -25,7 +25,5 @@
<thing xsi:type="xsd:int">42</thing>
<thing xsi:type="xsd:float">42.42</thing>
- <thing xsi:type="xsd:string">
- Forty Two
- </thing>
+ <thing xsi:type="xsd:string">Forty Two</thing>
</b:numbers>
Modified: cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/encoded/arrayAnyType2.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/encoded/arrayAnyType2.xml?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/encoded/arrayAnyType2.xml (original)
+++ cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/encoded/arrayAnyType2.xml Wed May 6 18:55:25 2009
@@ -25,7 +25,5 @@
<soapenc:int>42</soapenc:int>
<soapenc:decimal>42.42</soapenc:decimal>
- <xsd:string>
- Forty Two
- </xsd:string>
+ <xsd:string>Forty Two</xsd:string>
</b:numbers>
Modified: cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/encoded/arrayUrType1.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/encoded/arrayUrType1.xml?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/encoded/arrayUrType1.xml (original)
+++ cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/encoded/arrayUrType1.xml Wed May 6 18:55:25 2009
@@ -25,7 +25,5 @@
<thing xsi:type="xsd:int">42</thing>
<thing xsi:type="xsd:float">42.42</thing>
- <thing xsi:type="xsd:string">
- Forty Two
- </thing>
+ <thing xsi:type="xsd:string">Forty Two</thing>
</b:numbers>
Modified: cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/encoded/arrayUrType2.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/encoded/arrayUrType2.xml?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/encoded/arrayUrType2.xml (original)
+++ cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/encoded/arrayUrType2.xml Wed May 6 18:55:25 2009
@@ -25,7 +25,5 @@
<soapenc:int>42</soapenc:int>
<soapenc:decimal>42.42</soapenc:decimal>
- <xsd:string>
- Forty Two
- </xsd:string>
+ <xsd:string>Forty Two</xsd:string>
</b:numbers>
Modified: cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/AegisJaxWsImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/AegisJaxWsImpl.java?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/AegisJaxWsImpl.java (original)
+++ cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/AegisJaxWsImpl.java Wed May 6 18:55:25 2009
@@ -47,7 +47,7 @@
public Item getItemByKey(String key1, String key2) {
Item fake = new Item();
fake.setKey(new Integer(33));
- fake.setData("and a third");
+ fake.setData(key1 + ":" + key2);
return fake;
}
Modified: cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/AegisJaxWsTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/AegisJaxWsTest.java?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/AegisJaxWsTest.java (original)
+++ cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/AegisJaxWsTest.java Wed May 6 18:55:25 2009
@@ -19,12 +19,15 @@
package org.apache.cxf.systest.aegis;
+import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import org.apache.cxf.aegis.databinding.AegisDatabinding;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.apache.cxf.systest.aegis.bean.Item;
+import org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor;
+
import org.junit.Test;
import org.springframework.test.AbstractDependencyInjectionSpringContextTests;
@@ -43,26 +46,46 @@
return new String[] {"classpath:aegisJaxWsBeans.xml"};
}
- private void setupForTest() throws Exception {
+ private void setupForTest(boolean sec) throws Exception {
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setServiceClass(AegisJaxWs.class);
- factory.setAddress("http://localhost:9167/aegisJaxWs");
+ if (sec) {
+ factory.setAddress("http://localhost:9167/aegisJaxWsUN");
+ WSS4JOutInterceptor wss4jOut = new WSS4JOutInterceptor();
+ wss4jOut.setProperty("action", "UsernameToken");
+ wss4jOut.setProperty("user", "alice");
+ wss4jOut.setProperty("password", "pass");
+
+ factory.setProperties(new HashMap<String, Object>());
+ factory.getProperties().put("password", "pass");
+ factory.getOutInterceptors().add(wss4jOut);
+ } else {
+ factory.setAddress("http://localhost:9167/aegisJaxWs");
+ }
factory.getServiceFactory().setDataBinding(new AegisDatabinding());
client = (AegisJaxWs)factory.create();
}
@Test
- public void testGetItem() throws Exception {
- setupForTest();
- Item item = client.getItemByKey("a", "b");
+ public void testGetItemSecure() throws Exception {
+ setupForTest(true);
+ Item item = client.getItemByKey(" jack&jill ", "b");
assertEquals(33, item.getKey().intValue());
+ assertEquals(" jack&jill :b", item.getData());
}
+ @Test
+ public void testGetItem() throws Exception {
+ setupForTest(false);
+ Item item = client.getItemByKey(" a ", "b");
+ assertEquals(33, item.getKey().intValue());
+ assertEquals(" a :b", item.getData());
+ }
@Test
public void testMapSpecified() throws Exception {
- setupForTest();
+ setupForTest(false);
Item item = new Item();
item.setKey(new Integer(42));
item.setData("Godzilla");
@@ -78,4 +101,5 @@
assertEquals(42, key2.intValue());
assertEquals("Godzilla", item2.getData());
}
+
}
Added: cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/ServerPasswordCallback.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/ServerPasswordCallback.java?rev=772402&view=auto
==============================================================================
--- cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/ServerPasswordCallback.java (added)
+++ cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/ServerPasswordCallback.java Wed May 6 18:55:25 2009
@@ -0,0 +1,43 @@
+/**
+ * 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.cxf.systest.aegis;
+
+import java.io.IOException;
+
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.UnsupportedCallbackException;
+
+import org.apache.ws.security.WSPasswordCallback;
+
+/**
+ *
+ */
+public class ServerPasswordCallback implements CallbackHandler {
+
+ public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
+ for (int i = 0; i < callbacks.length; i++) {
+ WSPasswordCallback pc = (WSPasswordCallback)callbacks[i];
+ pc.setPassword("pass");
+ }
+
+ }
+
+}
Propchange: cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/ServerPasswordCallback.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/ServerPasswordCallback.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: cxf/trunk/systests/src/test/resources/aegisJaxWsBeans.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/src/test/resources/aegisJaxWsBeans.xml?rev=772402&r1=772401&r2=772402&view=diff
==============================================================================
--- cxf/trunk/systests/src/test/resources/aegisJaxWsBeans.xml (original)
+++ cxf/trunk/systests/src/test/resources/aegisJaxWsBeans.xml Wed May 6 18:55:25 2009
@@ -60,4 +60,33 @@
class="org.apache.cxf.binding.soap.saaj.SAAJInInterceptor" />
</jaxws:inInterceptors>
</jaxws:endpoint>
+
+
+ <bean id="myPasswordCallback"
+ class="org.apache.cxf.systest.aegis.ServerPasswordCallback"/>
+
+ <jaxws:endpoint id="aegisRPCImplUN" implementor="#impl"
+ address="http://localhost:9167/aegisJaxWsUN">
+ <jaxws:serviceFactory>
+ <ref bean='jaxws-and-aegis-service-factory' />
+ </jaxws:serviceFactory>
+
+ <jaxws:inInterceptors>
+ <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
+ <constructor-arg>
+ <map>
+ <entry key="action" value="UsernameToken"/>
+ <entry key="passwordType" value="PasswordText"/>
+ <entry key="passwordCallbackRef">
+ <ref bean="myPasswordCallback"/>
+ </entry>
+ </map>
+ </constructor-arg>
+ </bean>
+ </jaxws:inInterceptors>
+
+ <jaxws:properties>
+ <entry key="mtom-enabled" value="true" />
+ </jaxws:properties>
+ </jaxws:endpoint>
</beans>
\ No newline at end of file