From 0f63f02fd5f8a911ddd9a2790c6f936583ed0ffe Mon Sep 17 00:00:00 2001 From: Kevin Roast Date: Wed, 13 Dec 2006 16:28:37 +0000 Subject: [PATCH] Preview and Staging area Preview URLs generated for the website view now respect current webapp git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4596 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../org/alfresco/web/bean/wcm/AVMBrowseBean.java | 8 ++++---- .../org/alfresco/web/bean/wcm/AVMConstants.java | 16 ++++++++++++++++ .../web/ui/wcm/component/UIUserSandboxes.java | 4 ++-- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/source/java/org/alfresco/web/bean/wcm/AVMBrowseBean.java b/source/java/org/alfresco/web/bean/wcm/AVMBrowseBean.java index bb61ea7a74..7e2b7af66e 100644 --- a/source/java/org/alfresco/web/bean/wcm/AVMBrowseBean.java +++ b/source/java/org/alfresco/web/bean/wcm/AVMBrowseBean.java @@ -336,19 +336,19 @@ public class AVMBrowseBean implements IContextListener } /** - * @return Preview URL for the current Staging store + * @return Preview URL for the current Staging store and current webapp */ public String getStagingPreviewUrl() { - return AVMConstants.buildAVMStoreUrl(getStagingStore()); + return AVMConstants.buildAVMWebappUrl(getStagingStore(), getWebapp()); } /** - * @return Preview URL for the current User Sandbox store + * @return Preview URL for the current User Sandbox store and current webapp */ public String getSandboxPreviewUrl() { - return AVMConstants.buildAVMStoreUrl(getSandbox()); + return AVMConstants.buildAVMWebappUrl(getSandbox(), getWebapp()); } /** diff --git a/source/java/org/alfresco/web/bean/wcm/AVMConstants.java b/source/java/org/alfresco/web/bean/wcm/AVMConstants.java index e891fbfb32..be9a33e7c1 100644 --- a/source/java/org/alfresco/web/bean/wcm/AVMConstants.java +++ b/source/java/org/alfresco/web/bean/wcm/AVMConstants.java @@ -123,6 +123,22 @@ public final class AVMConstants return MessageFormat.format(PREVIEW_SANDBOX_URL, lookupStoreDNS(store), config.getWCMDomain(), config.getWCMPort()); } + public static String buildAVMWebappUrl(String store, String webapp) + { + if (webapp == null || webapp.length() == 0) + { + throw new IllegalArgumentException("Webapp name is mandatory."); + } + if (!webapp.equals(DIR_ROOT)) + { + return buildAVMStoreUrl(store) + '/' + webapp; + } + else + { + return buildAVMStoreUrl(store); + } + } + public static String buildAVMAssetUrl(final String avmPath) { if (avmPath == null || avmPath.length() == 0) diff --git a/source/java/org/alfresco/web/ui/wcm/component/UIUserSandboxes.java b/source/java/org/alfresco/web/ui/wcm/component/UIUserSandboxes.java index cd740c07ba..a016b32d23 100644 --- a/source/java/org/alfresco/web/ui/wcm/component/UIUserSandboxes.java +++ b/source/java/org/alfresco/web/ui/wcm/component/UIUserSandboxes.java @@ -333,10 +333,10 @@ public class UIUserSandboxes extends SelfRenderingComponent out.write(")"); // direct actions for a sandbox - String sandboxUrl = AVMConstants.buildAVMStoreUrl(mainStore); + String websiteUrl = AVMConstants.buildAVMWebappUrl(mainStore, getWebapp()); Utils.encodeRecursive(context, aquireAction( context, mainStore, username, ACT_SANDBOX_PREVIEW, "/images/icons/preview_website.gif", - null, null, sandboxUrl, null)); + null, null, websiteUrl, null)); out.write(" "); Utils.encodeRecursive(context, aquireAction(