@Override @Modifying @Transactional(isolation = Isolation.READ_UNCOMMITTED) public boolean clearArtifactBinary(final Artifact existing) { for (final Artifact lArtifact : localArtifactRepository.findByGridFsFileName( ((JpaArtifact) existing).getGridFsFileName())) { if (!lArtifact.getSoftwareModule().isDeleted() && Long.compare( lArtifact.getSoftwareModule().getId(), existing.getSoftwareModule().getId()) != 0) { return false; } } try { LOG.debug( "deleting artifact from repository {}", ((JpaArtifact) existing).getGridFsFileName()); artifactRepository.deleteBySha1(((JpaArtifact) existing).getGridFsFileName()); return true; } catch (final ArtifactStoreException e) { throw new ArtifactDeleteFailedException(e); } }
private Artifact convertArtifact( final Target target, final org.eclipse.hawkbit.repository.model.Artifact localArtifact) { final Artifact artifact = new Artifact(); artifact.setUrls( artifactUrlHandler .getUrls( new URLPlaceholder( systemManagement.getTenantMetadata().getTenant(), systemManagement.getTenantMetadata().getId(), target.getControllerId(), target.getId(), new SoftwareData( localArtifact.getSoftwareModule().getId(), localArtifact.getFilename(), localArtifact.getId(), localArtifact.getSha1Hash())), ApiType.DMF) .stream() .collect(Collectors.toMap(e -> e.getProtocol(), e -> e.getRef()))); artifact.setFilename(localArtifact.getFilename()); artifact.setHashes(new ArtifactHash(localArtifact.getSha1Hash(), localArtifact.getMd5Hash())); artifact.setSize(localArtifact.getSize()); return artifact; }