From 82a989aa010c01c876bbc358fac4e5375fca142a Mon Sep 17 00:00:00 2001 From: "Adam J. Weigold" Date: Sat, 28 Jul 2018 20:32:40 -0500 Subject: [PATCH] * Changed `TemplateEngineInlineContentItemsResolver` to an interface. * Changed default retry policy from 0 to 3. --- .gitignore | 4 ++-- .../com/kenticocloud/delivery/DeliveryClient.java | 4 ++-- .../com/kenticocloud/delivery/DeliveryOptions.java | 2 +- .../delivery/template/TemplateEngineConfig.java | 4 ++-- .../TemplateEngineInlineContentItemsResolver.java | 12 ++++-------- .../ThymeleafInlineContentItemsResolver.java | 2 +- .../kenticocloud/delivery/resolvers/BadResolver.java | 2 +- .../delivery/resolvers/GoodResolver.java | 5 +---- 8 files changed, 14 insertions(+), 21 deletions(-) diff --git a/.gitignore b/.gitignore index 44a9a302..c5a5e55b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ .gradle -/build/ -/out/ +build/ +out/ signing.gpg deploy_key deploy_key.pub diff --git a/delivery/src/main/java/com/kenticocloud/delivery/DeliveryClient.java b/delivery/src/main/java/com/kenticocloud/delivery/DeliveryClient.java index 21b17fad..359df6ce 100644 --- a/delivery/src/main/java/com/kenticocloud/delivery/DeliveryClient.java +++ b/delivery/src/main/java/com/kenticocloud/delivery/DeliveryClient.java @@ -308,7 +308,7 @@ public TaxonomyGroup getTaxonomyGroup(String taxonomyGroupCodename) throws IOExc public TaxonomyGroup getTaxonomyGroup(String taxonomyGroupCodename, List params) throws IOException { HttpUriRequest request = buildGetRequest( - String.format("%s/%s", TAXONOMIES, taxonomyGroupCodename), params); + String.format(URL_CONCAT, TAXONOMIES, taxonomyGroupCodename), params); return executeRequest(request, TaxonomyGroup.class); } @@ -456,7 +456,7 @@ private void handleErrorIfNecessary(HttpResponse response) throws IOException { logger.error("Kentico API server error, status: {}", status); throw new IOException("Unknown error with Kentico API. Kentico is likely suffering site issues."); } else if (status >= 400) { - logger.error("Kentico API request error, status: ", status); + logger.error("Kentico API request error, status: {}", status); InputStream inputStream = response.getEntity().getContent(); KenticoError kenticoError = objectMapper.readValue(inputStream, KenticoError.class); inputStream.close(); diff --git a/delivery/src/main/java/com/kenticocloud/delivery/DeliveryOptions.java b/delivery/src/main/java/com/kenticocloud/delivery/DeliveryOptions.java index fcfae87a..064c1706 100644 --- a/delivery/src/main/java/com/kenticocloud/delivery/DeliveryOptions.java +++ b/delivery/src/main/java/com/kenticocloud/delivery/DeliveryOptions.java @@ -37,7 +37,7 @@ public class DeliveryOptions { String previewApiKey; boolean usePreviewApi = false; boolean waitForLoadingNewContent = false; - int retryAttempts = 0; + int retryAttempts = 3; /** * Constructs an empty settings instance of {@link DeliveryOptions}. diff --git a/delivery/src/main/java/com/kenticocloud/delivery/template/TemplateEngineConfig.java b/delivery/src/main/java/com/kenticocloud/delivery/template/TemplateEngineConfig.java index d143b761..b3aeefa4 100644 --- a/delivery/src/main/java/com/kenticocloud/delivery/template/TemplateEngineConfig.java +++ b/delivery/src/main/java/com/kenticocloud/delivery/template/TemplateEngineConfig.java @@ -51,10 +51,10 @@ public void init() { if (isAutoRegister()) { FastClasspathScanner scanner = new FastClasspathScanner(getPathsToScan().toArray(new String[0])); - scanner.matchSubclassesOf(TemplateEngineInlineContentItemsResolver.class, subclass -> { + scanner.matchClassesImplementing(TemplateEngineInlineContentItemsResolver.class, implementingClass -> { try { TemplateEngineInlineContentItemsResolver resolver = - ConstructorUtils.invokeConstructor(subclass, null); + ConstructorUtils.invokeConstructor(implementingClass, null); resolver.getTemplateEngine().setViewResolverConfiguration(getViewResolverConfiguration()); addResolvers(resolver); logger.info("Registered inline content template resolver: {}", resolver.getClass().getName()); diff --git a/delivery/src/main/java/com/kenticocloud/delivery/template/TemplateEngineInlineContentItemsResolver.java b/delivery/src/main/java/com/kenticocloud/delivery/template/TemplateEngineInlineContentItemsResolver.java index a4ade368..15c44257 100644 --- a/delivery/src/main/java/com/kenticocloud/delivery/template/TemplateEngineInlineContentItemsResolver.java +++ b/delivery/src/main/java/com/kenticocloud/delivery/template/TemplateEngineInlineContentItemsResolver.java @@ -24,18 +24,14 @@ package com.kenticocloud.delivery.template; -public abstract class TemplateEngineInlineContentItemsResolver { +public interface TemplateEngineInlineContentItemsResolver { - public TemplateEngineInlineContentItemsResolver() { - //Default constructor - } - - public String resolve(TemplateEngineModel data) { + default String resolve(TemplateEngineModel data) { TemplateEngine templateEngine = getTemplateEngine(); return templateEngine.process(data); } - public abstract boolean supports(TemplateEngineModel data); + boolean supports(TemplateEngineModel data); - public abstract TemplateEngine getTemplateEngine(); + TemplateEngine getTemplateEngine(); } diff --git a/delivery/src/main/java/com/kenticocloud/delivery/template/thymeleaf/ThymeleafInlineContentItemsResolver.java b/delivery/src/main/java/com/kenticocloud/delivery/template/thymeleaf/ThymeleafInlineContentItemsResolver.java index c47ac01c..4ab770b7 100644 --- a/delivery/src/main/java/com/kenticocloud/delivery/template/thymeleaf/ThymeleafInlineContentItemsResolver.java +++ b/delivery/src/main/java/com/kenticocloud/delivery/template/thymeleaf/ThymeleafInlineContentItemsResolver.java @@ -32,7 +32,7 @@ import org.slf4j.LoggerFactory; import org.thymeleaf.Thymeleaf; -public class ThymeleafInlineContentItemsResolver extends TemplateEngineInlineContentItemsResolver { +public class ThymeleafInlineContentItemsResolver implements TemplateEngineInlineContentItemsResolver { private static final Logger logger = LoggerFactory.getLogger(ThymeleafInlineContentItemsResolver.class); protected ThymeleafTemplateEngine thymeleafTemplateEngine; diff --git a/delivery/src/test/java/com/kenticocloud/delivery/resolvers/BadResolver.java b/delivery/src/test/java/com/kenticocloud/delivery/resolvers/BadResolver.java index a3139733..cd59edc6 100644 --- a/delivery/src/test/java/com/kenticocloud/delivery/resolvers/BadResolver.java +++ b/delivery/src/test/java/com/kenticocloud/delivery/resolvers/BadResolver.java @@ -29,7 +29,7 @@ import com.kenticocloud.delivery.template.TemplateEngineInlineContentItemsResolver; import com.kenticocloud.delivery.template.TemplateEngineModel; -public class BadResolver extends TemplateEngineInlineContentItemsResolver { +public class BadResolver implements TemplateEngineInlineContentItemsResolver { public BadResolver() throws RenderingEngineMissingException { throw new RenderingEngineMissingException("Bad resolver", new Exception()); diff --git a/delivery/src/test/java/com/kenticocloud/delivery/resolvers/GoodResolver.java b/delivery/src/test/java/com/kenticocloud/delivery/resolvers/GoodResolver.java index 5127588f..f96c7f30 100644 --- a/delivery/src/test/java/com/kenticocloud/delivery/resolvers/GoodResolver.java +++ b/delivery/src/test/java/com/kenticocloud/delivery/resolvers/GoodResolver.java @@ -26,10 +26,7 @@ import com.kenticocloud.delivery.template.*; -public class GoodResolver extends TemplateEngineInlineContentItemsResolver { - - public GoodResolver() { - } +public class GoodResolver implements TemplateEngineInlineContentItemsResolver { @Override public boolean supports(TemplateEngineModel data) {