From bc5fd0b7740ac0bbbaa15f5ca403f592b82c15b0 Mon Sep 17 00:00:00 2001 From: ajay3568yadav <89062459+ajay3568yadav@users.noreply.github.com> Date: Thu, 30 May 2024 16:09:58 -0700 Subject: [PATCH 01/37] VSPC-196 new branch --- .../WEB-INF/views/staff/spaces/space.html | 210 +++++++++++++++++- 1 file changed, 203 insertions(+), 7 deletions(-) diff --git a/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html b/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html index e84a8bf61..e4f90b84a 100644 --- a/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html +++ b/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html @@ -1,11 +1,10 @@ - - - + + + + @@ -270,6 +269,10 @@ } } +function uploadImage(){ + +} + function drawLinks(){ $(".Info_cz_Class").remove(); $(".imageLink").remove(); @@ -940,6 +943,140 @@ if ($("div#incomingLinks a").length < 2) { $("#noLinksToSpace").show() } + $('#externalLink-imageId').prop("disabled",true); + $('#module-imageId').prop("disabled",true); + $('#space-imageId').prop("disabled",true); + + $('#externalLink-chooseFromLocal').click(function() { + $("#selectedImage").empty(); + $('#externalLink-imageId').prop('selectedIndex',0).trigger( "change" ); + $('#externalLink-imageId').prop("disabled",true); + $('#externalLinkImage').prop("disabled",false); + + }); + + $('#module-chooseFromLocal').click(function() { + $("#selectedImage").empty(); + $('#module-imageId').prop('selectedIndex',0).trigger( "change" ); + $('#module-imageId').prop("disabled",true); + $('#moduleLinkImage').prop("disabled",false); + }); + + $('#space-chooseFromLocal').click(function() { + $("#selectedImage").empty(); + $('#space-imageId').prop('selectedIndex',0).trigger( "change" ); + $('#space-imageId').prop("disabled",true); + $('#spaceLinkImage').prop("disabled",false); + }); + + $('#externalLink-chooseFromExisting').click(function() { + $('#externalLinkImage').val(''); + $('#externalLinkImage').prop("disabled",true); + $('#externalLink-imageId').prop("disabled",false); + }); + + $('#module-chooseFromExisting').click(function() { + $('#moduleLinkImage').val(''); + $('#moduleLinkImage').prop("disabled",true); + $('#module-imageId').prop("disabled",false); + }); + + $('#space-chooseFromExisting').click(function() { + $('#spaceLinkImage').val(''); + $('#spaceLinkImage').prop("disabled",true); + $('#space-imageId').prop("disabled",false); + }); + + $("#spaceLinkImage").click(function() { + $("#selectedImage").empty(); + $('#space-imageId').prop('selectedIndex',0).trigger( "change" ); + }); + + $("#moduleLinkImage").click(function() { + $("#selectedImage").empty(); + $('#module-imageId').prop('selectedIndex',0).trigger( "change" ); + }); + + $("#externalLinkImage").click(function() { + $("#selectedImage").empty(); + $('#externalLink-imageId').prop('selectedIndex',0).trigger( "change" ); + }); + + + $("#externalLink-imageId").select2({ + ajax: { + url: function (params) { + var imageURL = [[@{|/staff/images/search|}]]; + return imageURL; + }, + dataType: 'json', + processResults: function (data) { + return { + results: data, + }; + }, + }, + templateResult: formatImage, + templateSelection: formatSelection + }); + + $("#module-imageId").select2({ + ajax: { + url: function (params) { + var imageURL = [[@{|/staff/images/search|}]]; + return imageURL; + }, + dataType: 'json', + processResults: function (data) { + return { + results: data, + }; + }, + }, + templateResult: formatImage, + templateSelection: formatSelection + }); + + $("#space-imageId").select2({ + ajax: { + url: function (params) { + var imageURL = [[@{|/staff/images/search|}]]; + return imageURL; + }, + dataType: 'json', + processResults: function (data) { + return { + results: data, + }; + }, + }, + templateResult: formatImage, + templateSelection: formatSelection + }); + + function formatImage (image) { + if (!image.id) { + return image.text; + } + var tbaseUrl = [[@{|/api/image/|}]]; + var $image = $( + ' ' + image.text + '' + ); + return $image; + }; + + function formatSelection(image) { + if (!image.id) { + return image.text; + } + var tbaseUrl = [[@{|/api/image/|}]]; + var $image = $( + '' + image.text + '' + ); + $("#selectedImage").empty(); + $("#selectedImage").append(''); + return $image; + } }); // -------- buttons that open modals (e.g. to create space links) ------ @@ -1265,6 +1402,7 @@ $(".saveLoader").hide(); }, success: function(data) { + console.log("Execute") var linkData = JSON.parse(data); $("#bgImage").off("click"); moduleLinkInfo["id"] = linkData["id"]; @@ -1276,10 +1414,13 @@ $("#link").attr("id",""); $("#createModuleLinkAlert").hide(); $("#errorMsg").text(""); + $("#module-imageId").value = ""; + $("#selectedImage").empty(); $('#errorAlert').hide(); $("."+linkData["id"]).remove(); form[0].reset(); $("#space").css("display", "none"); + console.log("Execute") moduleLinkIcon=null; drawLinks(); } @@ -1315,6 +1456,7 @@ $(".saveLoader").hide(); }, success: function(data){ + console.log("Start"); var linkData = JSON.parse(data); $("#bgImage").off("click"); moduleLinkInfo["id"] = linkData["id"]; @@ -1328,6 +1470,7 @@ showModuleLinkEdit(moduleLinkInfo, true); hideLinkInfoTabs(); $("#space").css("display", "none"); + console.log("Start"); selectedModuleLinkId=undefined; drawLinks(); } @@ -1435,6 +1578,7 @@ }); $("#createExternalLinkBtn").click(function(e) { + e.preventDefault(); $("#space").scrollTop(0); var payload = {}; @@ -1469,8 +1613,14 @@ $("#externalLinkX").val(storeX); $("#externalLinkY").val(storeY - 25); + var file = $('#externalLinkImage')[0].files[0]; var form = $("#createExternalLinkForm"); var formData = new FormData(form[0]); +/* var chooseFromExisting = true; + if (typeof(file) != "undefined"){ + chooseFromExisting = false; + formData.append('file', file); + } */ var externalLinkInfo = createExternalLinkInfo(); $.ajax({ @@ -1499,6 +1649,8 @@ $("#link").attr("id",""); $("#createExternalLinkAlert").hide(); $("#errorMsg").text(""); + $("externalLink-imageId").value = ""; + $("#selectedImage").empty(); $('#errorAlert').hide(); $("."+linkData["id"]).remove(); form[0].reset(); @@ -1992,7 +2144,20 @@
Create new Space Link
+ + Upload Image: + +
+ Choose from existing: + +
+
+ +

@@ -2075,7 +2240,25 @@

Create new Module Link
+ + + + Upload Image: + +
+ Choose from existing: + +
+
+ +
+ +

@@ -2154,7 +2337,21 @@

Create new External Link
+ + Upload Image: + +
+ Choose from existing: + +
+
+ +

@@ -2405,8 +2602,7 @@

- +
+ + Upload Image: + + +
+ Choose from existing: + +
+
+ +
From eead7d2fa5bad9c43d065f7ff8a98b91a19c16b2 Mon Sep 17 00:00:00 2001 From: ajay3568yadav <89062459+ajay3568yadav@users.noreply.github.com> Date: Fri, 5 Jul 2024 16:34:08 -0700 Subject: [PATCH 08/37] VSPC-196 added choose from existing image to modules --- .../WEB-INF/views/staff/spaces/space.html | 42 ++++++++++++++++--- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html b/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html index c76c7385b..bab256d23 100644 --- a/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html +++ b/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html @@ -2260,8 +2260,7 @@
Create new Module Link
-
-
+
@@ -2281,6 +2280,7 @@
Create new Module Link
+

@@ -2655,12 +2655,44 @@

- + + Upload Image: + + +
+ Choose from existing: + +
+
+ +
+
+
+ +
+
+ + Upload Image: + + +
+ Choose from existing: + +
+
+ +
+
+

From f0fb64fc3b6f95dc1dd1ec3fd827d0168877474a Mon Sep 17 00:00:00 2001 From: ajay3568yadav <89062459+ajay3568yadav@users.noreply.github.com> Date: Mon, 8 Jul 2024 16:34:08 -0700 Subject: [PATCH 09/37] VSPC-196 created custom formatTemplate --- .../WEB-INF/views/staff/spaces/space.html | 71 ++++++++++++------- 1 file changed, 46 insertions(+), 25 deletions(-) diff --git a/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html b/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html index bab256d23..df265a99d 100644 --- a/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html +++ b/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html @@ -1076,7 +1076,24 @@ }, }, templateResult: formatImage, - templateSelection: formatSelection + templateSelection: editSpaceFormatSelection + }); + + $("#editModule-imageId").select2({ + ajax: { + url: function (params) { + var imageURL = [[@{|/staff/images/search|}]]; + return imageURL; + }, + dataType: 'json', + processResults: function (data) { + return { + results: data, + }; + }, + }, + templateResult: formatImage, + templateSelection: editModuleLinkFormatSelection }); function formatImage (image) { @@ -1102,6 +1119,32 @@ $("#selectedImage").append(''); return $image; } + + function editSpaceFormatSelection(image) { + if (!image.id) { + return image.text; + } + var tbaseUrl = [[@{|/api/image/|}]]; + var $image = $( + '' + image.text + '' + ); + $("#editSpace-selectedImage").empty(); + $("#editSpace-selectedImage").append(''); + return $image; + } + + function editModuleLinkFormatSelection(image) { + if (!image.id) { + return image.text; + } + var tbaseUrl = [[@{|/api/image/|}]]; + var $image = $( + '' + image.text + '' + ); + $("#editModuleLink-selectedImage").empty(); + $("#editModuleLink-selectedImage").append(''); + return $image; + } }); // -------- buttons that open modals (e.g. to create space links) ------ @@ -2558,7 +2601,7 @@

Space Link:
- +
@@ -2667,33 +2710,11 @@
- +
-
-
- -
-
- - Upload Image: - - -
- Choose from existing: - -
-
- -
-
-
-

From 4eb3421fda830d666ffa1ad123e45941b4990305 Mon Sep 17 00:00:00 2001 From: ajay3568yadav <89062459+ajay3568yadav@users.noreply.github.com> Date: Wed, 10 Jul 2024 16:35:45 -0700 Subject: [PATCH 10/37] VSPC-196 added choose from exisitng option to the external links --- .../WEB-INF/views/staff/spaces/space.html | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html b/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html index df265a99d..095df1980 100644 --- a/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html +++ b/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html @@ -2527,7 +2527,6 @@

