From bdf3bd7147eebff9f79f91af7fb4d68300f46d7d Mon Sep 17 00:00:00 2001 From: jdotcms Date: Tue, 28 May 2024 15:18:25 -0600 Subject: [PATCH] #28563 adding feedback --- .../rest/api/v1/template/TemplateResource.java | 6 ++++-- .../portlets/templates/business/TemplateAPI.java | 3 ++- .../templates/business/TemplateAPIImpl.java | 4 ++-- .../templates/business/TemplateAPITest.java | 13 ++++++++++--- 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/dotCMS/src/main/java/com/dotcms/rest/api/v1/template/TemplateResource.java b/dotCMS/src/main/java/com/dotcms/rest/api/v1/template/TemplateResource.java index 3463c07d4edd..2e1ef2018bd4 100644 --- a/dotCMS/src/main/java/com/dotcms/rest/api/v1/template/TemplateResource.java +++ b/dotCMS/src/main/java/com/dotcms/rest/api/v1/template/TemplateResource.java @@ -839,8 +839,10 @@ public Map fetchTemplateImage(@Context final HttpServletRequest final Identifier imageIdentifier = APILocator.getIdentifierAPI().find(template.getImage()); if (UtilMethods.isSet(imageIdentifier.getAssetType()) && imageIdentifier.getAssetType().equals("contentlet")) { - final Contentlet imageContentlet = templateAPI.getImageContentlet(template); - if (imageContentlet != null) { + final Optional imageContentletOpt = templateAPI.getImageContentlet(template); + if (imageContentletOpt.isPresent()) { + + final Contentlet imageContentlet = imageContentletOpt.get(); final Map toReturn = new HashMap<>(); toReturn.put("inode", imageContentlet.getInode()); toReturn.put("name", imageContentlet.getTitle()); diff --git a/dotCMS/src/main/java/com/dotmarketing/portlets/templates/business/TemplateAPI.java b/dotCMS/src/main/java/com/dotmarketing/portlets/templates/business/TemplateAPI.java index 40f096fdd162..cc5aa93177a9 100644 --- a/dotCMS/src/main/java/com/dotmarketing/portlets/templates/business/TemplateAPI.java +++ b/dotCMS/src/main/java/com/dotmarketing/portlets/templates/business/TemplateAPI.java @@ -21,6 +21,7 @@ import java.util.Date; import java.util.List; import java.util.Map; +import java.util.Optional; /** * Api to interact with Templates @@ -445,5 +446,5 @@ Template saveAndUpdateLayout(Template template, TemplateLayout newLayout, Host s * @param template {@link Template} * @return Content */ - Contentlet getImageContentlet(Template template) throws DotDataException, DotSecurityException; + Optional getImageContentlet(Template template) throws DotDataException, DotSecurityException; } diff --git a/dotCMS/src/main/java/com/dotmarketing/portlets/templates/business/TemplateAPIImpl.java b/dotCMS/src/main/java/com/dotmarketing/portlets/templates/business/TemplateAPIImpl.java index 0d4babc1c756..ddc2f5b8002a 100644 --- a/dotCMS/src/main/java/com/dotmarketing/portlets/templates/business/TemplateAPIImpl.java +++ b/dotCMS/src/main/java/com/dotmarketing/portlets/templates/business/TemplateAPIImpl.java @@ -1556,8 +1556,8 @@ public void onCopySite(final SiteCreatedEvent event) @CloseDBIfOpened @Override - public Contentlet getImageContentlet(final Template template) throws DotDataException, DotSecurityException { + public Optional getImageContentlet(final Template template) throws DotDataException, DotSecurityException { - return com.dotmarketing.portlets.templates.factories.TemplateFactory.getImageContentlet(template); + return Optional.ofNullable(com.dotmarketing.portlets.templates.factories.TemplateFactory.getImageContentlet(template)); } } diff --git a/dotcms-integration/src/test/java/com/dotmarketing/portlets/templates/business/TemplateAPITest.java b/dotcms-integration/src/test/java/com/dotmarketing/portlets/templates/business/TemplateAPITest.java index e2952b397652..15d174959b0a 100644 --- a/dotcms-integration/src/test/java/com/dotmarketing/portlets/templates/business/TemplateAPITest.java +++ b/dotcms-integration/src/test/java/com/dotmarketing/portlets/templates/business/TemplateAPITest.java @@ -54,6 +54,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @@ -6440,6 +6441,12 @@ public void addFileContainerAndContainersUpdateMultiTrees() throws DotDataExcept } } + /** + * Method to test: Testing the #getImageContent method + * Given Scenario: Creates a CT + image + template and associated to the template as an image + * ExpectedResult: The image associated is recovery successfully from the db + * + */ @Test public void getImageContentlet_Test() throws Exception { @@ -6456,9 +6463,9 @@ public void getImageContentlet_Test() throws Exception { final Template template = new TemplateDataGen().image(templateImage.getIdentifier()).drawedBody(templateBody).nextPersisted(); final TemplateAPI templateAPI = APILocator.getTemplateAPI(); - final Contentlet recoveryTemplateImage = templateAPI.getImageContentlet(template); + final Optional recoveryTemplateImage = templateAPI.getImageContentlet(template); - assertNotNull(recoveryTemplateImage); - assertEquals(templateImage.getIdentifier(), recoveryTemplateImage.getIdentifier()); + assertTrue(recoveryTemplateImage.isPresent()); + assertEquals(templateImage.getIdentifier(), recoveryTemplateImage.get().getIdentifier()); } }