mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
. Removed implicit servlet ROOT folder if present from Preview URLs
. Refactored preview generating code to use same entry point from all relevant classes git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@4214 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -16,12 +16,10 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.web.bean.wcm;
|
package org.alfresco.web.bean.wcm;
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.text.MessageFormat;
|
import java.text.MessageFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
@@ -33,7 +31,6 @@ import javax.transaction.UserTransaction;
|
|||||||
|
|
||||||
import org.alfresco.model.ContentModel;
|
import org.alfresco.model.ContentModel;
|
||||||
import org.alfresco.repo.avm.AVMNodeConverter;
|
import org.alfresco.repo.avm.AVMNodeConverter;
|
||||||
import org.alfresco.repo.avm.actions.StartAVMWorkflowAction;
|
|
||||||
import org.alfresco.service.cmr.action.Action;
|
import org.alfresco.service.cmr.action.Action;
|
||||||
import org.alfresco.service.cmr.action.ActionService;
|
import org.alfresco.service.cmr.action.ActionService;
|
||||||
import org.alfresco.service.cmr.avm.AVMNodeDescriptor;
|
import org.alfresco.service.cmr.avm.AVMNodeDescriptor;
|
||||||
@@ -47,7 +44,6 @@ import org.alfresco.service.cmr.search.SearchService;
|
|||||||
import org.alfresco.service.cmr.workflow.WorkflowService;
|
import org.alfresco.service.cmr.workflow.WorkflowService;
|
||||||
import org.alfresco.service.namespace.NamespaceService;
|
import org.alfresco.service.namespace.NamespaceService;
|
||||||
import org.alfresco.service.namespace.QName;
|
import org.alfresco.service.namespace.QName;
|
||||||
import org.alfresco.util.GUID;
|
|
||||||
import org.alfresco.service.namespace.RegexQNamePattern;
|
import org.alfresco.service.namespace.RegexQNamePattern;
|
||||||
import org.alfresco.web.app.Application;
|
import org.alfresco.web.app.Application;
|
||||||
import org.alfresco.web.app.context.IContextListener;
|
import org.alfresco.web.app.context.IContextListener;
|
||||||
@@ -617,8 +613,7 @@ public class AVMBrowseBean implements IContextListener
|
|||||||
|
|
||||||
// common properties
|
// common properties
|
||||||
String assetPath = path.substring(rootPathIndex);
|
String assetPath = path.substring(rootPathIndex);
|
||||||
String previewUrl = MessageFormat.format(
|
String previewUrl = AVMConstants.buildAVMAssetUrl(assetPath, this.wcmDomain, this.wcmPort, dns);
|
||||||
AVMConstants.PREVIEW_ASSET_URL, dns, this.wcmDomain, this.wcmPort, assetPath);
|
|
||||||
node.getProperties().put("previewUrl", previewUrl);
|
node.getProperties().put("previewUrl", previewUrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -75,21 +75,6 @@ public final class AVMConstants
|
|||||||
return MessageFormat.format(PREVIEW_SANDBOX_URL, lookupStoreDNS(store), config.getWCMDomain(), config.getWCMPort());
|
return MessageFormat.format(PREVIEW_SANDBOX_URL, lookupStoreDNS(store), config.getWCMDomain(), config.getWCMPort());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String buildAVMAssetUrl(String store, String assetPath)
|
|
||||||
{
|
|
||||||
if (assetPath.startsWith('/' + DIR_APPBASE + '/' + DIR_WEBAPPS))
|
|
||||||
{
|
|
||||||
assetPath = assetPath.substring(('/' + DIR_APPBASE + '/' + DIR_WEBAPPS).length());
|
|
||||||
}
|
|
||||||
if (assetPath.length() == 0 || assetPath.charAt(0) != '/')
|
|
||||||
{
|
|
||||||
assetPath = '/' + assetPath;
|
|
||||||
}
|
|
||||||
|
|
||||||
ClientConfigElement config = Application.getClientConfig(FacesContext.getCurrentInstance());
|
|
||||||
return MessageFormat.format(PREVIEW_ASSET_URL, lookupStoreDNS(store), config.getWCMDomain(), config.getWCMPort(), assetPath);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String buildAVMAssetUrl(final String avmPath)
|
public static String buildAVMAssetUrl(final String avmPath)
|
||||||
{
|
{
|
||||||
final String[] s = avmPath.split(":");
|
final String[] s = avmPath.split(":");
|
||||||
@@ -100,6 +85,30 @@ public final class AVMConstants
|
|||||||
return AVMConstants.buildAVMAssetUrl(s[0], s[1]);
|
return AVMConstants.buildAVMAssetUrl(s[0], s[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String buildAVMAssetUrl(String store, String assetPath)
|
||||||
|
{
|
||||||
|
ClientConfigElement config = Application.getClientConfig(FacesContext.getCurrentInstance());
|
||||||
|
return buildAVMAssetUrl(assetPath, config.getWCMDomain(), config.getWCMPort(), lookupStoreDNS(store));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String buildAVMAssetUrl(String assetPath, String domain, String port, String dns)
|
||||||
|
{
|
||||||
|
if (assetPath.startsWith('/' + DIR_APPBASE + '/' + DIR_WEBAPPS))
|
||||||
|
{
|
||||||
|
assetPath = assetPath.substring(('/' + DIR_APPBASE + '/' + DIR_WEBAPPS).length());
|
||||||
|
}
|
||||||
|
if (assetPath.startsWith('/' + DIR_ROOT))
|
||||||
|
{
|
||||||
|
assetPath = assetPath.substring(('/' + DIR_ROOT).length());
|
||||||
|
}
|
||||||
|
if (assetPath.length() == 0 || assetPath.charAt(0) != '/')
|
||||||
|
{
|
||||||
|
assetPath = '/' + assetPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
return MessageFormat.format(PREVIEW_ASSET_URL, dns, domain, port, assetPath);
|
||||||
|
}
|
||||||
|
|
||||||
public static String lookupStoreDNS(String store)
|
public static String lookupStoreDNS(String store)
|
||||||
{
|
{
|
||||||
String dns = null;
|
String dns = null;
|
||||||
@@ -123,6 +132,9 @@ public final class AVMConstants
|
|||||||
public final static String DIR_APPBASE = "appBase";
|
public final static String DIR_APPBASE = "appBase";
|
||||||
public final static String DIR_WEBAPPS = "avm_webapps";
|
public final static String DIR_WEBAPPS = "avm_webapps";
|
||||||
|
|
||||||
|
// servlet implicit root directory
|
||||||
|
public final static String DIR_ROOT = "ROOT";
|
||||||
|
|
||||||
// system property keys for sandbox identification and DNS virtualisation mapping
|
// system property keys for sandbox identification and DNS virtualisation mapping
|
||||||
public final static String PROP_SANDBOXID = ".sandbox-id.";
|
public final static String PROP_SANDBOXID = ".sandbox-id.";
|
||||||
public final static String PROP_SANDBOX_STAGING_MAIN = ".sandbox.staging.main";
|
public final static String PROP_SANDBOX_STAGING_MAIN = ".sandbox.staging.main";
|
||||||
@@ -135,6 +147,6 @@ public final class AVMConstants
|
|||||||
public final static String SPACE_ICON_WEBSITE = "space-icon-website";
|
public final static String SPACE_ICON_WEBSITE = "space-icon-website";
|
||||||
|
|
||||||
// URLs for preview of sandboxes and assets
|
// URLs for preview of sandboxes and assets
|
||||||
public final static String PREVIEW_SANDBOX_URL = "http://www-{0}.avm.{1}:{2}";
|
private final static String PREVIEW_SANDBOX_URL = "http://www-{0}.avm.{1}:{2}";
|
||||||
public final static String PREVIEW_ASSET_URL = "http://www-{0}.avm.{1}:{2}{3}";
|
private final static String PREVIEW_ASSET_URL = "http://www-{0}.avm.{1}:{2}{3}";
|
||||||
}
|
}
|
||||||
|
@@ -18,7 +18,6 @@ package org.alfresco.web.ui.wcm.component;
|
|||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.MessageFormat;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -415,8 +414,8 @@ public class UIUserSandboxes extends SelfRenderingComponent
|
|||||||
// build node context required for actions
|
// build node context required for actions
|
||||||
AVMNode avmNode = new AVMNode(node);
|
AVMNode avmNode = new AVMNode(node);
|
||||||
String assetPath = sourcePath.substring(rootPathIndex);
|
String assetPath = sourcePath.substring(rootPathIndex);
|
||||||
String previewUrl = MessageFormat.format(
|
String previewUrl = AVMConstants.buildAVMAssetUrl(
|
||||||
AVMConstants.PREVIEW_ASSET_URL, dns, config.getWCMDomain(), config.getWCMPort(), assetPath);
|
assetPath, config.getWCMDomain(), config.getWCMPort(), dns);
|
||||||
avmNode.getProperties().put("previewUrl", previewUrl);
|
avmNode.getProperties().put("previewUrl", previewUrl);
|
||||||
|
|
||||||
// size of files
|
// size of files
|
||||||
|
Reference in New Issue
Block a user