From bd58ff9eb0e1d0440cd8ab06f8a54f8d188877f6 Mon Sep 17 00:00:00 2001 From: jensp Date: Sat, 14 Sep 2019 13:45:25 +0000 Subject: [PATCH] Bugfixes for FreemarkerPresentationManager git-svn-id: https://svn.libreccm.org/ccm/trunk@6204 8810af33-2d31-482b-a856-94f89814c4df --- .../src/com/arsdigita/categorization/Category.java | 2 +- .../com/arsdigita/kernel/security/OneLoginUtil.java | 2 +- .../foundry/lib/template-tags/admin/common.xsl | 6 +++++- .../themedirector/ThemeDirectorConfig.java | 2 +- .../theming/FreeMarkerPresentationManager.java | 13 ++++++++++++- 5 files changed, 20 insertions(+), 5 deletions(-) diff --git a/ccm-core/src/com/arsdigita/categorization/Category.java b/ccm-core/src/com/arsdigita/categorization/Category.java index c9514ae62..5084b4f86 100755 --- a/ccm-core/src/com/arsdigita/categorization/Category.java +++ b/ccm-core/src/com/arsdigita/categorization/Category.java @@ -2114,7 +2114,7 @@ public class Category extends ACSObject { private static DataCollection getRootCategoriesAssoc(ACSObject acsObj) { if (acsObj == null) { - throw new NullPointerException("acsObj"); + throw new NullPointerException("provided acsObj is null"); } DataCollection dc = SessionManager.getSession().retrieve( diff --git a/ccm-core/src/com/arsdigita/kernel/security/OneLoginUtil.java b/ccm-core/src/com/arsdigita/kernel/security/OneLoginUtil.java index 438dc1648..5c17954ae 100644 --- a/ccm-core/src/com/arsdigita/kernel/security/OneLoginUtil.java +++ b/ccm-core/src/com/arsdigita/kernel/security/OneLoginUtil.java @@ -42,7 +42,7 @@ public final class OneLoginUtil { settings.put("onelogin.saml2.sp.entityid", securityConfig.getOneLoginSaml2SpEntityId()); settings.put("onelogin.saml2.sp.assertation.consumer_service.url", - URL.there(request, LoginServlet.APPLICATION_NAME)); + URL.there(request, "/" + LoginServlet.APPLICATION_NAME)); settings.put( "onelogin.saml2.sp.assertation_consumer_service.binding", securityConfig.getOneLoginSaml2SpAssertationConsumerServiceBinding()); diff --git a/ccm-core/web/themes/foundry/foundry/lib/template-tags/admin/common.xsl b/ccm-core/web/themes/foundry/foundry/lib/template-tags/admin/common.xsl index 06bcdbc03..99fe8080a 100644 --- a/ccm-core/web/themes/foundry/foundry/lib/template-tags/admin/common.xsl +++ b/ccm-core/web/themes/foundry/foundry/lib/template-tags/admin/common.xsl @@ -77,7 +77,11 @@ - + + + + + diff --git a/ccm-themedirector/src/com/arsdigita/themedirector/ThemeDirectorConfig.java b/ccm-themedirector/src/com/arsdigita/themedirector/ThemeDirectorConfig.java index 36bc0ca82..2a9b64c5b 100755 --- a/ccm-themedirector/src/com/arsdigita/themedirector/ThemeDirectorConfig.java +++ b/ccm-themedirector/src/com/arsdigita/themedirector/ThemeDirectorConfig.java @@ -98,7 +98,7 @@ public class ThemeDirectorConfig extends AbstractConfig { private final Parameter m_fileExtParam = new StringParameter( "themedirector.file_extensions", Parameter.REQUIRED, - "bmp css eot gif jpeg jpg js less otf png svg ttf woff woff2 xml xsl"); + "bmp css eot ftl gif jpeg jpg js less otf png scss svg ttf woff woff2 xml xsl"); /** * Specifies the less file(s) used as entry point(s) for compiling a managed diff --git a/ccm-themedirector/src/org/libreccm/theming/FreeMarkerPresentationManager.java b/ccm-themedirector/src/org/libreccm/theming/FreeMarkerPresentationManager.java index be2be3784..48ed15609 100644 --- a/ccm-themedirector/src/org/libreccm/theming/FreeMarkerPresentationManager.java +++ b/ccm-themedirector/src/org/libreccm/theming/FreeMarkerPresentationManager.java @@ -51,12 +51,17 @@ import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.log4j.Logger; + /** * * @author Jens Pelzetter */ public class FreeMarkerPresentationManager implements PresentationManager { + private static final Logger LOGGER = Logger + .getLogger(FreeMarkerPresentationManager.class); + @Override public void servePage(final Document document, final HttpServletRequest request, @@ -72,7 +77,8 @@ public class FreeMarkerPresentationManager implements PresentationManager { final Node root = w3cDocument.getDocumentElement(); - final String currentSiteName = Web.getConfig().getSiteName(); + // final String currentSiteName = Web.getConfig().getSiteName(); + final String currentSiteName = request.getServerName(); Site subSite; try { subSite = Site.findByHostname(currentSiteName); @@ -120,6 +126,11 @@ public class FreeMarkerPresentationManager implements PresentationManager { final InputStream manifestInputStream = servletContext .getResourceAsStream(themeManifestPath); if (manifestInputStream == null) { + LOGGER.error(String.format("No theme manifest found at path \"%s\". " + + "Falling back to \"%s\". Used sitename \"%s\".", + themeManifestPath, + PageTransformer.class.getName(), + currentSiteName)); final PageTransformer pageTransformer = new PageTransformer(); pageTransformer.servePage(document, request, response); return;