You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by no...@apache.org on 2009/12/21 15:38:30 UTC
svn commit: r892836 - in
/incubator/aries/trunk/application/application-utils/src/main/java/org/apache/aries/application/impl:
ContentImpl.java VersionRangeImpl.java
Author: not
Date: Mon Dec 21 14:38:30 2009
New Revision: 892836
URL: http://svn.apache.org/viewvc?rev=892836&view=rev
Log:
ARIES-52 added equals and hashcode to version range and content
Modified:
incubator/aries/trunk/application/application-utils/src/main/java/org/apache/aries/application/impl/ContentImpl.java
incubator/aries/trunk/application/application-utils/src/main/java/org/apache/aries/application/impl/VersionRangeImpl.java
Modified: incubator/aries/trunk/application/application-utils/src/main/java/org/apache/aries/application/impl/ContentImpl.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-utils/src/main/java/org/apache/aries/application/impl/ContentImpl.java?rev=892836&r1=892835&r2=892836&view=diff
==============================================================================
--- incubator/aries/trunk/application/application-utils/src/main/java/org/apache/aries/application/impl/ContentImpl.java (original)
+++ incubator/aries/trunk/application/application-utils/src/main/java/org/apache/aries/application/impl/ContentImpl.java Mon Dec 21 14:38:30 2009
@@ -116,9 +116,25 @@
if (other instanceof ContentImpl) {
ContentImpl otherContent = (ContentImpl)other;
+
+ Map<String,String> attributesWithoutVersion = attributes;
+
+ if (attributes.containsKey("version")) {
+ attributesWithoutVersion = new HashMap<String, String>(attributes);
+ attributesWithoutVersion.remove("version");
+ }
+
+ Map<String, String> otherAttributesWithoutVersion = otherContent.attributes;
+
+ if (otherContent.attributes.containsKey("version")) {
+ otherAttributesWithoutVersion = new HashMap<String, String>(otherContent.attributes);
+ otherAttributesWithoutVersion.remove("version");
+ }
+
return contentName.equals(otherContent.contentName) &&
- attributes.equals(otherContent.attributes) &&
- directives.equals(otherContent.directives);
+ attributesWithoutVersion.equals(otherAttributesWithoutVersion) &&
+ directives.equals(otherContent.directives) &&
+ getVersion().equals(otherContent.getVersion());
}
return false;
Modified: incubator/aries/trunk/application/application-utils/src/main/java/org/apache/aries/application/impl/VersionRangeImpl.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-utils/src/main/java/org/apache/aries/application/impl/VersionRangeImpl.java?rev=892836&r1=892835&r2=892836&view=diff
==============================================================================
--- incubator/aries/trunk/application/application-utils/src/main/java/org/apache/aries/application/impl/VersionRangeImpl.java (original)
+++ incubator/aries/trunk/application/application-utils/src/main/java/org/apache/aries/application/impl/VersionRangeImpl.java Mon Dec 21 14:38:30 2009
@@ -25,7 +25,7 @@
import org.apache.aries.application.VersionRange;
-public class VersionRangeImpl implements VersionRange
+public final class VersionRangeImpl implements VersionRange
{
private String version;
/** The minimum desired version for the bundle */
@@ -63,13 +63,30 @@
}
/* (non-Javadoc)
- * @see org.apache.aries.application.impl.VersionRange#toString()
- */
-@Override
+ * @see org.apache.aries.application.impl.VersionRange#toString()
+ */
+ @Override
public String toString() {
return this.version;
}
+ public int hashCode()
+ {
+ return version.hashCode();
+ }
+
+ public boolean equals(Object other)
+ {
+ if (other == this) return true;
+ if (other == null) return false;
+
+ if (other instanceof VersionRangeImpl) {
+ return version.equals(((VersionRangeImpl)other).version);
+ }
+
+ return false;
+ }
+
/* (non-Javadoc)
* @see org.apache.aries.application.impl.VersionRange#getExactVersion()
*/