[ https://issues.apache.org/jira/browse/JCLOUDS-1146?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ryan MacDowell updated JCLOUDS-1146: ------------------------------------ Attachment: ReflexiveTest.java > BlobStoreContext and BlobStore break reflexive propety of object equals > ----------------------------------------------------------------------- > > Key: JCLOUDS-1146 > URL: https://issues.apache.org/jira/browse/JCLOUDS-1146 > Project: jclouds > Issue Type: Bug > Components: jclouds-blobstore > Affects Versions: 1.9.2 > Reporter: Ryan MacDowell > Attachments: ReflexiveTest.java > > > Create a BlobStoreContext, call the equals method on it and pass in itself, > the result should be true but it is false. > Get the BlobStore from a context and call the equals method on it and pass in > itself, the result should be true but is false with certain providers e.g. > "transient", "azureBlob". > From the javadoc > {quote} > Indicates whether some other object is "equal to" this one. > The equals method implements an equivalence relation on non-null object > references: > It is reflexive: for any non-null reference value x, x.equals\(x\) should > return true. > {quote} > {code:java|title=ReflexiveTest.java|borderStyle=solid} > import org.jclouds.ContextBuilder; > import org.jclouds.blobstore.BlobStore; > import org.jclouds.blobstore.BlobStoreContext; > //Test for equals behavior > public class ReflexiveTest { > public static void main(String[] args) { > BlobStoreContext context = > ContextBuilder.newBuilder("azureblob") > .credentials("someId", "someKey") > .build(BlobStoreContext.class); > System.out.println("Context should equal itself " + > context.equals(context)); > BlobStore store = context.getBlobStore(); > System.out.println("Store should equal itself " + > store.equals(store)); > } > } > {code} > From my tests azureBlob and transient never equals itself, yet somehow aws-s3 > BlobStores equal themselves, but not BlobStoreContext. -- This message was sent by Atlassian JIRA (v6.3.4#6332)