You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by rd...@apache.org on 2003/07/01 21:10:45 UTC
cvs commit: jakarta-commons/betwixt/src/java/org/apache/commons/betwixt/io BeanRuleSet.java
rdonkin 2003/07/01 12:10:45
Modified: betwixt/src/java/org/apache/commons/betwixt
ElementDescriptor.java
betwixt/src/java/org/apache/commons/betwixt/io
BeanRuleSet.java
Log:
Improved tracing whilst searching for bug.
Revision Changes Path
1.10 +6 -6 jakarta-commons/betwixt/src/java/org/apache/commons/betwixt/ElementDescriptor.java
Index: ElementDescriptor.java
===================================================================
RCS file: /home/cvs/jakarta-commons/betwixt/src/java/org/apache/commons/betwixt/ElementDescriptor.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- ElementDescriptor.java 16 May 2003 13:32:00 -0000 1.9
+++ ElementDescriptor.java 1 Jul 2003 19:10:45 -0000 1.10
@@ -482,6 +482,6 @@
return
"ElementDescriptor[qname=" + getQualifiedName() + ",pname=" + getPropertyName()
+ ",class=" + getPropertyType() + ",singular=" + getSingularPropertyType()
- + ",updater=" + getUpdater() + "]";
+ + ",updater=" + getUpdater() + ",wrap=" + isWrapCollectionsInElement() + "]";
}
}
1.6 +40 -6 jakarta-commons/betwixt/src/java/org/apache/commons/betwixt/io/BeanRuleSet.java
Index: BeanRuleSet.java
===================================================================
RCS file: /home/cvs/jakarta-commons/betwixt/src/java/org/apache/commons/betwixt/io/BeanRuleSet.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- BeanRuleSet.java 11 Apr 2003 21:27:42 -0000 1.5
+++ BeanRuleSet.java 1 Jul 2003 19:10:45 -0000 1.6
@@ -180,6 +180,9 @@
* @param digester the <code>Digester</code> to which the rules for the bean will be added
*/
public void addRuleInstances(Digester digester) {
+ if (log.isTraceEnabled()) {
+ log.trace("Adding rules to:" + digester);
+ }
ReadContext readContext = new ReadContext( digester );
}
@@ -273,12 +276,18 @@
}
int removeSlash = prefix.endsWith("/")?1:0;
path = "*/" + prefix.substring(index, prefix.length()-removeSlash);
- }else{
+ if (log.isTraceEnabled()) {
+ log.trace("Added wrapped rule for " + childDescriptor);
+ }
+ } else {
// we have a element/element type of thing..
ElementDescriptor[] desc = currentDescriptor.getElementDescriptors();
if (desc.length == 1) {
path = "*/"+desc[0].getQualifiedName();
}
+ if (log.isTraceEnabled()) {
+ log.trace("Added not wrapped rule for " + childDescriptor);
+ }
}
addRule( path, childDescriptor, context );
continue;
@@ -304,10 +313,18 @@
if ( grandChildQName != null && grandChildQName.length() > 0 ) {
if (childDescriptor.isWrapCollectionsInElement()) {
path += '/' + grandChildQName;
+ if (log.isTraceEnabled()) {
+ log.trace("Descriptor wraps elements in collection, path:" + path);
+ }
} else {
path = prefix
+ (prefix.endsWith("/")?"":"/") + grandChildQName;
+ if (log.isTraceEnabled()) {
+ log.trace(
+ "Descriptor does not wrap elements in collection, path:"
+ + path);
+ }
}
}
}
@@ -353,8 +370,14 @@
ElementDescriptor getElementDescriptor( ElementDescriptor propertyDescriptor ) {
Class beanClass = propertyDescriptor.getSingularPropertyType();
if ( beanClass != null && !Map.class.isAssignableFrom( beanClass ) ) {
+ if (log.isTraceEnabled()) {
+ log.trace("Filling descriptor for: " + beanClass);
+ }
try {
XMLBeanInfo xmlInfo = introspector.introspect( beanClass );
+ if (log.isTraceEnabled()) {
+ log.trace("Is wrapped? " + xmlInfo.getElementDescriptor().isWrapCollectionsInElement());
+ }
return xmlInfo.getElementDescriptor();
} catch (Exception e) {
@@ -431,6 +454,9 @@
if ( ! rulesByPath.containsKey( path ) ) {
if ( log.isDebugEnabled() ) {
log.debug( "Added rule for path: " + path + " rule: " + rule );
+ if (log.isTraceEnabled()) {
+ log.trace( rulesByPath );
+ }
}
rulesByPath.put( path, rule );
return true;
@@ -620,6 +646,11 @@
}
}
+ if (log.isTraceEnabled()) {
+ log.trace("Created bean " + instance);
+ log.trace("Path prefix: " + pathPrefix);
+ }
+
// add bean for ID matching
if ( matchIDs ) {
// XXX need to support custom ID attribute names
@@ -645,6 +676,9 @@
Object instance = context.getBean();
Object top = digester.pop();
+ if (log.isTraceEnabled()) {
+ log.trace("Popped " + top);
+ }
if (digester.getCount() == 0) {
context.setBean(null);
}else{
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org