@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) public RepoSyncResults _mergeAdvisorySyncReportREMOVE(ContentSource contentSource, AdvisorySyncReport report, RepoSyncResults syncResults, StringBuilder progress) { progress.append(new Date()).append(": ").append("Removing"); syncResults.setResults(progress.toString()); syncResults = repoManager.mergeRepoSyncResults(syncResults); AdvisoryManagerLocal advManager = LookupUtil.getAdvisoryManagerLocal(); Subject overlord = LookupUtil.getSubjectManager().getOverlord(); // remove all advisories that are no longer available on the remote repository for (AdvisoryDetails advDetails : report.getDeletedAdvisorys()) { Advisory nukeAdv = advManager.getAdvisoryByName(advDetails.getAdvisory()); advManager.deleteAdvisoryCVE(overlord, nukeAdv.getId()); advManager.deleteAdvisoryPackage(overlord, nukeAdv.getId()); advManager.deleteAdvisoryBugList(overlord, nukeAdv.getId()); advManager.deleteAdvisoryByAdvId(overlord, nukeAdv.getId()); progress.append("Removed advisory & advisory cves for: " + advDetails.getAdvisory()); syncResults.setResults(progress.toString()); syncResults = repoManager.mergeRepoSyncResults(syncResults); } progress.append("Finished Advisory removal...").append('\n'); syncResults.setResults(progress.toString()); syncResults = repoManager.mergeRepoSyncResults(syncResults); return syncResults; }
RepoAdvisory repoAdv = new RepoAdvisory(repo, newAdv); log.debug("Created new mapping of RepoAdvisory repoId = " + repo.getId() + ", distId = " + newAdv.getId()); entityManager.flush(); entityManager.persist(repoAdv); q.setParameter("rpmName", pkg.getRpmFilename()); PackageVersion pExisting = (PackageVersion) q.getSingleResult(); AdvisoryPackage apkg = advManager.findAdvisoryPackage(overlord, newAdv.getId(), pExisting .getId()); if (apkg == null) { if (abugs != null && abugs.size() > 0) { for (AdvisoryBugDetails abug : abugs) { AdvisoryBuglist abuglist = advManager.getAdvisoryBuglist(overlord, newAdv.getId(), abug .getBugInfo()); if (abuglist == null) {
detail.setUpdate_date(d.getUpdate_date()); List<AdvisoryPackage> pkgs = advManager.findPackageByAdvisory(overlord, d.getId(), pc); for (AdvisoryPackage pkg : pkgs) { PackageVersion pv = advManager.findPackageVersionByPkgId(overlord, pkg.getPkg().getFileName(), pc); List<AdvisoryCVE> cves = advManager.getAdvisoryCVEByAdvId(overlord, d.getId(), pc); for (AdvisoryCVE cve : cves) { AdvisoryCVEDetails acve = new AdvisoryCVEDetails(cve.getCVE().getName()); List<AdvisoryBuglist> abugs = advManager.getAdvisoryBuglistByAdvId(overlord, d.getId()); if (abugs != null && abugs.size() > 0) { for (AdvisoryBuglist abug : abugs) {