Author: bimargulies
Date: Tue Oct 12 11:33:22 2010
New Revision: 1021748
URL: http://svn.apache.org/viewvc?rev=1021748&view=rev
Log:
Fix attribute serialization of the form attribute
Modified:
webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/XmlSchemaAttribute.java
webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/XmlSchemaSerializer.java
webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/utils/XmlSchemaNamedWithFormImpl.java
webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/utils/XmlSchemaRef.java
Modified:
webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/XmlSchemaAttribute.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/XmlSchemaAttribute.java?rev=1021748&r1=1021747&r2=1021748&view=diff
==============================================================================
---
webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/XmlSchemaAttribute.java
(original)
+++
webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/XmlSchemaAttribute.java
Tue Oct 12 11:33:22 2010
@@ -27,7 +27,7 @@ import org.apache.ws.commons.schema.util
/**
* Class for attribute types. Represents the World Wide Web Consortium (W3C)
attribute element.
- *
+ *
* ref= attributes are in the parent items collection, not in the map of named
items.
*/
public class XmlSchemaAttribute extends XmlSchemaAttributeOrGroupRef
implements XmlSchemaNamedWithForm,
@@ -40,7 +40,7 @@ public class XmlSchemaAttribute extends
private XmlSchemaUse use;
private XmlSchemaNamedWithFormImpl namedDelegate;
private XmlSchemaRef<XmlSchemaAttribute> ref;
-
+
/**
* Create a new attribute.
* @param schema containing scheme.
@@ -98,39 +98,46 @@ public class XmlSchemaAttribute extends
}
public void setUse(XmlSchemaUse use) {
+ if (namedDelegate.isTopLevel() && use != null) {
+ throw new XmlSchemaException("Top-level attributes may not have a
'use'");
+ }
this.use = use;
}
public String getName() {
return namedDelegate.getName();
}
-
+
public XmlSchema getParent() {
return namedDelegate.getParent();
}
-
+
public QName getQName() {
return namedDelegate.getQName();
}
-
+
public boolean isAnonymous() {
return namedDelegate.isAnonymous();
}
-
+
public boolean isTopLevel() {
return namedDelegate.isTopLevel();
}
public void setName(String name) {
+
if (namedDelegate.isTopLevel() && namedDelegate.getName() != null) {
namedDelegate.getParent().getAttributes().remove(getQName());
}
namedDelegate.setName(name);
if (namedDelegate.isTopLevel()) {
+ if (name == null) {
+ throw new XmlSchemaException("Top-level attributes may not be
anonymous");
+ }
namedDelegate.getParent().getAttributes().put(getQName(), this);
}
}
@@ -144,6 +151,9 @@ public class XmlSchemaAttribute extends
}
public void setForm(XmlSchemaForm form) {
+ if (namedDelegate.isTopLevel() && form != XmlSchemaForm.NONE) {
+ throw new XmlSchemaException("Top-level attributes may not have a
'form'");
+ }
namedDelegate.setForm(form);
}
Modified:
webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/XmlSchemaSerializer.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/XmlSchemaSerializer.java?rev=1021748&r1=1021747&r2=1021748&view=diff
==============================================================================
---
webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/XmlSchemaSerializer.java
(original)
+++
webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/XmlSchemaSerializer.java
Tue Oct 12 11:33:22 2010
@@ -62,7 +62,7 @@ public class XmlSchemaSerializer {
/**
* Standard constructor with a message.
- *
+ *
* @param msg the message.
*/
public XmlSchemaSerializerException(String msg) {
@@ -108,7 +108,7 @@ public class XmlSchemaSerializer {
/**
* Get the registry of extensions for this serializer.
- *
+ *
* @return the registry.
*/
public ExtensionRegistry getExtReg() {
@@ -117,7 +117,7 @@ public class XmlSchemaSerializer {
/**
* Serialize an entire schema, returning an array of DOM Documents, one
per XSL file.
- *
+ *
* @param schemaObj The XML Schema.
* @param serializeIncluded whether to create DOM trees for any included
or imported schemas.
* @return Documents. If serializeIncluded is false, the array with have
one entry. The main document is
@@ -131,7 +131,7 @@ public class XmlSchemaSerializer {
/**
* Set the registry of extensions for this serializer.
- *
+ *
* @param extReg the registry.
*/
public void setExtReg(ExtensionRegistry extReg) {
@@ -249,11 +249,11 @@ public class XmlSchemaSerializer {
anyEl.setAttribute("namespace", anyObj.getNamespace());
}
- if (anyObj.getProcessContent() != null
+ if (anyObj.getProcessContent() != null
&& anyObj.getProcessContent() != XmlSchemaContentProcessing.NONE) {
anyEl.setAttribute("processContents",
anyObj.getProcessContent().toString());
}
-
+
if (anyObj.getAnnotation() != null) {
Element annotation = serializeAnnotation(doc,
anyObj.getAnnotation(), schema);
anyEl.appendChild(annotation);
@@ -358,16 +358,21 @@ public class XmlSchemaSerializer {
Element serializeAttribute(Document doc, XmlSchemaAttribute attributeObj,
XmlSchema schema)
throws XmlSchemaSerializerException {
+ boolean refPresent = attributeObj.getRef().getTargetQName() != null;
+
Element attribute = createNewElement(doc, "attribute",
schema.getSchemaNamespacePrefix(),
XmlSchema.SCHEMA_NS);
- if (attributeObj.getRef().getTargetQName() != null) {
+ if (refPresent) {
String refName =
resolveQName(attributeObj.getRef().getTargetQName(), schema);
attribute.setAttribute("ref", refName);
} else if (!attributeObj.isAnonymous()) {
attribute.setAttribute("name", attributeObj.getName());
}
- if (attributeObj.getSchemaTypeName() != null) {
+ /*
+ * TODO: should this be caught by refusing to allow both to be true at
the same time?
+ */
+ if (attributeObj.getSchemaTypeName() != null && !refPresent) {
String typeName = resolveQName(attributeObj.getSchemaTypeName(),
schema);
attribute.setAttribute("type", typeName);
}
@@ -379,10 +384,13 @@ public class XmlSchemaSerializer {
attribute.setAttribute("fixed", attributeObj.getFixedValue());
}
- if (attributeObj.getForm() != XmlSchemaForm.NONE) {
+ /*
+ * TODO: should this be caught by refusing to allow both to be true at
the same time?
+ */
+ if (attributeObj.isFormSpecified() && !refPresent) {
attribute.setAttribute("form", attributeObj.getForm().toString());
}
-
+
if (attributeObj.getId() != null) {
attribute.setAttribute("id", attributeObj.getId());
}
@@ -390,13 +398,16 @@ public class XmlSchemaSerializer {
if (attributeObj.getUse() != null && attributeObj.getUse() !=
XmlSchemaUse.NONE) {
attribute.setAttribute("use", attributeObj.getUse().toString());
}
-
+
if (attributeObj.getAnnotation() != null) {
Element annotation = serializeAnnotation(doc,
attributeObj.getAnnotation(), schema);
attribute.appendChild(annotation);
}
- if (attributeObj.getSchemaType() != null) {
+ /*
+ * TODO: should this be caught by refusing to allow both to be true at
the same time?
+ */
+ if (attributeObj.getSchemaType() != null && !refPresent) {
try {
XmlSchemaSimpleType simpleType = attributeObj.getSchemaType();
Element simpleTypeEl = serializeSimpleType(doc, simpleType,
schema);
@@ -580,7 +591,7 @@ public class XmlSchemaSerializer {
throws XmlSchemaSerializerException {
// todo: handle any non schema attri ?
- Element choice = createNewElement(doc, "choice",
schema.getSchemaNamespacePrefix(),
+ Element choice = createNewElement(doc, "choice",
schema.getSchemaNamespacePrefix(),
XmlSchema.SCHEMA_NS);
if (choiceObj.getId() != null && choiceObj.getId().length() > 0) {
choice.setAttribute("id", choiceObj.getId());
@@ -722,7 +733,7 @@ public class XmlSchemaSerializer {
schema);
extension.appendChild(sequenceParticle);
} else if (extensionObj.getParticle() instanceof XmlSchemaChoice) {
- Element choiceParticle = serializeChoice(doc,
+ Element choiceParticle = serializeChoice(doc,
(XmlSchemaChoice)extensionObj.getParticle(), schema);
extension.appendChild(choiceParticle);
} else if (extensionObj.getParticle() instanceof XmlSchemaAll) {
@@ -798,7 +809,7 @@ public class XmlSchemaSerializer {
schema);
restriction.appendChild(sequenceParticle);
} else if (restrictionObj.getParticle() instanceof XmlSchemaChoice) {
- Element choiceParticle = serializeChoice(doc,
+ Element choiceParticle = serializeChoice(doc,
(XmlSchemaChoice)restrictionObj.getParticle(), schema);
restriction.appendChild(choiceParticle);
} else if (restrictionObj.getParticle() instanceof XmlSchemaAll) {
@@ -850,7 +861,7 @@ public class XmlSchemaSerializer {
Element serializeComplexType(Document doc, XmlSchemaComplexType
complexTypeObj, XmlSchema schema)
throws XmlSchemaSerializerException {
- Element serializedComplexType = createNewElement(doc, "complexType",
+ Element serializedComplexType = createNewElement(doc, "complexType",
schema.getSchemaNamespacePrefix(),
XmlSchema.SCHEMA_NS);
@@ -895,7 +906,7 @@ public class XmlSchemaSerializer {
}
if (complexTypeObj.getParticle() instanceof XmlSchemaSequence) {
- Element sequence = serializeSequence(doc,
+ Element sequence = serializeSequence(doc,
(XmlSchemaSequence)complexTypeObj.getParticle(), schema);
serializedComplexType.appendChild(sequence);
} else if (complexTypeObj.getParticle() instanceof XmlSchemaChoice) {
@@ -909,12 +920,12 @@ public class XmlSchemaSerializer {
serializedComplexType.appendChild(group);
}
- if (complexTypeObj.getBlock() != null
+ if (complexTypeObj.getBlock() != null
&& complexTypeObj.getBlock() != XmlSchemaDerivationMethod.NONE) {
serializedComplexType.setAttribute("block",
complexTypeObj.toString());
}
-
- if (complexTypeObj.getFinalDerivation() != null
+
+ if (complexTypeObj.getFinalDerivation() != null
&& complexTypeObj.getFinalDerivation() !=
XmlSchemaDerivationMethod.NONE) {
serializedComplexType.setAttribute("final",
complexTypeObj.getFinalDerivation().toString());
}
@@ -1030,7 +1041,7 @@ public class XmlSchemaSerializer {
serializedEl.setAttribute("default", elementObj.getDefaultValue());
}
- if (elementObj.getFinalDerivation() != null
+ if (elementObj.getFinalDerivation() != null
&& elementObj.getFinalDerivation() !=
XmlSchemaDerivationMethod.NONE) {
serializedEl.setAttribute("final",
elementObj.getFinalDerivation().toString());
}
@@ -1041,7 +1052,7 @@ public class XmlSchemaSerializer {
if (elementObj.isFormSpecified()) {
serializedEl.setAttribute("form", elementObj.getForm().toString());
}
-
+
if (elementObj.getId() != null) {
serializedEl.setAttribute("id", elementObj.getId());
}
@@ -1063,8 +1074,8 @@ public class XmlSchemaSerializer {
if (elementObj.getSchemaType() != null &&
elementObj.getSchemaTypeName() == null) {
if (elementObj.getSchemaType() instanceof XmlSchemaComplexType) {
- Element complexType =
- serializeComplexType(doc,
+ Element complexType =
+ serializeComplexType(doc,
(XmlSchemaComplexType)elementObj.getSchemaType(),
schema);
serializedEl.appendChild(complexType);
@@ -1170,8 +1181,8 @@ public class XmlSchemaSerializer {
Element serializeField(Document doc, XmlSchemaXPath fieldObj, XmlSchema
schema)
throws XmlSchemaSerializerException {
- Element field = createNewElement(doc, "field",
- schema.getSchemaNamespacePrefix(),
+ Element field = createNewElement(doc, "field",
+ schema.getSchemaNamespacePrefix(),
XmlSchema.SCHEMA_NS);
if (fieldObj.xpath != null) {
@@ -1207,7 +1218,7 @@ public class XmlSchemaSerializer {
Element serializeGroup(Document doc, XmlSchemaGroup groupObj, XmlSchema
schema)
throws XmlSchemaSerializerException {
- Element group = createNewElement(doc, "group",
schema.getSchemaNamespacePrefix(),
+ Element group = createNewElement(doc, "group",
schema.getSchemaNamespacePrefix(),
XmlSchema.SCHEMA_NS);
if (!groupObj.isAnonymous()) {
@@ -1259,7 +1270,7 @@ public class XmlSchemaSerializer {
Element serializeGroupRef(Document doc, XmlSchemaGroupRef groupRefObj,
XmlSchema schema)
throws XmlSchemaSerializerException {
- Element groupRef = createNewElement(doc, "group",
schema.getSchemaNamespacePrefix(),
+ Element groupRef = createNewElement(doc, "group",
schema.getSchemaNamespacePrefix(),
XmlSchema.SCHEMA_NS);
if (groupRefObj.getRefName() != null) {
@@ -1318,10 +1329,10 @@ public class XmlSchemaSerializer {
constraint = createNewElement(doc, "unique",
schema.getSchemaNamespacePrefix(),
XmlSchema.SCHEMA_NS);
} else if (constraintObj instanceof XmlSchemaKey) {
- constraint = createNewElement(doc, "key",
schema.getSchemaNamespacePrefix(),
+ constraint = createNewElement(doc, "key",
schema.getSchemaNamespacePrefix(),
XmlSchema.SCHEMA_NS);
} else if (constraintObj instanceof XmlSchemaKeyref) {
- constraint = createNewElement(doc, "keyref",
schema.getSchemaNamespacePrefix(),
+ constraint = createNewElement(doc, "keyref",
schema.getSchemaNamespacePrefix(),
XmlSchema.SCHEMA_NS);
XmlSchemaKeyref keyref = (XmlSchemaKeyref)constraintObj;
if (keyref.refer != null) {
@@ -1375,7 +1386,7 @@ public class XmlSchemaSerializer {
Element serializeImport(Document doc, XmlSchemaImport importObj, XmlSchema
schema,
boolean serializeIncluded) throws
XmlSchemaSerializerException {
- Element importEl = createNewElement(doc, "import",
+ Element importEl = createNewElement(doc, "import",
schema.getSchemaNamespacePrefix(),
XmlSchema.SCHEMA_NS);
if (importObj.namespace != null) {
@@ -1520,7 +1531,7 @@ public class XmlSchemaSerializer {
return redefine;
}
-
+
Document[] serializeSchemaElement(XmlSchema schemaObj,
boolean serializeIncluded) throws
XmlSchemaSerializerException {
@@ -1546,7 +1557,7 @@ public class XmlSchemaSerializer {
String targetNS =
(String)schemaNamespace.get(schemaObj.getSyntacticalTargetNamespace());
- //if the namespace is not entered then add
+ //if the namespace is not entered then add
//the targetNamespace
if (targetNS == null) {
String prefix = null;
@@ -1554,8 +1565,8 @@ public class XmlSchemaSerializer {
prefix = schemaObj.
getNamespaceContext().getPrefix(schemaObj.getSyntacticalTargetNamespace());
}
- if (prefix == null
- && schemaObj.getParent() != null
+ if (prefix == null
+ && schemaObj.getParent() != null
&& schemaObj.getParent().getNamespaceContext() != null) {
prefix = schemaObj.getParent().
getNamespaceContext().getPrefix(schemaObj.getSyntacticalTargetNamespace());
@@ -1569,7 +1580,7 @@ public class XmlSchemaSerializer {
String ns = serializedSchema.getAttribute("xmlns:" +
prefix);
if (ns != null && !"".equals(ns)) {
prefix = null;
- }
+ }
}
if (prefix == null) {
//find a usable prefix
@@ -1581,13 +1592,13 @@ public class XmlSchemaSerializer {
prefix = "tns" + count;
ns = serializedSchema.getAttribute("xmlns:" + prefix);
}
- }
+ }
if ("".equals(prefix)) {
serializedSchema.setAttributeNS(XMLNS_NAMESPACE_URI,
"xmlns",
schemaObj.getSyntacticalTargetNamespace());
} else {
serializedSchema.setAttributeNS(XMLNS_NAMESPACE_URI,
- "xmlns:"
+ "xmlns:"
+ prefix,
schemaObj.getSyntacticalTargetNamespace());
}
schemaNamespace.put(schemaObj.getSyntacticalTargetNamespace(),
prefix);
@@ -1595,7 +1606,7 @@ public class XmlSchemaSerializer {
}
- //todo: implement xml:lang,
+ //todo: implement xml:lang,
if (schemaObj.getAttributeFormDefault() != null) {
String formQualified =
schemaObj.getAttributeFormDefault().toString();
@@ -1626,7 +1637,7 @@ public class XmlSchemaSerializer {
String blockDefault = schemaObj.getBlockDefault().toString();
serializedSchema.setAttribute("blockDefault", blockDefault);
}
-
+
if (schemaObj.getFinalDefault() != XmlSchemaDerivationMethod.NONE) {
String finalDefault = schemaObj.getFinalDefault().toString();
serializedSchema.setAttribute("finalDefault", finalDefault);
@@ -1637,7 +1648,7 @@ public class XmlSchemaSerializer {
}
//after serialize the schema add into documentation
- //and add to document collection array which at the end
+ //and add to document collection array which at the end
//returned
serializeSchemaChild(items, serializedSchema, serializedSchemaDocs,
schemaObj, serializeIncluded);
@@ -1949,7 +1960,7 @@ public class XmlSchemaSerializer {
Element serializedSimpleType = createNewElement(doc, "simpleType",
schema.getSchemaNamespacePrefix(),
XmlSchema.SCHEMA_NS);
- if (simpleTypeObj.getFinalDerivation() != null
+ if (simpleTypeObj.getFinalDerivation() != null
&& simpleTypeObj.getFinalDerivation() !=
XmlSchemaDerivationMethod.NONE) {
serializedSimpleType.setAttribute("final",
simpleTypeObj.getFinalDerivation().toString());
}
@@ -2114,7 +2125,7 @@ public class XmlSchemaSerializer {
Element serializeSimpleTypeUnion(Document doc, XmlSchemaSimpleTypeUnion
unionObj, XmlSchema schema)
throws XmlSchemaSerializerException {
- Element union = createNewElement(doc, "union",
schema.getSchemaNamespacePrefix(),
+ Element union = createNewElement(doc, "union",
schema.getSchemaNamespacePrefix(),
XmlSchema.SCHEMA_NS);
if (unionObj.getId() != null) {
union.setAttribute("id", unionObj.getId());
@@ -2150,7 +2161,7 @@ public class XmlSchemaSerializer {
// for each collection if it is an attribute serialize attribute and
// append that child to container element.
- void setupAttr(Document doc, List<XmlSchemaAttributeOrGroupRef> attrColl,
+ void setupAttr(Document doc, List<XmlSchemaAttributeOrGroupRef> attrColl,
XmlSchema schema, Element container)
throws XmlSchemaSerializerException {
int collectionLength = attrColl.size();
@@ -2207,7 +2218,7 @@ public class XmlSchemaSerializer {
private Element constructFacet(XmlSchemaFacet facetObj, Document doc,
XmlSchema schema, String tagName) {
- Element facetEl = createNewElement(doc, tagName,
schema.getSchemaNamespacePrefix(),
+ Element facetEl = createNewElement(doc, tagName,
schema.getSchemaNamespacePrefix(),
XmlSchema.SCHEMA_NS);
facetEl.setAttribute("value", facetObj.value.toString());
@@ -2236,7 +2247,7 @@ public class XmlSchemaSerializer {
* A generic method to process the extra attributes and the extra elements
present within the schema. What
* are considered extensions are child elements with non schema namespace
and child attributes with any
* namespace.
- *
+ *
* @param schemaObject
* @param parentElement
*/
@@ -2263,7 +2274,7 @@ public class XmlSchemaSerializer {
* will search whether the prefix is available in global hash table, if it
is there than append the prefix
* to the element name. If not then it will create new prefix
corresponding to that namespace and store
* that in hash table. Finally add the new prefix and namespace to
<schema> element
- *
+ *
* @param names
* @param schemaObj
* @return resolved QName of the string
@@ -2304,12 +2315,12 @@ public class XmlSchemaSerializer {
/**
* A common method to serialize the max/min occurs
- *
+ *
* @param particle
* @param element
*/
private void serializeMaxMinOccurs(XmlSchemaParticle particle, Element
element) {
- if (particle.getMaxOccurs() < Long.MAX_VALUE
+ if (particle.getMaxOccurs() < Long.MAX_VALUE
&& (particle.getMaxOccurs() > 1 || particle.getMaxOccurs() == 0)) {
element.setAttribute("maxOccurs", particle.getMaxOccurs() + "");
} else if (particle.getMaxOccurs() == Long.MAX_VALUE) {
@@ -2419,7 +2430,7 @@ public class XmlSchemaSerializer {
if ("".equals(prefix) ||
!schemaNamespace.containsKey(uri)) {
schemaNamespace.put(uri, prefix);
}
- prefix = (prefix.length() > 0) ? "xmlns:" + prefix :
"xmlns";
+ prefix = (prefix.length() > 0) ? "xmlns:" + prefix :
"xmlns";
schemaEl.setAttributeNS(XMLNS_NAMESPACE_URI,
prefix, uri);
}
@@ -2433,7 +2444,7 @@ public class XmlSchemaSerializer {
"xmlns", XSD_NAMESPACE);
} else {
schemaEl.setAttributeNS(XMLNS_NAMESPACE_URI,
- "xmlns:" + xsdPrefix, XSD_NAMESPACE);
+ "xmlns:" + xsdPrefix, XSD_NAMESPACE);
}
schemaObj.setSchemaNamespacePrefix(xsdPrefix);
}
Modified:
webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/utils/XmlSchemaNamedWithFormImpl.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/utils/XmlSchemaNamedWithFormImpl.java?rev=1021748&r1=1021747&r2=1021748&view=diff
==============================================================================
---
webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/utils/XmlSchemaNamedWithFormImpl.java
(original)
+++
webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/utils/XmlSchemaNamedWithFormImpl.java
Tue Oct 12 11:33:22 2010
@@ -26,7 +26,7 @@ import org.apache.ws.commons.schema.XmlS
import org.apache.ws.commons.schema.XmlSchemaForm;
/**
- *
+ *
*/
public class XmlSchemaNamedWithFormImpl extends XmlSchemaNamedImpl implements
XmlSchemaNamedWithForm {
private XmlSchemaForm form = XmlSchemaForm.NONE;
@@ -44,7 +44,12 @@ public class XmlSchemaNamedWithFormImpl
this.element = element;
}
- /** {...@inheritdoc}*/
+ /**
+ * Return the <strong>effective</strong> 'form' for this item. If the item
+ * has an explicit form declaration, this returns that declared form. If
not,
+ * it returns the appropriate default form from the containing schema.
+ * @return {...@link XmlSchemaForm#QUALIFIED} or {...@link
XmlSchemaForm#UNQUALIFIED}.
+ */
public XmlSchemaForm getForm() {
if (form != XmlSchemaForm.NONE) {
return form;
Modified:
webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/utils/XmlSchemaRef.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/utils/XmlSchemaRef.java?rev=1021748&r1=1021747&r2=1021748&view=diff
==============================================================================
---
webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/utils/XmlSchemaRef.java
(original)
+++
webservices/commons/trunk/modules/XmlSchema/src/main/java/org/apache/ws/commons/schema/utils/XmlSchemaRef.java
Tue Oct 12 11:33:22 2010
@@ -35,18 +35,19 @@ import org.apache.ws.commons.schema.XmlS
public class XmlSchemaRef<T extends XmlSchemaNamed> extends XmlSchemaRefBase {
private Class<? extends T> targetClass;
private T targetObject;
-
+
public XmlSchemaRef(XmlSchema parent, Class<T> targetClass) {
this.parent = parent;
this.targetClass = targetClass;
}
-
+
protected void forgetTargetObject() {
targetObject = null;
}
-
+
+
public T getTarget() {
-
+
if (targetObject == null) {
Class<?> cls = targetClass;
XmlSchemaCollection parentCollection = parent.getParent();
@@ -66,4 +67,9 @@ public class XmlSchemaRef<T extends XmlS
}
return targetObject;
}
+
+ @Override
+ public String toString() {
+ return "XmlSchemaRef: " + targetClass.getName() + " " + targetQName;
+ }
}