Author: dkulp
Date: Mon Apr 14 14:28:08 2008
New Revision: 648006
URL: http://svn.apache.org/viewvc?rev=648006&view=rev
Log:
[CXF-1523]Fix more empty namespace issues with Aegis
Make the ServiceModelSchemaValidator stuff level FINE instead of INFO and only
run if it really would log something.
Modified:
incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/common/xmlschema/SchemaCollection.java
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/ServiceModelSchemaValidator.java
incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/encoded/ArrayTypeInfo.java
incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/xml/stax/ElementWriter.java
incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
Modified:
incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/common/xmlschema/SchemaCollection.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/common/xmlschema/SchemaCollection.java?rev=648006&r1=648005&r2=648006&view=diff
==============================================================================
---
incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/common/xmlschema/SchemaCollection.java
(original)
+++
incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/common/xmlschema/SchemaCollection.java
Mon Apr 14 14:28:08 2008
@@ -240,7 +240,7 @@
XmlSchemaElement element =
schemaCollection.getElementByQName(elementQName);
if (element == null) {
throw new InvalidXmlSchemaReferenceException(referrer
- + " references
element "
+ + " references
non-existent element "
+ elementQName);
}
}
@@ -249,7 +249,7 @@
XmlSchemaType type = schemaCollection.getTypeByQName(typeQName);
if (type == null) {
throw new InvalidXmlSchemaReferenceException(referrer
- + " references type "
+ + " references
non-existent type "
+ typeQName);
}
}
Modified:
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/ServiceModelSchemaValidator.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/ServiceModelSchemaValidator.java?rev=648006&r1=648005&r2=648006&view=diff
==============================================================================
---
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/ServiceModelSchemaValidator.java
(original)
+++
incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/ServiceModelSchemaValidator.java
Mon Apr 14 14:28:08 2008
@@ -51,9 +51,11 @@
} catch (InvalidXmlSchemaReferenceException ixsre) {
complaints.append(part.getName() + " part element name " +
ixsre.getMessage() + "\n");
}
- } else {
+ } else if (!part.getMessageInfo().getOperation().isUnwrapped()) {
if (part.getTypeQName() == null) {
- complaints.append(part.getName() + " part type QName null.\n");
+ complaints.append(part.getName() + " of message "
+ + part.getMessageInfo().getName()
+ + " part type QName null.\n");
} else {
try {
schemaCollection.validateTypeName(part.getName(),
part.getTypeQName());
Modified:
incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/encoded/ArrayTypeInfo.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/encoded/ArrayTypeInfo.java?rev=648006&r1=648005&r2=648006&view=diff
==============================================================================
---
incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/encoded/ArrayTypeInfo.java
(original)
+++
incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/encoded/ArrayTypeInfo.java
Mon Apr 14 14:28:08 2008
@@ -33,6 +33,7 @@
import org.apache.cxf.aegis.xml.MessageWriter;
import org.apache.cxf.binding.soap.Soap11;
import org.apache.cxf.common.util.SOAPConstants;
+import org.apache.cxf.common.util.StringUtils;
import org.apache.cxf.helpers.CastUtils;
import static
org.apache.cxf.aegis.type.encoded.SoapEncodingUtil.readAttributeValue;
@@ -59,7 +60,7 @@
// if type is xsd:ur-type replace it with xsd:anyType
String namespace = reader.getNamespaceForPrefix(typeName.getPrefix());
- if (namespace != null) {
+ if (!StringUtils.isEmpty(namespace)) {
if (SOAPConstants.XSD.equals(namespace) &&
"ur-type".equals(typeName.getLocalPart())) {
typeName = new QName(namespace, "anyType",
typeName.getPrefix());
} else {
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=648006&r1=648005&r2=648006&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 Apr 14 14:28:08 2008
@@ -94,7 +94,7 @@
}
private void writeStartElement() throws XMLStreamException {
- if (namespace != null) {
+ if (!StringUtils.isEmpty(namespace)) {
boolean declare = false;
String decPrefix =
writer.getNamespaceContext().getPrefix(namespace);
Modified:
incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java?rev=648006&r1=648005&r2=648006&view=diff
==============================================================================
---
incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
(original)
+++
incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
Mon Apr 14 14:28:08 2008
@@ -371,11 +371,13 @@
}
}
}
- ServiceModelSchemaValidator validator = new
ServiceModelSchemaValidator(serviceInfo);
- validator.walk();
- String validationComplaints = validator.getComplaints();
- if (!"".equals(validationComplaints)) {
- LOG.info(validationComplaints);
+ if (LOG.isLoggable(Level.FINE)) {
+ ServiceModelSchemaValidator validator = new
ServiceModelSchemaValidator(serviceInfo);
+ validator.walk();
+ String validationComplaints = validator.getComplaints();
+ if (!"".equals(validationComplaints)) {
+ LOG.fine(validationComplaints);
+ }
}
}