FindBugs Bug Detector Report

The following document contains the results of FindBugs Report

FindBugs Version is 1.3.9

Threshold is medium

Effort is min

Summary

ClassesBugsErrorsMissing Classes
1622900

org.jclouds.blobstore.TransientAsyncBlobStore

BugCategoryDetailsLinePriority
instanceof will always return true in org.jclouds.blobstore.TransientAsyncBlobStore.createUpdatedCopyOfBlobInContainer(String, Blob), since all org.jclouds.io.payloads.ByteArrayPayload are instances of org.jclouds.io.payloads.ByteArrayPayloadSTYLEBC_VACUOUS_INSTANCEOF535Medium
Method org.jclouds.blobstore.TransientAsyncBlobStore.getBlob(String, String, GetOptions) invokes inefficient new Long(long) constructor; use Long.valueOf(long) insteadPERFORMANCEDM_NUMBER_CTOR649Medium
Possible null pointer dereference of container in org.jclouds.blobstore.TransientAsyncBlobStore.putBlob(String, Blob)CORRECTNESSNP_NULL_ON_SOME_PATH507High
Possible null pointer dereference of container in org.jclouds.blobstore.TransientAsyncBlobStore.putBlobAndReturnOld(String, Blob)CORRECTNESSNP_NULL_ON_SOME_PATH520High
org.jclouds.blobstore.TransientAsyncBlobStore.putBlob(String, Blob) forgets to throw new IllegalStateException(String)CORRECTNESSRV_EXCEPTION_NOT_THROWN502High
org.jclouds.blobstore.TransientAsyncBlobStore.putBlobAndReturnOld(String, Blob) forgets to throw new IllegalStateException(String)CORRECTNESSRV_EXCEPTION_NOT_THROWN515High

org.jclouds.blobstore.domain.internal.BlobBuilderImpl$PayloadBlobBuilderImpl

BugCategoryDetailsLinePriority
Should org.jclouds.blobstore.domain.internal.BlobBuilderImpl$PayloadBlobBuilderImpl be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATIC131Medium

org.jclouds.blobstore.domain.internal.BlobMetadataImpl

BugCategoryDetailsLinePriority
org.jclouds.blobstore.domain.internal.BlobMetadataImpl doesn't override StorageMetadataImpl.equals(Object)STYLEEQ_DOESNT_OVERRIDE_EQUALS51Medium

org.jclouds.blobstore.domain.internal.MutableBlobMetadataImpl

BugCategoryDetailsLinePriority
org.jclouds.blobstore.domain.internal.MutableBlobMetadataImpl doesn't override org.jclouds.domain.internal.MutableResourceMetadataImpl.equals(Object)STYLEEQ_DOESNT_OVERRIDE_EQUALS36Medium

org.jclouds.blobstore.domain.internal.MutableStorageMetadataImpl

BugCategoryDetailsLinePriority
org.jclouds.blobstore.domain.internal.MutableStorageMetadataImpl.getLastModified() may expose internal representation by returning MutableStorageMetadataImpl.lastModifiedMALICIOUS_CODEEI_EXPOSE_REP66Medium
org.jclouds.blobstore.domain.internal.MutableStorageMetadataImpl.setLastModified(Date) may expose internal representation by storing an externally mutable object into MutableStorageMetadataImpl.lastModifiedMALICIOUS_CODEEI_EXPOSE_REP274Medium
org.jclouds.blobstore.domain.internal.MutableStorageMetadataImpl doesn't override org.jclouds.domain.internal.MutableResourceMetadataImpl.equals(Object)STYLEEQ_DOESNT_OVERRIDE_EQUALS34Medium

org.jclouds.blobstore.domain.internal.StorageMetadataImpl

BugCategoryDetailsLinePriority
org.jclouds.blobstore.domain.internal.StorageMetadataImpl.getLastModified() may expose internal representation by returning StorageMetadataImpl.lastModifiedMALICIOUS_CODEEI_EXPOSE_REP115Medium
new org.jclouds.blobstore.domain.internal.StorageMetadataImpl(StorageType, String, String, Location, URI, String, Date, Map) may expose internal representation by storing an externally mutable object into StorageMetadataImpl.lastModifiedMALICIOUS_CODEEI_EXPOSE_REP256Medium

org.jclouds.blobstore.functions.ParseSystemAndUserMetadataFromHeaders