Space Link: - @@ -2806,9 +2805,20 @@
- + + Upload Image: + + +
+ Choose from existing: + +
+
+ +
From 8d554ba7fb6049a4b94c8329cd6d46ad73f878a4 Mon Sep 17 00:00:00 2001 From: ajay3568yadav <89062459+ajay3568yadav@users.noreply.github.com> Date: Thu, 11 Jul 2024 16:39:58 -0700 Subject: [PATCH 11/37] VSPC-196 fixed external module link --- .../WEB-INF/views/staff/spaces/space.html | 58 ++++++++++++++++--- 1 file changed, 49 insertions(+), 9 deletions(-) diff --git a/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html b/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html index 095df1980..da10e28da 100644 --- a/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html +++ b/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html @@ -970,6 +970,13 @@ $('#editSpace-imageId').prop("disabled",true); $('#editSpaceLinkImage').prop("disabled",false); }); + + $('#editExternalLinkInfo-chooseFromLocal').click(function() { + $("#selectedImage").empty(); + $('#editExternalLinkInfo-imageId').prop('selectedIndex',0).trigger( "change" ); + $('#editExternalLinkInfo-imageId').prop("disabled",true); + $('#editExternalLinkInfoImage').prop("disabled",false); + }); $('#externalLink-chooseFromExisting').click(function() { $('#externalLinkImage').val(''); @@ -995,6 +1002,12 @@ $('#editSpace-imageId').prop("disabled",false); }); + $('#editExternalLinkInfo-chooseFromExisting').click(function() { + $('#editExternalLinkInfoImage').val(''); + $('#editExternalLinkInfoImage').prop("disabled",true); + $('#editExternalLinkInfo-imageId').prop("disabled",false); + }); + $("#spaceLinkImage").click(function() { $("#selectedImage").empty(); $('#space-imageId').prop('selectedIndex',0).trigger( "change" ); @@ -1096,6 +1109,23 @@ templateSelection: editModuleLinkFormatSelection }); + $("#editExternalLinkInfo-imageId").select2({ + ajax: { + url: function (params) { + var imageURL = [[@{|/staff/images/search|}]]; + return imageURL; + }, + dataType: 'json', + processResults: function (data) { + return { + results: data, + }; + }, + }, + templateResult: formatImage, + templateSelection: editExternalLinkInfoFormatSelection + }); + function formatImage (image) { if (!image.id) { return image.text; @@ -1145,6 +1175,19 @@ $("#editModuleLink-selectedImage").append(''); return $image; } + + function editExternalLinkInfoFormatSelection(image) { + if (!image.id) { + return image.text; + } + var tbaseUrl = [[@{|/api/image/|}]]; + var $image = $( + '' + image.text + '' + ); + $("#editExternalLinkInfo-selectedImage").empty(); + $("#editExternalLinkInfo-selectedImage").append(''); + return $image; + } }); // -------- buttons that open modals (e.g. to create space links) ------ @@ -2301,11 +2344,10 @@
Create new Module Link
-
+
-
- - +
+
Upload Image: @@ -2321,9 +2363,6 @@
Create new Module Link
- - -

@@ -2805,10 +2844,11 @@

