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
This commit is contained in:
Gavin Cornwell
2006-02-07 17:48:04 +00:00
parent 9a50b7d471
commit f796f0f9dc
3 changed files with 69 additions and 14 deletions

View File

@@ -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;
}

View File

@@ -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());

View File

@@ -2,9 +2,6 @@
<config>
<client>
<!-- the error page the client will use -->
<error-page>/jsp/error-override.jsp</error-page>
<!-- the login page the client will use -->
<login-page>/jsp/login-override.jsp</login-page>