From 59bdc95c3ea4f87a8bf103db4ec56bbd3b0835b0 Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Fri, 6 Oct 2023 15:15:51 +0200 Subject: [PATCH 01/32] created preset item --- .../calender/api/KalenderRestController.java | 8 ++++ .../com/nttdata/calender/presets/Preset.java | 41 +++++++++++++++++++ .../com/nttdata/calender/presets/Presets.java | 5 +++ 3 files changed, 54 insertions(+) create mode 100644 backend/src/main/java/com/nttdata/calender/presets/Preset.java create mode 100644 backend/src/main/java/com/nttdata/calender/presets/Presets.java diff --git a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java index a1455d6..86d4e3b 100644 --- a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java +++ b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java @@ -294,6 +294,14 @@ public class KalenderRestController { return implementer.get(request); } + @CrossOrigin("*") + @GetMapping("api/initPresets") + @ResponseBody + public Object initPresets() { + return null; + } + + /** * Logs the received request with the endpoint and request body. * diff --git a/backend/src/main/java/com/nttdata/calender/presets/Preset.java b/backend/src/main/java/com/nttdata/calender/presets/Preset.java new file mode 100644 index 0000000..98eeb21 --- /dev/null +++ b/backend/src/main/java/com/nttdata/calender/presets/Preset.java @@ -0,0 +1,41 @@ +package com.nttdata.calender.presets; + +public class Preset { + private String id; + private String name; + private String definition; + private String presetType; + + public String getId() { + return this.id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return this.name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDefinition() { + return this.definition; + } + + public void setDefinition(String definition) { + this.definition = definition; + } + + public String getPresetType() { + return this.presetType; + } + + public void setPresetType(String presetType) { + this.presetType = presetType; + } + +} diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java new file mode 100644 index 0000000..0138969 --- /dev/null +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -0,0 +1,5 @@ +package com.nttdata.calender.presets; + +public class Presets { + +} From 8d87f46e72357b4fd0ed3bdfc3ce54f6e9034654 Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Fri, 6 Oct 2023 17:10:56 +0200 Subject: [PATCH 02/32] added field ids and builder --- .../com/nttdata/calender/presets/Presets.java | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index 0138969..05cc412 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -1,5 +1,26 @@ package com.nttdata.calender.presets; +import com.nttdata.calender.api.Query; +import com.nttdata.calender.api.RemedyJavaAPI; + public class Presets { - + private final static String formName = "ASF:CHG_CAL_UserPreferencesJoinFilterDefinitions"; + private Query query; + private RemedyJavaAPI api; + + public Presets() { + this.query = new Query.QueryBuilder(formName) + .addFieldId("RequestId", 6) + .addFieldId("InstanceId", 179) + .addFieldId("Status", 7) + .addFieldId("GUID", 364000001) // current active preset + .addFieldId("Details", 0) + .addFieldId("View", 0) + .addFieldId("Language", 0) + .addFieldId("Submitter", 0) + .addFieldId("Name", 364200001) + .addFieldId("Definition", 364200002) + .build(); + } + } From 339617e976847702ed8999c492a921dfba6dd8b2 Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Fri, 6 Oct 2023 17:19:16 +0200 Subject: [PATCH 03/32] start of a function for retrieving the presets --- .../calender/api/KalenderRestController.java | 5 ++++- .../java/com/nttdata/calender/presets/Presets.java | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java index 86d4e3b..ef47104 100644 --- a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java +++ b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java @@ -34,6 +34,7 @@ import com.nttdata.calender.packageType.PackageType; import com.nttdata.calender.planTimes.CalendarWeek; import com.nttdata.calender.planTimes.PlanTimes; import com.nttdata.calender.planTimes.PlanTimesRequest; +import com.nttdata.calender.presets.Presets; import com.nttdata.calender.states.State; import com.nttdata.calender.states.StateChange; import com.nttdata.calender.states.StateChangeRequest; @@ -297,7 +298,9 @@ public class KalenderRestController { @CrossOrigin("*") @GetMapping("api/initPresets") @ResponseBody - public Object initPresets() { + public Object initPresets() throws ARException { + Presets presets = new Presets(); + presets.getPresets(); return null; } diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index 05cc412..90f3b89 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -1,5 +1,10 @@ package com.nttdata.calender.presets; +import java.util.ArrayList; +import java.util.List; + +import com.bmc.arsys.api.ARException; +import com.bmc.arsys.api.Entry; import com.nttdata.calender.api.Query; import com.nttdata.calender.api.RemedyJavaAPI; @@ -23,4 +28,13 @@ public class Presets { .build(); } + public void getPresets() { + List res = new ArrayList<>(); + try { + res = api.queryFieldsById("\'1\'!=\"\"", query.getFieldIds(), formName, null, 0, 0); + } catch (ARException e) { + System.out.println(e.getMessage()); + } + } + } From 45bf8a0ef86bdfa42c72c5c48bd277d19e860684 Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Mon, 9 Oct 2023 11:01:32 +0200 Subject: [PATCH 04/32] created Objects and initPresets --- .../calender/presets/PresetsGetResponse.java | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 backend/src/main/java/com/nttdata/calender/presets/PresetsGetResponse.java diff --git a/backend/src/main/java/com/nttdata/calender/presets/PresetsGetResponse.java b/backend/src/main/java/com/nttdata/calender/presets/PresetsGetResponse.java new file mode 100644 index 0000000..53661a6 --- /dev/null +++ b/backend/src/main/java/com/nttdata/calender/presets/PresetsGetResponse.java @@ -0,0 +1,44 @@ +package com.nttdata.calender.presets; + +import java.util.ArrayList; +import java.util.List; + +public class PresetsGetResponse { + private List presets; + private Preset selectedPreset; + private UserPreferences userPreferences; + + public PresetsGetResponse(List list, Preset selectedPresets, UserPreferences userPreferences) { + this.presets = new ArrayList<>(); + this.selectedPreset = selectedPresets; + this.userPreferences = userPreferences; + } + + public PresetsGetResponse() { + } + + public List getPresets() { + return this.presets; + } + + public void setPresets(List presets) { + this.presets = presets; + } + + public Preset getSelectedPreset() { + return this.selectedPreset; + } + + public void setSelectedPreset(Preset selectedPreset) { + this.selectedPreset = selectedPreset; + } + + public UserPreferences getUserPreferences() { + return this.userPreferences; + } + + public void setUserPreferences(UserPreferences userPreferences) { + this.userPreferences = userPreferences; + } + +} From cbab417adaa344a3fb09f4d5bb1eb04a4303874f Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Mon, 9 Oct 2023 11:01:44 +0200 Subject: [PATCH 05/32] initPresets --- .../calender/api/KalenderRestController.java | 10 +-- .../com/nttdata/calender/presets/Preset.java | 7 ++ .../com/nttdata/calender/presets/Presets.java | 64 +++++++++++++++---- .../calender/presets/UserPreferences.java | 38 +++++++++++ 4 files changed, 103 insertions(+), 16 deletions(-) create mode 100644 backend/src/main/java/com/nttdata/calender/presets/UserPreferences.java diff --git a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java index ef47104..21f26d7 100644 --- a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java +++ b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java @@ -34,7 +34,10 @@ import com.nttdata.calender.packageType.PackageType; import com.nttdata.calender.planTimes.CalendarWeek; import com.nttdata.calender.planTimes.PlanTimes; import com.nttdata.calender.planTimes.PlanTimesRequest; +import com.nttdata.calender.presets.Preset; import com.nttdata.calender.presets.Presets; +import com.nttdata.calender.presets.PresetsGetResponse; +import com.nttdata.calender.presets.UserPreferences; import com.nttdata.calender.states.State; import com.nttdata.calender.states.StateChange; import com.nttdata.calender.states.StateChangeRequest; @@ -298,10 +301,9 @@ public class KalenderRestController { @CrossOrigin("*") @GetMapping("api/initPresets") @ResponseBody - public Object initPresets() throws ARException { - Presets presets = new Presets(); - presets.getPresets(); - return null; + public PresetsGetResponse initPresets() throws ARException, NotFoundError { + Presets presets = new Presets(javaAPI); + return presets.initPresets(); } diff --git a/backend/src/main/java/com/nttdata/calender/presets/Preset.java b/backend/src/main/java/com/nttdata/calender/presets/Preset.java index 98eeb21..f848892 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Preset.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Preset.java @@ -6,6 +6,13 @@ public class Preset { private String definition; private String presetType; + public Preset(String id, String name, String definition, String presetType) { + this.id = id; + this.name = name; + this.definition = definition; + this.presetType = presetType; + } + public String getId() { return this.id; } diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index 90f3b89..17d2c6c 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -7,34 +7,74 @@ import com.bmc.arsys.api.ARException; import com.bmc.arsys.api.Entry; import com.nttdata.calender.api.Query; import com.nttdata.calender.api.RemedyJavaAPI; +import com.nttdata.calender.errorhandling.ErrorTypes.NotFoundError; public class Presets { private final static String formName = "ASF:CHG_CAL_UserPreferencesJoinFilterDefinitions"; + private final static String formDefault = "ASF:CHG_CAL_FilterDefinitions"; private Query query; + private Query defQuery; private RemedyJavaAPI api; + private List presets; + + public Presets(RemedyJavaAPI api) throws ARException, NotFoundError { + this.api = api; - public Presets() { this.query = new Query.QueryBuilder(formName) .addFieldId("RequestId", 6) .addFieldId("InstanceId", 179) .addFieldId("Status", 7) .addFieldId("GUID", 364000001) // current active preset - .addFieldId("Details", 0) - .addFieldId("View", 0) - .addFieldId("Language", 0) - .addFieldId("Submitter", 0) + .addFieldId("Details", 364000002) + .addFieldId("View", 364000003) + .addFieldId("Language", 364000004) + .addFieldId("Submitter", 2) .addFieldId("Name", 364200001) .addFieldId("Definition", 364200002) .build(); + + this.defQuery = new Query.QueryBuilder(formDefault) + .addFieldId("Name", 364000001) + .addFieldId("Definition", 364000002) + .addFieldId("isSystemDefault", 364000004) + .addFieldId("isGlobal", 364000003) + .addFieldId("InstanceId", 179) + .build(); + + this.presets = new ArrayList<>(); + allPresets(); } - public void getPresets() { - List res = new ArrayList<>(); - try { - res = api.queryFieldsById("\'1\'!=\"\"", query.getFieldIds(), formName, null, 0, 0); - } catch (ARException e) { - System.out.println(e.getMessage()); - } + public PresetsGetResponse initPresets() throws ARException { + List entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", query.getFieldIds(), formName, null, + 0, 0); + PresetsGetResponse response = new PresetsGetResponse(); + + if (entries.isEmpty() || entries == null) { + var sysdef = api.queryFieldsById("\'364000001\'==\"Systemdefault\"", defQuery.getFieldIds(), + formDefault, null, 0, 0); + } else { + System.out.println(entries); + } + return response; } + public void allPresets() throws ARException, NotFoundError { + var entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", query.getFieldIds(), formName, null, 0, + 0); + + if (entries.isEmpty() || entries == null) { + throw new NotFoundError("No presets found in this context"); + } else { + for (var v : entries) { + presets.add(new Preset(v.get(query.getFieldId("InstanceId")).toString(), + v.get(query.getFieldId("Name")).toString(), v.get(query.getFieldId("Definition")).toString(), + "")); + } + } + } + + public List getAll() { + return this.presets; + } } diff --git a/backend/src/main/java/com/nttdata/calender/presets/UserPreferences.java b/backend/src/main/java/com/nttdata/calender/presets/UserPreferences.java new file mode 100644 index 0000000..8041ab0 --- /dev/null +++ b/backend/src/main/java/com/nttdata/calender/presets/UserPreferences.java @@ -0,0 +1,38 @@ +package com.nttdata.calender.presets; + +public class UserPreferences { + private String showDetails; + private String view; + private String language; + + public UserPreferences(String showDetails, String view, String language) { + this.showDetails = showDetails; + this.view = view; + this.language = language; + } + + public String getShowDetails() { + return this.showDetails; + } + + public void setShowDetails(String showDetails) { + this.showDetails = showDetails; + } + + public String getView() { + return this.view; + } + + public void setView(String view) { + this.view = view; + } + + public String getLanguage() { + return this.language; + } + + public void setLanguage(String language) { + this.language = language; + } + +} From 00b0000791fa36fbd4119af05b91f4c2a07866e9 Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Mon, 9 Oct 2023 11:29:11 +0200 Subject: [PATCH 06/32] return sysdef if no entries --- .../calender/api/KalenderRestController.java | 5 ++-- .../com/nttdata/calender/presets/Presets.java | 24 ++++++++++++++----- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java index 21f26d7..406baff 100644 --- a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java +++ b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.checkerframework.common.util.report.qual.ReportCall; +import org.json.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.CrossOrigin; @@ -34,10 +35,8 @@ import com.nttdata.calender.packageType.PackageType; import com.nttdata.calender.planTimes.CalendarWeek; import com.nttdata.calender.planTimes.PlanTimes; import com.nttdata.calender.planTimes.PlanTimesRequest; -import com.nttdata.calender.presets.Preset; import com.nttdata.calender.presets.Presets; import com.nttdata.calender.presets.PresetsGetResponse; -import com.nttdata.calender.presets.UserPreferences; import com.nttdata.calender.states.State; import com.nttdata.calender.states.StateChange; import com.nttdata.calender.states.StateChangeRequest; @@ -301,7 +300,7 @@ public class KalenderRestController { @CrossOrigin("*") @GetMapping("api/initPresets") @ResponseBody - public PresetsGetResponse initPresets() throws ARException, NotFoundError { + public Object initPresets() throws ARException, NotFoundError { Presets presets = new Presets(javaAPI); return presets.initPresets(); } diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index 17d2c6c..bc3ed7f 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -5,6 +5,7 @@ import java.util.List; import com.bmc.arsys.api.ARException; import com.bmc.arsys.api.Entry; +import com.bmc.thirdparty.org.springframework.beans.factory.annotation.Autowired; import com.nttdata.calender.api.Query; import com.nttdata.calender.api.RemedyJavaAPI; import com.nttdata.calender.errorhandling.ErrorTypes.NotFoundError; @@ -17,6 +18,7 @@ public class Presets { private RemedyJavaAPI api; private List presets; + @Autowired public Presets(RemedyJavaAPI api) throws ARException, NotFoundError { this.api = api; @@ -42,21 +44,31 @@ public class Presets { .build(); this.presets = new ArrayList<>(); - allPresets(); + // allPresets(); } - public PresetsGetResponse initPresets() throws ARException { - List entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", query.getFieldIds(), formName, null, + public Object initPresets() throws ARException, NotFoundError { + List entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", query.getFieldIds(), formName, + null, 0, 0); - PresetsGetResponse response = new PresetsGetResponse(); + PresetsGetResponse response = new PresetsGetResponse(); if (entries.isEmpty() || entries == null) { var sysdef = api.queryFieldsById("\'364000001\'==\"Systemdefault\"", defQuery.getFieldIds(), - formDefault, null, 0, 0); + formDefault, null, 0, 0).get(0); + return new Preset(sysdef.get(defQuery.getFieldId("InstanceId")).toString(), + sysdef.get(defQuery.getFieldId("Name")).toString(), + sysdef.get(defQuery.getFieldId("Definition")).toString(), "Admin"); } else { - System.out.println(entries); + allPresets(); + response.setPresets(presets); + response.setSelectedPreset(presets.get(0)); + response.setUserPreferences(new UserPreferences(entries.get(0).get(query.getFieldId("Details")).toString(), + entries.get(0).get(query.getFieldId("View")).toString(), + entries.get(0).get(query.getFieldId("Language")).toString())); } return response; + } public void allPresets() throws ARException, NotFoundError { From f339dea62698c8df2ff471ccad390c5e0a9837bf Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Mon, 9 Oct 2023 11:33:07 +0200 Subject: [PATCH 07/32] test --- .../nttdata/calender/api/KalenderRestController.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java index 406baff..1279b51 100644 --- a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java +++ b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java @@ -35,6 +35,7 @@ import com.nttdata.calender.packageType.PackageType; import com.nttdata.calender.planTimes.CalendarWeek; import com.nttdata.calender.planTimes.PlanTimes; import com.nttdata.calender.planTimes.PlanTimesRequest; +import com.nttdata.calender.presets.Preset; import com.nttdata.calender.presets.Presets; import com.nttdata.calender.presets.PresetsGetResponse; import com.nttdata.calender.states.State; @@ -304,6 +305,15 @@ public class KalenderRestController { Presets presets = new Presets(javaAPI); return presets.initPresets(); } + + @CrossOrigin("*") + @PostMapping("/api/savePreset") + @ResponseBody + public Preset savePreset(@RequestBody Preset request) + throws ARException, ValidationError { + change.modifyTimestamp(request); + return request; + } /** From 0c82358cfbbcba1e3cc97c3605af27da521f7c0d Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Mon, 9 Oct 2023 11:33:11 +0200 Subject: [PATCH 08/32] i --- backend/src/main/java/com/nttdata/calender/presets/Presets.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index bc3ed7f..fc113ae 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -44,7 +44,7 @@ public class Presets { .build(); this.presets = new ArrayList<>(); - // allPresets(); + } public Object initPresets() throws ARException, NotFoundError { From 41b229e8b3dde7847c006a48ba1c5f67ff68c525 Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Tue, 10 Oct 2023 11:30:36 +0200 Subject: [PATCH 09/32] added savePreset handler --- .../nttdata/calender/api/KalenderRestController.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java index 1279b51..744d25c 100644 --- a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java +++ b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java @@ -1,6 +1,7 @@ package com.nttdata.calender.api; import java.util.ArrayList; +import java.util.List; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -309,12 +310,11 @@ public class KalenderRestController { @CrossOrigin("*") @PostMapping("/api/savePreset") @ResponseBody - public Preset savePreset(@RequestBody Preset request) - throws ARException, ValidationError { - change.modifyTimestamp(request); - return request; + public List savePreset(@RequestBody Preset request) + throws ARException, ValidationError, NotFoundError { + Presets presets = new Presets(javaAPI); + return presets.getAll(); } - /** * Logs the received request with the endpoint and request body. From d8c4b75376e3a11677a7a26678d0d9e41781e7da Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Tue, 10 Oct 2023 12:31:06 +0200 Subject: [PATCH 10/32] create database entry --- .../calender/api/KalenderRestController.java | 1 + .../com/nttdata/calender/presets/Presets.java | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java index 744d25c..e6a51d0 100644 --- a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java +++ b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java @@ -313,6 +313,7 @@ public class KalenderRestController { public List savePreset(@RequestBody Preset request) throws ARException, ValidationError, NotFoundError { Presets presets = new Presets(javaAPI); + presets.savePreset(request); return presets.getAll(); } diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index fc113ae..e61ce28 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -5,6 +5,7 @@ import java.util.List; import com.bmc.arsys.api.ARException; import com.bmc.arsys.api.Entry; +import com.bmc.arsys.api.Value; import com.bmc.thirdparty.org.springframework.beans.factory.annotation.Autowired; import com.nttdata.calender.api.Query; import com.nttdata.calender.api.RemedyJavaAPI; @@ -71,6 +72,20 @@ public class Presets { } + public List savePreset(Preset request) throws ARException, NotFoundError { + api.impersonateUser("ext_GedikSa"); + var saveQuery = new Query.QueryBuilder(formDefault) + .addFieldValue("FilterPresetName", 364000001, new Value(request.getName())) + .addFieldValue("FilterPresetDefinition", 364000002, new Value(request.getDefinition())) + .build(); + + System.out.println("API USER: " + api.getUser()); + + api.createEntry(saveQuery); + allPresets(); + return this.presets; + } + public void allPresets() throws ARException, NotFoundError { var entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", query.getFieldIds(), formName, null, 0, 0); From 8751d269e125de022f1edcbab6832aa30decd44b Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Tue, 10 Oct 2023 12:40:44 +0200 Subject: [PATCH 11/32] corrected selectedPreset to GUID --- .../main/java/com/nttdata/calender/presets/Presets.java | 4 ++-- .../com/nttdata/calender/presets/PresetsGetResponse.java | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index e61ce28..7e608d4 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -45,6 +45,7 @@ public class Presets { .build(); this.presets = new ArrayList<>(); + api.impersonateUser("ext_GedikSa"); } @@ -63,7 +64,7 @@ public class Presets { } else { allPresets(); response.setPresets(presets); - response.setSelectedPreset(presets.get(0)); + response.setSelectedPreset(entries.get(0).get(query.getFieldId("GUID")).toString()); response.setUserPreferences(new UserPreferences(entries.get(0).get(query.getFieldId("Details")).toString(), entries.get(0).get(query.getFieldId("View")).toString(), entries.get(0).get(query.getFieldId("Language")).toString())); @@ -73,7 +74,6 @@ public class Presets { } public List savePreset(Preset request) throws ARException, NotFoundError { - api.impersonateUser("ext_GedikSa"); var saveQuery = new Query.QueryBuilder(formDefault) .addFieldValue("FilterPresetName", 364000001, new Value(request.getName())) .addFieldValue("FilterPresetDefinition", 364000002, new Value(request.getDefinition())) diff --git a/backend/src/main/java/com/nttdata/calender/presets/PresetsGetResponse.java b/backend/src/main/java/com/nttdata/calender/presets/PresetsGetResponse.java index 53661a6..5ff174a 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/PresetsGetResponse.java +++ b/backend/src/main/java/com/nttdata/calender/presets/PresetsGetResponse.java @@ -5,10 +5,10 @@ import java.util.List; public class PresetsGetResponse { private List presets; - private Preset selectedPreset; + private String selectedPreset; private UserPreferences userPreferences; - public PresetsGetResponse(List list, Preset selectedPresets, UserPreferences userPreferences) { + public PresetsGetResponse(List list, String selectedPresets, UserPreferences userPreferences) { this.presets = new ArrayList<>(); this.selectedPreset = selectedPresets; this.userPreferences = userPreferences; @@ -25,11 +25,11 @@ public class PresetsGetResponse { this.presets = presets; } - public Preset getSelectedPreset() { + public String getSelectedPreset() { return this.selectedPreset; } - public void setSelectedPreset(Preset selectedPreset) { + public void setSelectedPreset(String selectedPreset) { this.selectedPreset = selectedPreset; } From fa51b78eecd1ffb523236f92bb4206a677614f3a Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Tue, 10 Oct 2023 13:28:58 +0200 Subject: [PATCH 12/32] comment out --- .../calender/api/KalenderRestController.java | 9 +++++++++ .../java/com/nttdata/calender/presets/Presets.java | 14 +++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java index e6a51d0..cc21e4a 100644 --- a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java +++ b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java @@ -317,6 +317,15 @@ public class KalenderRestController { return presets.getAll(); } + // TODO: Finish Select Preset + // @CrossOrigin("*") + // @PostMapping("/api/selectPreset") + // @ResponseBody + // public boolean selectPreset(@RequestBody String guid) throws ARException, NotFoundError { + // Presets presets = new Presets(javaAPI); + // return presets.selectPreset(guid); + // } + /** * Logs the received request with the endpoint and request body. * diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index 7e608d4..c22139e 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -14,8 +14,10 @@ import com.nttdata.calender.errorhandling.ErrorTypes.NotFoundError; public class Presets { private final static String formName = "ASF:CHG_CAL_UserPreferencesJoinFilterDefinitions"; private final static String formDefault = "ASF:CHG_CAL_FilterDefinitions"; + private final static String formUserPref = "ASF:CHG_CAL_UserPreferences"; private Query query; private Query defQuery; + private Query prefQuery; private RemedyJavaAPI api; private List presets; @@ -44,9 +46,12 @@ public class Presets { .addFieldId("InstanceId", 179) .build(); + this.prefQuery = new Query.QueryBuilder(formUserPref) + .addFieldId("GUID", 364000001) + .build(); + this.presets = new ArrayList<>(); api.impersonateUser("ext_GedikSa"); - } public Object initPresets() throws ARException, NotFoundError { @@ -79,13 +84,16 @@ public class Presets { .addFieldValue("FilterPresetDefinition", 364000002, new Value(request.getDefinition())) .build(); - System.out.println("API USER: " + api.getUser()); - api.createEntry(saveQuery); allPresets(); return this.presets; } + // public boolean selectPreset(String guid) throws ARException { + // api.modifyEntry(guid, prefQuery); + // return true; + // } + public void allPresets() throws ARException, NotFoundError { var entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", query.getFieldIds(), formName, null, 0, 0); From 0ccfb5e51caaa150b1766937f5908dd6a69be556 Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Tue, 10 Oct 2023 13:42:34 +0200 Subject: [PATCH 13/32] getAllPresets --- .../calender/api/KalenderRestController.java | 31 ++++++++++++------- .../com/nttdata/calender/presets/Presets.java | 3 +- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java index cc21e4a..027d401 100644 --- a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java +++ b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java @@ -299,14 +299,6 @@ public class KalenderRestController { return implementer.get(request); } - @CrossOrigin("*") - @GetMapping("api/initPresets") - @ResponseBody - public Object initPresets() throws ARException, NotFoundError { - Presets presets = new Presets(javaAPI); - return presets.initPresets(); - } - @CrossOrigin("*") @PostMapping("/api/savePreset") @ResponseBody @@ -321,11 +313,28 @@ public class KalenderRestController { // @CrossOrigin("*") // @PostMapping("/api/selectPreset") // @ResponseBody - // public boolean selectPreset(@RequestBody String guid) throws ARException, NotFoundError { - // Presets presets = new Presets(javaAPI); - // return presets.selectPreset(guid); + // public boolean selectPreset(@RequestBody String guid) throws ARException, + // NotFoundError { + // Presets presets = new Presets(javaAPI); + // return presets.selectPreset(guid); // } + @CrossOrigin("*") + @GetMapping("api/updatePresets") + @ResponseBody + public Object initPresets() throws ARException, NotFoundError { + Presets presets = new Presets(javaAPI); + return presets.initPresets(); + } + + @CrossOrigin("*") + @GetMapping("/api/getAllPresets") + @ResponseBody + public List savePreset() throws NotFoundError, ARException { + Presets presets = new Presets(javaAPI); + return presets.getAll(); + } + /** * Logs the received request with the endpoint and request body. * diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index c22139e..02a3ca6 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -109,7 +109,8 @@ public class Presets { } } - public List getAll() { + public List getAll() throws NotFoundError, ARException { + allPresets(); return this.presets; } } From bf6af9128a321093f5b3398c0def3de667068c74 Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Tue, 10 Oct 2023 13:44:28 +0200 Subject: [PATCH 14/32] modified savePreset --- .../src/main/java/com/nttdata/calender/presets/Presets.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index 02a3ca6..56f4c6c 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -78,15 +78,13 @@ public class Presets { } - public List savePreset(Preset request) throws ARException, NotFoundError { + public void savePreset(Preset request) throws ARException, NotFoundError { var saveQuery = new Query.QueryBuilder(formDefault) .addFieldValue("FilterPresetName", 364000001, new Value(request.getName())) .addFieldValue("FilterPresetDefinition", 364000002, new Value(request.getDefinition())) .build(); api.createEntry(saveQuery); - allPresets(); - return this.presets; } // public boolean selectPreset(String guid) throws ARException { From 2f64c62b788899a0834f95a938b67e2d9019a8a3 Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Tue, 10 Oct 2023 13:46:34 +0200 Subject: [PATCH 15/32] changed getAllPresets --- .../java/com/nttdata/calender/api/KalenderRestController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java index 027d401..2e0f39a 100644 --- a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java +++ b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java @@ -330,7 +330,7 @@ public class KalenderRestController { @CrossOrigin("*") @GetMapping("/api/getAllPresets") @ResponseBody - public List savePreset() throws NotFoundError, ARException { + public List getAllPresets() throws NotFoundError, ARException { Presets presets = new Presets(javaAPI); return presets.getAll(); } From bba3ac06137f96cb154bcf829840652807b0390a Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Tue, 10 Oct 2023 14:27:52 +0200 Subject: [PATCH 16/32] renamed --- .../calender/api/KalenderRestController.java | 10 ++++- .../com/nttdata/calender/presets/Presets.java | 9 ++++- .../calender/presets/RenamePresetRequest.java | 39 +++++++++++++++++++ 3 files changed, 55 insertions(+), 3 deletions(-) create mode 100644 backend/src/main/java/com/nttdata/calender/presets/RenamePresetRequest.java diff --git a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java index 2e0f39a..9e5c8d7 100644 --- a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java +++ b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java @@ -39,6 +39,7 @@ import com.nttdata.calender.planTimes.PlanTimesRequest; import com.nttdata.calender.presets.Preset; import com.nttdata.calender.presets.Presets; import com.nttdata.calender.presets.PresetsGetResponse; +import com.nttdata.calender.presets.RenamePresetRequest; import com.nttdata.calender.states.State; import com.nttdata.calender.states.StateChange; import com.nttdata.calender.states.StateChangeRequest; @@ -320,13 +321,20 @@ public class KalenderRestController { // } @CrossOrigin("*") - @GetMapping("api/updatePresets") + @GetMapping("api/initPresets") @ResponseBody public Object initPresets() throws ARException, NotFoundError { Presets presets = new Presets(javaAPI); return presets.initPresets(); } + @CrossOrigin + @PostMapping("api/renamePresets") + @ResponseBody + public Object renamePreset(@RequestBody RenamePresetRequest request) { + return request; + } + @CrossOrigin("*") @GetMapping("/api/getAllPresets") @ResponseBody diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index 56f4c6c..a1e999c 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -88,10 +88,15 @@ public class Presets { } // public boolean selectPreset(String guid) throws ARException { - // api.modifyEntry(guid, prefQuery); - // return true; + // api.modifyEntry(guid, prefQuery); + // return true; // } + public void renamePreset(RenamePresetRequest request) throws ARException { + var preset = api.queryFieldsById("\'179\'==\"" + request.getId() + "\"", defQuery.getFieldIds(), formDefault, null, 0, 0).get(0); + + } + public void allPresets() throws ARException, NotFoundError { var entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", query.getFieldIds(), formName, null, 0, 0); diff --git a/backend/src/main/java/com/nttdata/calender/presets/RenamePresetRequest.java b/backend/src/main/java/com/nttdata/calender/presets/RenamePresetRequest.java new file mode 100644 index 0000000..5ff7238 --- /dev/null +++ b/backend/src/main/java/com/nttdata/calender/presets/RenamePresetRequest.java @@ -0,0 +1,39 @@ +package com.nttdata.calender.presets; + +public class RenamePresetRequest { + private String newName; + private String oldName; + private String id; + + public RenamePresetRequest(String newName, String oldName, String id) { + this.newName = newName; + this.oldName = oldName; + this.id = id; + } + + public String getNewName() { + return this.newName; + } + + public void setNewName(String newName) { + this.newName = newName; + } + + public String getOldName() { + return this.oldName; + } + + public void setOldName(String oldName) { + this.oldName = oldName; + } + + public String getId() { + return this.id; + } + + public void setId(String id) { + this.id = id; + } + + +} From 944e845d5dcbabe6c29b37a68483df1951f07695 Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Wed, 11 Oct 2023 10:35:23 +0200 Subject: [PATCH 17/32] select preset and modify guid --- .../calender/api/KalenderRestController.java | 30 +++++++++---------- .../com/nttdata/calender/presets/Presets.java | 20 ++++++++----- 2 files changed, 28 insertions(+), 22 deletions(-) diff --git a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java index 9e5c8d7..db54d85 100644 --- a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java +++ b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java @@ -310,15 +310,15 @@ public class KalenderRestController { return presets.getAll(); } - // TODO: Finish Select Preset - // @CrossOrigin("*") - // @PostMapping("/api/selectPreset") - // @ResponseBody - // public boolean selectPreset(@RequestBody String guid) throws ARException, - // NotFoundError { - // Presets presets = new Presets(javaAPI); - // return presets.selectPreset(guid); - // } + //TODO: Finish Select Preset + @CrossOrigin("*") + @PostMapping("/api/selectPreset") + @ResponseBody + public boolean selectPreset(@RequestBody String guid) throws ARException, + NotFoundError { + Presets presets = new Presets(javaAPI); + return presets.selectPreset(guid); + } @CrossOrigin("*") @GetMapping("api/initPresets") @@ -328,12 +328,12 @@ public class KalenderRestController { return presets.initPresets(); } - @CrossOrigin - @PostMapping("api/renamePresets") - @ResponseBody - public Object renamePreset(@RequestBody RenamePresetRequest request) { - return request; - } + // @CrossOrigin + // @PostMapping("api/renamePresets") + // @ResponseBody + // public Object renamePreset(@RequestBody RenamePresetRequest request) { + // return request; + // } @CrossOrigin("*") @GetMapping("/api/getAllPresets") diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index a1e999c..a18e18b 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -87,16 +87,22 @@ public class Presets { api.createEntry(saveQuery); } - // public boolean selectPreset(String guid) throws ARException { - // api.modifyEntry(guid, prefQuery); - // return true; - // } - - public void renamePreset(RenamePresetRequest request) throws ARException { - var preset = api.queryFieldsById("\'179\'==\"" + request.getId() + "\"", defQuery.getFieldIds(), formDefault, null, 0, 0).get(0); + public boolean selectPreset(String guid) throws ARException { + var queryP = new Query.QueryBuilder(formUserPref) + .addFieldValue("GUID", 364000001, new Value(guid)).build(); + var pref = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", queryP.getFieldIds(), formUserPref, null, 0, 0); + + api.modifyEntry(pref.get(0).getEntryId(), queryP); + return true; } + // public void renamePreset(RenamePresetRequest request) throws ARException { + // var preset = api.queryFieldsById("\'179\'==\"" + request.getId() + "\"", + // defQuery.getFieldIds(), formDefault, null, 0, 0).get(0); + + // } + public void allPresets() throws ARException, NotFoundError { var entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", query.getFieldIds(), formName, null, 0, 0); From 4df75a7eb16a762688f813eb1f00837420139c88 Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Wed, 11 Oct 2023 10:43:23 +0200 Subject: [PATCH 18/32] fixed json requestbody --- .../calender/api/KalenderRestController.java | 3 ++- .../java/com/nttdata/calender/presets/Presets.java | 8 ++++---- .../calender/presets/SelectPresetRequest.java | 13 +++++++++++++ 3 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 backend/src/main/java/com/nttdata/calender/presets/SelectPresetRequest.java diff --git a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java index db54d85..3d11054 100644 --- a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java +++ b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java @@ -40,6 +40,7 @@ import com.nttdata.calender.presets.Preset; import com.nttdata.calender.presets.Presets; import com.nttdata.calender.presets.PresetsGetResponse; import com.nttdata.calender.presets.RenamePresetRequest; +import com.nttdata.calender.presets.SelectPresetRequest; import com.nttdata.calender.states.State; import com.nttdata.calender.states.StateChange; import com.nttdata.calender.states.StateChangeRequest; @@ -314,7 +315,7 @@ public class KalenderRestController { @CrossOrigin("*") @PostMapping("/api/selectPreset") @ResponseBody - public boolean selectPreset(@RequestBody String guid) throws ARException, + public boolean selectPreset(@RequestBody SelectPresetRequest guid) throws ARException, NotFoundError { Presets presets = new Presets(javaAPI); return presets.selectPreset(guid); diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index a18e18b..d1f52b7 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -51,7 +51,7 @@ public class Presets { .build(); this.presets = new ArrayList<>(); - api.impersonateUser("ext_GedikSa"); + api.impersonateUser("ext_StanzPa"); } public Object initPresets() throws ARException, NotFoundError { @@ -87,11 +87,11 @@ public class Presets { api.createEntry(saveQuery); } - public boolean selectPreset(String guid) throws ARException { + public boolean selectPreset(SelectPresetRequest guid) throws ARException { var queryP = new Query.QueryBuilder(formUserPref) - .addFieldValue("GUID", 364000001, new Value(guid)).build(); + .addFieldValue("GUID", 364000001, new Value(guid.getGuid())).build(); - var pref = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", queryP.getFieldIds(), formUserPref, null, 0, 0); + var pref = api.queryFieldsById("\'2\'==\"ext_GedikSa\"", queryP.getFieldIds(), formUserPref, null, 0, 0); api.modifyEntry(pref.get(0).getEntryId(), queryP); return true; diff --git a/backend/src/main/java/com/nttdata/calender/presets/SelectPresetRequest.java b/backend/src/main/java/com/nttdata/calender/presets/SelectPresetRequest.java new file mode 100644 index 0000000..f234a13 --- /dev/null +++ b/backend/src/main/java/com/nttdata/calender/presets/SelectPresetRequest.java @@ -0,0 +1,13 @@ +package com.nttdata.calender.presets; + +public class SelectPresetRequest { + private String guid; + + public String getGuid() { + return guid; + } + + public void setGuid(String guid) { + this.guid = guid; + } +} From 76085d1da3878fe1ba3f75f00b28e8ca18909332 Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Wed, 11 Oct 2023 11:11:38 +0200 Subject: [PATCH 19/32] renamePreset --- .../calender/api/KalenderRestController.java | 19 +++++++++------ .../com/nttdata/calender/presets/Presets.java | 23 ++++++++++++------- .../calender/presets/RenamePresetRequest.java | 13 +---------- 3 files changed, 28 insertions(+), 27 deletions(-) diff --git a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java index 3d11054..0c3b880 100644 --- a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java +++ b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java @@ -311,7 +311,6 @@ public class KalenderRestController { return presets.getAll(); } - //TODO: Finish Select Preset @CrossOrigin("*") @PostMapping("/api/selectPreset") @ResponseBody @@ -329,12 +328,18 @@ public class KalenderRestController { return presets.initPresets(); } - // @CrossOrigin - // @PostMapping("api/renamePresets") - // @ResponseBody - // public Object renamePreset(@RequestBody RenamePresetRequest request) { - // return request; - // } + @CrossOrigin + @PostMapping("api/renamePreset") + @ResponseBody + public List renamePreset(@RequestBody RenamePresetRequest request) throws NotFoundError, ARException { + Presets presets = new Presets(javaAPI); + presets.renamePreset(request); + + for (var v : presets.getAll()) { + System.out.println(v.getName()); + } + return presets.getAll(); + } @CrossOrigin("*") @GetMapping("/api/getAllPresets") diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index d1f52b7..bfbc9c3 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -89,19 +89,26 @@ public class Presets { public boolean selectPreset(SelectPresetRequest guid) throws ARException { var queryP = new Query.QueryBuilder(formUserPref) - .addFieldValue("GUID", 364000001, new Value(guid.getGuid())).build(); - - var pref = api.queryFieldsById("\'2\'==\"ext_GedikSa\"", queryP.getFieldIds(), formUserPref, null, 0, 0); - + .addFieldValue("GUID", 364000001, new Value(guid.getGuid())).build(); + + var pref = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", queryP.getFieldIds(), formUserPref, null, 0, + 0); + api.modifyEntry(pref.get(0).getEntryId(), queryP); + + // TODO: Wann soll es false sein? Wenn kein Eintrag is? return true; } - // public void renamePreset(RenamePresetRequest request) throws ARException { - // var preset = api.queryFieldsById("\'179\'==\"" + request.getId() + "\"", - // defQuery.getFieldIds(), formDefault, null, 0, 0).get(0); + public void renamePreset(RenamePresetRequest request) throws ARException { - // } + var queryPresets = new Query.QueryBuilder(formDefault) + .addFieldValue("Name", 364000001, new Value(request.getNewName())).build(); + var preset = api.queryFieldsById("\'179\'==\"" + request.getId() + "\"", + queryPresets.getFieldIds(), formDefault, null, 0, 0).get(0); + + api.modifyEntry(preset.getEntryId(), queryPresets); + } public void allPresets() throws ARException, NotFoundError { var entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", query.getFieldIds(), formName, null, 0, diff --git a/backend/src/main/java/com/nttdata/calender/presets/RenamePresetRequest.java b/backend/src/main/java/com/nttdata/calender/presets/RenamePresetRequest.java index 5ff7238..61639a5 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/RenamePresetRequest.java +++ b/backend/src/main/java/com/nttdata/calender/presets/RenamePresetRequest.java @@ -2,12 +2,10 @@ package com.nttdata.calender.presets; public class RenamePresetRequest { private String newName; - private String oldName; private String id; - public RenamePresetRequest(String newName, String oldName, String id) { + public RenamePresetRequest(String newName, String id) { this.newName = newName; - this.oldName = oldName; this.id = id; } @@ -19,14 +17,6 @@ public class RenamePresetRequest { this.newName = newName; } - public String getOldName() { - return this.oldName; - } - - public void setOldName(String oldName) { - this.oldName = oldName; - } - public String getId() { return this.id; } @@ -35,5 +25,4 @@ public class RenamePresetRequest { this.id = id; } - } From 75056f486099c4f1641f29de2abe1b8e83340ee9 Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Wed, 11 Oct 2023 11:22:24 +0200 Subject: [PATCH 20/32] updatePreset --- .../calender/api/KalenderRestController.java | 11 +++++++++ .../com/nttdata/calender/presets/Presets.java | 11 ++++++++- .../calender/presets/UpdatePresetRequest.java | 23 +++++++++++++++++++ 3 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 backend/src/main/java/com/nttdata/calender/presets/UpdatePresetRequest.java diff --git a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java index 0c3b880..4fc2c49 100644 --- a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java +++ b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java @@ -41,6 +41,7 @@ import com.nttdata.calender.presets.Presets; import com.nttdata.calender.presets.PresetsGetResponse; import com.nttdata.calender.presets.RenamePresetRequest; import com.nttdata.calender.presets.SelectPresetRequest; +import com.nttdata.calender.presets.UpdatePresetRequest; import com.nttdata.calender.states.State; import com.nttdata.calender.states.StateChange; import com.nttdata.calender.states.StateChangeRequest; @@ -328,6 +329,16 @@ public class KalenderRestController { return presets.initPresets(); } + @CrossOrigin("*") + @PostMapping("api/updatePreset") + @ResponseBody + public List updatePreset(@RequestBody UpdatePresetRequest request) throws NotFoundError, ARException { + Presets presets = new Presets(javaAPI); + presets.updatePreset(request); + return presets.getAll(); + } + + @CrossOrigin @PostMapping("api/renamePreset") @ResponseBody diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index bfbc9c3..f61cc18 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -100,6 +100,15 @@ public class Presets { return true; } + public void updatePreset(UpdatePresetRequest request) throws ARException { + var queryPresets = new Query.QueryBuilder(formDefault) + .addFieldValue("Definition", 364000002, new Value(request.getDefinition())).build(); + var preset = api.queryFieldsById("\'179\'==\"" + request.getId() + "\"", + queryPresets.getFieldIds(), formDefault, null, 0, 0).get(0); + + api.modifyEntry(preset.getEntryId(), queryPresets); + } + public void renamePreset(RenamePresetRequest request) throws ARException { var queryPresets = new Query.QueryBuilder(formDefault) @@ -107,7 +116,7 @@ public class Presets { var preset = api.queryFieldsById("\'179\'==\"" + request.getId() + "\"", queryPresets.getFieldIds(), formDefault, null, 0, 0).get(0); - api.modifyEntry(preset.getEntryId(), queryPresets); + api.modifyEntry(preset.getEntryId(), queryPresets); } public void allPresets() throws ARException, NotFoundError { diff --git a/backend/src/main/java/com/nttdata/calender/presets/UpdatePresetRequest.java b/backend/src/main/java/com/nttdata/calender/presets/UpdatePresetRequest.java new file mode 100644 index 0000000..9d992c6 --- /dev/null +++ b/backend/src/main/java/com/nttdata/calender/presets/UpdatePresetRequest.java @@ -0,0 +1,23 @@ +package com.nttdata.calender.presets; + +public class UpdatePresetRequest { + private String id; + private String definition; + + public String getId() { + return this.id; + } + + public void setId(String id) { + this.id = id; + } + + public String getDefinition() { + return this.definition; + } + + public void setDefinition(String definition) { + this.definition = definition; + } + +} From df379accc426422519dea4c77b383a95f9564a3b Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Wed, 11 Oct 2023 11:23:53 +0200 Subject: [PATCH 21/32] false wenn kein preset gibt --- .../src/main/java/com/nttdata/calender/presets/Presets.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index f61cc18..e4ac11c 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -94,9 +94,9 @@ public class Presets { var pref = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", queryP.getFieldIds(), formUserPref, null, 0, 0); - api.modifyEntry(pref.get(0).getEntryId(), queryP); + if (pref.isEmpty() || pref == null) return false; - // TODO: Wann soll es false sein? Wenn kein Eintrag is? + api.modifyEntry(pref.get(0).getEntryId(), queryP); return true; } From 29a2b7eba513808272c0839329f3cd5f6b85d6d8 Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Wed, 11 Oct 2023 12:11:07 +0200 Subject: [PATCH 22/32] editUserPreferences --- .../calender/api/KalenderRestController.java | 13 +++++--- .../presets/EditUserPreferencesRequest.java | 32 +++++++++++++++++++ .../com/nttdata/calender/presets/Presets.java | 24 +++++++++++++- 3 files changed, 64 insertions(+), 5 deletions(-) create mode 100644 backend/src/main/java/com/nttdata/calender/presets/EditUserPreferencesRequest.java diff --git a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java index 4fc2c49..e54e77c 100644 --- a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java +++ b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java @@ -36,6 +36,7 @@ import com.nttdata.calender.packageType.PackageType; import com.nttdata.calender.planTimes.CalendarWeek; import com.nttdata.calender.planTimes.PlanTimes; import com.nttdata.calender.planTimes.PlanTimesRequest; +import com.nttdata.calender.presets.EditUserPreferencesRequest; import com.nttdata.calender.presets.Preset; import com.nttdata.calender.presets.Presets; import com.nttdata.calender.presets.PresetsGetResponse; @@ -345,13 +346,17 @@ public class KalenderRestController { public List renamePreset(@RequestBody RenamePresetRequest request) throws NotFoundError, ARException { Presets presets = new Presets(javaAPI); presets.renamePreset(request); - - for (var v : presets.getAll()) { - System.out.println(v.getName()); - } return presets.getAll(); } + @CrossOrigin("*") + @PostMapping("api/editUserPreferences") + @ResponseBody + public String editUserPreferences(@RequestBody EditUserPreferencesRequest request) throws ARException, NotFoundError { + Presets presets = new Presets(javaAPI); + return presets.editUserPreferences(request); + } + @CrossOrigin("*") @GetMapping("/api/getAllPresets") @ResponseBody diff --git a/backend/src/main/java/com/nttdata/calender/presets/EditUserPreferencesRequest.java b/backend/src/main/java/com/nttdata/calender/presets/EditUserPreferencesRequest.java new file mode 100644 index 0000000..a5c7c8f --- /dev/null +++ b/backend/src/main/java/com/nttdata/calender/presets/EditUserPreferencesRequest.java @@ -0,0 +1,32 @@ +package com.nttdata.calender.presets; + +public class EditUserPreferencesRequest { + private int details; + private int view; + private String language; + + public int getDetails() { + return this.details; + } + + public void setDetails(int details) { + this.details = details; + } + + public int getView() { + return this.view; + } + + public void setView(int view) { + this.view = view; + } + + public String getLanguage() { + return this.language; + } + + public void setLanguage(String language) { + this.language = language; + } + +} diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index e4ac11c..6ed2085 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -48,6 +48,9 @@ public class Presets { this.prefQuery = new Query.QueryBuilder(formUserPref) .addFieldId("GUID", 364000001) + .addFieldId("Details", 364000002) + .addFieldId("View", 364000003) + .addFieldId("Language", 364000004) .build(); this.presets = new ArrayList<>(); @@ -94,7 +97,8 @@ public class Presets { var pref = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", queryP.getFieldIds(), formUserPref, null, 0, 0); - if (pref.isEmpty() || pref == null) return false; + if (pref.isEmpty() || pref == null) + return false; api.modifyEntry(pref.get(0).getEntryId(), queryP); return true; @@ -119,6 +123,23 @@ public class Presets { api.modifyEntry(preset.getEntryId(), queryPresets); } + public String editUserPreferences(EditUserPreferencesRequest request) throws ARException { + var queryUserPreferences = new Query.QueryBuilder(formUserPref) + .addFieldValue("Details", 364000002, new Value(request.getDetails())) + .addFieldValue("View", 364000003, new Value(request.getView())) + .addFieldValue("Language", 364000004, new Value(request.getLanguage())) + .build(); + + var preferences = api.queryFieldsById("\'2\'==\"ext_GedikSa\"", queryUserPreferences.getFieldIds(), + formUserPref, null, 0, 0).get(0); + + // bei falschen input parameter + if (preferences.isEmpty() || preferences == null) + return "Error"; + api.modifyEntry(preferences.getEntryId(), queryUserPreferences); + return "Success"; + } + public void allPresets() throws ARException, NotFoundError { var entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", query.getFieldIds(), formName, null, 0, 0); @@ -138,4 +159,5 @@ public class Presets { allPresets(); return this.presets; } + } From 6d05ff577c16f8f0b0750b8deb05595fbd636f84 Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Wed, 11 Oct 2023 13:54:26 +0200 Subject: [PATCH 23/32] deletePreset --- .../calender/api/KalenderRestController.java | 9 + .../nttdata/calender/api/RemedyJavaAPI.java | 19 ++ .../calender/presets/DeletePresetRequest.java | 14 + .../com/nttdata/calender/presets/Presets.java | 256 +++++++++--------- 4 files changed, 175 insertions(+), 123 deletions(-) create mode 100644 backend/src/main/java/com/nttdata/calender/presets/DeletePresetRequest.java diff --git a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java index e54e77c..6b7c5a7 100644 --- a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java +++ b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java @@ -36,6 +36,7 @@ import com.nttdata.calender.packageType.PackageType; import com.nttdata.calender.planTimes.CalendarWeek; import com.nttdata.calender.planTimes.PlanTimes; import com.nttdata.calender.planTimes.PlanTimesRequest; +import com.nttdata.calender.presets.DeletePresetRequest; import com.nttdata.calender.presets.EditUserPreferencesRequest; import com.nttdata.calender.presets.Preset; import com.nttdata.calender.presets.Presets; @@ -339,6 +340,14 @@ public class KalenderRestController { return presets.getAll(); } + @CrossOrigin("*") + @PostMapping("api/deletePreset") + @ResponseBody + public Object deletePreset(@RequestBody DeletePresetRequest request) throws ARException, NotFoundError { + Presets presets = new Presets(javaAPI); + presets.deletePreset(request); + return presets.getAll(); + } @CrossOrigin @PostMapping("api/renamePreset") diff --git a/backend/src/main/java/com/nttdata/calender/api/RemedyJavaAPI.java b/backend/src/main/java/com/nttdata/calender/api/RemedyJavaAPI.java index d54850e..bc7791b 100644 --- a/backend/src/main/java/com/nttdata/calender/api/RemedyJavaAPI.java +++ b/backend/src/main/java/com/nttdata/calender/api/RemedyJavaAPI.java @@ -136,6 +136,25 @@ public class RemedyJavaAPI { return "Entry created successfully. ID: " + entryIdOut; } + public String deleteEntry(String formName, String entryId) throws ARException { + // Specify 0 for the deleteOption as mentioned in the documentation + int deleteOption = 0; + + // Attempt to delete the entry + server.deleteEntry(formName, entryId, deleteOption); + + // Check for any status or warnings after the deletion + var lastStatus = server.getLastStatus(); + if (!lastStatus.isEmpty()) { + applicationLogger.warn("Warning after deleting entry: " + lastStatus); + return "Warning: " + lastStatus.toString(); + } + + applicationLogger.info("Entry with ID " + entryId + " deleted successfully from form " + formName); + return "Entry deleted successfully. ID: " + entryId; + } + + /** * Takes an entry ID and a {@link Query} object with values and updates the * selected entry with the values provided in the query. diff --git a/backend/src/main/java/com/nttdata/calender/presets/DeletePresetRequest.java b/backend/src/main/java/com/nttdata/calender/presets/DeletePresetRequest.java new file mode 100644 index 0000000..9abdd27 --- /dev/null +++ b/backend/src/main/java/com/nttdata/calender/presets/DeletePresetRequest.java @@ -0,0 +1,14 @@ +package com.nttdata.calender.presets; + +public class DeletePresetRequest { + private String id; + + public String getId() { + return this.id; + } + + public void setId(String id) { + this.id = id; + } + +} diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index 6ed2085..0e67119 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -12,152 +12,162 @@ import com.nttdata.calender.api.RemedyJavaAPI; import com.nttdata.calender.errorhandling.ErrorTypes.NotFoundError; public class Presets { - private final static String formName = "ASF:CHG_CAL_UserPreferencesJoinFilterDefinitions"; - private final static String formDefault = "ASF:CHG_CAL_FilterDefinitions"; - private final static String formUserPref = "ASF:CHG_CAL_UserPreferences"; - private Query query; - private Query defQuery; - private Query prefQuery; - private RemedyJavaAPI api; - private List presets; + private final static String formName = "ASF:CHG_CAL_UserPreferencesJoinFilterDefinitions"; + private final static String formDefault = "ASF:CHG_CAL_FilterDefinitions"; + private final static String formUserPref = "ASF:CHG_CAL_UserPreferences"; + private Query query; + private Query defQuery; + private Query prefQuery; + private RemedyJavaAPI api; + private List presets; - @Autowired - public Presets(RemedyJavaAPI api) throws ARException, NotFoundError { - this.api = api; + @Autowired + public Presets(RemedyJavaAPI api) throws ARException, NotFoundError { + this.api = api; - this.query = new Query.QueryBuilder(formName) - .addFieldId("RequestId", 6) - .addFieldId("InstanceId", 179) - .addFieldId("Status", 7) - .addFieldId("GUID", 364000001) // current active preset - .addFieldId("Details", 364000002) - .addFieldId("View", 364000003) - .addFieldId("Language", 364000004) - .addFieldId("Submitter", 2) - .addFieldId("Name", 364200001) - .addFieldId("Definition", 364200002) - .build(); + this.query = new Query.QueryBuilder(formName) + .addFieldId("RequestId", 6) + .addFieldId("InstanceId", 179) + .addFieldId("Status", 7) + .addFieldId("GUID", 364000001) // current active preset + .addFieldId("Details", 364000002) + .addFieldId("View", 364000003) + .addFieldId("Language", 364000004) + .addFieldId("Submitter", 2) + .addFieldId("Name", 364200001) + .addFieldId("Definition", 364200002) + .build(); - this.defQuery = new Query.QueryBuilder(formDefault) - .addFieldId("Name", 364000001) - .addFieldId("Definition", 364000002) - .addFieldId("isSystemDefault", 364000004) - .addFieldId("isGlobal", 364000003) - .addFieldId("InstanceId", 179) - .build(); + this.defQuery = new Query.QueryBuilder(formDefault) + .addFieldId("Name", 364000001) + .addFieldId("Definition", 364000002) + .addFieldId("isSystemDefault", 364000004) + .addFieldId("isGlobal", 364000003) + .addFieldId("InstanceId", 179) + .build(); - this.prefQuery = new Query.QueryBuilder(formUserPref) - .addFieldId("GUID", 364000001) - .addFieldId("Details", 364000002) - .addFieldId("View", 364000003) - .addFieldId("Language", 364000004) - .build(); + this.prefQuery = new Query.QueryBuilder(formUserPref) + .addFieldId("GUID", 364000001) + .addFieldId("Details", 364000002) + .addFieldId("View", 364000003) + .addFieldId("Language", 364000004) + .build(); - this.presets = new ArrayList<>(); - api.impersonateUser("ext_StanzPa"); - } - - public Object initPresets() throws ARException, NotFoundError { - List entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", query.getFieldIds(), formName, - null, - 0, 0); - PresetsGetResponse response = new PresetsGetResponse(); - - if (entries.isEmpty() || entries == null) { - var sysdef = api.queryFieldsById("\'364000001\'==\"Systemdefault\"", defQuery.getFieldIds(), - formDefault, null, 0, 0).get(0); - return new Preset(sysdef.get(defQuery.getFieldId("InstanceId")).toString(), - sysdef.get(defQuery.getFieldId("Name")).toString(), - sysdef.get(defQuery.getFieldId("Definition")).toString(), "Admin"); - } else { - allPresets(); - response.setPresets(presets); - response.setSelectedPreset(entries.get(0).get(query.getFieldId("GUID")).toString()); - response.setUserPreferences(new UserPreferences(entries.get(0).get(query.getFieldId("Details")).toString(), - entries.get(0).get(query.getFieldId("View")).toString(), - entries.get(0).get(query.getFieldId("Language")).toString())); + this.presets = new ArrayList<>(); + api.impersonateUser("ext_StanzPa"); } - return response; - } + public Object initPresets() throws ARException, NotFoundError { + List entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", query.getFieldIds(), + formName, + null, + 0, 0); + PresetsGetResponse response = new PresetsGetResponse(); - public void savePreset(Preset request) throws ARException, NotFoundError { - var saveQuery = new Query.QueryBuilder(formDefault) - .addFieldValue("FilterPresetName", 364000001, new Value(request.getName())) - .addFieldValue("FilterPresetDefinition", 364000002, new Value(request.getDefinition())) - .build(); + if (entries.isEmpty() || entries == null) { + var sysdef = api.queryFieldsById("\'364000001\'==\"Systemdefault\"", defQuery.getFieldIds(), + formDefault, null, 0, 0).get(0); + return new Preset(sysdef.get(defQuery.getFieldId("InstanceId")).toString(), + sysdef.get(defQuery.getFieldId("Name")).toString(), + sysdef.get(defQuery.getFieldId("Definition")).toString(), "Admin"); + } else { + allPresets(); + response.setPresets(presets); + response.setSelectedPreset(entries.get(0).get(query.getFieldId("GUID")).toString()); + response.setUserPreferences( + new UserPreferences(entries.get(0).get(query.getFieldId("Details")).toString(), + entries.get(0).get(query.getFieldId("View")).toString(), + entries.get(0).get(query.getFieldId("Language")).toString())); + } + return response; - api.createEntry(saveQuery); - } + } - public boolean selectPreset(SelectPresetRequest guid) throws ARException { - var queryP = new Query.QueryBuilder(formUserPref) - .addFieldValue("GUID", 364000001, new Value(guid.getGuid())).build(); + public void savePreset(Preset request) throws ARException, NotFoundError { + var saveQuery = new Query.QueryBuilder(formDefault) + .addFieldValue("FilterPresetName", 364000001, new Value(request.getName())) + .addFieldValue("FilterPresetDefinition", 364000002, new Value(request.getDefinition())) + .build(); - var pref = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", queryP.getFieldIds(), formUserPref, null, 0, - 0); + api.createEntry(saveQuery); + } - if (pref.isEmpty() || pref == null) - return false; + public boolean selectPreset(SelectPresetRequest guid) throws ARException { + var queryP = new Query.QueryBuilder(formUserPref) + .addFieldValue("GUID", 364000001, new Value(guid.getGuid())).build(); - api.modifyEntry(pref.get(0).getEntryId(), queryP); - return true; - } + var pref = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", queryP.getFieldIds(), formUserPref, + null, 0, + 0); - public void updatePreset(UpdatePresetRequest request) throws ARException { - var queryPresets = new Query.QueryBuilder(formDefault) - .addFieldValue("Definition", 364000002, new Value(request.getDefinition())).build(); - var preset = api.queryFieldsById("\'179\'==\"" + request.getId() + "\"", - queryPresets.getFieldIds(), formDefault, null, 0, 0).get(0); + if (pref.isEmpty() || pref == null) + return false; - api.modifyEntry(preset.getEntryId(), queryPresets); - } + api.modifyEntry(pref.get(0).getEntryId(), queryP); + return true; + } - public void renamePreset(RenamePresetRequest request) throws ARException { + public void updatePreset(UpdatePresetRequest request) throws ARException { + var queryPresets = new Query.QueryBuilder(formDefault) + .addFieldValue("Definition", 364000002, new Value(request.getDefinition())).build(); + var preset = api.queryFieldsById("\'179\'==\"" + request.getId() + "\"", + queryPresets.getFieldIds(), formDefault, null, 0, 0).get(0); - var queryPresets = new Query.QueryBuilder(formDefault) - .addFieldValue("Name", 364000001, new Value(request.getNewName())).build(); - var preset = api.queryFieldsById("\'179\'==\"" + request.getId() + "\"", - queryPresets.getFieldIds(), formDefault, null, 0, 0).get(0); + api.modifyEntry(preset.getEntryId(), queryPresets); + } - api.modifyEntry(preset.getEntryId(), queryPresets); - } + public void renamePreset(RenamePresetRequest request) throws ARException { - public String editUserPreferences(EditUserPreferencesRequest request) throws ARException { - var queryUserPreferences = new Query.QueryBuilder(formUserPref) - .addFieldValue("Details", 364000002, new Value(request.getDetails())) - .addFieldValue("View", 364000003, new Value(request.getView())) - .addFieldValue("Language", 364000004, new Value(request.getLanguage())) - .build(); + var queryPresets = new Query.QueryBuilder(formDefault) + .addFieldValue("Name", 364000001, new Value(request.getNewName())).build(); + var preset = api.queryFieldsById("\'179\'==\"" + request.getId() + "\"", + queryPresets.getFieldIds(), formDefault, null, 0, 0).get(0); - var preferences = api.queryFieldsById("\'2\'==\"ext_GedikSa\"", queryUserPreferences.getFieldIds(), - formUserPref, null, 0, 0).get(0); + api.modifyEntry(preset.getEntryId(), queryPresets); + } + + public String editUserPreferences(EditUserPreferencesRequest request) throws ARException { + var queryUserPreferences = new Query.QueryBuilder(formUserPref) + .addFieldValue("Details", 364000002, new Value(request.getDetails())) + .addFieldValue("View", 364000003, new Value(request.getView())) + .addFieldValue("Language", 364000004, new Value(request.getLanguage())) + .build(); + + var preferences = api.queryFieldsById("\'2\'==\"ext_GedikSa\"", queryUserPreferences.getFieldIds(), + formUserPref, null, 0, 0).get(0); // bei falschen input parameter - if (preferences.isEmpty() || preferences == null) - return "Error"; - api.modifyEntry(preferences.getEntryId(), queryUserPreferences); - return "Success"; - } - - public void allPresets() throws ARException, NotFoundError { - var entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", query.getFieldIds(), formName, null, 0, - 0); - - if (entries.isEmpty() || entries == null) { - throw new NotFoundError("No presets found in this context"); - } else { - for (var v : entries) { - presets.add(new Preset(v.get(query.getFieldId("InstanceId")).toString(), - v.get(query.getFieldId("Name")).toString(), v.get(query.getFieldId("Definition")).toString(), - "")); - } + if (preferences.isEmpty() || preferences == null) + return "Error"; + api.modifyEntry(preferences.getEntryId(), queryUserPreferences); + return "Success"; } - } - public List getAll() throws NotFoundError, ARException { - allPresets(); - return this.presets; - } + public void allPresets() throws ARException, NotFoundError { + var entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", query.getFieldIds(), formName, + null, 0, + 0); + + if (entries.isEmpty() || entries == null) { + throw new NotFoundError("No presets found in this context"); + } else { + for (var v : entries) { + presets.add(new Preset(v.get(query.getFieldId("InstanceId")).toString(), + v.get(query.getFieldId("Name")).toString(), + v.get(query.getFieldId("Definition")).toString(), + "")); + } + } + } + + public void deletePreset(DeletePresetRequest request) throws ARException { + var entries = api.queryFieldsById("\'179\'==\""+ request.getId() + "\"", null, formDefault, null, 0, 0).get(0); + api.deleteEntry(formDefault, entries.getEntryId()); + } + + public List getAll() throws NotFoundError, ARException { + allPresets(); + return this.presets; + } } From 1c1862443ca6409ee654715d09f98cc8755d1704 Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Wed, 11 Oct 2023 14:52:19 +0200 Subject: [PATCH 24/32] fixed allPresets form --- .../java/com/nttdata/calender/presets/Presets.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index 0e67119..6e7cee9 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -96,7 +96,7 @@ public class Presets { var queryP = new Query.QueryBuilder(formUserPref) .addFieldValue("GUID", 364000001, new Value(guid.getGuid())).build(); - var pref = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", queryP.getFieldIds(), formUserPref, + var pref = api.queryFieldsById("\'2\'==\"" + "ext_GedikSa" + "\"", queryP.getFieldIds(), formUserPref, null, 0, 0); @@ -144,7 +144,7 @@ public class Presets { } public void allPresets() throws ARException, NotFoundError { - var entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", query.getFieldIds(), formName, + var entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", defQuery.getFieldIds(), formDefault, null, 0, 0); @@ -152,9 +152,9 @@ public class Presets { throw new NotFoundError("No presets found in this context"); } else { for (var v : entries) { - presets.add(new Preset(v.get(query.getFieldId("InstanceId")).toString(), - v.get(query.getFieldId("Name")).toString(), - v.get(query.getFieldId("Definition")).toString(), + presets.add(new Preset(v.get(defQuery.getFieldId("InstanceId")).toString(), + v.get(defQuery.getFieldId("Name")).toString(), + v.get(defQuery.getFieldId("Definition")).toString(), "")); } } From fc88e689958886cb63bc8d377744a27e8a26741f Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Wed, 11 Oct 2023 15:38:48 +0200 Subject: [PATCH 25/32] fixing initPresets --- .../com/nttdata/calender/presets/Presets.java | 57 ++++++++++++++----- 1 file changed, 42 insertions(+), 15 deletions(-) diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index 6e7cee9..898273e 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -58,26 +58,49 @@ public class Presets { } public Object initPresets() throws ARException, NotFoundError { - List entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", query.getFieldIds(), - formName, - null, - 0, 0); PresetsGetResponse response = new PresetsGetResponse(); + // gets the userPreferences from the logged in user + List entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", prefQuery.getFieldIds(), + formUserPref, + null, + 0, 0); + + // systemdefault filter definition + var sysdef = api.queryFieldsById("\'364000001\'==\"Systemdefault\"", defQuery.getFieldIds(), + formDefault, null, 0, 0).get(0); + String sysdefGUID = sysdef.get(defQuery.getFieldId("InstanceId")).toString(); + + // if there are is no userPreference, return Filter Definition ??? if (entries.isEmpty() || entries == null) { - var sysdef = api.queryFieldsById("\'364000001\'==\"Systemdefault\"", defQuery.getFieldIds(), - formDefault, null, 0, 0).get(0); return new Preset(sysdef.get(defQuery.getFieldId("InstanceId")).toString(), sysdef.get(defQuery.getFieldId("Name")).toString(), sysdef.get(defQuery.getFieldId("Definition")).toString(), "Admin"); - } else { + } else { // if there is a userPreference, loop through filter defs (presets of this user) allPresets(); - response.setPresets(presets); - response.setSelectedPreset(entries.get(0).get(query.getFieldId("GUID")).toString()); + response.setPresets(presets); // return all filter defs (presets of this user) + response.setSelectedPreset(entries.get(0).get(prefQuery.getFieldId("GUID")).toString()); // return + // selected + // preset + // (GUID) + + // if guid of user preference is empty, put systemdefault guid inside + if (response.getSelectedPreset().isBlank() || response.getSelectedPreset() == null) { + var queryP = new Query.QueryBuilder(formUserPref) + .addFieldValue("GUID", 364000001, new Value(sysdefGUID)).build(); + + var pref = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", queryP.getFieldIds(), formUserPref, null, 0, 0); + api.modifyEntry(pref.get(0).getEntryId(), queryP); + + response.setSelectedPreset(sysdefGUID); + } + response.setUserPreferences( - new UserPreferences(entries.get(0).get(query.getFieldId("Details")).toString(), - entries.get(0).get(query.getFieldId("View")).toString(), - entries.get(0).get(query.getFieldId("Language")).toString())); + new UserPreferences( + entries.get(0).get(prefQuery.getFieldId("Details")).toString(), + entries.get(0).get(prefQuery.getFieldId("View")).toString(), + entries.get(0).get(prefQuery.getFieldId("Language")) + .toString())); } return response; @@ -96,10 +119,12 @@ public class Presets { var queryP = new Query.QueryBuilder(formUserPref) .addFieldValue("GUID", 364000001, new Value(guid.getGuid())).build(); - var pref = api.queryFieldsById("\'2\'==\"" + "ext_GedikSa" + "\"", queryP.getFieldIds(), formUserPref, + var pref = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", queryP.getFieldIds(), formUserPref, null, 0, 0); + System.out.println(pref); + if (pref.isEmpty() || pref == null) return false; @@ -144,7 +169,8 @@ public class Presets { } public void allPresets() throws ARException, NotFoundError { - var entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", defQuery.getFieldIds(), formDefault, + var entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", defQuery.getFieldIds(), + formDefault, null, 0, 0); @@ -161,7 +187,8 @@ public class Presets { } public void deletePreset(DeletePresetRequest request) throws ARException { - var entries = api.queryFieldsById("\'179\'==\""+ request.getId() + "\"", null, formDefault, null, 0, 0).get(0); + var entries = api.queryFieldsById("\'179\'==\"" + request.getId() + "\"", null, formDefault, null, 0, 0) + .get(0); api.deleteEntry(formDefault, entries.getEntryId()); } From 9b46d37985abbc5cd5181cb3d9ba52418fb00989 Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Wed, 11 Oct 2023 16:53:00 +0200 Subject: [PATCH 26/32] modified initpresets --- .../com/nttdata/calender/presets/Presets.java | 77 +++++++++---------- 1 file changed, 38 insertions(+), 39 deletions(-) diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index 898273e..a0b6f96 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -58,52 +58,51 @@ public class Presets { } public Object initPresets() throws ARException, NotFoundError { + PresetsGetResponse response = new PresetsGetResponse(); - // gets the userPreferences from the logged in user - List entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", prefQuery.getFieldIds(), - formUserPref, - null, - 0, 0); - - // systemdefault filter definition - var sysdef = api.queryFieldsById("\'364000001\'==\"Systemdefault\"", defQuery.getFieldIds(), - formDefault, null, 0, 0).get(0); + // SYSTEMDEFAULT + var sysdef = api.queryFieldsById("\'364000001\'==\"Systemdefault\"", defQuery.getFieldIds(), formDefault, null, 0, 0).get(0); String sysdefGUID = sysdef.get(defQuery.getFieldId("InstanceId")).toString(); + System.out.println(sysdefGUID); - // if there are is no userPreference, return Filter Definition ??? - if (entries.isEmpty() || entries == null) { - return new Preset(sysdef.get(defQuery.getFieldId("InstanceId")).toString(), - sysdef.get(defQuery.getFieldId("Name")).toString(), - sysdef.get(defQuery.getFieldId("Definition")).toString(), "Admin"); - } else { // if there is a userPreference, loop through filter defs (presets of this user) - allPresets(); - response.setPresets(presets); // return all filter defs (presets of this user) - response.setSelectedPreset(entries.get(0).get(prefQuery.getFieldId("GUID")).toString()); // return - // selected - // preset - // (GUID) - - // if guid of user preference is empty, put systemdefault guid inside - if (response.getSelectedPreset().isBlank() || response.getSelectedPreset() == null) { - var queryP = new Query.QueryBuilder(formUserPref) - .addFieldValue("GUID", 364000001, new Value(sysdefGUID)).build(); - - var pref = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", queryP.getFieldIds(), formUserPref, null, 0, 0); - api.modifyEntry(pref.get(0).getEntryId(), queryP); - - response.setSelectedPreset(sysdefGUID); + // CHECK IF USER HAS PREFERENCES + var preference = api.queryFieldsById("\'2\'==\"ext_GedikSa\"", prefQuery.getFieldIds(), formUserPref, null, 0, 0); + if (preference != null) { + // CHECK IF PREFERENCE HAS GUID + var guid = preference.get(0).get(prefQuery.getFieldId("GUID")); + if (guid == null) { + // IF GUID IS NULL PUT SYSTEM DEFAULT INSIDE + var queryPreferenceNewValue = new Query.QueryBuilder(formUserPref).addFieldValue("GUID", 364000001, new Value(sysdefGUID)).build(); + var pref = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", queryPreferenceNewValue.getFieldIds(), formUserPref, null, 0, 0); + api.modifyEntry(pref.get(0).getEntryId(), queryPreferenceNewValue); } - - response.setUserPreferences( - new UserPreferences( - entries.get(0).get(prefQuery.getFieldId("Details")).toString(), - entries.get(0).get(prefQuery.getFieldId("View")).toString(), - entries.get(0).get(prefQuery.getFieldId("Language")) - .toString())); + } else { + // IF USER HAS NO PREFERENCES CREATE NEW ENTRY WITH PREFERENCES AND SYSDEF GUID + createUserPreference(sysdefGUID); } - return response; + // INIT ALL PRESETS + getAll(); + response.setPresets(this.presets); + response.setSelectedPreset(preference.get(0).get(prefQuery.getFieldId("GUID")).toString()); + response.setUserPreferences( + new UserPreferences(preference.get(0).get(prefQuery.getFieldId("Details")).toString(), + preference.get(0).get(prefQuery.getFieldId("View")).toString(), + preference.get(0).get(prefQuery.getFieldId("Language")).toString())); + + return response; + } + + public void createUserPreference(String guid) throws ARException { + var savePreference = new Query.QueryBuilder(formUserPref) + .addFieldValue("GUID", 364000001, new Value(guid)) + .addFieldValue("Details", 364000002, new Value(1)) + .addFieldValue("View", 364000003, new Value(1)) + .addFieldValue("Language", 364000004, new Value("DE")) + .build(); + + api.createEntry(savePreference); } public void savePreset(Preset request) throws ARException, NotFoundError { From 7b010ca77cc7c5855d8b80eff35cc8e6ecb1e564 Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Wed, 11 Oct 2023 17:29:37 +0200 Subject: [PATCH 27/32] fixed initPresets null bug --- .../com/nttdata/calender/presets/Presets.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index a0b6f96..1ddd425 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -64,24 +64,27 @@ public class Presets { // SYSTEMDEFAULT var sysdef = api.queryFieldsById("\'364000001\'==\"Systemdefault\"", defQuery.getFieldIds(), formDefault, null, 0, 0).get(0); String sysdefGUID = sysdef.get(defQuery.getFieldId("InstanceId")).toString(); - System.out.println(sysdefGUID); // CHECK IF USER HAS PREFERENCES var preference = api.queryFieldsById("\'2\'==\"ext_GedikSa\"", prefQuery.getFieldIds(), formUserPref, null, 0, 0); - if (preference != null) { + + if (preference != null && !preference.isEmpty()) { // CHECK IF PREFERENCE HAS GUID var guid = preference.get(0).get(prefQuery.getFieldId("GUID")); - if (guid == null) { + if (guid.toString() == null) { // IF GUID IS NULL PUT SYSTEM DEFAULT INSIDE + System.out.println("GEHT REIN"); var queryPreferenceNewValue = new Query.QueryBuilder(formUserPref).addFieldValue("GUID", 364000001, new Value(sysdefGUID)).build(); - var pref = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", queryPreferenceNewValue.getFieldIds(), formUserPref, null, 0, 0); + var pref = api.queryFieldsById("\'2\'==\"ext_GedikSa\"", queryPreferenceNewValue.getFieldIds(), formUserPref, null, 0, 0); api.modifyEntry(pref.get(0).getEntryId(), queryPreferenceNewValue); - } + } } else { // IF USER HAS NO PREFERENCES CREATE NEW ENTRY WITH PREFERENCES AND SYSDEF GUID createUserPreference(sysdefGUID); } + preference = api.queryFieldsById("\'2\'==\"ext_GedikSa\"", prefQuery.getFieldIds(), formUserPref, null, 0, 0); + // INIT ALL PRESETS getAll(); response.setPresets(this.presets); @@ -118,12 +121,10 @@ public class Presets { var queryP = new Query.QueryBuilder(formUserPref) .addFieldValue("GUID", 364000001, new Value(guid.getGuid())).build(); - var pref = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", queryP.getFieldIds(), formUserPref, + var pref = api.queryFieldsById("\'2\'==\"ext_GedikSa\"", queryP.getFieldIds(), formUserPref, null, 0, 0); - System.out.println(pref); - if (pref.isEmpty() || pref == null) return false; From 74a12af93554f0bdbf63d905f1e1ddf12d1c6243 Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Wed, 11 Oct 2023 17:33:26 +0200 Subject: [PATCH 28/32] fixed impersonating --- .../java/com/nttdata/calender/presets/Presets.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index 1ddd425..a81fac0 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -66,7 +66,7 @@ public class Presets { String sysdefGUID = sysdef.get(defQuery.getFieldId("InstanceId")).toString(); // CHECK IF USER HAS PREFERENCES - var preference = api.queryFieldsById("\'2\'==\"ext_GedikSa\"", prefQuery.getFieldIds(), formUserPref, null, 0, 0); + var preference = api.queryFieldsById("\'2\'==\""+ api.getUser() +"\"", prefQuery.getFieldIds(), formUserPref, null, 0, 0); if (preference != null && !preference.isEmpty()) { // CHECK IF PREFERENCE HAS GUID @@ -75,7 +75,7 @@ public class Presets { // IF GUID IS NULL PUT SYSTEM DEFAULT INSIDE System.out.println("GEHT REIN"); var queryPreferenceNewValue = new Query.QueryBuilder(formUserPref).addFieldValue("GUID", 364000001, new Value(sysdefGUID)).build(); - var pref = api.queryFieldsById("\'2\'==\"ext_GedikSa\"", queryPreferenceNewValue.getFieldIds(), formUserPref, null, 0, 0); + var pref = api.queryFieldsById("\'2\'==\""+ api.getUser() +"\"", queryPreferenceNewValue.getFieldIds(), formUserPref, null, 0, 0); api.modifyEntry(pref.get(0).getEntryId(), queryPreferenceNewValue); } } else { @@ -83,7 +83,7 @@ public class Presets { createUserPreference(sysdefGUID); } - preference = api.queryFieldsById("\'2\'==\"ext_GedikSa\"", prefQuery.getFieldIds(), formUserPref, null, 0, 0); + preference = api.queryFieldsById("\'2\'==\""+ api.getUser() +"\"", prefQuery.getFieldIds(), formUserPref, null, 0, 0); // INIT ALL PRESETS getAll(); @@ -121,7 +121,7 @@ public class Presets { var queryP = new Query.QueryBuilder(formUserPref) .addFieldValue("GUID", 364000001, new Value(guid.getGuid())).build(); - var pref = api.queryFieldsById("\'2\'==\"ext_GedikSa\"", queryP.getFieldIds(), formUserPref, + var pref = api.queryFieldsById("\'2\'==\""+ api.getUser() +"\"", queryP.getFieldIds(), formUserPref, null, 0, 0); @@ -158,7 +158,7 @@ public class Presets { .addFieldValue("Language", 364000004, new Value(request.getLanguage())) .build(); - var preferences = api.queryFieldsById("\'2\'==\"ext_GedikSa\"", queryUserPreferences.getFieldIds(), + var preferences = api.queryFieldsById("\'2\'==\""+ api.getUser() +"\"", queryUserPreferences.getFieldIds(), formUserPref, null, 0, 0).get(0); // bei falschen input parameter From 6e36e42b9564c1ccacba16ce4f525084e6d2c628 Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Wed, 11 Oct 2023 17:35:41 +0200 Subject: [PATCH 29/32] clean up --- .../src/main/java/com/nttdata/calender/DateConverter.java | 1 - .../java/com/nttdata/calender/changes/ChangeRequest.java | 6 ------ .../src/main/java/com/nttdata/calender/presets/Presets.java | 1 - 3 files changed, 8 deletions(-) diff --git a/backend/src/main/java/com/nttdata/calender/DateConverter.java b/backend/src/main/java/com/nttdata/calender/DateConverter.java index 8256822..19c953b 100644 --- a/backend/src/main/java/com/nttdata/calender/DateConverter.java +++ b/backend/src/main/java/com/nttdata/calender/DateConverter.java @@ -3,7 +3,6 @@ package com.nttdata.calender; import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDate; -import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; import java.util.TimeZone; diff --git a/backend/src/main/java/com/nttdata/calender/changes/ChangeRequest.java b/backend/src/main/java/com/nttdata/calender/changes/ChangeRequest.java index 1dd82d8..a534a17 100644 --- a/backend/src/main/java/com/nttdata/calender/changes/ChangeRequest.java +++ b/backend/src/main/java/com/nttdata/calender/changes/ChangeRequest.java @@ -1,14 +1,8 @@ package com.nttdata.calender.changes; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.time.format.DateTimeParseException; -import java.util.ArrayList; -import com.bmc.arsys.api.ARException; import com.bmc.arsys.api.SortInfo; import com.nttdata.calender.api.Query; -import com.nttdata.calender.api.RemedyJavaAPI; import com.nttdata.calender.changes.query.Filter; import com.nttdata.calender.changes.query.FilterElement; import com.nttdata.calender.changes.query.Sort; diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index a81fac0..3185818 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -4,7 +4,6 @@ import java.util.ArrayList; import java.util.List; import com.bmc.arsys.api.ARException; -import com.bmc.arsys.api.Entry; import com.bmc.arsys.api.Value; import com.bmc.thirdparty.org.springframework.beans.factory.annotation.Autowired; import com.nttdata.calender.api.Query; From 7057328198badb9b65d7e60abfac4ce8662212a0 Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Mon, 16 Oct 2023 14:12:00 +0200 Subject: [PATCH 30/32] reset to sysdef after deletion of preset --- .../com/nttdata/calender/presets/Presets.java | 47 ++++++++++++------- 1 file changed, 31 insertions(+), 16 deletions(-) diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java index 3185818..b5faba0 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -61,11 +61,13 @@ public class Presets { PresetsGetResponse response = new PresetsGetResponse(); // SYSTEMDEFAULT - var sysdef = api.queryFieldsById("\'364000001\'==\"Systemdefault\"", defQuery.getFieldIds(), formDefault, null, 0, 0).get(0); + var sysdef = api.queryFieldsById("\'364000001\'==\"Systemdefault\"", defQuery.getFieldIds(), + formDefault, null, 0, 0).get(0); String sysdefGUID = sysdef.get(defQuery.getFieldId("InstanceId")).toString(); // CHECK IF USER HAS PREFERENCES - var preference = api.queryFieldsById("\'2\'==\""+ api.getUser() +"\"", prefQuery.getFieldIds(), formUserPref, null, 0, 0); + var preference = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", prefQuery.getFieldIds(), + formUserPref, null, 0, 0); if (preference != null && !preference.isEmpty()) { // CHECK IF PREFERENCE HAS GUID @@ -73,37 +75,40 @@ public class Presets { if (guid.toString() == null) { // IF GUID IS NULL PUT SYSTEM DEFAULT INSIDE System.out.println("GEHT REIN"); - var queryPreferenceNewValue = new Query.QueryBuilder(formUserPref).addFieldValue("GUID", 364000001, new Value(sysdefGUID)).build(); - var pref = api.queryFieldsById("\'2\'==\""+ api.getUser() +"\"", queryPreferenceNewValue.getFieldIds(), formUserPref, null, 0, 0); + var queryPreferenceNewValue = new Query.QueryBuilder(formUserPref) + .addFieldValue("GUID", 364000001, new Value(sysdefGUID)).build(); + var pref = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", + queryPreferenceNewValue.getFieldIds(), formUserPref, null, 0, 0); api.modifyEntry(pref.get(0).getEntryId(), queryPreferenceNewValue); - } + } } else { // IF USER HAS NO PREFERENCES CREATE NEW ENTRY WITH PREFERENCES AND SYSDEF GUID createUserPreference(sysdefGUID); } - preference = api.queryFieldsById("\'2\'==\""+ api.getUser() +"\"", prefQuery.getFieldIds(), formUserPref, null, 0, 0); - + preference = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", prefQuery.getFieldIds(), + formUserPref, null, 0, 0); + // INIT ALL PRESETS getAll(); response.setPresets(this.presets); response.setSelectedPreset(preference.get(0).get(prefQuery.getFieldId("GUID")).toString()); response.setUserPreferences( - new UserPreferences(preference.get(0).get(prefQuery.getFieldId("Details")).toString(), - preference.get(0).get(prefQuery.getFieldId("View")).toString(), - preference.get(0).get(prefQuery.getFieldId("Language")).toString())); + new UserPreferences(preference.get(0).get(prefQuery.getFieldId("Details")).toString(), + preference.get(0).get(prefQuery.getFieldId("View")).toString(), + preference.get(0).get(prefQuery.getFieldId("Language")).toString())); return response; } public void createUserPreference(String guid) throws ARException { - var savePreference = new Query.QueryBuilder(formUserPref) + var savePreference = new Query.QueryBuilder(formUserPref) .addFieldValue("GUID", 364000001, new Value(guid)) .addFieldValue("Details", 364000002, new Value(1)) .addFieldValue("View", 364000003, new Value(1)) .addFieldValue("Language", 364000004, new Value("DE")) .build(); - + api.createEntry(savePreference); } @@ -120,7 +125,7 @@ public class Presets { var queryP = new Query.QueryBuilder(formUserPref) .addFieldValue("GUID", 364000001, new Value(guid.getGuid())).build(); - var pref = api.queryFieldsById("\'2\'==\""+ api.getUser() +"\"", queryP.getFieldIds(), formUserPref, + var pref = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", queryP.getFieldIds(), formUserPref, null, 0, 0); @@ -141,7 +146,6 @@ public class Presets { } public void renamePreset(RenamePresetRequest request) throws ARException { - var queryPresets = new Query.QueryBuilder(formDefault) .addFieldValue("Name", 364000001, new Value(request.getNewName())).build(); var preset = api.queryFieldsById("\'179\'==\"" + request.getId() + "\"", @@ -157,8 +161,10 @@ public class Presets { .addFieldValue("Language", 364000004, new Value(request.getLanguage())) .build(); - var preferences = api.queryFieldsById("\'2\'==\""+ api.getUser() +"\"", queryUserPreferences.getFieldIds(), - formUserPref, null, 0, 0).get(0); + var preferences = api + .queryFieldsById("\'2\'==\"" + api.getUser() + "\"", queryUserPreferences.getFieldIds(), + formUserPref, null, 0, 0) + .get(0); // bei falschen input parameter if (preferences.isEmpty() || preferences == null) @@ -189,6 +195,15 @@ public class Presets { var entries = api.queryFieldsById("\'179\'==\"" + request.getId() + "\"", null, formDefault, null, 0, 0) .get(0); api.deleteEntry(formDefault, entries.getEntryId()); + + // SYSTEMDEFAULT + var sysdef = api.queryFieldsById("\'364000001\'==\"Systemdefault\"", defQuery.getFieldIds(), formDefault, null, 0, 0).get(0); + String sysdefGUID = sysdef.get(defQuery.getFieldId("InstanceId")).toString(); + + // reset selected preset + SelectPresetRequest spr = new SelectPresetRequest(); + spr.setGuid(sysdefGUID); + selectPreset(spr); } public List getAll() throws NotFoundError, ARException { From 2aec1eeab1de1832ba3ddde78f7478111bac2e8b Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Mon, 16 Oct 2023 17:30:00 +0200 Subject: [PATCH 31/32] getusersupportgroup, admin check --- .../nttdata/calender/api/RemedyJavaAPI.java | 4 ++ .../com/nttdata/calender/changes/Change.java | 4 ++ .../calender/supportgroup/SupportGroup.java | 42 ++++++++++++++----- 3 files changed, 39 insertions(+), 11 deletions(-) diff --git a/backend/src/main/java/com/nttdata/calender/api/RemedyJavaAPI.java b/backend/src/main/java/com/nttdata/calender/api/RemedyJavaAPI.java index bc7791b..b956166 100644 --- a/backend/src/main/java/com/nttdata/calender/api/RemedyJavaAPI.java +++ b/backend/src/main/java/com/nttdata/calender/api/RemedyJavaAPI.java @@ -47,6 +47,7 @@ public class RemedyJavaAPI { server.setPort(50000); this.connect(); + // TODO: move to APIApplication.java or State.java - see where it fits State.getInstance().queryState(this); SupportGroup.getInstance().querySupportGroups(this); @@ -350,4 +351,7 @@ public class RemedyJavaAPI { } } + public boolean isAdministrator() throws ARException { + return server.isAdministrator(); + } } \ No newline at end of file diff --git a/backend/src/main/java/com/nttdata/calender/changes/Change.java b/backend/src/main/java/com/nttdata/calender/changes/Change.java index 12ed06c..8bbbb66 100644 --- a/backend/src/main/java/com/nttdata/calender/changes/Change.java +++ b/backend/src/main/java/com/nttdata/calender/changes/Change.java @@ -90,6 +90,8 @@ public class Change { this.queryChange.getFormName(), sort, request.getSliceStart(), request.getSliceEnd()); + + System.out.println(qualifier); // "\'1000000182\'!=\".\"" var entriesSize = api.getFormSize(qualifier, this.queryChange.getFormName()); var changes = new ArrayList(); @@ -151,7 +153,9 @@ public class Change { changes.add(change); } + System.out.println(entries.size()); api.freeImpersonatedUser(); + return new ChangeResponse(entriesSize, changes); } diff --git a/backend/src/main/java/com/nttdata/calender/supportgroup/SupportGroup.java b/backend/src/main/java/com/nttdata/calender/supportgroup/SupportGroup.java index 3ead15a..5d61688 100644 --- a/backend/src/main/java/com/nttdata/calender/supportgroup/SupportGroup.java +++ b/backend/src/main/java/com/nttdata/calender/supportgroup/SupportGroup.java @@ -15,6 +15,7 @@ import com.nttdata.calender.errorhandling.ErrorTypes.NotFoundError; */ public class SupportGroup { private static final String formName = "CTM:Support Group"; + private static final String formAssoc = "CTM:Support Group Assoc LookUp"; private static final SupportGroup INSTANCE = new SupportGroup(); private ArrayList supportGroups; private SupportGroupGetResponse userSupportGroup; @@ -43,24 +44,43 @@ public class SupportGroup { * @throws NotFoundError if no support groups are found in this context. */ public void querySupportGroups(RemedyJavaAPI api) throws ARException, NotFoundError { - var querySupportGroups = new Query.QueryBuilder(formName) + + // TODO: if remedy admin, permission group id 1 + api.impersonateUser("ext_StanzPa"); + var querySupportGroups = new Query.QueryBuilder(formAssoc) .addFieldId("SupportGroup", 1000000015) - .addFieldId("SupportGroupId", 1) + .addFieldId("SupportGroupId", 1000000079) .build(); - this.supportGroups = api - .queryFieldsById("\'Support Group ID\' != \"\"", querySupportGroups.getFieldIds(), - querySupportGroups.getFormName(), null, 0, 0) - .stream() - .map(entry -> new SupportGroupGetResponse( - entry.get(querySupportGroups.getFieldId("SupportGroup")).toString(), - entry.get(querySupportGroups.getFieldId("SupportGroupId")).toString())) - .distinct() - .collect(Collectors.toCollection(ArrayList::new)); + System.out.println(api.isAdministrator()); + + if (api.isAdministrator()) { + this.supportGroups = api + .queryFieldsById("\'4\' == \"_\"", querySupportGroups.getFieldIds(), + querySupportGroups.getFormName(), null, 0, 0) + .stream() + .map(entry -> new SupportGroupGetResponse( + entry.get(querySupportGroups.getFieldId("SupportGroup")).toString(), + entry.get(querySupportGroups.getFieldId("SupportGroupId")).toString())) + .distinct() + .collect(Collectors.toCollection(ArrayList::new)); + } else { + this.supportGroups = api + .queryFieldsById("\'4\' == \"" + api.getUser() + "\"", querySupportGroups.getFieldIds(), + querySupportGroups.getFormName(), null, 0, 0) + .stream() + .map(entry -> new SupportGroupGetResponse( + entry.get(querySupportGroups.getFieldId("SupportGroup")).toString(), + entry.get(querySupportGroups.getFieldId("SupportGroupId")).toString())) + .distinct() + .collect(Collectors.toCollection(ArrayList::new)); + } + if (this.supportGroups.isEmpty()) { throw new NotFoundError("No support groups found in this context"); } + api.freeImpersonatedUser(); } /** From b3784f19674c3faf1b5fae2edb7a8512716bb36d Mon Sep 17 00:00:00 2001 From: Said Gedik Date: Mon, 16 Oct 2023 17:34:15 +0200 Subject: [PATCH 32/32] fixed query --- .../java/com/nttdata/calender/supportgroup/SupportGroup.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/backend/src/main/java/com/nttdata/calender/supportgroup/SupportGroup.java b/backend/src/main/java/com/nttdata/calender/supportgroup/SupportGroup.java index 5d61688..d9da69e 100644 --- a/backend/src/main/java/com/nttdata/calender/supportgroup/SupportGroup.java +++ b/backend/src/main/java/com/nttdata/calender/supportgroup/SupportGroup.java @@ -45,7 +45,6 @@ public class SupportGroup { */ public void querySupportGroups(RemedyJavaAPI api) throws ARException, NotFoundError { - // TODO: if remedy admin, permission group id 1 api.impersonateUser("ext_StanzPa"); var querySupportGroups = new Query.QueryBuilder(formAssoc) .addFieldId("SupportGroup", 1000000015) @@ -56,7 +55,7 @@ public class SupportGroup { if (api.isAdministrator()) { this.supportGroups = api - .queryFieldsById("\'4\' == \"_\"", querySupportGroups.getFieldIds(), + .queryFieldsById("\'4\' != \"_\"", querySupportGroups.getFieldIds(), querySupportGroups.getFormName(), null, 0, 0) .stream() .map(entry -> new SupportGroupGetResponse(