@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) public RepoSyncResults _mergeDistributionSyncReportREMOVE(ContentSource contentSource, DistributionSyncReport report, RepoSyncResults syncResults, StringBuilder progress) { progress.append(new Date()).append(": ").append("Removing"); syncResults.setResults(progress.toString()); syncResults = repoManager.mergeRepoSyncResults(syncResults); DistributionManagerLocal distManager = LookupUtil.getDistributionManagerLocal(); Subject overlord = LookupUtil.getSubjectManager().getOverlord(); // remove all distributions that are no longer available on the remote repository for (DistributionDetails doomedDetails : report.getDeletedDistributions()) { Distribution doomedDist = distManager.getDistributionByLabel(doomedDetails.getLabel()); distManager.deleteDistributionByDistId(overlord, doomedDist.getId()); distManager.deleteDistributionFilesByDistId(overlord, doomedDist.getId()); progress.append("Removed distribution & distribution files for: " + doomedDetails.getLabel()); syncResults.setResults(progress.toString()); syncResults = repoManager.mergeRepoSyncResults(syncResults); } progress.append("Finished Distribution removal...").append('\n'); syncResults.setResults(progress.toString()); syncResults = repoManager.mergeRepoSyncResults(syncResults); return syncResults; }
List<DistributionFile> distFiles = distManager.getDistributionFilesByDistId(dist.getId()); log.debug("Found " + distFiles.size() + " DistributionFiles"); for (DistributionFile dFile : distFiles) {
RepoDistribution repoDist = new RepoDistribution(repo, newDist); log.debug("Created new mapping of RepoDistribution repoId = " + repo.getId() + ", distId = " + newDist.getId()); entityManager.persist(repoDist); List<DistributionFileDetails> files = detail.getFiles();
private void translateDomainToDto(List<Distribution> dists, List<DistributionDetails> distDetails) { DistributionManagerLocal distManager = LookupUtil.getDistributionManagerLocal(); for (Distribution d : dists) { DistributionDetails detail = new DistributionDetails(d.getLabel(), d.getDistributionType().getName()); detail.setLabel(d.getLabel()); detail.setDistributionPath(d.getBasePath()); detail.setDescription(d.getDistributionType().getDescription()); List<DistributionFile> files = distManager.getDistributionFilesByDistId(d.getId()); for (DistributionFile f : files) { DistributionFileDetails dfd = new DistributionFileDetails(f.getRelativeFilename(), f.getLastModified(), f.getMd5sum()); detail.addFile(dfd); } distDetails.add(detail); } }