From f796f0f9dceebf3ec98fe21240ae99da40870659 Mon Sep 17 00:00:00 2001 From: Gavin Cornwell Date: Tue, 7 Feb 2006 17:48:04 +0000 Subject: [PATCH] Fixed startup issue if custom client configuration was in place git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2313 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../web/config/ClientConfigElement.java | 77 ++++++++++++++++--- .../web/config/WebClientConfigTest.java | 3 +- .../test-resources/test-config-override.xml | 3 - 3 files changed, 69 insertions(+), 14 deletions(-) diff --git a/source/java/org/alfresco/web/config/ClientConfigElement.java b/source/java/org/alfresco/web/config/ClientConfigElement.java index 58463d7948..091f30231a 100644 --- a/source/java/org/alfresco/web/config/ClientConfigElement.java +++ b/source/java/org/alfresco/web/config/ClientConfigElement.java @@ -64,16 +64,73 @@ public class ClientConfigElement extends ConfigElementAdapter ClientConfigElement existingElement = (ClientConfigElement)configElement; ClientConfigElement newElement = new ClientConfigElement(); - // just overwrite all the simple values - newElement.setEditLinkType(existingElement.getEditLinkType()); - newElement.setFromEmailAddress(existingElement.getFromEmailAddress()); - newElement.setHelpUrl(existingElement.getHelpUrl()); - newElement.setHomeSpacePermission(existingElement.getHomeSpacePermission()); - newElement.setRecentSpacesItems(existingElement.getRecentSpacesItems()); - newElement.setSearchMinimum(existingElement.getSearchMinimum()); - newElement.setShelfVisible(existingElement.isShelfVisible()); - newElement.setErrorPage(existingElement.getErrorPage()); - newElement.setLoginPage(existingElement.getLoginPage()); + // set those values that have changed + if (existingElement.getEditLinkType() == null) + { + newElement.setEditLinkType(this.editLinkType); + } + else + { + newElement.setEditLinkType(existingElement.getEditLinkType()); + } + + if (existingElement.getErrorPage() == null) + { + newElement.setErrorPage(this.errorPage); + } + else + { + newElement.setErrorPage(existingElement.getErrorPage()); + } + + if (existingElement.getLoginPage() == null) + { + newElement.setLoginPage(this.loginPage); + } + else + { + newElement.setLoginPage(existingElement.getLoginPage()); + } + + if (existingElement.getHelpUrl() == null ) + { + newElement.setHelpUrl(this.helpUrl); + } + else + { + newElement.setHelpUrl(existingElement.getHelpUrl()); + } + + if (existingElement.getHomeSpacePermission() == null) + { + newElement.setHomeSpacePermission(this.homeSpacePermission); + } + else + { + newElement.setHomeSpacePermission(existingElement.getHomeSpacePermission()); + } + + // override default values if they have changed + if (existingElement.getRecentSpacesItems() != newElement.getRecentSpacesItems()) + { + newElement.setRecentSpacesItems(existingElement.getRecentSpacesItems()); + } + + if (existingElement.getSearchMinimum() != newElement.getSearchMinimum()) + { + newElement.setSearchMinimum(existingElement.getSearchMinimum()); + } + + if (existingElement.isShelfVisible() != newElement.isShelfVisible()) + { + newElement.setShelfVisible(existingElement.isShelfVisible()); + } + + if (existingElement.getFromEmailAddress() != null && + (existingElement.getFromEmailAddress().equals(newElement.getFromEmailAddress()) == false)) + { + newElement.setFromEmailAddress(existingElement.getFromEmailAddress()); + } return newElement; } diff --git a/source/java/org/alfresco/web/config/WebClientConfigTest.java b/source/java/org/alfresco/web/config/WebClientConfigTest.java index 9443676fba..689fd781d0 100644 --- a/source/java/org/alfresco/web/config/WebClientConfigTest.java +++ b/source/java/org/alfresco/web/config/WebClientConfigTest.java @@ -249,7 +249,8 @@ public class WebClientConfigTest extends BaseTest getConfigElement(ClientConfigElement.CONFIG_ELEMENT_ID); assertNotNull("client config", clientConfig); - assertEquals("error page", "/jsp/error-override.jsp", clientConfig.getErrorPage()); + // make sure the error page is still set as the default + assertEquals("error page", "/jsp/error.jsp", clientConfig.getErrorPage()); assertEquals("login page", "/jsp/login-override.jsp", clientConfig.getLoginPage()); assertEquals("home space permission", "Editor", clientConfig.getHomeSpacePermission()); assertEquals("help url", "http://www.somewhere.com/help", clientConfig.getHelpUrl()); diff --git a/source/test-resources/test-config-override.xml b/source/test-resources/test-config-override.xml index 1e3a573abd..54f80c1d25 100644 --- a/source/test-resources/test-config-override.xml +++ b/source/test-resources/test-config-override.xml @@ -2,9 +2,6 @@ - - /jsp/error-override.jsp - /jsp/login-override.jsp