BugCategoryDetailsLinePriority
Unchecked/unconfirmed cast from org.jclouds.http.HttpRequest to org.jclouds.rest.internal.GeneratedHttpRequest in org.jclouds.blobstore.functions.ParseSystemAndUserMetadataFromHeaders.setContext(HttpRequest)STYLEBC_UNCONFIRMED_CAST121Medium

org.jclouds.blobstore.internal.BaseAsyncBlobStore

BugCategoryDetailsLinePriority
org.jclouds.blobstore.internal.BaseAsyncBlobStore.deleteAndEnsurePathGone(String) forgets to throw new IllegalStateException(String, Throwable)CORRECTNESSRV_EXCEPTION_NOT_THROWN293High

org.jclouds.blobstore.internal.BaseBlobStore

BugCategoryDetailsLinePriority
org.jclouds.blobstore.internal.BaseBlobStore.clearAndDeleteContainer(String) forgets to throw new IllegalStateException(String, Throwable)CORRECTNESSRV_EXCEPTION_NOT_THROWN221High

org.jclouds.blobstore.internal.BlobStoreContextImpl

BugCategoryDetailsLinePriority
org.jclouds.blobstore.internal.BlobStoreContextImpl.equals(Object) checks for operand being a org.jclouds.rest.RestContext BAD_PRACTICEEQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS136Medium

org.jclouds.blobstore.options.CreateContainerOptions

BugCategoryDetailsLinePriority
org.jclouds.blobstore.options.CreateContainerOptions.clone() does not call super.clone()BAD_PRACTICECN_IDIOM_NO_SUPER_CALL36High

org.jclouds.blobstore.options.CreateContainerOptions$ImmutableCreateContainerOptions

BugCategoryDetailsLinePriority
org.jclouds.blobstore.options.CreateContainerOptions$ImmutableCreateContainerOptions.clone() does not call super.clone()BAD_PRACTICECN_IDIOM_NO_SUPER_CALL50Medium

org.jclouds.blobstore.options.GetOptions

BugCategoryDetailsLinePriority
org.jclouds.blobstore.options.GetOptions.getIfModifiedSince() may expose internal representation by returning GetOptions.ifModifiedSinceMALICIOUS_CODEEI_EXPOSE_REP96Medium
org.jclouds.blobstore.options.GetOptions.getIfUnmodifiedSince() may expose internal representation by returning GetOptions.ifUnmodifiedSinceMALICIOUS_CODEEI_EXPOSE_REP120Medium

org.jclouds.blobstore.options.ListContainerOptions

BugCategoryDetailsLinePriority
org.jclouds.blobstore.options.ListContainerOptions.clone() does not call super.clone()BAD_PRACTICECN_IDIOM_NO_SUPER_CALL39High

org.jclouds.blobstore.options.ListContainerOptions$ImmutableListContainerOptions

BugCategoryDetailsLinePriority
org.jclouds.blobstore.options.ListContainerOptions$ImmutableListContainerOptions.clone() does not call super.clone()BAD_PRACTICECN_IDIOM_NO_SUPER_CALL59Medium

org.jclouds.blobstore.options.ListOptions$ImmutableListOptions

BugCategoryDetailsLinePriority
org.jclouds.blobstore.options.ListOptions$ImmutableListOptions.clone() does not call super.clone()BAD_PRACTICECN_IDIOM_NO_SUPER_CALL40Medium

org.jclouds.blobstore.options.PutOptions

BugCategoryDetailsLinePriority
org.jclouds.blobstore.options.PutOptions.clone() does not call super.clone()BAD_PRACTICECN_IDIOM_NO_SUPER_CALL33High

org.jclouds.blobstore.options.PutOptions$ImmutablePutOptions

BugCategoryDetailsLinePriority
org.jclouds.blobstore.options.PutOptions$ImmutablePutOptions.clone() does not call super.clone()BAD_PRACTICECN_IDIOM_NO_SUPER_CALL46Medium

org.jclouds.blobstore.reference.BlobStoreConstants

BugCategoryDetailsLinePriority
org.jclouds.blobstore.reference.BlobStoreConstants.DIRECTORY_SUFFIXES is a mutable arrayMALICIOUS_CODEMS_MUTABLE_ARRAY41High

org.jclouds.blobstore.util.BlobStoreUtils

BugCategoryDetailsLinePriority
instanceof will always return true in org.jclouds.blobstore.util.BlobStoreUtils.getContentAsStringOrNullAndClose(Blob), since all java.io.InputStream are instances of java.io.InputStreamSTYLEBC_VACUOUS_INSTANCEOF140Medium