Skip to content

Commit 80924c7

Browse files
End User Applications: ensure retired entries are omitted by default
#6682
1 parent 6b2ebed commit 80924c7

4 files changed

Lines changed: 30 additions & 19 deletions

File tree

waltz-data/src/main/java/org/finos/waltz/data/end_user_app/EndUserAppDao.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,13 @@
1919
package org.finos.waltz.data.end_user_app;
2020

2121
import org.finos.waltz.data.JooqUtilities;
22-
import org.finos.waltz.model.Criticality;
2322
import org.finos.waltz.model.application.LifecyclePhase;
2423
import org.finos.waltz.model.enduserapp.EndUserApplication;
2524
import org.finos.waltz.model.enduserapp.ImmutableEndUserApplication;
25+
import org.finos.waltz.model.physical_flow.CriticalityValue;
2626
import org.finos.waltz.model.tally.Tally;
2727
import org.finos.waltz.schema.tables.records.EndUserApplicationRecord;
28+
import org.jooq.Condition;
2829
import org.jooq.DSLContext;
2930
import org.jooq.Record;
3031
import org.jooq.Record1;
@@ -42,8 +43,11 @@
4243
@Repository
4344
public class EndUserAppDao {
4445

45-
4646
private final DSLContext dsl;
47+
private static final Condition COMMON_CONDITION = END_USER_APPLICATION.IS_PROMOTED.isFalse()
48+
.and(END_USER_APPLICATION.LIFECYCLE_PHASE.in(
49+
LifecyclePhase.PRODUCTION.name(),
50+
LifecyclePhase.DEVELOPMENT.name()));
4751

4852
public static final RecordMapper<Record, EndUserApplication> TO_DOMAIN_MAPPER = r -> {
4953
EndUserApplicationRecord record = r.into(END_USER_APPLICATION);
@@ -55,7 +59,7 @@ public class EndUserAppDao {
5559
.id(record.getId())
5660
.organisationalUnitId(record.getOrganisationalUnitId())
5761
.lifecyclePhase(LifecyclePhase.valueOf(record.getLifecyclePhase()))
58-
.riskRating(Criticality.valueOf(record.getRiskRating()))
62+
.riskRating(CriticalityValue.of(record.getRiskRating()))
5963
.provenance(record.getProvenance())
6064
.isPromoted(record.getIsPromoted())
6165
.build();
@@ -72,15 +76,16 @@ public List<Tally<Long>> countByOrganisationalUnit() {
7276
dsl,
7377
END_USER_APPLICATION,
7478
END_USER_APPLICATION.ORGANISATIONAL_UNIT_ID,
75-
END_USER_APPLICATION.IS_PROMOTED.isFalse());
79+
COMMON_CONDITION
80+
);
7681
}
7782

7883
@Deprecated
7984
public List<EndUserApplication> findByOrganisationalUnitSelector(Select<Record1<Long>> selector) {
8085
return dsl.select(END_USER_APPLICATION.fields())
8186
.from(END_USER_APPLICATION)
8287
.where(END_USER_APPLICATION.ORGANISATIONAL_UNIT_ID.in(selector)
83-
.and(END_USER_APPLICATION.IS_PROMOTED.isFalse()))
88+
.and(COMMON_CONDITION))
8489
.fetch(TO_DOMAIN_MAPPER);
8590
}
8691

@@ -89,7 +94,7 @@ public List<EndUserApplication> findBySelector(Select<Record1<Long>> selector) {
8994
return dsl.select(END_USER_APPLICATION.fields())
9095
.from(END_USER_APPLICATION)
9196
.where(END_USER_APPLICATION.ID.in(selector)
92-
.and(END_USER_APPLICATION.IS_PROMOTED.isFalse()))
97+
.and(COMMON_CONDITION))
9398
.fetch(TO_DOMAIN_MAPPER);
9499
}
95100

@@ -115,7 +120,7 @@ public List<EndUserApplication> findAll() {
115120
return dsl
116121
.select(END_USER_APPLICATION.fields())
117122
.from(END_USER_APPLICATION)
118-
.where(END_USER_APPLICATION.IS_PROMOTED.isFalse())
123+
.where(COMMON_CONDITION)
119124
.fetch(TO_DOMAIN_MAPPER);
120125
}
121126
}

waltz-data/src/main/java/org/finos/waltz/data/end_user_app/EndUserAppIdSelectorFactory.java

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818

1919
package org.finos.waltz.data.end_user_app;
2020

21+
import org.finos.waltz.common.SetUtilities;
22+
import org.finos.waltz.model.application.LifecyclePhase;
2123
import org.finos.waltz.schema.tables.EndUserApplication;
2224
import org.finos.waltz.schema.tables.Involvement;
2325
import org.finos.waltz.schema.tables.Person;
@@ -35,6 +37,8 @@
3537
import org.slf4j.Logger;
3638
import org.slf4j.LoggerFactory;
3739

40+
import java.util.Collection;
41+
import java.util.Set;
3842
import java.util.function.Function;
3943

