DDI supports sha256 (#869)
* Add SHA256 file hash to ddi GET outputs Signed-off-by: Alexander Dobler <alexander.dobler3@bosch-si.com> * Integrate review findings for SHA256 changes Signed-off-by: Alexander Dobler <alexander.dobler3@bosch-si.com> * Renamed hashes to base16hases in store() parameters Signed-off-by: Alexander Dobler <alexander.dobler3@bosch-si.com> * Added missing javadoc according to sonarqube findings Signed-off-by: Alexander Dobler <alexander.dobler3@bosch-si.com>
This commit is contained in:
committed by
Dominic Schabel
parent
fba6cf9787
commit
bde3548846
@@ -128,7 +128,7 @@ public class JpaArtifactManagement implements ArtifactManagement {
|
||||
try {
|
||||
return artifactRepository.store(tenantAware.getCurrentTenant(), artifactUpload.getInputStream(),
|
||||
artifactUpload.getFilename(), artifactUpload.getContentType(),
|
||||
new DbArtifactHash(artifactUpload.getProvidedSha1Sum(), artifactUpload.getProvidedMd5Sum()));
|
||||
new DbArtifactHash(artifactUpload.getProvidedSha1Sum(), artifactUpload.getProvidedMd5Sum(), artifactUpload.getProvidedSha256Sum()));
|
||||
} catch (final ArtifactStoreException e) {
|
||||
throw new ArtifactUploadFailedException(e);
|
||||
} catch (final HashNotMatchException e) {
|
||||
@@ -256,6 +256,7 @@ public class JpaArtifactManagement implements ArtifactManagement {
|
||||
artifact = new JpaArtifact(result.getHashes().getSha1(), providedFilename, softwareModule);
|
||||
}
|
||||
artifact.setMd5Hash(result.getHashes().getMd5());
|
||||
artifact.setSha256Hash(result.getHashes().getSha256());
|
||||
artifact.setSha1Hash(result.getHashes().getSha1());
|
||||
artifact.setSize(result.getSize());
|
||||
|
||||
|
||||
@@ -57,6 +57,9 @@ public class JpaArtifact extends AbstractJpaTenantAwareBaseEntity implements Art
|
||||
@Column(name = "md5_hash", length = 32, updatable = false, nullable = true)
|
||||
private String md5Hash;
|
||||
|
||||
@Column(name = "sha256_hash", length = 64, updatable = false, nullable = true)
|
||||
private String sha256Hash;
|
||||
|
||||
@Column(name = "file_size", updatable = false)
|
||||
private long size;
|
||||
|
||||
@@ -94,6 +97,11 @@ public class JpaArtifact extends AbstractJpaTenantAwareBaseEntity implements Art
|
||||
return sha1Hash;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSha256Hash() {
|
||||
return sha256Hash;
|
||||
}
|
||||
|
||||
public void setMd5Hash(final String md5Hash) {
|
||||
this.md5Hash = md5Hash;
|
||||
}
|
||||
@@ -102,6 +110,11 @@ public class JpaArtifact extends AbstractJpaTenantAwareBaseEntity implements Art
|
||||
this.sha1Hash = sha1Hash;
|
||||
}
|
||||
|
||||
public void setSha256Hash(final String sha256Hash) {
|
||||
this.sha256Hash = sha256Hash;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public long getSize() {
|
||||
return size;
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
ALTER TABLE sp_artifact ADD COLUMN sha256_hash CHAR(64);
|
||||
@@ -0,0 +1 @@
|
||||
ALTER TABLE sp_artifact ADD COLUMN sha256_hash CHAR(64);
|
||||
@@ -0,0 +1 @@
|
||||
ALTER TABLE sp_artifact ADD COLUMN sha256_hash CHAR(64);
|
||||
@@ -0,0 +1 @@
|
||||
ALTER TABLE sp_artifact ADD sha256_hash CHAR(64);
|
||||
@@ -139,6 +139,8 @@ public class ArtifactManagementTest extends AbstractJpaIntegrationTest {
|
||||
.isEqualTo(HashGeneratorUtils.generateSHA1(randomBytes));
|
||||
assertThat(artifactManagement.getByFilename("file1").get().getMd5Hash())
|
||||
.isEqualTo(HashGeneratorUtils.generateMD5(randomBytes));
|
||||
assertThat(artifactManagement.getByFilename("file1").get().getSha256Hash())
|
||||
.isEqualTo(HashGeneratorUtils.generateSHA256(randomBytes));
|
||||
|
||||
assertThat(artifactRepository.findAll()).hasSize(4);
|
||||
assertThat(softwareModuleRepository.findAll()).hasSize(3);
|
||||
|
||||
Reference in New Issue
Block a user