[ http://issues.apache.org/jira/browse/JAXME-48?page=all ] Nacho G. Mac Dowell closed JAXME-48: ------------------------------------
Resolution: Fixed Fix Version: current (nightly) Applied patch on HEAD and v0_4. > ClassCastException in IndentationEngineImpl (write method) when a primitive > array > --------------------------------------------------------------------------------- > > Key: JAXME-48 > URL: http://issues.apache.org/jira/browse/JAXME-48 > Project: JaxMe > Type: Bug > Components: JaxMeJS > Reporter: Nacho G. Mac Dowell > Priority: Minor > Fix For: current (nightly) > Attachments: JAXME-48.patch > > The method write(IndentationTarget pTarget, Object pObject) in > IndentationEngineImpl throws a ClassCastException when object type is a > primitive array. The solution is (AFAIK) to use reflection. The patch: > Index: IndentationEngineImpl.java > =================================================================== > RCS file: > /home/cvspublic/ws-jaxme/src/js/org/apache/ws/jaxme/js/IndentationEngineImpl.java,v > retrieving revision 1.3 > diff -u -r1.3 IndentationEngineImpl.java > --- IndentationEngineImpl.java 16 Feb 2004 23:39:55 -0000 1.3 > +++ IndentationEngineImpl.java 19 Apr 2005 07:06:40 -0000 > @@ -18,6 +18,7 @@ > > import java.io.IOException; > import java.io.StringWriter; > +import java.lang.reflect.Array; > import java.util.ArrayList; > import java.util.Collection; > import java.util.HashMap; > @@ -278,11 +279,11 @@ > public void write(IndentationTarget pTarget, Object pObject) > throws IOException { > if (pObject.getClass().isArray()) { > - Object[] objects = (Object[]) pObject; > - for (int i = 0; i < objects.length; i++) { > - write(pTarget, objects[i]); > - } > - } else if (pObject instanceof JavaSourceObject) { > + int arrayLength = Array.getLength(pObject); > + for (int i = 0; i < arrayLength; i++) { > + write(pTarget, Array.get(pObject, i)); > + } > + } else if (pObject instanceof JavaSourceObject) { > pTarget.write(((JavaSourceObject) pObject).getName()); > } else if (pObject instanceof List) { > for (Iterator iter = ((List) pObject).iterator(); iter.hasNext(); ) { -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]