4044
import static org.finos.waltz.schema.tables.EndUserApplication.END_USER_APPLICATION;
@@ -52,7 +56,9 @@ public class EndUserAppIdSelectorFactory implements Function<IdSelectionOptions,
5256
private final OrganisationalUnitIdSelectorFactory orgUnitIdSelectorFactory = new OrganisationalUnitIdSelectorFactory();
5357
private final Person person = PERSON.as("per");
5458
private final PersonHierarchy personHierarchy = PERSON_HIERARCHY.as("phier");
55-
59+
private final Set<String> validLifecyclePhases = SetUtilities.asSet(
60+
LifecyclePhase.PRODUCTION.name(),
61+
LifecyclePhase.DEVELOPMENT.name());
5662

5763

5864
@Override
@@ -81,7 +87,8 @@ private Select<Record1<Long>> mkForOrgUnit(IdSelectionOptions options) {
8187
return DSL
8288
.selectDistinct(eua.ID)
8389
.from(eua)
84-
.where(eua.ORGANISATIONAL_UNIT_ID.in(ouSelector));
90+
.where(eua.ORGANISATIONAL_UNIT_ID.in(ouSelector)
91+
.and(eua.LIFECYCLE_PHASE.in(validLifecyclePhases)));
8592
}
8693

8794

@@ -114,7 +121,8 @@ private Select<Record1<Long>> mkForSinglePerson(IdSelectionOptions options) {
114121
.innerJoin(eua)
115122
.on(eua.ID.eq(involvement.ENTITY_ID))
116123
.where(involvement.ENTITY_KIND.eq(EntityKind.END_USER_APPLICATION.name()))
117-
.and(involvement.EMPLOYEE_ID.eq(employeeId));
124+
.and(involvement.EMPLOYEE_ID.eq(employeeId))
125+
.and(eua.LIFECYCLE_PHASE.in(validLifecyclePhases));
118126
}
119127

120128

@@ -138,7 +146,8 @@ private Select<Record1<Long>> mkForPersonReportees(IdSelectionOptions options) {
138146
.from(involvement)
139147
.innerJoin(eua)
140148
.on(eua.ID.eq(involvement.ENTITY_ID))
141-
.where(condition);
149+
.where(condition)
150+
.and(eua.LIFECYCLE_PHASE.in(validLifecyclePhases));
142151
}
143152

144153

waltz-model/src/main/java/org/finos/waltz/model/enduserapp/EndUserApplication.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
2323
import org.finos.waltz.model.*;
2424
import org.finos.waltz.model.application.LifecyclePhase;
25+
import org.finos.waltz.model.physical_flow.CriticalityValue;
2526
import org.immutables.value.Value;
2627

2728
@Value.Immutable
@@ -38,14 +39,9 @@ public abstract class EndUserApplication implements
3839
public abstract Long organisationalUnitId();
3940
public abstract String applicationKind();
4041
public abstract LifecyclePhase lifecyclePhase();
41-
public abstract Criticality riskRating();
42+
public abstract CriticalityValue riskRating();
4243
public abstract Boolean isPromoted();
4344

44-
@Value.Default
45-
public String provenance() {
46-
return "waltz";
47-
}
48-
4945
@Value.Default
5046
public EntityKind kind() { return EntityKind.END_USER_APPLICATION; }
5147

waltz-service/src/main/java/org/finos/waltz/service/end_user_app/EndUserAppService.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.finos.waltz.data.end_user_app.EndUserAppIdSelectorFactory;
2626
import org.finos.waltz.data.involvement.InvolvementDao;
2727
import org.finos.waltz.data.orgunit.OrganisationalUnitIdSelectorFactory;
28+
import org.finos.waltz.model.Criticality;
2829
import org.finos.waltz.model.EntityKind;
2930
import org.finos.waltz.model.IdSelectionOptions;
3031
import org.finos.waltz.model.Operation;
@@ -92,7 +93,7 @@ public List<EndUserApplication> findByOrganisationalUnitSelector(IdSelectionOpti
9293

9394

9495
public Collection<Tally<Long>> countByOrgUnitId() {
95-
return time("EUAS.countByOrgUnitId", () -> endUserAppDao.countByOrganisationalUnit());
96+
return time("EUAS.countByOrgUnitId", endUserAppDao::countByOrganisationalUnit);
9697
}
9798

9899

@@ -177,7 +178,7 @@ private AppRegistrationRequest mkAppRegistrationRequestForEuda(Long id) {
177178
.name(euda.name())
178179
.applicationKind(ApplicationKind.EUC)
179180
.assetCode(String.valueOf(euda.id().get()))
180-
.businessCriticality(euda.riskRating())
181+
.businessCriticality(Criticality.valueOf(euda.riskRating().value()))
181182
.description(euda.description() + "<br>["+ euda.applicationKind() + "]")
182183
.lifecyclePhase(euda.lifecyclePhase())
183184
.organisationalUnitId(euda.organisationalUnitId())

0 commit comments

Comments
 (0)