Return-Path: Delivered-To: apmail-incubator-aries-commits-archive@minotaur.apache.org Received: (qmail 54901 invoked from network); 1 Mar 2010 22:56:49 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 1 Mar 2010 22:56:49 -0000 Received: (qmail 29241 invoked by uid 500); 1 Mar 2010 22:56:47 -0000 Delivered-To: apmail-incubator-aries-commits-archive@incubator.apache.org Received: (qmail 29175 invoked by uid 500); 1 Mar 2010 22:56:47 -0000 Mailing-List: contact aries-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: aries-dev@incubator.apache.org Delivered-To: mailing list aries-commits@incubator.apache.org Received: (qmail 29167 invoked by uid 99); 1 Mar 2010 22:56:47 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Mar 2010 22:56:47 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.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, 01 Mar 2010 22:56:47 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 4256C2388903; Mon, 1 Mar 2010 22:56:27 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r917778 - /incubator/aries/trunk/application/application-management/src/main/java/org/apache/aries/application/management/impl/BundleInfoImpl.java Date: Mon, 01 Mar 2010 22:56:27 -0000 To: aries-commits@incubator.apache.org From: not@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100301225627.4256C2388903@eris.apache.org> Author: not Date: Mon Mar 1 22:56:26 2010 New Revision: 917778 URL: http://svn.apache.org/viewvc?rev=917778&view=rev Log: ARIES-183 Add toString, equals and hashCode for better debug and set handling. Modified: incubator/aries/trunk/application/application-management/src/main/java/org/apache/aries/application/management/impl/BundleInfoImpl.java Modified: incubator/aries/trunk/application/application-management/src/main/java/org/apache/aries/application/management/impl/BundleInfoImpl.java URL: http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-management/src/main/java/org/apache/aries/application/management/impl/BundleInfoImpl.java?rev=917778&r1=917777&r2=917778&view=diff ============================================================================== --- incubator/aries/trunk/application/application-management/src/main/java/org/apache/aries/application/management/impl/BundleInfoImpl.java (original) +++ incubator/aries/trunk/application/application-management/src/main/java/org/apache/aries/application/management/impl/BundleInfoImpl.java Mon Mar 1 22:56:26 2010 @@ -35,7 +35,7 @@ import org.osgi.framework.Constants; import org.osgi.framework.Version; -public class BundleInfoImpl implements BundleInfo { +public final class BundleInfoImpl implements BundleInfo { private Content _symbolicName; private Version _version; private Attributes _attributes; @@ -135,4 +135,30 @@ return _requireBundle; } -} + + /** + * Equality is just based on the location. If you install a bundle from the same location string + * you get the same Bundle, even if the underlying bundle had a different symbolic name/version. + * This seems reasonable and quick. + */ + public boolean equals(Object other) + { + if (other == null) return false; + if (other == this) return true; + if (other instanceof BundleInfoImpl) { + return _location.equals(((BundleInfoImpl)other)._location); + } + + return false; + } + + public int hashCode() + { + return _location.hashCode(); + } + + public String toString() + { + return _symbolicName.getContentName() + "_" + getVersion(); + } +} \ No newline at end of file