- + + Upload Image: - +
Choose from existing: Upload Image: - +
Choose from existing: @@ -2847,7 +2872,7 @@
Upload Image: - +
Choose from existing: From 782bc9dbb4bbac5ede20d96fc4807cb0558d7b54 Mon Sep 17 00:00:00 2001 From: ajay3568yadav <89062459+ajay3568yadav@users.noreply.github.com> Date: Thu, 18 Jul 2024 15:55:48 -0700 Subject: [PATCH 13/37] VSPC-196 external link images not showing --- .../web/staff/EditExternalLinkController.java | 3 ++- .../WEB-INF/views/staff/spaces/space.html | 23 ++++++++++--------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/vspace/src/main/java/edu/asu/diging/vspace/web/staff/EditExternalLinkController.java b/vspace/src/main/java/edu/asu/diging/vspace/web/staff/EditExternalLinkController.java index 13ea564fa..81d6442dc 100644 --- a/vspace/src/main/java/edu/asu/diging/vspace/web/staff/EditExternalLinkController.java +++ b/vspace/src/main/java/edu/asu/diging/vspace/web/staff/EditExternalLinkController.java @@ -37,7 +37,8 @@ public ResponseEntity createExternalLink(@PathVariable("id") String id, @RequestParam("externalLinkIdValueEdit") String externalLinkIdValueEdit, @RequestParam("externalLinkDisplayId") String externalLinkDisplayId, @RequestParam("tabOpen") String howToOpen, @RequestParam("type") String displayType, - @RequestParam("externalLinkImage") MultipartFile file) throws SpaceDoesNotExistException, IOException, + @RequestParam("editExternalLinkInfoImage") MultipartFile file, + @RequestParam(value = "editExternalLinkInfo-imageId", required = false) String imageId) throws SpaceDoesNotExistException, IOException, LinkDoesNotExistsException, NumberFormatException, ImageCouldNotBeStoredException { ResponseEntity validation = checkIfSpaceExists(spaceManager, id, x, y); diff --git a/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html b/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html index e88d1d98a..8214d7044 100644 --- a/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html +++ b/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html @@ -103,6 +103,7 @@ modalLink.find("span").css('fill', 'grey'); modalLink.css('color', 'rgba(128,128,128,1)'); modalLink.css('font-size', "16px"); + modalLink.css('height', "10%"); var positionX = isModal ? posXModal : posX; var positionY = isModal ? posYModal : posY; if(isSpaceLink && (link.link.targetSpace==null || link.link.targetSpace.spaceStatus=="UNPUBLISHED")){ @@ -953,7 +954,7 @@ // Choose from Local for Space, Modules and External Links $('#externalLink-chooseFromLocal').click(function() { - $("#selectedImage").empty(); + $("#externalLinkInfo-selectedImage").empty(); $('#externalLink-imageId').prop('selectedIndex',0).trigger( "change" ); $('#externalLink-imageId').prop("disabled",true); $('#externalLinkImage').prop("disabled",false); @@ -961,14 +962,14 @@ }); $('#module-chooseFromLocal').click(function() { - $("#selectedImage").empty(); + $("#module-selectedImage").empty(); $('#module-imageId').prop('selectedIndex',0).trigger( "change" ); $('#module-imageId').prop("disabled",true); $('#moduleLinkImage').prop("disabled",false); }); $('#space-chooseFromLocal').click(function() { - $("#selectedImage").empty(); + $("#space-selectedImage").empty(); $('#space-imageId').prop('selectedIndex',0).trigger( "change" ); $('#space-imageId').prop("disabled",true); $('#spaceLinkImage').prop("disabled",false); @@ -1034,17 +1035,17 @@ // Linked Images for Space, Module and ExtrernalLinks $("#spaceLinkImage").click(function() { - $("#selectedImage").empty(); + $("#space-selectedImage").empty(); $('#space-imageId').prop('selectedIndex',0).trigger( "change" ); }); $("#moduleLinkImage").click(function() { - $("#selectedImage").empty(); + $("#module-selectedImage").empty(); $('#module-imageId').prop('selectedIndex',0).trigger( "change" ); }); $("#externalLinkImage").click(function() { - $("#selectedImage").empty(); + $("#externalLinkInfo-selectedImage").empty(); $('#externalLink-imageId').prop('selectedIndex',0).trigger( "change" ); }); @@ -1549,7 +1550,7 @@ $("#link").attr("id",""); $("#createModuleLinkAlert").hide(); $("#errorMsg").text(""); - $("#selectedImage").empty(); + $("#module-selectedImage").empty(); $("#module-imageId").value(""); $('#errorAlert').hide(); $("."+linkData["id"]).remove(); @@ -1783,7 +1784,7 @@ $("#createExternalLinkAlert").hide(); $("#errorMsg").text(""); $("externalLink-imageId").value = ""; - $("#selectedImage").empty(); + $("#externalLinkInfo-selectedImage").empty(); $('#errorAlert').hide(); $("."+linkData["id"]).remove(); form[0].reset(); @@ -2289,7 +2290,7 @@
Create new Space Link
- +
@@ -2386,7 +2387,7 @@
Create new Module Link
- +
@@ -2479,7 +2480,7 @@
Create new External Link
- +
From ac9881bb25f6d0c9acbd8a30fd132b7c736a4ac9 Mon Sep 17 00:00:00 2001 From: ajay3568yadav <89062459+ajay3568yadav@users.noreply.github.com> Date: Fri, 19 Jul 2024 16:34:30 -0700 Subject: [PATCH 14/37] VSPC-196 testing --- vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html | 1 - 1 file changed, 1 deletion(-) diff --git a/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html b/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html index 8214d7044..777c7cacc 100644 --- a/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html +++ b/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html @@ -1771,7 +1771,6 @@ $(".saveLoader").hide(); }, success: function(data) { - console.log("Success"); var linkData = JSON.parse(data); $("#bgImage").off("click"); externalLinkInfo["id"] = linkData["id"]; From 6181c3c0e775ddbd20e0ade15798c636529e26ae Mon Sep 17 00:00:00 2001 From: ajay3568yadav <89062459+ajay3568yadav@users.noreply.github.com> Date: Tue, 23 Jul 2024 18:13:26 -0700 Subject: [PATCH 15/37] VSPC-196 edit external links fixed --- .../core/services/IExternalLinkManager.java | 13 ++--- .../services/impl/ExternalLinkManager.java | 30 ++++------- .../web/staff/EditExternalLinkController.java | 50 +++++++++++++------ 3 files changed, 52 insertions(+), 41 deletions(-) diff --git a/vspace/src/main/java/edu/asu/diging/vspace/core/services/IExternalLinkManager.java b/vspace/src/main/java/edu/asu/diging/vspace/core/services/IExternalLinkManager.java index 7f7e0a84d..512dc1c52 100644 --- a/vspace/src/main/java/edu/asu/diging/vspace/core/services/IExternalLinkManager.java +++ b/vspace/src/main/java/edu/asu/diging/vspace/core/services/IExternalLinkManager.java @@ -1,6 +1,7 @@ package edu.asu.diging.vspace.core.services; import edu.asu.diging.vspace.core.exception.ImageCouldNotBeStoredException; +import edu.asu.diging.vspace.core.exception.ImageDoesNotExistException; import edu.asu.diging.vspace.core.exception.LinkDoesNotExistsException; import edu.asu.diging.vspace.core.exception.SpaceDoesNotExistException; import edu.asu.diging.vspace.core.model.IExternalLink; @@ -12,11 +13,11 @@ public interface IExternalLinkManager extends ILinkManager{ IExternalLinkDisplay createLink(String title, String id, float positionX, float positionY, int rotation, String linkedId, - String linkLabel, DisplayType displayType, byte[] linkImage, String imageFilename,ExternalLinkDisplayMode howToOpen) - throws SpaceDoesNotExistException, ImageCouldNotBeStoredException, SpaceDoesNotExistException; + String linkLabel, String desc, DisplayType displayType, byte[] linkImage, String imageFilename,ExternalLinkDisplayMode howToOpen, String imageId) + throws SpaceDoesNotExistException, ImageCouldNotBeStoredException, SpaceDoesNotExistException, ImageDoesNotExistException; IExternalLinkDisplay updateLink(String title, String id, float positionX, float positionY, int rotation, String linkedId, - String linkLabel, String linkId, String linkDisplayId, DisplayType displayType, byte[] linkImage, - String imageFilename,ExternalLinkDisplayMode howToOpen) - throws SpaceDoesNotExistException, LinkDoesNotExistsException, ImageCouldNotBeStoredException; -} + String linkLabel, String desc, String linkId, String linkDisplayId, DisplayType displayType, byte[] linkImage, + String imageFilename, String existingImageId, ExternalLinkDisplayMode howToOpen) + throws SpaceDoesNotExistException, LinkDoesNotExistsException, ImageCouldNotBeStoredException, ImageDoesNotExistException; +} \ No newline at end of file diff --git a/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManager.java b/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManager.java index 8a3fdfecd..e55dfc531 100644 --- a/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManager.java +++ b/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManager.java @@ -28,7 +28,7 @@ import edu.asu.diging.vspace.core.model.impl.ExternalLinkValue; import edu.asu.diging.vspace.core.services.IExternalLinkManager; import edu.asu.diging.vspace.core.services.ISpaceManager; - +import edu.asu.diging.vspace.core.exception.ImageDoesNotExistException; @Transactional @Service public class ExternalLinkManager extends LinkManager @@ -49,15 +49,6 @@ public class ExternalLinkManager extends LinkManager getLinkDisplays(String spaceId) { return externalLinkDisplayRepo.findExternalLinkDisplaysForSpace(spaceId); @@ -121,9 +112,10 @@ protected void deleteLinkRepo(IExternalLink link) { @Override public IExternalLinkDisplay createLink(String title, String id, float positionX, float positionY, int rotation, - String linkedId, String linkLabel, DisplayType displayType, byte[] linkImage, String imageFilename, - ExternalLinkDisplayMode howToOpen) - throws SpaceDoesNotExistException, ImageCouldNotBeStoredException, SpaceDoesNotExistException { + String linkedId, String linkLabel, String desc, DisplayType displayType, byte[] linkImage, String imageFilename, + ExternalLinkDisplayMode howToOpen, String imageId ) + throws SpaceDoesNotExistException, ImageCouldNotBeStoredException, SpaceDoesNotExistException, ImageDoesNotExistException { + /* * When createLink is called then inside updateLinkAndDisplay(link, displayLink) @@ -133,7 +125,7 @@ public IExternalLinkDisplay createLink(String title, String id, float positionX, * automatically persist howToOpen in database. */ IExternalLinkDisplay externalLinkDisplay = createLink(title, id, positionX, positionY, rotation, linkedId, - linkLabel, displayType, linkImage, imageFilename, howToOpen); + linkLabel, desc, displayType, linkImage, imageFilename, imageId); externalLinkDisplay.setHowToOpen(howToOpen); return externalLinkDisplay; @@ -141,9 +133,9 @@ public IExternalLinkDisplay createLink(String title, String id, float positionX, @Override public IExternalLinkDisplay updateLink(String title, String id, float positionX, float positionY, int rotation, - String linkedId, String linkLabel, String linkId, String linkDisplayId, DisplayType displayType, - byte[] linkImage, String imageFilename, ExternalLinkDisplayMode howToOpen) - throws SpaceDoesNotExistException, LinkDoesNotExistsException, ImageCouldNotBeStoredException { + String linkedId, String linkLabel, String desc, String linkId, String linkDisplayId, DisplayType displayType, + byte[] linkImage, String imageFilename, String existingImageId, ExternalLinkDisplayMode howToOpen) + throws SpaceDoesNotExistException, LinkDoesNotExistsException, ImageCouldNotBeStoredException, ImageDoesNotExistException { /* * When updateLink is called then inside updateLinkAndDisplay(link, displayLink) @@ -153,9 +145,9 @@ public IExternalLinkDisplay updateLink(String title, String id, float positionX, * automatically persist howToOpen in database. */ IExternalLinkDisplay externalLinkDisplay = updateLink(title, id, positionX, positionY, rotation, linkedId, - linkLabel, linkId, linkDisplayId, displayType, linkImage, imageFilename, howToOpen); + linkLabel, desc, linkId, linkDisplayId, displayType, linkImage, imageFilename, existingImageId); externalLinkDisplay.setHowToOpen(howToOpen); return externalLinkDisplay; } -} +} \ No newline at end of file diff --git a/vspace/src/main/java/edu/asu/diging/vspace/web/staff/EditExternalLinkController.java b/vspace/src/main/java/edu/asu/diging/vspace/web/staff/EditExternalLinkController.java index 81d6442dc..e481833ac 100644 --- a/vspace/src/main/java/edu/asu/diging/vspace/web/staff/EditExternalLinkController.java +++ b/vspace/src/main/java/edu/asu/diging/vspace/web/staff/EditExternalLinkController.java @@ -10,7 +10,7 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; - +import edu.asu.diging.vspace.core.exception.ImageDoesNotExistException; import edu.asu.diging.vspace.core.exception.ImageCouldNotBeStoredException; import edu.asu.diging.vspace.core.exception.LinkDoesNotExistsException; import edu.asu.diging.vspace.core.exception.SpaceDoesNotExistException; @@ -21,6 +21,22 @@ import edu.asu.diging.vspace.core.services.ISpaceManager; import edu.asu.diging.vspace.core.services.impl.ExternalLinkManager; + + + + +//@RequestMapping(value = "/staff/space/link/external/{id}", method = RequestMethod.POST) +//public ResponseEntity createExternalLink(@PathVariable("id") String id, @RequestParam("x") String x, +// @RequestParam("y") String y, @RequestParam("externalLinkLabel") String title, +// @RequestParam("url") String externalLink, +// @RequestParam("externalLinkIdValueEdit") String externalLinkIdValueEdit, +// @RequestParam("externalLinkDisplayId") String externalLinkDisplayId, +// @RequestParam("tabOpen") String howToOpen, @RequestParam("type") String displayType, +// @RequestParam("editExternalLinkInfoImage") MultipartFile file, +// @RequestParam(value = "editExternalLinkInfo-imageId", required = false) String imageId) throws SpaceDoesNotExistException, IOException, +// LinkDoesNotExistsException, NumberFormatException, ImageCouldNotBeStoredException { + + @Controller public class EditExternalLinkController extends EditSpaceLinksController { @@ -31,20 +47,22 @@ public class EditExternalLinkController extends EditSpaceLinksController { private IExternalLinkManager externalLinkManager; @RequestMapping(value = "/staff/space/link/external/{id}", method = RequestMethod.POST) - public ResponseEntity createExternalLink(@PathVariable("id") String id, @RequestParam("x") String x, - @RequestParam("y") String y, @RequestParam("externalLinkLabel") String title, - @RequestParam("url") String externalLink, - @RequestParam("externalLinkIdValueEdit") String externalLinkIdValueEdit, - @RequestParam("externalLinkDisplayId") String externalLinkDisplayId, - @RequestParam("tabOpen") String howToOpen, @RequestParam("type") String displayType, - @RequestParam("editExternalLinkInfoImage") MultipartFile file, - @RequestParam(value = "editExternalLinkInfo-imageId", required = false) String imageId) throws SpaceDoesNotExistException, IOException, - LinkDoesNotExistsException, NumberFormatException, ImageCouldNotBeStoredException { + public ResponseEntity createExternalLink(@PathVariable("id") String id, @RequestParam("x") String x, + @RequestParam("y") String y, @RequestParam("externalLinkLabel") String title, + @RequestParam("url") String externalLink, + @RequestParam("externalLinkIdValueEdit") String externalLinkIdValueEdit, + @RequestParam("externalLinkDisplayId") String externalLinkDisplayId, + @RequestParam("tabOpen") String howToOpen, @RequestParam("type") String displayType, + @RequestParam("editExternalLinkInfoImage") MultipartFile file, + @RequestParam(value = "editExternalLinkInfo-imageId", required = false) String imageId) + throws SpaceDoesNotExistException, IOException, LinkDoesNotExistsException, NumberFormatException, + ImageCouldNotBeStoredException, ImageDoesNotExistException { ResponseEntity validation = checkIfSpaceExists(spaceManager, id, x, y); if (validation != null) { return validation; } + String desc = ""; byte[] linkImage = null; String filename = null; if (file != null) { @@ -53,13 +71,13 @@ public ResponseEntity createExternalLink(@PathVariable("id") String id, } DisplayType type = displayType.isEmpty() ? null : DisplayType.valueOf(displayType); ExternalLinkDisplayMode externalLinkOpenMode = howToOpen.isEmpty() ? null - : ExternalLinkDisplayMode.valueOf(howToOpen); + : ExternalLinkDisplayMode.valueOf(howToOpen); IExternalLinkDisplay display = (IExternalLinkDisplay) externalLinkManager.updateLink(title, id, new Float(x), - new Float(y), 0, externalLink, title, externalLinkIdValueEdit, externalLinkDisplayId, type, linkImage, - filename, externalLinkOpenMode); + new Float(y), 0, externalLink, title,desc, externalLinkIdValueEdit, externalLinkDisplayId, type, linkImage, + filename, imageId); return success(display.getExternalLink().getId(), display.getId(), display.getPositionX(), - display.getPositionY(), display.getRotation(), display.getExternalLink().getExternalLink(), title, - displayType, null, null); + display.getPositionY(), display.getRotation(), display.getExternalLink().getExternalLink(), title, + displayType, null, null); } -} +} \ No newline at end of file From f438063f99dcc786f1a3bba8f4bc0dec45ced53d Mon Sep 17 00:00:00 2001 From: ajay3568yadav <89062459+ajay3568yadav@users.noreply.github.com> Date: Tue, 23 Jul 2024 18:21:18 -0700 Subject: [PATCH 16/37] VSPC-196 removed comments --- .../web/staff/EditExternalLinkController.java | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/vspace/src/main/java/edu/asu/diging/vspace/web/staff/EditExternalLinkController.java b/vspace/src/main/java/edu/asu/diging/vspace/web/staff/EditExternalLinkController.java index e481833ac..598b8a626 100644 --- a/vspace/src/main/java/edu/asu/diging/vspace/web/staff/EditExternalLinkController.java +++ b/vspace/src/main/java/edu/asu/diging/vspace/web/staff/EditExternalLinkController.java @@ -21,22 +21,6 @@ import edu.asu.diging.vspace.core.services.ISpaceManager; import edu.asu.diging.vspace.core.services.impl.ExternalLinkManager; - - - - -//@RequestMapping(value = "/staff/space/link/external/{id}", method = RequestMethod.POST) -//public ResponseEntity createExternalLink(@PathVariable("id") String id, @RequestParam("x") String x, -// @RequestParam("y") String y, @RequestParam("externalLinkLabel") String title, -// @RequestParam("url") String externalLink, -// @RequestParam("externalLinkIdValueEdit") String externalLinkIdValueEdit, -// @RequestParam("externalLinkDisplayId") String externalLinkDisplayId, -// @RequestParam("tabOpen") String howToOpen, @RequestParam("type") String displayType, -// @RequestParam("editExternalLinkInfoImage") MultipartFile file, -// @RequestParam(value = "editExternalLinkInfo-imageId", required = false) String imageId) throws SpaceDoesNotExistException, IOException, -// LinkDoesNotExistsException, NumberFormatException, ImageCouldNotBeStoredException { - - @Controller public class EditExternalLinkController extends EditSpaceLinksController { From a3550c79565a1436d5cbfd117845211769ee748a Mon Sep 17 00:00:00 2001 From: ajay3568yadav <89062459+ajay3568yadav@users.noreply.github.com> Date: Tue, 23 Jul 2024 19:07:37 -0700 Subject: [PATCH 17/37] VSPC-196 fixed edit module error --- .../vspace/web/staff/EditModuleLinkController.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/vspace/src/main/java/edu/asu/diging/vspace/web/staff/EditModuleLinkController.java b/vspace/src/main/java/edu/asu/diging/vspace/web/staff/EditModuleLinkController.java index 23e1da16d..e79fcd382 100644 --- a/vspace/src/main/java/edu/asu/diging/vspace/web/staff/EditModuleLinkController.java +++ b/vspace/src/main/java/edu/asu/diging/vspace/web/staff/EditModuleLinkController.java @@ -26,23 +26,23 @@ public class EditModuleLinkController extends EditSpaceLinksController { private ISpaceManager spaceManager; @Autowired - private IModuleLinkManager moduleLinkManager; - + private IModuleLinkManager moduleLinkManager; + @RequestMapping(value = "/staff/space/link/module/{id}", method = RequestMethod.POST) public ResponseEntity editModuleLink(@PathVariable("id") String id, @RequestParam("x") String x, @RequestParam("y") String y, @RequestParam("rotation") String rotation, @RequestParam("moduleLinkLabel") String title, @RequestParam("linkedModule") String linkedModuleId, @RequestParam("moduleLinkLabel") String moduleLinkLabel, - @RequestParam(value = "moduleLinkDesc", required = false) String moduleLinkDesc, @RequestParam("moduleLinkIdValueEdit") String moduleLinkIdValueEdit, @RequestParam("moduleLinkDisplayId") String moduleLinkDisplayId, @RequestParam("type") String displayType, - @RequestParam("moduleLinkImage") MultipartFile file, @RequestParam(value="imageId", required=false) String imageId) throws NumberFormatException, + @RequestParam(value = "moduleLinkImage", required=false) MultipartFile file, @RequestParam(value="editModule-imageId", required=false) String imageId) throws NumberFormatException, SpaceDoesNotExistException, LinkDoesNotExistsException, IOException, ImageCouldNotBeStoredException, ImageDoesNotExistException { ResponseEntity validation = checkIfSpaceExists(spaceManager, id, x, y); if (validation != null) { return validation; } + String moduleLinkDesc = ""; byte[] linkImage = null; String filename = null; if (file != null) { @@ -57,4 +57,6 @@ public ResponseEntity editModuleLink(@PathVariable("id") String id, @Req display.getRotation(), null, title, displayType, linkedModuleId, null); } -} \ No newline at end of file +} + + From 931c1c74cf1afefbca7cf2d44aed923d9521f997 Mon Sep 17 00:00:00 2001 From: ajay3568yadav <89062459+ajay3568yadav@users.noreply.github.com> Date: Thu, 15 Aug 2024 16:46:33 -0700 Subject: [PATCH 18/37] VSPC-196 css issue --- vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html b/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html index 777c7cacc..3b3f7f1a9 100644 --- a/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html +++ b/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html @@ -2474,8 +2474,8 @@
Create new External Link
Choose from existing:
From 56ec6cc78e9d3ce7098726731be4c73f63a25083 Mon Sep 17 00:00:00 2001 From: ajay3568yadav <89062459+ajay3568yadav@users.noreply.github.com> Date: Fri, 16 Aug 2024 15:28:40 -0700 Subject: [PATCH 19/37] VSPC-196 undo changes --- vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html b/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html index 3b3f7f1a9..777c7cacc 100644 --- a/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html +++ b/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html @@ -2474,8 +2474,8 @@
Create new External Link
Choose from existing:
From bb8bab348c0b5a7f4909be1b80cbbde96b7f3328 Mon Sep 17 00:00:00 2001 From: ajay Yadav Date: Wed, 13 Nov 2024 16:32:24 -0700 Subject: [PATCH 20/37] VSPC-196 review comments --- vspace/pom.xml | 133 ++++++++++-------- .../services/impl/ExternalLinkManager.java | 1 + .../web/staff/AddModuleLinkController.java | 2 +- 3 files changed, 77 insertions(+), 59 deletions(-) diff --git a/vspace/pom.xml b/vspace/pom.xml index 2f210f743..3dfbf265b 100644 --- a/vspace/pom.xml +++ b/vspace/pom.xml @@ -10,24 +10,23 @@ 1.7.5 - 5.0.19.RELEASE + 5.3.0 Kay-SR8 - 5.3.3.RELEASE - 3.0.11.RELEASE - 5.11.1 + 5.7.12 + 3.0.13.RELEASE + 5.15.0 0.5 admin $2a$04$ug2wdYfAW8Ey/DwjUdPuLufgrMqbhNnTmr1QEUNZnoWF1xGitSBae $2a$04$QhdsxRoZPJw/G06aDkP6COLARKtbdTxVvxtKPZUE0dFlNKFMZsXRe - debug com.mysql.jdbc.Driver - jdbc:mysql://localhost:3306/vspace?serverTimezone=UTC - root - Metroplaza@2023 - /Users/ajayyadav/Downloads/Vpsace_images - + jdbc:mysql://localhost:3306/vspace?serverTimezone=UTC&useEncoding=true + vspace + vspace + + @@ -38,7 +37,7 @@ vspace TomcatServer - + v0.16.1 @@ -78,17 +77,6 @@ - - javax.annotation - javax.annotation-api - 1.3.2 - - - javax.xml.bind - jaxb-api - 2.3.1 - - org.springframework spring-webmvc @@ -108,6 +96,11 @@ 4.13.1 test + + javax.annotation + javax.annotation-api + 1.3.2 + @@ -198,35 +191,55 @@ runtime - + + + + javax.xml.bind + jaxb-api + 2.4.0-b180830.0359 + + + + com.sun.xml.bind + jaxb-core + 3.0.2 + + + + com.sun.xml.bind + jaxb-impl + 3.0.2 + + + com.atlassian.commonmark commonmark 0.15.0 - + - - org.thymeleaf - thymeleaf-spring5 - ${thymeleaf.version} - - - - - nz.net.ultraq.thymeleaf - thymeleaf-layout-dialect - 2.4.0 - - - - - org.thymeleaf.extras - thymeleaf-extras-springsecurity5 - 3.0.3.RELEASE - - + + org.thymeleaf + thymeleaf-spring5 + ${thymeleaf.version} + + + + + nz.net.ultraq.thymeleaf + thymeleaf-layout-dialect + 2.4.0 + + + + + org.thymeleaf.extras + thymeleaf-extras-springsecurity5 + 3.0.3.RELEASE + + @@ -241,8 +254,8 @@ spring-test test - - + + org.mockito @@ -291,20 +304,20 @@ org.hibernate - hibernate-entitymanager - 5.3.2.Final + hibernate-core + 5.4.24.Final mysql mysql-connector-java - 8.0.16 + 8.0.28 com.fasterxml.jackson.core jackson-databind - 2.10.0.pr1 + 2.12.6.1 @@ -336,7 +349,7 @@ commons-fileupload commons-fileupload - 1.3.3 + 1.5 commons-io @@ -347,7 +360,12 @@ org.apache.tika tika-core - 1.22 + 1.28.3 + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + 2.12.6 @@ -360,6 +378,7 @@ **/*.woff **/*.ttf + **/*.woff2 @@ -367,7 +386,7 @@ org.apache.maven.plugins maven-war-plugin - 2.6 + 3.3.1 @@ -378,9 +397,8 @@ **/*.woff - **/*.woff2 **/*.ttf - **/*.eot + **/*.woff2 @@ -390,8 +408,8 @@ maven-compiler-plugin - 11 - 11 + 1.8 + 1.8 @@ -406,5 +424,4 @@ - \ No newline at end of file diff --git a/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManager.java b/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManager.java index e55dfc531..95b963ee3 100644 --- a/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManager.java +++ b/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManager.java @@ -29,6 +29,7 @@ import edu.asu.diging.vspace.core.services.IExternalLinkManager; import edu.asu.diging.vspace.core.services.ISpaceManager; import edu.asu.diging.vspace.core.exception.ImageDoesNotExistException; + @Transactional @Service public class ExternalLinkManager extends LinkManager diff --git a/vspace/src/main/java/edu/asu/diging/vspace/web/staff/AddModuleLinkController.java b/vspace/src/main/java/edu/asu/diging/vspace/web/staff/AddModuleLinkController.java index a97c2560d..dd0c07966 100644 --- a/vspace/src/main/java/edu/asu/diging/vspace/web/staff/AddModuleLinkController.java +++ b/vspace/src/main/java/edu/asu/diging/vspace/web/staff/AddModuleLinkController.java @@ -33,7 +33,7 @@ public class AddModuleLinkController { private IModuleLinkManager moduleLinkManager; @RequestMapping(value = "/staff/space/{id}/modulelink", method = RequestMethod.POST) - public ResponseEntity createModuleLink(@PathVariable("id") String id, @RequestParam("x") String x, + public ResponseEntity createModuleLink(@PathVariable("id") String id, @RequestParam("x") String x, @RequestParam("y") String y, @RequestParam("rotation") String rotation, @RequestParam("moduleLinkLabel") String title, @RequestParam("linkedModule") String linkedModuleId, @RequestParam("moduleLinkLabel") String moduleLinkLabel, From 757fd0b8ffeaf42f3355afb0a29f76a7b36231c0 Mon Sep 17 00:00:00 2001 From: ajay Yadav Date: Wed, 13 Nov 2024 16:37:01 -0700 Subject: [PATCH 21/37] VSPC-196 before merge --- vspace/pom.xml | 139 ++++++++++++++++++++++--------------------------- 1 file changed, 61 insertions(+), 78 deletions(-) diff --git a/vspace/pom.xml b/vspace/pom.xml index 3dfbf265b..f56605560 100644 --- a/vspace/pom.xml +++ b/vspace/pom.xml @@ -10,23 +10,24 @@ 1.7.5 - 5.3.0 + 5.0.19.RELEASE Kay-SR8 - 5.7.12 - 3.0.13.RELEASE - 5.15.0 + 5.3.3.RELEASE + 3.0.11.RELEASE + 5.11.1 0.5 admin $2a$04$ug2wdYfAW8Ey/DwjUdPuLufgrMqbhNnTmr1QEUNZnoWF1xGitSBae $2a$04$QhdsxRoZPJw/G06aDkP6COLARKtbdTxVvxtKPZUE0dFlNKFMZsXRe + debug com.mysql.jdbc.Driver - jdbc:mysql://localhost:3306/vspace?serverTimezone=UTC&useEncoding=true - vspace - vspace - - + jdbc:mysql://localhost:3306/vspace?serverTimezone=UTC + root + Metroplaza@2023 + /Users/ajayyadav/Downloads + @@ -37,7 +38,7 @@ vspace TomcatServer - + v0.16.1 @@ -77,6 +78,17 @@ + + javax.annotation + javax.annotation-api + 1.3.2 + + + javax.xml.bind + jaxb-api + 2.3.1 + + org.springframework spring-webmvc @@ -96,11 +108,6 @@ 4.13.1 test - - javax.annotation - javax.annotation-api - 1.3.2 - @@ -134,13 +141,13 @@ org.aspectj aspectjrt - 1.8.9 + 1.8.14 org.aspectj aspectjweaver - 1.8.9 + 1.8.14 @@ -191,55 +198,35 @@ runtime - - - - javax.xml.bind - jaxb-api - 2.4.0-b180830.0359 - - - - com.sun.xml.bind - jaxb-core - 3.0.2 - - - - com.sun.xml.bind - jaxb-impl - 3.0.2 - - - + com.atlassian.commonmark commonmark 0.15.0 - + - - org.thymeleaf - thymeleaf-spring5 - ${thymeleaf.version} - - - - - nz.net.ultraq.thymeleaf - thymeleaf-layout-dialect - 2.4.0 - - - - - org.thymeleaf.extras - thymeleaf-extras-springsecurity5 - 3.0.3.RELEASE - - + + org.thymeleaf + thymeleaf-spring5 + ${thymeleaf.version} + + + + + nz.net.ultraq.thymeleaf + thymeleaf-layout-dialect + 2.4.0 + + + + + org.thymeleaf.extras + thymeleaf-extras-springsecurity5 + 3.0.3.RELEASE + + @@ -254,8 +241,8 @@ spring-test test - - + + org.mockito @@ -304,20 +291,20 @@ org.hibernate - hibernate-core - 5.4.24.Final + hibernate-entitymanager + 5.3.2.Final mysql mysql-connector-java - 8.0.28 + 8.0.16 com.fasterxml.jackson.core jackson-databind - 2.12.6.1 + 2.10.0.pr1 @@ -349,7 +336,7 @@ commons-fileupload commons-fileupload - 1.5 + 1.3.3 commons-io @@ -360,12 +347,7 @@ org.apache.tika tika-core - 1.28.3 - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - 2.12.6 + 1.22 @@ -378,7 +360,6 @@ **/*.woff **/*.ttf - **/*.woff2 @@ -386,7 +367,7 @@ org.apache.maven.plugins maven-war-plugin - 3.3.1 + 2.6 @@ -397,8 +378,9 @@ **/*.woff - **/*.ttf **/*.woff2 + **/*.ttf + **/*.eot @@ -408,8 +390,8 @@ maven-compiler-plugin - 1.8 - 1.8 + 11 + 11 @@ -424,4 +406,5 @@ - \ No newline at end of file + + From 75e74b3146e5d0ca05361dd0072366b7c53d17d8 Mon Sep 17 00:00:00 2001 From: ajay Yadav Date: Wed, 13 Nov 2024 16:39:05 -0700 Subject: [PATCH 22/37] VSPC-196 revert --- vspace/pom.xml | 139 +++++++++++++++++++++++++++---------------------- 1 file changed, 78 insertions(+), 61 deletions(-) diff --git a/vspace/pom.xml b/vspace/pom.xml index f56605560..3dfbf265b 100644 --- a/vspace/pom.xml +++ b/vspace/pom.xml @@ -10,24 +10,23 @@ 1.7.5 - 5.0.19.RELEASE + 5.3.0 Kay-SR8 - 5.3.3.RELEASE - 3.0.11.RELEASE - 5.11.1 + 5.7.12 + 3.0.13.RELEASE + 5.15.0 0.5 admin $2a$04$ug2wdYfAW8Ey/DwjUdPuLufgrMqbhNnTmr1QEUNZnoWF1xGitSBae $2a$04$QhdsxRoZPJw/G06aDkP6COLARKtbdTxVvxtKPZUE0dFlNKFMZsXRe - debug com.mysql.jdbc.Driver - jdbc:mysql://localhost:3306/vspace?serverTimezone=UTC - root - Metroplaza@2023 - /Users/ajayyadav/Downloads - + jdbc:mysql://localhost:3306/vspace?serverTimezone=UTC&useEncoding=true + vspace + vspace + + @@ -38,7 +37,7 @@ vspace TomcatServer - + v0.16.1 @@ -78,17 +77,6 @@ - - javax.annotation - javax.annotation-api - 1.3.2 - - - javax.xml.bind - jaxb-api - 2.3.1 - - org.springframework spring-webmvc @@ -108,6 +96,11 @@ 4.13.1 test + + javax.annotation + javax.annotation-api + 1.3.2 + @@ -141,13 +134,13 @@ org.aspectj aspectjrt - 1.8.14 + 1.8.9 org.aspectj aspectjweaver - 1.8.14 + 1.8.9 @@ -198,35 +191,55 @@ runtime - + + + + javax.xml.bind + jaxb-api + 2.4.0-b180830.0359 + + + + com.sun.xml.bind + jaxb-core + 3.0.2 + + + + com.sun.xml.bind + jaxb-impl + 3.0.2 + + + com.atlassian.commonmark commonmark 0.15.0 - + - - org.thymeleaf - thymeleaf-spring5 - ${thymeleaf.version} - - - - - nz.net.ultraq.thymeleaf - thymeleaf-layout-dialect - 2.4.0 - - - - - org.thymeleaf.extras - thymeleaf-extras-springsecurity5 - 3.0.3.RELEASE - - + + org.thymeleaf + thymeleaf-spring5 + ${thymeleaf.version} + + + + + nz.net.ultraq.thymeleaf + thymeleaf-layout-dialect + 2.4.0 + + + + + org.thymeleaf.extras + thymeleaf-extras-springsecurity5 + 3.0.3.RELEASE + + @@ -241,8 +254,8 @@ spring-test test - - + + org.mockito @@ -291,20 +304,20 @@ org.hibernate - hibernate-entitymanager - 5.3.2.Final + hibernate-core + 5.4.24.Final mysql mysql-connector-java - 8.0.16 + 8.0.28 com.fasterxml.jackson.core jackson-databind - 2.10.0.pr1 + 2.12.6.1 @@ -336,7 +349,7 @@ commons-fileupload commons-fileupload - 1.3.3 + 1.5 commons-io @@ -347,7 +360,12 @@ org.apache.tika tika-core - 1.22 + 1.28.3 + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + 2.12.6 @@ -360,6 +378,7 @@ **/*.woff **/*.ttf + **/*.woff2 @@ -367,7 +386,7 @@ org.apache.maven.plugins maven-war-plugin - 2.6 + 3.3.1 @@ -378,9 +397,8 @@ **/*.woff - **/*.woff2 **/*.ttf - **/*.eot + **/*.woff2 @@ -390,8 +408,8 @@ maven-compiler-plugin - 11 - 11 + 1.8 + 1.8 @@ -406,5 +424,4 @@ - - + \ No newline at end of file From fda36664f1a2777347721649b336227af48aa4ae Mon Sep 17 00:00:00 2001 From: ajay Yadav Date: Fri, 15 Nov 2024 12:32:01 -0700 Subject: [PATCH 23/37] VSPC-196 fixed broken link --- vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html b/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html index 53b98fe99..dc826ce83 100644 --- a/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html +++ b/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html @@ -1566,8 +1566,9 @@ $("#createModuleLinkAlert").hide(); $("#errorMsg").text(""); $("#module-selectedImage").empty(); - $("#module-imageId").value(""); + $("#module-imageId").val(null).trigger('change'); $('#errorAlert').hide(); + console.log("Success"); $("."+linkData["id"]).remove(); form[0].reset(); $("#space").css("display", "none"); From 8f67f83dcd2ffdcce810eb692b960811976a6625 Mon Sep 17 00:00:00 2001 From: ajay Yadav Date: Wed, 20 Nov 2024 16:02:08 -0700 Subject: [PATCH 24/37] Revert "VSPC-196 fixed broken link" This reverts commit fda36664f1a2777347721649b336227af48aa4ae. revert --- vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html b/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html index dc826ce83..53b98fe99 100644 --- a/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html +++ b/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html @@ -1566,9 +1566,8 @@ $("#createModuleLinkAlert").hide(); $("#errorMsg").text(""); $("#module-selectedImage").empty(); - $("#module-imageId").val(null).trigger('change'); + $("#module-imageId").value(""); $('#errorAlert').hide(); - console.log("Success"); $("."+linkData["id"]).remove(); form[0].reset(); $("#space").css("display", "none"); From 574a8fedc145bb2057028893986f938421b2d64f Mon Sep 17 00:00:00 2001 From: ajay Yadav Date: Wed, 20 Nov 2024 16:09:23 -0700 Subject: [PATCH 25/37] Revert "Revert "VSPC-196 fixed broken link"" This reverts commit 8f67f83dcd2ffdcce810eb692b960811976a6625. changeing it back --- vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html b/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html index 53b98fe99..dc826ce83 100644 --- a/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html +++ b/vspace/src/main/webapp/WEB-INF/views/staff/spaces/space.html @@ -1566,8 +1566,9 @@ $("#createModuleLinkAlert").hide(); $("#errorMsg").text(""); $("#module-selectedImage").empty(); - $("#module-imageId").value(""); + $("#module-imageId").val(null).trigger('change'); $('#errorAlert').hide(); + console.log("Success"); $("."+linkData["id"]).remove(); form[0].reset(); $("#space").css("display", "none"); From 36642137cf1152d84bab75a0abbb6239696fb440 Mon Sep 17 00:00:00 2001 From: ajay3568yadav <89062459+ajay3568yadav@users.noreply.github.com> Date: Wed, 20 Nov 2024 16:25:01 -0700 Subject: [PATCH 26/37] Update pom.xml --- vspace/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vspace/pom.xml b/vspace/pom.xml index 3dfbf265b..43423e53c 100644 --- a/vspace/pom.xml +++ b/vspace/pom.xml @@ -424,4 +424,4 @@ - \ No newline at end of file + From b961df065b6f8831c786693319ad0f5cbd715176 Mon Sep 17 00:00:00 2001 From: ajay Yadav Date: Wed, 4 Dec 2024 16:53:52 -0700 Subject: [PATCH 27/37] VSPC-196 review commnets and other error fixes --- .../web/staff/EditExternalLinkController.java | 14 ++--- .../web/staff/StaffSpaceSearchController.java | 59 ------------------- .../resources/exhibitionLanguages.properties | 4 +- 3 files changed, 9 insertions(+), 68 deletions(-) delete mode 100644 vspace/src/main/java/edu/asu/diging/vspace/web/staff/StaffSpaceSearchController.java diff --git a/vspace/src/main/java/edu/asu/diging/vspace/web/staff/EditExternalLinkController.java b/vspace/src/main/java/edu/asu/diging/vspace/web/staff/EditExternalLinkController.java index 598b8a626..01c89de44 100644 --- a/vspace/src/main/java/edu/asu/diging/vspace/web/staff/EditExternalLinkController.java +++ b/vspace/src/main/java/edu/asu/diging/vspace/web/staff/EditExternalLinkController.java @@ -31,13 +31,13 @@ public class EditExternalLinkController extends EditSpaceLinksController { private IExternalLinkManager externalLinkManager; @RequestMapping(value = "/staff/space/link/external/{id}", method = RequestMethod.POST) - public ResponseEntity createExternalLink(@PathVariable("id") String id, @RequestParam("x") String x, - @RequestParam("y") String y, @RequestParam("externalLinkLabel") String title, - @RequestParam("url") String externalLink, - @RequestParam("externalLinkIdValueEdit") String externalLinkIdValueEdit, - @RequestParam("externalLinkDisplayId") String externalLinkDisplayId, - @RequestParam("tabOpen") String howToOpen, @RequestParam("type") String displayType, - @RequestParam("editExternalLinkInfoImage") MultipartFile file, + public ResponseEntity createExternalLink(@PathVariable("id") String id, @RequestParam("x") String x, + @RequestParam("y") String y, @RequestParam("externalLinkLabel") String title, + @RequestParam("url") String externalLink, + @RequestParam("externalLinkIdValueEdit") String externalLinkIdValueEdit, + @RequestParam("externalLinkDisplayId") String externalLinkDisplayId, + @RequestParam("tabOpen") String howToOpen, @RequestParam("type") String displayType, + @RequestParam("editExternalLinkInfoImage") MultipartFile file, @RequestParam(value = "editExternalLinkInfo-imageId", required = false) String imageId) throws SpaceDoesNotExistException, IOException, LinkDoesNotExistsException, NumberFormatException, ImageCouldNotBeStoredException, ImageDoesNotExistException { diff --git a/vspace/src/main/java/edu/asu/diging/vspace/web/staff/StaffSpaceSearchController.java b/vspace/src/main/java/edu/asu/diging/vspace/web/staff/StaffSpaceSearchController.java deleted file mode 100644 index 89d4b6d65..000000000 --- a/vspace/src/main/java/edu/asu/diging/vspace/web/staff/StaffSpaceSearchController.java +++ /dev/null @@ -1,59 +0,0 @@ -package edu.asu.diging.vspace.web.staff; - -import java.util.List; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; - -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.ArrayNode; -import com.fasterxml.jackson.databind.node.ObjectNode; - -import edu.asu.diging.vspace.core.model.ISpace; -import edu.asu.diging.vspace.core.services.ISpaceManager; - -@Controller -public class StaffSpaceSearchController { - - /** - * This method handles requests to search for spaces based on a search term. - * If the search term is provided and is not empty, it retrieves the list of spaces - * whose names match the search term. Otherwise, it retrieves all spaces. - * The method then constructs a JSON array of the space IDs and names, and - * returns this array as a response entity with HTTP status OK. - * - * @param search This is the search term used to find spaces by name. - * @return A ResponseEntity containing a JSON array of spaces (ID and name) and HTTP status OK. - */ - - @Autowired - private ISpaceManager spaceManager; - - @RequestMapping("/staff/spaces/search") - public ResponseEntity search(@RequestParam(value = "term", required = false) String search){ - List spaces = null; - if (search != null && !search.trim().isEmpty()) { - spaces = spaceManager.findByName(search); - } else { - spaces = spaceManager.getAllSpaces(); - } - - ObjectMapper mapper = new ObjectMapper(); - ArrayNode idArray = mapper.createArrayNode(); - for (ISpace space : spaces) { - ObjectNode spaceNode = mapper.createObjectNode(); - spaceNode.put("id", space.getId()); - spaceNode.put("name", space.getName()); - idArray.add(spaceNode); - } - return new ResponseEntity(idArray.toString(), HttpStatus.OK); - } - - - - -} diff --git a/vspace/src/main/resources/exhibitionLanguages.properties b/vspace/src/main/resources/exhibitionLanguages.properties index bf7c38419..2ed7057b2 100644 --- a/vspace/src/main/resources/exhibitionLanguages.properties +++ b/vspace/src/main/resources/exhibitionLanguages.properties @@ -119,7 +119,7 @@ { "code": "na", "label": "Nauru" }, { "code": "nb", - "label": "BokmĂ‚l, Norwegian; Norwegian BokmĂ‚l" + "label": "Bokm\uFFFDl, Norwegian; Norwegian Bokm\uFFFDl" }, { "code": "nd", "label": "Ndebele, North; North Ndebele" }, { "code": "ne", "label": "Nepali" }, @@ -184,7 +184,7 @@ { "code": "uz", "label": "Uzbek" }, { "code": "ve", "label": "Venda" }, { "code": "vi", "label": "Vietlabelse" }, - { "code": "vo", "label": "Volap¸k" }, + { "code": "vo", "label": "Volap\uFFFDk" }, { "code": "wa", "label": "Walloon" }, { "code": "wo", "label": "Wolof" }, { "code": "xh", "label": "Xhosa" }, From 62d4b17011653562e0f5af45d57a5b2e65664af7 Mon Sep 17 00:00:00 2001 From: ajay Yadav Date: Fri, 6 Dec 2024 12:54:30 -0700 Subject: [PATCH 28/37] VSPC-196 fixed test cases --- .../impl/ExternalLinkManagerTest.java | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/vspace/src/test/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManagerTest.java b/vspace/src/test/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManagerTest.java index f7ec5b68c..643f71d5e 100644 --- a/vspace/src/test/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManagerTest.java +++ b/vspace/src/test/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManagerTest.java @@ -89,7 +89,7 @@ public void test_createLink_success() throws SpaceDoesNotExistException, ImageCo Mockito.when(spaceManager.getSpace(spaceId1)).thenReturn(space); Mockito.when(externalLinkFactory.createExternalLink("New External Link", space)).thenReturn(externalLink); - Mockito.when(externalLinkRepo.save((ExternalLink) externalLink)).thenReturn((ExternalLink)externalLink); + Mockito.when(externalLinkRepo.save((ExternalLink) externalLink)).thenReturn((ExternalLink) externalLink); IExternalLinkDisplay externalDisplayLink = new ExternalLinkDisplay(); externalDisplayLink.setId("EXLD001"); @@ -101,10 +101,25 @@ public void test_createLink_success() throws SpaceDoesNotExistException, ImageCo externalDisplayLink.setExternalLink(externalLink); Mockito.when(externalLinkDisplayFactory.createExternalLinkDisplay(externalLink)).thenReturn(externalDisplayLink); - Mockito.when(externalLinkRepo.save((ExternalLink) externalLink)).thenReturn((ExternalLink)externalLink); - Mockito.when(externalLinkDisplayRepo.save((ExternalLinkDisplay)externalDisplayLink)).thenReturn((ExternalLinkDisplay)externalDisplayLink); + Mockito.when(externalLinkRepo.save((ExternalLink) externalLink)).thenReturn((ExternalLink) externalLink); + Mockito.when(externalLinkDisplayRepo.save((ExternalLinkDisplay) externalDisplayLink)).thenReturn((ExternalLinkDisplay) externalDisplayLink); + + + IExternalLinkDisplay savedExternalLinkDisplay1 = managerToTest.createLink( + "New External Link", + spaceId1, + 10, + 30, + "EXL001", + "New External Link", + "Description here", + DisplayType.ARROW, + null, + null, + ExternalLinkDisplayMode.INLINE, + "IMG001" + ); - IExternalLinkDisplay savedExternalLinkDisplay1 = managerToTest.createLink("New External Link", spaceId1, 10, 30, 40, "EXL001", "New External Link", DisplayType.ARROW, null, null,null); Assert.assertEquals(externalDisplayLink.getId(), savedExternalLinkDisplay1.getId()); Assert.assertEquals(externalDisplayLink.getName(), savedExternalLinkDisplay1.getName()); Assert.assertEquals(new Double(externalDisplayLink.getPositionX()), new Double(savedExternalLinkDisplay1.getPositionX())); @@ -113,9 +128,10 @@ public void test_createLink_success() throws SpaceDoesNotExistException, ImageCo Assert.assertEquals(externalDisplayLink.getType(), savedExternalLinkDisplay1.getType()); Assert.assertEquals(externalDisplayLink.getExternalLink(), savedExternalLinkDisplay1.getExternalLink()); Assert.assertEquals(externalDisplayLink.getExternalLink().getTarget().getValue(), savedExternalLinkDisplay1.getExternalLink().getTarget().getValue()); - Mockito.verify(externalLinkDisplayRepo).save((ExternalLinkDisplay)externalDisplayLink); + Mockito.verify(externalLinkDisplayRepo).save((ExternalLinkDisplay) externalDisplayLink); } + @Test public void test_updateLink_success() throws SpaceDoesNotExistException, LinkDoesNotExistsException, ImageCouldNotBeStoredException { ISpace space = new Space(); From 5e06a9c67ae23580f8d7811b3f84afdaf67c5df2 Mon Sep 17 00:00:00 2001 From: ajay Yadav Date: Fri, 13 Dec 2024 14:44:03 -0700 Subject: [PATCH 29/37] VSPC-196 test fixed --- .../impl/ExternalLinkManagerTest.java | 33 +++++-------------- 1 file changed, 9 insertions(+), 24 deletions(-) diff --git a/vspace/src/test/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManagerTest.java b/vspace/src/test/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManagerTest.java index 643f71d5e..b06231e37 100644 --- a/vspace/src/test/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManagerTest.java +++ b/vspace/src/test/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManagerTest.java @@ -15,6 +15,7 @@ import edu.asu.diging.vspace.core.data.ExternalLinkDisplayRepository; import edu.asu.diging.vspace.core.data.ExternalLinkRepository; import edu.asu.diging.vspace.core.exception.ImageCouldNotBeStoredException; +import edu.asu.diging.vspace.core.exception.ImageDoesNotExistException; import edu.asu.diging.vspace.core.exception.LinkDoesNotExistsException; import edu.asu.diging.vspace.core.exception.SpaceDoesNotExistException; import edu.asu.diging.vspace.core.factory.IExternalLinkDisplayFactory; @@ -66,7 +67,7 @@ public void init() { } @Test - public void test_createLink_success() throws SpaceDoesNotExistException, ImageCouldNotBeStoredException { + public void test_createLink_success() throws SpaceDoesNotExistException, ImageCouldNotBeStoredException, ImageDoesNotExistException { Space space = new Space(); space.setId(spaceId1); @@ -89,7 +90,7 @@ public void test_createLink_success() throws SpaceDoesNotExistException, ImageCo Mockito.when(spaceManager.getSpace(spaceId1)).thenReturn(space); Mockito.when(externalLinkFactory.createExternalLink("New External Link", space)).thenReturn(externalLink); - Mockito.when(externalLinkRepo.save((ExternalLink) externalLink)).thenReturn((ExternalLink) externalLink); + Mockito.when(externalLinkRepo.save((ExternalLink) externalLink)).thenReturn((ExternalLink)externalLink); IExternalLinkDisplay externalDisplayLink = new ExternalLinkDisplay(); externalDisplayLink.setId("EXLD001"); @@ -101,25 +102,10 @@ public void test_createLink_success() throws SpaceDoesNotExistException, ImageCo externalDisplayLink.setExternalLink(externalLink); Mockito.when(externalLinkDisplayFactory.createExternalLinkDisplay(externalLink)).thenReturn(externalDisplayLink); - Mockito.when(externalLinkRepo.save((ExternalLink) externalLink)).thenReturn((ExternalLink) externalLink); - Mockito.when(externalLinkDisplayRepo.save((ExternalLinkDisplay) externalDisplayLink)).thenReturn((ExternalLinkDisplay) externalDisplayLink); - - - IExternalLinkDisplay savedExternalLinkDisplay1 = managerToTest.createLink( - "New External Link", - spaceId1, - 10, - 30, - "EXL001", - "New External Link", - "Description here", - DisplayType.ARROW, - null, - null, - ExternalLinkDisplayMode.INLINE, - "IMG001" - ); + Mockito.when(externalLinkRepo.save((ExternalLink) externalLink)).thenReturn((ExternalLink)externalLink); + Mockito.when(externalLinkDisplayRepo.save((ExternalLinkDisplay)externalDisplayLink)).thenReturn((ExternalLinkDisplay)externalDisplayLink); + IExternalLinkDisplay savedExternalLinkDisplay1 = managerToTest.createLink("New External Link","EXL001", 10.0f, 30.0f, 40, "EXL001", "New External Link", "Description", DisplayType.ARROW, null, null, null, null); Assert.assertEquals(externalDisplayLink.getId(), savedExternalLinkDisplay1.getId()); Assert.assertEquals(externalDisplayLink.getName(), savedExternalLinkDisplay1.getName()); Assert.assertEquals(new Double(externalDisplayLink.getPositionX()), new Double(savedExternalLinkDisplay1.getPositionX())); @@ -128,12 +114,11 @@ public void test_createLink_success() throws SpaceDoesNotExistException, ImageCo Assert.assertEquals(externalDisplayLink.getType(), savedExternalLinkDisplay1.getType()); Assert.assertEquals(externalDisplayLink.getExternalLink(), savedExternalLinkDisplay1.getExternalLink()); Assert.assertEquals(externalDisplayLink.getExternalLink().getTarget().getValue(), savedExternalLinkDisplay1.getExternalLink().getTarget().getValue()); - Mockito.verify(externalLinkDisplayRepo).save((ExternalLinkDisplay) externalDisplayLink); + Mockito.verify(externalLinkDisplayRepo).save((ExternalLinkDisplay)externalDisplayLink); } - @Test - public void test_updateLink_success() throws SpaceDoesNotExistException, LinkDoesNotExistsException, ImageCouldNotBeStoredException { + public void test_updateLink_success() throws SpaceDoesNotExistException, LinkDoesNotExistsException, ImageCouldNotBeStoredException, ImageDoesNotExistException { ISpace space = new Space(); space.setId(spaceId1); IVSImage spaceImage = new VSImage(); @@ -172,7 +157,7 @@ public void test_updateLink_success() throws SpaceDoesNotExistException, LinkDoe Mockito.when(externalLinkRepo.save((ExternalLink) externalLink)).thenReturn((ExternalLink)externalLink); Mockito.when(externalLinkDisplayRepo.save((ExternalLinkDisplay)externalLinkDisplay)).thenReturn((ExternalLinkDisplay)externalLinkDisplay); - IExternalLinkDisplay actualUpdatedLink = managerToTest.updateLink("TestExternalNew", spaceId1, 20, 40, 0, "www.google.com", "TestExternalNew", "EXL001", "EXLD001", DisplayType.ARROW, null, null,null); + IExternalLinkDisplay actualUpdatedLink = managerToTest.updateLink("TestExternalNew", spaceId1, 20.0f, 40.0f, 0, "www.google.com", "TestExternalNew", "Description", "EXL001", "EXLD001", DisplayType.ARROW, null, null, null, null); Assert.assertEquals(externalLinkDisplay.getId(), actualUpdatedLink.getId()); Assert.assertEquals(externalLinkDisplay.getName(), actualUpdatedLink.getName()); Assert.assertEquals(new Double(externalLinkDisplay.getPositionX()), new Double(actualUpdatedLink.getPositionX())); From d836461f997f86945fe731f25d1aba4d8b76a588 Mon Sep 17 00:00:00 2001 From: ajay Yadav Date: Fri, 13 Dec 2024 14:57:18 -0700 Subject: [PATCH 30/37] VSPC-196 indentation review comment --- .../vspace/web/staff/EditExternalLinkController.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/vspace/src/main/java/edu/asu/diging/vspace/web/staff/EditExternalLinkController.java b/vspace/src/main/java/edu/asu/diging/vspace/web/staff/EditExternalLinkController.java index 01c89de44..2726d906d 100644 --- a/vspace/src/main/java/edu/asu/diging/vspace/web/staff/EditExternalLinkController.java +++ b/vspace/src/main/java/edu/asu/diging/vspace/web/staff/EditExternalLinkController.java @@ -55,13 +55,13 @@ public ResponseEntity createExternalLink(@PathVariable("id") String id, } DisplayType type = displayType.isEmpty() ? null : DisplayType.valueOf(displayType); ExternalLinkDisplayMode externalLinkOpenMode = howToOpen.isEmpty() ? null - : ExternalLinkDisplayMode.valueOf(howToOpen); + : ExternalLinkDisplayMode.valueOf(howToOpen); IExternalLinkDisplay display = (IExternalLinkDisplay) externalLinkManager.updateLink(title, id, new Float(x), - new Float(y), 0, externalLink, title,desc, externalLinkIdValueEdit, externalLinkDisplayId, type, linkImage, + new Float(y), 0, externalLink, title,desc, externalLinkIdValueEdit, externalLinkDisplayId, type, linkImage, filename, imageId); return success(display.getExternalLink().getId(), display.getId(), display.getPositionX(), - display.getPositionY(), display.getRotation(), display.getExternalLink().getExternalLink(), title, - displayType, null, null); + display.getPositionY(), display.getRotation(), display.getExternalLink().getExternalLink(), title, + displayType, null, null); } } \ No newline at end of file From 3d1e014436538c84e8b8589b0ead2773579bd268 Mon Sep 17 00:00:00 2001 From: ajay Yadav Date: Tue, 7 Jan 2025 02:44:38 +0530 Subject: [PATCH 31/37] VSPC-196 compilation errors fixed --- .../diging/vspace/core/services/impl/SpaceManager.java | 9 --------- 1 file changed, 9 deletions(-) diff --git a/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/SpaceManager.java b/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/SpaceManager.java index e1126749f..d7a2d3a56 100644 --- a/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/SpaceManager.java +++ b/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/SpaceManager.java @@ -314,15 +314,6 @@ public Page findByNameOrDescription(Pageable requestedPage, String searc return spaceRepo.findDistinctByNameContainingOrDescriptionContaining(requestedPage, searchText,searchText); } - @Override - public List findByName(String searchText){ - String searchTerm = "%" + searchText + "%"; - List spaces = spaceRepo.findByNameLike(searchTerm); - List spaceResults = new ArrayList<>(); - spaces.forEach(r -> spaceResults.add(r)); - return spaceResults; - } - @Override public List getSpaces(int pageNo) { return getSpaces(pageNo, SortByField.CREATION_DATE.getValue(), Sort.Direction.DESC.toString()); From 628a36d23b8ed71aa7c7e5d43582280459d8157f Mon Sep 17 00:00:00 2001 From: ajay Yadav Date: Thu, 9 Jan 2025 01:36:30 +0530 Subject: [PATCH 32/37] VSPC-196 added exception handler --- .../vspace/core/services/impl/ExternalLinkManager.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManager.java b/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManager.java index 95b963ee3..5109afa83 100644 --- a/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManager.java +++ b/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManager.java @@ -115,7 +115,7 @@ protected void deleteLinkRepo(IExternalLink link) { public IExternalLinkDisplay createLink(String title, String id, float positionX, float positionY, int rotation, String linkedId, String linkLabel, String desc, DisplayType displayType, byte[] linkImage, String imageFilename, ExternalLinkDisplayMode howToOpen, String imageId ) - throws SpaceDoesNotExistException, ImageCouldNotBeStoredException, SpaceDoesNotExistException, ImageDoesNotExistException { + throws SpaceDoesNotExistException, ImageCouldNotBeStoredException, SpaceDoesNotExistException, ImageDoesNotExistException, NullpointerException { /* @@ -127,6 +127,9 @@ public IExternalLinkDisplay createLink(String title, String id, float positionX, */ IExternalLinkDisplay externalLinkDisplay = createLink(title, id, positionX, positionY, rotation, linkedId, linkLabel, desc, displayType, linkImage, imageFilename, imageId); + if (externalLinkDisplay == null) { + throw new NullPointerException("ExternalLinkDisplay object is null"); + } externalLinkDisplay.setHowToOpen(howToOpen); return externalLinkDisplay; From 6b5abca11560e691b2186f152f74c84df017a9a8 Mon Sep 17 00:00:00 2001 From: ajay Yadav Date: Fri, 10 Jan 2025 01:54:13 +0530 Subject: [PATCH 33/37] VSPC-196 build failur fix added exceptions handlers --- .../services/impl/ExternalLinkManager.java | 5 +---- .../vspace/core/services/impl/LinkManager.java | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManager.java b/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManager.java index 5109afa83..619ac5f41 100644 --- a/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManager.java +++ b/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManager.java @@ -115,7 +115,7 @@ protected void deleteLinkRepo(IExternalLink link) { public IExternalLinkDisplay createLink(String title, String id, float positionX, float positionY, int rotation, String linkedId, String linkLabel, String desc, DisplayType displayType, byte[] linkImage, String imageFilename, ExternalLinkDisplayMode howToOpen, String imageId ) - throws SpaceDoesNotExistException, ImageCouldNotBeStoredException, SpaceDoesNotExistException, ImageDoesNotExistException, NullpointerException { + throws SpaceDoesNotExistException, ImageCouldNotBeStoredException, ImageDoesNotExistException { /* @@ -127,9 +127,6 @@ public IExternalLinkDisplay createLink(String title, String id, float positionX, */ IExternalLinkDisplay externalLinkDisplay = createLink(title, id, positionX, positionY, rotation, linkedId, linkLabel, desc, displayType, linkImage, imageFilename, imageId); - if (externalLinkDisplay == null) { - throw new NullPointerException("ExternalLinkDisplay object is null"); - } externalLinkDisplay.setHowToOpen(howToOpen); return externalLinkDisplay; diff --git a/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/LinkManager.java b/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/LinkManager.java index ff71d4ef1..e9bc602de 100644 --- a/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/LinkManager.java +++ b/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/LinkManager.java @@ -63,8 +63,24 @@ public abstract class LinkManager, T extends IVSpaceElement, @Override public U createLink(String title, String id, float positionX, float positionY, int rotation, String linkedId, String linkLabel, String linkDesc, DisplayType displayType, byte[] linkImage, String imageFilename, String existingImageId) - throws SpaceDoesNotExistException, ImageCouldNotBeStoredException, SpaceDoesNotExistException, ImageDoesNotExistException { + throws SpaceDoesNotExistException, ImageCouldNotBeStoredException, ImageDoesNotExistException { + if (title == null || title.trim().isEmpty()) { + throw new IllegalArgumentException("Title cannot be null or empty."); + } + if (id == null || id.trim().isEmpty()) { + throw new IllegalArgumentException("ID cannot be null or empty."); + } + if (linkedId == null || linkedId.trim().isEmpty()) { + throw new SpaceDoesNotExistException("Linked ID cannot be null or empty."); + } + if (displayType == null) { + throw new IllegalArgumentException("DisplayType cannot be null."); + } + if ((linkImage == null || linkImage.length == 0) && (existingImageId == null || existingImageId.trim().isEmpty())) { + throw new ImageDoesNotExistException("Either linkImage or existingImageId must be provided."); + } + L link = createLinkObject(title, id); T target = getTarget(linkedId); link.setName(linkLabel); From c8814843ac96d449276b0c0049175becaad898f9 Mon Sep 17 00:00:00 2001 From: ajay Yadav Date: Fri, 24 Jan 2025 07:31:42 -0700 Subject: [PATCH 34/37] VSPC-196 build errors fixed --- .../vspace/core/services/impl/ExternalLinkManagerTest.java | 2 +- .../diging/vspace/core/services/impl/ModuleLinkManagerTest.java | 2 +- .../diging/vspace/core/services/impl/SpaceLinkManagerTest.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/vspace/src/test/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManagerTest.java b/vspace/src/test/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManagerTest.java index b06231e37..a17d2458f 100644 --- a/vspace/src/test/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManagerTest.java +++ b/vspace/src/test/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManagerTest.java @@ -105,7 +105,7 @@ public void test_createLink_success() throws SpaceDoesNotExistException, ImageCo Mockito.when(externalLinkRepo.save((ExternalLink) externalLink)).thenReturn((ExternalLink)externalLink); Mockito.when(externalLinkDisplayRepo.save((ExternalLinkDisplay)externalDisplayLink)).thenReturn((ExternalLinkDisplay)externalDisplayLink); - IExternalLinkDisplay savedExternalLinkDisplay1 = managerToTest.createLink("New External Link","EXL001", 10.0f, 30.0f, 40, "EXL001", "New External Link", "Description", DisplayType.ARROW, null, null, null, null); + IExternalLinkDisplay savedExternalLinkDisplay1 = managerToTest.createLink("New External Link","EXL001", 10.0f, 30.0f, 40, "EXL001", "New External Link", "Description", DisplayType.ARROW, null, null, null, "IMG000000001"); Assert.assertEquals(externalDisplayLink.getId(), savedExternalLinkDisplay1.getId()); Assert.assertEquals(externalDisplayLink.getName(), savedExternalLinkDisplay1.getName()); Assert.assertEquals(new Double(externalDisplayLink.getPositionX()), new Double(savedExternalLinkDisplay1.getPositionX())); diff --git a/vspace/src/test/java/edu/asu/diging/vspace/core/services/impl/ModuleLinkManagerTest.java b/vspace/src/test/java/edu/asu/diging/vspace/core/services/impl/ModuleLinkManagerTest.java index ca75a6b77..4c5e35af6 100644 --- a/vspace/src/test/java/edu/asu/diging/vspace/core/services/impl/ModuleLinkManagerTest.java +++ b/vspace/src/test/java/edu/asu/diging/vspace/core/services/impl/ModuleLinkManagerTest.java @@ -164,7 +164,7 @@ public void test_createLink_success() throws SpaceDoesNotExistException, ImageCo Mockito.when(moduleLinkRepo.save((ModuleLink) moduleLink)).thenReturn((ModuleLink)moduleLink); Mockito.when(moduleLinkDisplayRepo.save((ModuleLinkDisplay)moduleDisplayLinkImage)).thenReturn((ModuleLinkDisplay)moduleDisplayLinkImage); - IModuleLinkDisplay savedModuleLinkDisplay2 = managerToTest.createLink("New Module Link", spaceId1, 10, 30, 40, "MOD001", "New Module Link", "New Module Link Desc", DisplayType.IMAGE, new byte[20], imageFileName, null); + IModuleLinkDisplay savedModuleLinkDisplay2 = managerToTest.createLink("New Module Link", spaceId1, 10, 30, 40, "MOD001", "New Module Link", "New Module Link Desc", DisplayType.IMAGE, new byte[20], imageFileName, "IMG000000001"); Assert.assertEquals(moduleDisplayLinkImage.getId(), savedModuleLinkDisplay2.getId()); Assert.assertEquals(moduleDisplayLinkImage.getName(), savedModuleLinkDisplay2.getName()); Assert.assertEquals(new Double(moduleDisplayLinkImage.getPositionX()), new Double(savedModuleLinkDisplay2.getPositionX())); diff --git a/vspace/src/test/java/edu/asu/diging/vspace/core/services/impl/SpaceLinkManagerTest.java b/vspace/src/test/java/edu/asu/diging/vspace/core/services/impl/SpaceLinkManagerTest.java index e02e6fac4..894f564df 100644 --- a/vspace/src/test/java/edu/asu/diging/vspace/core/services/impl/SpaceLinkManagerTest.java +++ b/vspace/src/test/java/edu/asu/diging/vspace/core/services/impl/SpaceLinkManagerTest.java @@ -128,7 +128,7 @@ public void test_createLink_success() throws SpaceDoesNotExistException, ImageCo Mockito.when(spaceLinkRepo.save((SpaceLink) spaceLink)).thenReturn((SpaceLink)spaceLink); Mockito.when(spaceLinkDisplayRepo.save((SpaceLinkDisplay)spaceDisplayLink)).thenReturn((SpaceLinkDisplay)spaceDisplayLink); - ISpaceLinkDisplay savedSpaceLinkDisplay = managerToTest.createLink("New Space Link", spaceId1, 10, 30, 40, spaceId2, "New Space Link", "New Space Link Desc", DisplayType.ARROW, null, null, null); + ISpaceLinkDisplay savedSpaceLinkDisplay = managerToTest.createLink("New Space Link", spaceId1, 10, 30, 40, spaceId2, "New Space Link", "New Space Link Desc", DisplayType.ARROW, null, null, "IMG000000001"); Assert.assertEquals(spaceDisplayLink.getId(), savedSpaceLinkDisplay.getId()); Assert.assertEquals(spaceDisplayLink.getName(), savedSpaceLinkDisplay.getName()); Assert.assertEquals(new Double(spaceDisplayLink.getPositionX()), new Double(savedSpaceLinkDisplay.getPositionX())); From 0ee7527fedafb93889933708e505e25b4a4697e4 Mon Sep 17 00:00:00 2001 From: ajay Yadav Date: Fri, 7 Feb 2025 15:31:21 -0700 Subject: [PATCH 35/37] VSPC-196 review comments --- vspace/src/main/resources/exhibitionLanguages.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vspace/src/main/resources/exhibitionLanguages.properties b/vspace/src/main/resources/exhibitionLanguages.properties index 2ed7057b2..6c009aa24 100644 --- a/vspace/src/main/resources/exhibitionLanguages.properties +++ b/vspace/src/main/resources/exhibitionLanguages.properties @@ -119,7 +119,7 @@ { "code": "na", "label": "Nauru" }, { "code": "nb", - "label": "Bokm\uFFFDl, Norwegian; Norwegian Bokm\uFFFDl" + "label": "Bokml, Norwegian; Norwegian Bokml" }, { "code": "nd", "label": "Ndebele, North; North Ndebele" }, { "code": "ne", "label": "Nepali" }, @@ -184,7 +184,7 @@ { "code": "uz", "label": "Uzbek" }, { "code": "ve", "label": "Venda" }, { "code": "vi", "label": "Vietlabelse" }, - { "code": "vo", "label": "Volap\uFFFDk" }, + { "code": "vo", "label": "Volapk" }, { "code": "wa", "label": "Walloon" }, { "code": "wo", "label": "Wolof" }, { "code": "xh", "label": "Xhosa" }, From 9a875e661c54b5b008cf393f25fe2e61b01552dc Mon Sep 17 00:00:00 2001 From: ajay3568yadav Date: Thu, 26 Jun 2025 16:28:11 -0700 Subject: [PATCH 36/37] VSPC-196 bug fix attempt --- .../diging/vspace/config/VSpaceConfig.java | 2 +- .../core/services/impl/LinkManager.java | 4 ---- .../core/services/impl/SpaceManager.java | 19 ++++++++----------- 3 files changed, 9 insertions(+), 16 deletions(-) diff --git a/vspace/src/main/java/edu/asu/diging/vspace/config/VSpaceConfig.java b/vspace/src/main/java/edu/asu/diging/vspace/config/VSpaceConfig.java index de420a0ba..c9f210346 100644 --- a/vspace/src/main/java/edu/asu/diging/vspace/config/VSpaceConfig.java +++ b/vspace/src/main/java/edu/asu/diging/vspace/config/VSpaceConfig.java @@ -13,7 +13,7 @@ @EnableAspectJAutoProxy @ComponentScan({"edu.asu.diging.vspace", "edu.asu.diging.simpleusers"}) @EnableWebMvc -@PropertySource({"classpath:config.properties", "${appConfigFile:classpath:}/app.properties"}) +@PropertySource({"classpath:config.properties", "${appConfigFile:classpath:app.properties}"}) public class VSpaceConfig { @Value("${max_upload_size}") diff --git a/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/LinkManager.java b/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/LinkManager.java index 5476ff79c..be144c8a6 100644 --- a/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/LinkManager.java +++ b/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/LinkManager.java @@ -160,7 +160,6 @@ protected void setDisplayProperties(ILinkDisplay linkDisplay, String id, float p linkDisplay.setImage(image); } } -<<<<<<< HEAD protected void setDisplayProperties(ILinkDisplay linkDisplay, float positionX, float positionY, int rotation, DisplayType displayType, String existingImageId) throws ImageCouldNotBeStoredException, ImageDoesNotExistException { @@ -173,6 +172,3 @@ protected void setDisplayProperties(ILinkDisplay linkDisplay, float positionX, f } } -======= -} ->>>>>>> origin diff --git a/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/SpaceManager.java b/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/SpaceManager.java index 9540b662a..6b70a28ff 100644 --- a/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/SpaceManager.java +++ b/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/SpaceManager.java @@ -323,16 +323,14 @@ public Page findByNameOrDescription(Pageable requestedPage, String searc return spaceRepo.findDistinctByNameContainingOrDescriptionContaining(requestedPage, searchText,searchText); } - @Override -<<<<<<< HEAD -======= - public List findByName(String searchText){ - String searchTerm = "%" + searchText + "%"; - List spaces = spaceRepo.findByNameLike(searchTerm); - List spaceResults = new ArrayList<>(); - spaces.forEach(r -> spaceResults.add(r)); - return spaceResults; - } +// @Override +// public List findByName(String searchText){ +// String searchTerm = "%" + searchText + "%"; +// List spaces = spaceRepo.findByNameLike(searchTerm); +// List spaceResults = new ArrayList<>(); +// spaces.forEach(r -> spaceResults.add(r)); +// return spaceResults; +// } @Override public List findByNamePaginated(String searchText, int page, int pageSize) { @@ -345,7 +343,6 @@ public List findByNamePaginated(String searchText, int page, int pageSiz } @Override ->>>>>>> origin public List getSpaces(int pageNo) { return getSpaces(pageNo, SortByField.CREATION_DATE.getValue(), Sort.Direction.DESC.toString()); } From 939ee9be108f48a657aa0abafeeb09904c5ca946 Mon Sep 17 00:00:00 2001 From: ajay3568yadav Date: Fri, 11 Jul 2025 12:36:26 -0700 Subject: [PATCH 37/37] VSPC-196 build fail fix --- .../vspace/core/services/impl/ExternalLinkManager.java | 5 ++++- .../asu/diging/vspace/core/services/impl/LinkManager.java | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManager.java b/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManager.java index 619ac5f41..97ce43d0e 100644 --- a/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManager.java +++ b/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/ExternalLinkManager.java @@ -56,8 +56,11 @@ public List getLinkDisplays(String spaceId) { } @Override - protected IExternalLink createLinkObject(String title, String id) { + protected IExternalLink createLinkObject(String title, String id) throws SpaceDoesNotExistException { ISpace source = spaceManager.getSpace(id); + if (source == null) { + throw new SpaceDoesNotExistException("Space with id '" + id + "' does not exist."); + } IExternalLink link = externalLinkFactory.createExternalLink(title, source); return externalLinkRepo.save((ExternalLink) link); } diff --git a/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/LinkManager.java b/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/LinkManager.java index be144c8a6..b1417dcf6 100644 --- a/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/LinkManager.java +++ b/vspace/src/main/java/edu/asu/diging/vspace/core/services/impl/LinkManager.java @@ -54,7 +54,7 @@ public abstract class LinkManager, T extends IVSpaceElement, protected abstract L getLink(String linkId); - protected abstract L createLinkObject(String title, String id); + protected abstract L createLinkObject(String title, String id) throws SpaceDoesNotExistException; protected abstract T getTarget(String linkedId);