Skip to content

Commit

Permalink
7427 cleanup truncata errata (#9215)
Browse files Browse the repository at this point in the history
* cleanup truncata
* errata cleanup and ownederrata constructor
* refactoring with method for creating ownederrata (cleaner)
* fix for deleting the filteredErrata
* owned errata constructor from errata
  • Loading branch information
Serp1co authored Sep 13, 2024
1 parent d4baac4 commit 8d6d3ca
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 4 deletions.
19 changes: 19 additions & 0 deletions java/code/src/com/redhat/rhn/frontend/dto/OwnedErrata.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
*/
package com.redhat.rhn.frontend.dto;

import com.redhat.rhn.domain.errata.Errata;

import java.util.Date;

/**
Expand All @@ -25,6 +27,23 @@ public class OwnedErrata extends ErrataOverview {
private String locallyModified;
private Integer published;

/**
* Empty default Constructor
*/
public OwnedErrata() {
super();
}

/**
* Constructor from errata
* @param errataIn the errata
*/
public OwnedErrata(Errata errataIn) {
super();
setId(errataIn.getId());
setAdvisory(errataIn.getAdvisory());
}

/**
* @param locallyModifiedIn The locallyModified to set.
*/
Expand Down
10 changes: 6 additions & 4 deletions java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -307,8 +307,12 @@ public static void truncateErrata(Set<Errata> srcErrata, Channel tgtChannel, Use
Set<Errata> filteredErrata = tgtErrata.stream().filter(e -> !(srcErrata.contains(e) || asCloned(e)
.map(er -> srcErrata.contains(er.getOriginal())).orElse(false)))
.collect(Collectors.toUnmodifiableSet());

removeErratumAndPackagesFromChannel(filteredErrata, srcErrata, tgtChannel, user);
List<OwnedErrata> emptyChannelErrata = filteredErrata.stream()
.filter(t -> t.getChannels().isEmpty())
.map(OwnedErrata::new)
.collect(Collectors.toList());
ErrataManager.deleteErrata(user, emptyChannelErrata);
}

private static Optional<ClonedErrata> asCloned(Errata e) {
Expand Down Expand Up @@ -637,9 +641,7 @@ private static void deleteErrata(User user, List<OwnedErrata> erratas) {
*/
public static void deleteErratum(User user, Errata errata) {
List<OwnedErrata> eids = new ArrayList<>();
OwnedErrata oErrata = new OwnedErrata();
oErrata.setId(errata.getId());
oErrata.setAdvisory(errata.getAdvisory());
OwnedErrata oErrata = new OwnedErrata(errata);
eids.add(oErrata);
deleteErrata(user, eids);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- ErrataManager.truncateErrata now tries to clean orphan erratas
at the end (erratas with no channel)

0 comments on commit 8d6d3ca

Please sign in to comment.