Return-Path: X-Original-To: apmail-tuscany-commits-archive@www.apache.org Delivered-To: apmail-tuscany-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 27B0A309A for ; Mon, 2 May 2011 19:45:16 +0000 (UTC) Received: (qmail 79289 invoked by uid 500); 2 May 2011 19:45:16 -0000 Delivered-To: apmail-tuscany-commits-archive@tuscany.apache.org Received: (qmail 79252 invoked by uid 500); 2 May 2011 19:45:15 -0000 Mailing-List: contact commits-help@tuscany.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@tuscany.apache.org Delivered-To: mailing list commits@tuscany.apache.org Received: (qmail 79245 invoked by uid 99); 2 May 2011 19:45:15 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 02 May 2011 19:45:15 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 02 May 2011 19:45:14 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 6A4232388901; Mon, 2 May 2011 19:44:54 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1098763 - /tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/impl/DataTypeImpl.java Date: Mon, 02 May 2011 19:44:54 -0000 To: commits@tuscany.apache.org From: scottkurz@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20110502194454.6A4232388901@eris.apache.org> Author: scottkurz Date: Mon May 2 19:44:54 2011 New Revision: 1098763 URL: http://svn.apache.org/viewvc?rev=1098763&view=rev Log: In clone(), do a deep copy of wrapped logical DataType for java:array, etc. cases. Modified: tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/impl/DataTypeImpl.java Modified: tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/impl/DataTypeImpl.java URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/impl/DataTypeImpl.java?rev=1098763&r1=1098762&r2=1098763&view=diff ============================================================================== --- tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/impl/DataTypeImpl.java (original) +++ tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/interfacedef/impl/DataTypeImpl.java Mon May 2 19:44:54 2011 @@ -168,6 +168,20 @@ public class DataTypeImpl implements @Override public Object clone() throws CloneNotSupportedException { DataTypeImpl copy = (DataTypeImpl)super.clone(); + + // + // When using a DataTypeImpl with java:array databinding, + // 'logical' will be another DataTypeImpl. Doing only + // a shallow copy means that resetting the databinding will + // have an unexpected side effect on the original. Though + // we could special case the java:array-databinding case, + // instead do it more generally when the logical is another + // DataType. + // + if (logical instanceof DataType) { + DataType logicalDT = (DataType)logical; + copy.logical = logicalDT.clone(); + } return copy; }