Ryan MacDowell created JCLOUDS-1146:
---------------------------------------
Summary: 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
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)