Return-Path: Delivered-To: apmail-jakarta-commons-dev-archive@apache.org Received: (qmail 63032 invoked from network); 15 Apr 2003 21:51:49 -0000 Received: from exchange.sun.com (192.18.33.10) by daedalus.apache.org with SMTP; 15 Apr 2003 21:51:49 -0000 Received: (qmail 29833 invoked by uid 97); 15 Apr 2003 21:53:48 -0000 Delivered-To: qmlist-jakarta-archive-commons-dev@nagoya.betaversion.org Received: (qmail 29826 invoked from network); 15 Apr 2003 21:53:47 -0000 Received: from daedalus.apache.org (HELO apache.org) (208.185.179.12) by nagoya.betaversion.org with SMTP; 15 Apr 2003 21:53:47 -0000 Received: (qmail 62765 invoked by uid 500); 15 Apr 2003 21:51:46 -0000 Mailing-List: contact commons-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Jakarta Commons Developers List" Reply-To: "Jakarta Commons Developers List" Delivered-To: mailing list commons-dev@jakarta.apache.org Received: (qmail 62752 invoked by uid 500); 15 Apr 2003 21:51:46 -0000 Received: (qmail 62746 invoked from network); 15 Apr 2003 21:51:46 -0000 Received: from icarus.apache.org (208.185.179.13) by daedalus.apache.org with SMTP; 15 Apr 2003 21:51:46 -0000 Received: (qmail 13555 invoked by uid 1289); 15 Apr 2003 21:51:45 -0000 Date: 15 Apr 2003 21:51:45 -0000 Message-ID: <20030415215145.13554.qmail@icarus.apache.org> From: rdonkin@apache.org To: jakarta-commons-cvs@apache.org Subject: cvs commit: jakarta-commons/betwixt/xdocs tasks.xml X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N rdonkin 2003/04/15 14:51:45 Modified: betwixt/src/java/org/apache/commons/betwixt XMLIntrospector.java betwixt/src/test/org/apache/commons/betwixt TestBeanWriter.java betwixt/xdocs tasks.xml Added: betwixt/src/test/org/apache/commons/betwixt ArrayBean.java Log: Fixed bug which produced bad element names when an array was passed into a write method. Plus test cases and documentation Revision Changes Path 1.20 +7 -1 jakarta-commons/betwixt/src/java/org/apache/commons/betwixt/XMLIntrospector.java Index: XMLIntrospector.java =================================================================== RCS file: /home/cvs/jakarta-commons/betwixt/src/java/org/apache/commons/betwixt/XMLIntrospector.java,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- XMLIntrospector.java 9 Jan 2003 22:34:07 -0000 1.19 +++ XMLIntrospector.java 15 Apr 2003 21:51:44 -0000 1.20 @@ -290,10 +290,16 @@ BeanDescriptor beanDescriptor = beanInfo.getBeanDescriptor(); Class beanClass = beanDescriptor.getBeanClass(); + String name = beanDescriptor.getName(); + // Array's contain a bad character + if (beanClass.isArray()) { + // called all array's Array + name = "Array"; + } ElementDescriptor elementDescriptor = new ElementDescriptor(); elementDescriptor.setLocalName( - getElementNameMapper().mapTypeToElementName( beanDescriptor.getName() ) ); + getElementNameMapper().mapTypeToElementName( name ) ); elementDescriptor.setPropertyType( beanInfo.getBeanDescriptor().getBeanClass() ); if (log.isTraceEnabled()) { 1.10 +45 -0 jakarta-commons/betwixt/src/test/org/apache/commons/betwixt/TestBeanWriter.java Index: TestBeanWriter.java =================================================================== RCS file: /home/cvs/jakarta-commons/betwixt/src/test/org/apache/commons/betwixt/TestBeanWriter.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- TestBeanWriter.java 19 Mar 2003 22:57:40 -0000 1.9 +++ TestBeanWriter.java 15 Apr 2003 21:51:45 -0000 1.10 @@ -314,5 +314,50 @@ xmlAssertIsomorphicContent(parseString(out.getBuffer().toString()),parseString(xml), true); } + + public void testArrayWrite() throws Exception { + ArrayBean bean = new ArrayBean("Rob"); + bean.addHobby("Hacking open source software"); + bean.addHobby("Playing cricket"); + bean.addHobby("Watching rugby league"); + bean.addHobby("Havin' it large"); + + StringWriter out = new StringWriter(); + out.write(""); + BeanWriter writer = new BeanWriter(out); + writer.setWriteEmptyElements(true); + writer.setWriteIDs(false); + writer.write(bean); + + String xml = "Rob" + + "Hacking open source software" + + "Playing cricket" + + "Watching rugby league" + + "Havin' it large" + +""; + xmlAssertIsomorphicContent( + parseString(out.getBuffer().toString()), + parseString(xml), + true); + + String [] array = {"This", "That", "The Other"}; + out = new StringWriter(); + out.write(""); + writer = new BeanWriter(out); + writer.setWriteEmptyElements(true); + writer.setWriteIDs(false); + writer.write(array); + + xml = "" + + "This" + + "That" + + "The Other" + +""; + + xmlAssertIsomorphicContent( + parseString(out.getBuffer().toString()), + parseString(xml), + true); + } } 1.1 jakarta-commons/betwixt/src/test/org/apache/commons/betwixt/ArrayBean.java Index: ArrayBean.java =================================================================== /* * $Header: /home/cvs/jakarta-commons/betwixt/src/test/org/apache/commons/betwixt/ArrayBean.java,v 1.1 2003/04/15 21:51:45 rdonkin Exp $ * $Revision: 1.1 $ * $Date: 2003/04/15 21:51:45 $ * * ==================================================================== * * The Apache Software License, Version 1.1 * * Copyright (c) 1999-2002 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The end-user documentation included with the redistribution, if * any, must include the following acknowlegement: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowlegement may appear in the software itself, * if and wherever such third-party acknowlegements normally appear. * * 4. The names "The Jakarta Project", "Commons", and "Apache Software * Foundation" must not be used to endorse or promote products derived * from this software without prior written permission. For written * permission, please contact apache@apache.org. * * 5. Products derived from this software may not be called "Apache" * nor may "Apache" appear in their names without prior written * permission of the Apache Group. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see * . * * $Id: ArrayBean.java,v 1.1 2003/04/15 21:51:45 rdonkin Exp $ */ package org.apache.commons.betwixt; import java.util.ArrayList; /** Bean that contains an array property. * * @author Robert Burrell Donkin * @version $Revision: 1.1 $ */ public class ArrayBean { private String name; private String[] typeList = {"placeholder"}; private ArrayList hobbies = new ArrayList(); public ArrayBean() {} public ArrayBean(String name) { setName(name); } public String getName() { return name; } public void setName(String name) { this.name = name; } public String[] getHobbies() { return (String[]) hobbies.toArray(typeList); } public void addHobby(String hobby) { hobbies.add(hobby); } } 1.15 +4 -0 jakarta-commons/betwixt/xdocs/tasks.xml Index: tasks.xml =================================================================== RCS file: /home/cvs/jakarta-commons/betwixt/xdocs/tasks.xml,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- tasks.xml 12 Apr 2003 08:41:03 -0000 1.14 +++ tasks.xml 15 Apr 2003 21:51:45 -0000 1.15 @@ -214,6 +214,10 @@ encoding type on the output stream. This allows xml with different encoding types to be written. +
  • + Fixed bug when writing Array's + When an array was pass to a write call, invalid XML used to be produced. This has been fixed. +
  • --------------------------------------------------------------------- To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: commons-dev-help@jakarta.apache.org