Skip to content

Commit e3a0a68

Browse files
Merge pull request #190 from CodeForPhilly/cleanup-unused-code
chore: Removed all code related to Screener-scoped DMN to reduce developer confusion.
2 parents 64baf16 + 2dc9743 commit e3a0a68

File tree

19 files changed

+1
-904
lines changed

19 files changed

+1
-904
lines changed

builder-api/src/main/java/org/acme/constants/FieldNames.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,6 @@ public class FieldNames {
1212
public static final String OWNER_ID = "ownerId";
1313
public static final String LAST_PUBLISHED_DATE = "lastPublishedDate";
1414
public static final String ORGANIZATION_NAME = "organizationName";
15-
public static final String WORKING_DMN_NAME = "workingDmnName";
16-
public static final String PUBLISHED_DMN_NAME = "publishedDmnName";
17-
public static final String WORKING_DMN_NAMESPACE = "workingDmnNamespace";
18-
public static final String PUBLISHED_DMN_NAMESPACE = "publishedDmnNamespace";
19-
public static final String LAST_DMN_SAVE = "lastDmnSave";
20-
public static final String LAST_DMN_COMPILE = "lastDmnCompile";
21-
public static final String DEPENDENCIES = "dependencies";
2215
public static final String BENEFITS = "benefits";
2316

2417
// DmnModel Database fields

builder-api/src/main/java/org/acme/controller/EligibilityCheckResource.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.acme.controller;
22

3-
43
import io.quarkus.logging.Log;
54
import io.quarkus.security.identity.SecurityIdentity;
65
import jakarta.inject.Inject;

builder-api/src/main/java/org/acme/controller/ScreenerResource.java

Lines changed: 0 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,13 @@
1010
import jakarta.ws.rs.core.Response;
1111
import org.acme.auth.AuthUtils;
1212
import org.acme.model.domain.*;
13-
import org.acme.model.dto.DmnImportRequest;
1413
import org.acme.model.dto.PublishScreenerRequest;
15-
import org.acme.model.dto.SaveDmnRequest;
1614
import org.acme.model.dto.SaveSchemaRequest;
1715
import org.acme.persistence.BenefitRepository;
1816
import org.acme.persistence.EligibilityCheckRepository;
1917
import org.acme.persistence.ScreenerRepository;
2018
import org.acme.persistence.StorageService;
2119
import org.acme.service.DmnService;
22-
import org.acme.service.ScreenerDependencyService;
23-
import org.acme.service.DmnParser;
2420

2521
import java.time.Instant;
2622
import java.util.Collections;
@@ -48,9 +44,6 @@ public class ScreenerResource {
4844
@Inject
4945
DmnService dmnService;
5046

51-
@Inject
52-
ScreenerDependencyService screenerDependencyService;
53-
5447
@GET
5548
@Path("/screeners")
5649
public Response getScreeners(@Context SecurityIdentity identity) {
@@ -164,45 +157,6 @@ public Response saveFormSchema(@Context SecurityIdentity identity, SaveSchemaReq
164157
}
165158
}
166159

167-
@POST
168-
@Consumes(MediaType.APPLICATION_JSON)
169-
@Path("/save-dmn-model")
170-
public Response saveDmnModel(@Context SecurityIdentity identity, SaveDmnRequest saveDmnRequest){
171-
172-
String screenerId = saveDmnRequest.id;
173-
String dmnModel = saveDmnRequest.dmnModel;
174-
if (screenerId == null || screenerId.isBlank()){
175-
return Response.status(Response.Status.BAD_REQUEST)
176-
.entity("Error: Missing required data: screenerId")
177-
.build();
178-
}
179-
180-
String userId = AuthUtils.getUserId(identity);
181-
if (!isUserAuthorizedToAccessScreener(userId, screenerId)) return Response.status(Response.Status.UNAUTHORIZED).build();
182-
183-
if (dmnModel == null){
184-
return Response.status(Response.Status.BAD_REQUEST)
185-
.entity("Error: Missing required data: DMN Model")
186-
.build();
187-
}
188-
try {
189-
String filePath = storageService.getScreenerWorkingDmnModelPath(screenerId);
190-
storageService.writeStringToStorage(filePath, dmnModel, "application/xml");
191-
Log.info("Saved DMN model of screener " + screenerId + " to storage");
192-
193-
194-
Screener updateScreener = new Screener();
195-
updateScreener.setId(screenerId);
196-
updateScreener.setLastDmnSave(Instant.now().toString());
197-
//update screener metadata
198-
screenerRepository.updateScreener(updateScreener);
199-
return Response.ok().build();
200-
} catch (Exception e){
201-
Log.info(("Failed to save DMN model for screener " + screenerId));
202-
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build();
203-
}
204-
}
205-
206160
@POST
207161
@Consumes(MediaType.APPLICATION_JSON)
208162
@Path("/publish")
@@ -308,27 +262,6 @@ private boolean isUserAuthorizedToAccessScreenerByScreener(String userId, Screen
308262
return false;
309263
}
310264

311-
// This Endpoint allows users to add a public DMN model into their project as a dependency.
312-
// This makes the dmn model elements available in the dmn editor as well as includes the dmn model when the dmn is
313-
// compiled
314-
@POST
315-
@Consumes(MediaType.APPLICATION_JSON)
316-
@Path("/dependency")
317-
public Response addDependency(@Context SecurityIdentity identity, DmnImportRequest request){
318-
String userId = AuthUtils.getUserId(identity);
319-
return screenerDependencyService.addDependency(request, userId);
320-
}
321-
322-
// This Endpoint allows users to delete dmn dependencies from their project. The DMN model elements will no longer
323-
// be available in the DMN editor.
324-
@DELETE
325-
@Consumes(MediaType.APPLICATION_JSON)
326-
@Path("/dependency")
327-
public Response deleteDependency(@Context SecurityIdentity identity, DmnImportRequest request){
328-
String userId = AuthUtils.getUserId(identity);
329-
return screenerDependencyService.deleteDependency(request, userId);
330-
}
331-
332265
@GET
333266
@Path("/screener/{screenerId}/benefit")
334267
public Response getScreenerBenefits(@Context SecurityIdentity identity,

builder-api/src/main/java/org/acme/model/domain/Screener.java

Lines changed: 1 addition & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,23 @@
11
package org.acme.model.domain;
2-
import org.acme.model.dto.Dependency;
32

43
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
54
import com.fasterxml.jackson.annotation.JsonProperty;
65

7-
import java.util.ArrayList;
86
import java.util.List;
97
import java.util.Map;
108

119
@JsonIgnoreProperties(ignoreUnknown = true)
1210
public class Screener {
1311
private String id;
1412
private Map<String, Object> formSchema;
15-
private String dmnModel;
1613
@JsonProperty("isPublished")
1714
private Boolean isPublished;
1815
private String ownerId;
1916
private String screenerName;
2017
private String lastPublishDate;
2118
private String organizationName;
22-
private String publishedDmnNameSpace;
23-
private String workingDmnNameSpace;
24-
private String publishedDmnName;
25-
private String workingDmnName;
26-
private String lastDmnSave;
27-
private String lastDmnCompile;
28-
private List<Dependency> dependencies;
2919
private List<ResultDetail> resultsSchema;
30-
private List<BenefitDetail> benefits ;
20+
private List<BenefitDetail> benefits;
3121

3222
public Screener(Map<String, Object> model, boolean isPublished){
3323
this.formSchema = model;
@@ -53,10 +43,6 @@ public void setFormSchema(Map<String, Object> formSchema) {
5343
this.formSchema = formSchema;
5444
}
5545

56-
public void setDmnModel(String dmnModel){
57-
this.dmnModel = dmnModel;
58-
}
59-
6046
public void setOwnerId(String ownerId){
6147
this.ownerId = ownerId;
6248
}
@@ -85,10 +71,6 @@ public String getId(){
8571
return this.id;
8672
}
8773

88-
public String getDmnModel(){
89-
return this.dmnModel;
90-
}
91-
9274
public String getOrganizationName(){
9375
return this.organizationName;
9476
}
@@ -105,66 +87,6 @@ public String getLastPublishDate(){
10587
return this.lastPublishDate;
10688
}
10789

108-
public String getPublishedDmnNameSpace(){
109-
return this.publishedDmnNameSpace;
110-
}
111-
112-
public String getPublishedDmnName(){
113-
return this.publishedDmnName;
114-
}
115-
116-
public void setPublishedDmnName(String name){
117-
this.publishedDmnName = name;
118-
}
119-
120-
public void setPublishedDmnNameSpace(String nameSpace){
121-
this.publishedDmnNameSpace = nameSpace;
122-
}
123-
124-
public String getLastDmnSave() {
125-
return lastDmnSave;
126-
}
127-
128-
public void setLastDmnSave(String lastDmnSave) {
129-
this.lastDmnSave = lastDmnSave;
130-
}
131-
132-
public String getLastDmnCompile() {
133-
return lastDmnCompile;
134-
}
135-
136-
public void setLastDmnCompile(String lastDmnCompile) {
137-
this.lastDmnCompile = lastDmnCompile;
138-
}
139-
140-
public String getWorkingDmnNameSpace() {
141-
return workingDmnNameSpace;
142-
}
143-
144-
public void setWorkingDmnNameSpace(String workingDmnNameSpace) {
145-
this.workingDmnNameSpace = workingDmnNameSpace;
146-
}
147-
148-
public String getWorkingDmnName() {
149-
return workingDmnName;
150-
}
151-
152-
public void setWorkingDmnName(String workingDmnName) {
153-
this.workingDmnName = workingDmnName;
154-
}
155-
156-
public List<Dependency> getDependencies() {
157-
if (dependencies == null){
158-
return new ArrayList<>();
159-
} else{
160-
return dependencies;
161-
}
162-
}
163-
164-
public void setDependencies(List<Dependency> dependencies) {
165-
this.dependencies = dependencies;
166-
}
167-
16890
public List<ResultDetail> getResultsSchema() {
16991
return resultsSchema;
17092
}

builder-api/src/main/java/org/acme/persistence/GoogleStorageService.java

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -129,11 +129,6 @@ public Optional<byte[]> getFileBytesFromStorage(String filePath) {
129129
return Optional.empty();
130130
}
131131
}
132-
@Override
133-
public String getScreenerWorkingDmnModelPath(String screenerId){
134-
return "dmn/working/" + screenerId + ".dmn";
135-
}
136-
137132
@Override
138133
public String getScreenerWorkingFormSchemaPath(String screenerId){
139134
return "form/working/" + screenerId + ".json";
@@ -144,16 +139,6 @@ public String getScreenerPublishedFormSchemaPath(String screenerId){
144139
return "form/published/" + screenerId + ".json";
145140
}
146141

147-
@Override
148-
public String getPublishedCompiledDmnModelPath(String screenerId){
149-
return "compiled_dmn_models/published/" + screenerId + "/kiebase.ser";
150-
}
151-
152-
@Override
153-
public String getWorkingCompiledDmnModelPath(String screenerId){
154-
return "compiled_dmn_models/working/" + screenerId + "/kiebase.ser";
155-
}
156-
157142
@Override
158143
public String getCheckDmnModelPath(String module, String checkId, String version){
159144
return "check/" + module + "/" + checkId + "/" + version + "/" + checkId + ".dmn";
Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
11
package org.acme.persistence;
22

3-
import org.acme.model.domain.Benefit;
43
import org.acme.model.domain.BenefitDetail;
5-
import org.acme.model.domain.DmnModel;
64
import org.acme.model.domain.Screener;
75

86
import java.util.List;
97
import java.util.Optional;
108

119
public interface ScreenerRepository {
12-
1310
public List<Screener> getScreeners(String userId);
1411

1512
public Optional<Screener> getScreener(String screenerId);
@@ -23,8 +20,4 @@ public interface ScreenerRepository {
2320
public void addBenefitDetailToScreener(String screenerId, BenefitDetail benefitDetail) throws Exception;
2421

2522
public void deleteScreener(String screenerId) throws Exception;
26-
27-
public void addDmnDependency(String screenerId, DmnModel dmnModel) throws Exception;
28-
29-
public void deleteDmnDependency(String screenerId, String groupId, String artifactId, String version) throws Exception;
3023
}

builder-api/src/main/java/org/acme/persistence/ScreenerRepositoryImpl.java

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,8 @@
77
import org.acme.constants.CollectionNames;
88
import org.acme.constants.FieldNames;
99
import org.acme.model.domain.BenefitDetail;
10-
import org.acme.model.domain.DmnModel;
1110
import org.acme.model.domain.Screener;
1211

13-
import java.util.HashMap;
1412
import java.util.List;
1513
import java.util.Map;
1614
import java.util.Optional;
@@ -43,18 +41,13 @@ public Optional<Screener> getScreener(String screenerId){
4341
}
4442
Map<String, Object> data = dataOpt.get();
4543

46-
4744
ObjectMapper mapper = new ObjectMapper();
4845
Screener screener = mapper.convertValue(data, Screener.class);
4946

5047
String formPath = storageService.getScreenerWorkingFormSchemaPath(screenerId);
5148
Map<String, Object> formSchema = storageService.getFormSchemaFromStorage(formPath);
5249
screener.setFormSchema(formSchema);
5350

54-
String dmnPath = storageService.getScreenerWorkingDmnModelPath(screenerId);
55-
Optional<String> dmnModel = storageService.getStringFromStorage(dmnPath);
56-
dmnModel.ifPresent(screener::setDmnModel);
57-
5851
return Optional.of(screener);
5952
}
6053

@@ -102,22 +95,4 @@ public void addBenefitDetailToScreener(String screenerId, BenefitDetail benefitD
10295
public void deleteScreener(String screenerId) throws Exception {
10396
FirestoreUtils.deleteDocument(CollectionNames.SCREENER_COLLECTION, screenerId);
10497
}
105-
106-
@Override
107-
public void addDmnDependency(String screenerId, DmnModel dmnModel) throws Exception {
108-
Map<String, Object> modelMap = new HashMap<>();
109-
modelMap.put(FieldNames.GROUP_ID, dmnModel.getGroupId());
110-
modelMap.put(FieldNames.ARTIFACT_ID, dmnModel.getArtifactId());
111-
modelMap.put(FieldNames.VERSION, dmnModel.getVersion());
112-
FirestoreUtils.addObjectToListFieldOfDocument(CollectionNames.SCREENER_COLLECTION, screenerId, FieldNames.DEPENDENCIES, modelMap);
113-
}
114-
115-
@Override
116-
public void deleteDmnDependency(String screenerId, String groupId, String artifactId, String version) throws Exception{
117-
Map<String, Object> modelMap = new HashMap<>();
118-
modelMap.put(FieldNames.GROUP_ID, groupId);
119-
modelMap.put(FieldNames.ARTIFACT_ID, artifactId);
120-
modelMap.put(FieldNames.VERSION, version);
121-
FirestoreUtils.removeObjectFromListFieldOfDocument(CollectionNames.SCREENER_COLLECTION, screenerId, FieldNames.DEPENDENCIES, modelMap);
122-
}
12398
}

builder-api/src/main/java/org/acme/persistence/StorageService.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,10 @@ public interface StorageService {
1919

2020
Optional<byte[]> getFileBytesFromStorage(String filePath);
2121

22-
String getScreenerWorkingDmnModelPath(String screenerId);
23-
2422
String getScreenerWorkingFormSchemaPath(String screenerId);
2523

2624
String getScreenerPublishedFormSchemaPath(String screenerId);
2725

28-
String getPublishedCompiledDmnModelPath(String screenerId);
29-
30-
String getWorkingCompiledDmnModelPath(String screenerId);
31-
3226
String getCheckDmnModelPath(String module, String checkId, String version);
3327

3428
Map<String, Object> getFormSchemaFromStorage(String filePath);

builder-api/src/main/java/org/acme/service/DmnService.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,9 @@
11
package org.acme.service;
22
import org.acme.enums.OptionalBoolean;
3-
import org.acme.model.domain.Screener;
43

5-
import java.io.IOException;
64
import java.util.Map;
75

86
public interface DmnService {
9-
public Map<String, Object> evaluateDecision(Screener screener, Map<String, Object> inputs) throws IOException;
10-
public String compilePublishedDmnModel(String screenerId) throws Exception;
11-
public void compileWorkingDmnModel(Screener screener) throws Exception;
127
public OptionalBoolean evaluateSimpleDmn(
138
String dmnFilePath,
149
String dmnModelName,

0 commit comments

Comments
 (0)