Skip to content

Commit

Permalink
DFPL-2630 remove confidential order (#5782)
Browse files Browse the repository at this point in the history
* remove confidential order

* fix code style check

---------

Co-authored-by: Braimah101 <41795070+Braimah101@users.noreply.github.com>
Co-authored-by: prabhamuthu15 <78162288+prabhamuthu15@users.noreply.github.com>
  • Loading branch information
3 people authored Feb 3, 2025
1 parent 1bce0c7 commit b49e4bf
Show file tree
Hide file tree
Showing 4 changed files with 174 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -25,6 +26,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand Down Expand Up @@ -52,6 +54,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -75,6 +78,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -98,6 +102,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -121,6 +126,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -144,6 +150,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -167,6 +174,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -190,6 +198,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -213,6 +222,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -236,6 +246,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -259,6 +270,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -282,6 +294,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -306,6 +319,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -330,6 +344,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -354,6 +369,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -378,6 +394,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -402,6 +419,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -426,6 +444,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -450,6 +469,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -474,6 +494,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -498,6 +519,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -522,6 +544,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -546,6 +569,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -570,6 +594,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -594,6 +619,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand All @@ -618,6 +644,7 @@
"UserRoles": [
"caseworker-publiclaw-courtadmin",
"caseworker-publiclaw-systemupdate",
"caseworker-publiclaw-superuser",
"caseworker-publiclaw-gatekeeper",
"caseworker-publiclaw-judiciary",
"caseworker-publiclaw-magistrate"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,14 @@
import uk.gov.hmcts.reform.fpl.exceptions.removaltool.RemovableOrderOrApplicationNotFoundException;
import uk.gov.hmcts.reform.fpl.model.CaseData;
import uk.gov.hmcts.reform.fpl.model.Child;
import uk.gov.hmcts.reform.fpl.model.ConfidentialOrderBundle;
import uk.gov.hmcts.reform.fpl.model.common.Element;
import uk.gov.hmcts.reform.fpl.model.interfaces.RemovableOrder;
import uk.gov.hmcts.reform.fpl.model.order.generated.GeneratedOrder;
import uk.gov.hmcts.reform.fpl.utils.CaseDetailsMap;
import uk.gov.hmcts.reform.fpl.utils.ElementUtils;

import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.UUID;
Expand All @@ -35,7 +38,14 @@ public void remove(CaseData caseData,
GeneratedOrder generatedRemovableOrder = (GeneratedOrder) removableOrder;

List<Element<GeneratedOrder>> generatedOrders = caseData.getOrderCollection();
boolean removed = generatedOrders.remove(element(removedOrderId, generatedRemovableOrder));
boolean removed = false;
if (ElementUtils.findElement(removedOrderId, generatedOrders).isPresent()) {
removed = generatedOrders.remove(element(removedOrderId, generatedRemovableOrder));
data.putIfNotEmpty("orderCollection", generatedOrders);
} else {
removed = removeConfidentialOrder(data, removedOrderId, generatedRemovableOrder,
caseData.getConfidentialOrders());
}

if (!removed) {
throw new RemovableOrderOrApplicationNotFoundException(removedOrderId);
Expand All @@ -51,7 +61,6 @@ public void remove(CaseData caseData,

data.put("children1", removeFinalOrderPropertiesFromChildren(caseData, generatedRemovableOrder));
data.put("hiddenOrders", hiddenGeneratedOrders);
data.putIfNotEmpty("orderCollection", generatedOrders);
}

@Override
Expand Down Expand Up @@ -91,4 +100,20 @@ private List<Element<Child>> removeFinalOrderPropertiesFromChildren(CaseData cas
return element;
}).collect(Collectors.toList());
}

private <T> boolean removeConfidentialOrder(CaseDetailsMap data, UUID removedOrderId,
T removableOrder,
ConfidentialOrderBundle<T> confidentialOrderBundle) {
final List<String> fieldNames = new ArrayList<>();
confidentialOrderBundle.processAllConfidentialOrders((suffix, orders) -> {
if (orders != null && orders.remove(element(removedOrderId, removableOrder))) {
String fieldName = confidentialOrderBundle.getFieldBaseName() + suffix;
data.putIfNotEmpty(fieldName, orders);
fieldNames.add(fieldName);
}
});

// Same order can potentially exist in multiple collection.
return !fieldNames.isEmpty();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ private <T extends RemovableOrder> Optional<T> getRemovedOrder(

private List<Element<? extends RemovableOrder>> getRemovableOrderList(CaseData caseData) {
List<Element<? extends RemovableOrder>> orders = new ArrayList<>();
orders.addAll(caseData.getOrderCollection());
orders.addAll(caseData.getAllOrderCollections());
orders.addAll(caseData.getSealedCMOs());
orders.addAll(getDraftHearingOrders(caseData));
orders.addAll(Optional.ofNullable(caseData.getRefusedHearingOrders()).orElse(new ArrayList<>()));
Expand Down
Loading

0 comments on commit b49e4bf

Please sign in to comment.