Point checkin.

Reorg to allow sandbox-related constants to be accessed more easily from 
other compilation units.   AVMConstants had become a dumping ground for
things that had nothing to do with const values.   Therefore, this
is now AVMUtil, and sandbox-related constants have been moved to
org.alfresco.sandbox.SandboxConstants, which builds in repository.



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5637 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Jon Cox
2007-05-08 02:33:18 +00:00
parent 6e0afbf34c
commit 8abfd5ebc8
41 changed files with 289 additions and 528 deletions

View File

@@ -33,7 +33,7 @@ import org.alfresco.util.Pair;
import org.alfresco.web.action.ActionEvaluator; import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
import org.alfresco.web.bean.wcm.AVMConstants; import org.alfresco.web.bean.wcm.AVMUtil;
/** /**
* UI Action Evaluator - return true if the node is not part of an in-progress WCM workflow. * UI Action Evaluator - return true if the node is not part of an in-progress WCM workflow.
@@ -56,7 +56,7 @@ public class WCMWorkflowDeletedEvaluator implements ActionEvaluator
// evaluate to true if we are within a workflow store (i.e. list of resources in the task // evaluate to true if we are within a workflow store (i.e. list of resources in the task
// dialog) or not part of an already in-progress workflow // dialog) or not part of an already in-progress workflow
return (AVMConstants.isWorkflowStore(AVMConstants.getStoreName(path)) || return (AVMUtil.isWorkflowStore(AVMUtil.getStoreName(path)) ||
avmService.hasAspect(version, path, AVMSubmittedAspect.ASPECT) == false); avmService.hasAspect(version, path, AVMSubmittedAspect.ASPECT) == false);
} }
} }

View File

@@ -33,7 +33,7 @@ import org.alfresco.util.Pair;
import org.alfresco.web.action.ActionEvaluator; import org.alfresco.web.action.ActionEvaluator;
import org.alfresco.web.bean.repository.Node; import org.alfresco.web.bean.repository.Node;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
import org.alfresco.web.bean.wcm.AVMConstants; import org.alfresco.web.bean.wcm.AVMUtil;
/** /**
* UI Action Evaluator - return true if the node is not part of an in-progress WCM workflow. * UI Action Evaluator - return true if the node is not part of an in-progress WCM workflow.
@@ -55,7 +55,7 @@ public class WCMWorkflowEvaluator implements ActionEvaluator
// evaluate to true if we are not deleted and within a workflow store (i.e. list of resources // evaluate to true if we are not deleted and within a workflow store (i.e. list of resources
// in the task dialog) or not part of an already in-progress workflow // in the task dialog) or not part of an already in-progress workflow
return ((AVMConstants.isWorkflowStore(AVMConstants.getStoreName(path)) || return ((AVMUtil.isWorkflowStore(AVMUtil.getStoreName(path)) ||
avmService.hasAspect(version, path, AVMSubmittedAspect.ASPECT) == false) && avmService.hasAspect(version, path, AVMSubmittedAspect.ASPECT) == false) &&
avmService.lookup(version, path) != null); avmService.lookup(version, path) != null);
} }

View File

@@ -37,7 +37,7 @@ import org.alfresco.service.cmr.repository.StoreRef;
import org.alfresco.util.Pair; import org.alfresco.util.Pair;
import org.alfresco.web.app.Application; import org.alfresco.web.app.Application;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
import org.alfresco.web.bean.wcm.AVMConstants; import org.alfresco.web.bean.wcm.AVMUtil;
import org.alfresco.web.bean.wcm.WebProject; import org.alfresco.web.bean.wcm.WebProject;
import org.alfresco.web.bean.wizard.IWizardBean; import org.alfresco.web.bean.wizard.IWizardBean;
@@ -64,10 +64,10 @@ public class CopyToWebProjectHandler extends BaseActionHandler
if (destNodeRef.getStoreRef().getProtocol().equals(StoreRef.PROTOCOL_WORKSPACE)) if (destNodeRef.getStoreRef().getProtocol().equals(StoreRef.PROTOCOL_WORKSPACE))
{ {
WebProject webProject = new WebProject(destNodeRef); WebProject webProject = new WebProject(destNodeRef);
String storeName = AVMConstants.buildUserMainStoreName(webProject.getStoreId(), String storeName = AVMUtil.buildUserMainStoreName(webProject.getStoreId(),
Application.getCurrentUser(FacesContext.getCurrentInstance()).getUserName()); Application.getCurrentUser(FacesContext.getCurrentInstance()).getUserName());
String rootPath = AVMConstants.buildStoreWebappPath(storeName, AVMConstants.DIR_ROOT); String rootPath = AVMUtil.buildStoreWebappPath(storeName, AVMUtil.DIR_ROOT);
destNodeRef = AVMNodeConverter.ToNodeRef(-1, rootPath); destNodeRef = AVMNodeConverter.ToNodeRef(-1, rootPath);
} }
@@ -95,10 +95,10 @@ public class CopyToWebProjectHandler extends BaseActionHandler
// get the destination path // get the destination path
Pair<Integer, String> avmNode = AVMNodeConverter.ToAVMVersionPath(dest); Pair<Integer, String> avmNode = AVMNodeConverter.ToAVMVersionPath(dest);
String avmPath = avmNode.getSecond(); String avmPath = avmNode.getSecond();
folder = avmPath.substring(avmPath.indexOf(AVMConstants.DIR_ROOT)+4); folder = avmPath.substring(avmPath.indexOf(AVMUtil.DIR_ROOT)+4);
// get the destination web project name // get the destination web project name
NodeRef webProjectNode = AVMConstants.getWebProjectNodeFromPath(avmPath); NodeRef webProjectNode = AVMUtil.getWebProjectNodeFromPath(avmPath);
webProject = Repository.getNameForNode( webProject = Repository.getNameForNode(
Repository.getServiceRegistry(context).getNodeService(), webProjectNode); Repository.getServiceRegistry(context).getNodeService(), webProjectNode);
} }

View File

@@ -46,6 +46,7 @@ import org.alfresco.repo.avm.AVMNodeConverter;
import org.alfresco.repo.avm.actions.AVMRevertStoreAction; import org.alfresco.repo.avm.actions.AVMRevertStoreAction;
import org.alfresco.repo.avm.actions.AVMUndoSandboxListAction; import org.alfresco.repo.avm.actions.AVMUndoSandboxListAction;
import org.alfresco.repo.domain.PropertyValue; import org.alfresco.repo.domain.PropertyValue;
import org.alfresco.sandbox.SandboxConstants;
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;
@@ -277,7 +278,7 @@ public class AVMBrowseBean implements IContextListener
summary.append(msg.getString(MSG_CREATED_BY)).append(": ") summary.append(msg.getString(MSG_CREATED_BY)).append(": ")
.append(store.getCreator()) .append(store.getCreator())
.append("<p>"); .append("<p>");
final int numUsers = this.getRelatedStoreNames(storeId, AVMConstants.PROP_SANDBOX_AUTHOR_MAIN).size(); final int numUsers = this.getRelatedStoreNames(storeId, SandboxConstants.PROP_SANDBOX_AUTHOR_MAIN).size();
summary.append(MessageFormat.format(msg.getString(MSG_WORKING_USERS), numUsers)); summary.append(MessageFormat.format(msg.getString(MSG_WORKING_USERS), numUsers));
} }
@@ -295,7 +296,7 @@ public class AVMBrowseBean implements IContextListener
*/ */
private List<String> getRelatedStoreNames(final String storeId, final QName... types) private List<String> getRelatedStoreNames(final String storeId, final QName... types)
{ {
QName qn = QName.createQName(null, AVMConstants.PROP_SANDBOX_STORE_PREFIX + storeId + "%"); QName qn = QName.createQName(null, SandboxConstants.PROP_SANDBOX_STORE_PREFIX + storeId + "%");
final Map<String, Map<QName, PropertyValue>> relatedSandboxes = final Map<String, Map<QName, PropertyValue>> relatedSandboxes =
avmService.queryStoresPropertyKeys(qn); avmService.queryStoresPropertyKeys(qn);
final List<String> result = new LinkedList<String>(); final List<String> result = new LinkedList<String>();
@@ -326,7 +327,7 @@ public class AVMBrowseBean implements IContextListener
*/ */
public String getStagingPreviewUrl() public String getStagingPreviewUrl()
{ {
return AVMConstants.buildWebappUrl(getStagingStore(), getWebapp()); return AVMUtil.buildWebappUrl(getStagingStore(), getWebapp());
} }
/** /**
@@ -334,7 +335,7 @@ public class AVMBrowseBean implements IContextListener
*/ */
public String getSandboxPreviewUrl() public String getSandboxPreviewUrl()
{ {
return AVMConstants.buildWebappUrl(getSandbox(), getWebapp()); return AVMUtil.buildWebappUrl(getSandbox(), getWebapp());
} }
/** /**
@@ -460,7 +461,7 @@ public class AVMBrowseBean implements IContextListener
{ {
if (this.webapps == null) if (this.webapps == null)
{ {
String path = AVMConstants.buildSandboxRootPath(getStagingStore()); String path = AVMUtil.buildSandboxRootPath(getStagingStore());
Map<String, AVMNodeDescriptor> folders = this.avmService.getDirectoryListing(-1, path); Map<String, AVMNodeDescriptor> folders = this.avmService.getDirectoryListing(-1, path);
List<SelectItem> webapps = new ArrayList<SelectItem>(folders.size()); List<SelectItem> webapps = new ArrayList<SelectItem>(folders.size());
for (AVMNodeDescriptor node : folders.values()) for (AVMNodeDescriptor node : folders.values())
@@ -597,7 +598,7 @@ public class AVMBrowseBean implements IContextListener
{ {
if (this.currentPath == null) if (this.currentPath == null)
{ {
this.currentPath = AVMConstants.buildStoreWebappPath(getSandbox(), getWebapp()); this.currentPath = AVMUtil.buildStoreWebappPath(getSandbox(), getWebapp());
} }
return this.currentPath; return this.currentPath;
} }
@@ -890,21 +891,21 @@ public class AVMBrowseBean implements IContextListener
else else
{ {
// calculate username and store name from specified path // calculate username and store name from specified path
String storeName = AVMConstants.getStoreName(path); String storeName = AVMUtil.getStoreName(path);
final String storeId = AVMConstants.getStoreId(storeName); final String storeId = AVMUtil.getStoreId(storeName);
final String username = AVMConstants.getUserName(storeName); final String username = AVMUtil.getUserName(storeName);
if (username == null) if (username == null)
{ {
storeName = (AVMConstants.isPreviewStore(storeName) storeName = (AVMUtil.isPreviewStore(storeName)
? AVMConstants.buildStagingPreviewStoreName(storeId) ? AVMUtil.buildStagingPreviewStoreName(storeId)
: AVMConstants.buildStagingStoreName(storeId)); : AVMUtil.buildStagingStoreName(storeId));
setupSandboxActionImpl(storeName, null, false); setupSandboxActionImpl(storeName, null, false);
} }
else else
{ {
storeName = (AVMConstants.isPreviewStore(storeName) storeName = (AVMUtil.isPreviewStore(storeName)
? AVMConstants.buildUserPreviewStoreName(storeId, username) ? AVMUtil.buildUserPreviewStoreName(storeId, username)
: AVMConstants.buildUserMainStoreName(storeId, username)); : AVMUtil.buildUserMainStoreName(storeId, username));
setupSandboxActionImpl(storeName, username, false); setupSandboxActionImpl(storeName, username, false);
} }
@@ -943,8 +944,8 @@ public class AVMBrowseBean implements IContextListener
} }
// update the specified webapp in the store // update the specified webapp in the store
String webappPath = AVMConstants.buildStoreWebappPath(store, getWebapp()); String webappPath = AVMUtil.buildStoreWebappPath(store, getWebapp());
AVMConstants.updateVServerWebapp(webappPath, true); AVMUtil.updateVServerWebapp(webappPath, true);
} }
/** /**
@@ -979,7 +980,7 @@ public class AVMBrowseBean implements IContextListener
if ( VirtServerUtils.requiresUpdateNotification( path ) ) if ( VirtServerUtils.requiresUpdateNotification( path ) )
{ {
AVMConstants.updateVServerWebapp(path, true); AVMUtil.updateVServerWebapp(path, true);
} }
@@ -1015,7 +1016,7 @@ public class AVMBrowseBean implements IContextListener
tx = Repository.getUserTransaction(context, false); tx = Repository.getUserTransaction(context, false);
tx.begin(); tx.begin();
String sandboxPath = AVMConstants.buildSandboxRootPath( sandbox ); String sandboxPath = AVMUtil.buildSandboxRootPath( sandbox );
List<AVMDifference> diffs = List<AVMDifference> diffs =
this.avmSyncService.compare( this.avmSyncService.compare(
@@ -1036,7 +1037,7 @@ public class AVMBrowseBean implements IContextListener
{ {
if ( VirtServerUtils.requiresUpdateNotification( diff.getSourcePath()) ) if ( VirtServerUtils.requiresUpdateNotification( diff.getSourcePath()) )
{ {
AVMConstants.updateVServerWebapp(diff.getSourcePath() , true); AVMUtil.updateVServerWebapp(diff.getSourcePath() , true);
break; break;
} }
} }
@@ -1180,7 +1181,7 @@ public class AVMBrowseBean implements IContextListener
@Override @Override
public String toString() public String toString()
{ {
if (AVMConstants.buildSandboxRootPath(getSandbox()).equals(path)) if (AVMUtil.buildSandboxRootPath(getSandbox()).equals(path))
{ {
// don't display the 'root' webapps path as this will confuse users // don't display the 'root' webapps path as this will confuse users
// instead display which sandbox we are in // instead display which sandbox we are in

View File

@@ -354,9 +354,9 @@ public class AVMEditBean
if (this.avmService.hasAspect(-1, avmPath, WCMAppModel.ASPECT_FORM_INSTANCE_DATA)) if (this.avmService.hasAspect(-1, avmPath, WCMAppModel.ASPECT_FORM_INSTANCE_DATA))
{ {
// reset the preview layer // reset the preview layer
String storeName = AVMConstants.getStoreName(avmPath); String storeName = AVMUtil.getStoreName(avmPath);
storeName = AVMConstants.getCorrespondingPreviewStoreName(storeName); storeName = AVMUtil.getCorrespondingPreviewStoreName(storeName);
final String path = AVMConstants.buildStoreRootPath(storeName); final String path = AVMUtil.buildStoreRootPath(storeName);
if (LOGGER.isDebugEnabled()) if (LOGGER.isDebugEnabled())
LOGGER.debug("reseting layer " + path); LOGGER.debug("reseting layer " + path);
@@ -407,7 +407,7 @@ public class AVMEditBean
if (node != null) if (node != null)
{ {
// Possibly notify virt server // Possibly notify virt server
AVMConstants.updateVServerWebapp(node.getPath(), false); AVMUtil.updateVServerWebapp(node.getPath(), false);
resetState(); resetState();
outcome = AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME; outcome = AlfrescoNavigationHandler.CLOSE_DIALOG_OUTCOME;
@@ -463,14 +463,14 @@ public class AVMEditBean
{ {
final String path = AVMNodeConverter.ToAVMVersionPath(uploadedFile).getSecond(); final String path = AVMNodeConverter.ToAVMVersionPath(uploadedFile).getSecond();
diffList.add(new AVMDifference(-1, path, diffList.add(new AVMDifference(-1, path,
-1, AVMConstants.getCorrespondingPathInMainStore(path), -1, AVMUtil.getCorrespondingPathInMainStore(path),
AVMDifference.NEWER)); AVMDifference.NEWER));
} }
this.avmSyncService.update(diffList, null, true, true, true, true, null, null); this.avmSyncService.update(diffList, null, true, true, true, true, null, null);
} }
// Possibly notify virt server // Possibly notify virt server
AVMConstants.updateVServerWebapp(avmNode.getPath(), false); AVMUtil.updateVServerWebapp(avmNode.getPath(), false);
resetState(); resetState();
@@ -520,7 +520,7 @@ public class AVMEditBean
this.regenerateRenditions(); this.regenerateRenditions();
} }
// Possibly notify virt server // Possibly notify virt server
AVMConstants.updateVServerWebapp(node.getPath(), false); AVMUtil.updateVServerWebapp(node.getPath(), false);
// clear action context // clear action context
resetState(); resetState();

View File

@@ -67,8 +67,8 @@ public class AVMNode extends Node implements Map<String, Object>
final ClientConfigElement config = final ClientConfigElement config =
Application.getClientConfig(FacesContext.getCurrentInstance()); Application.getClientConfig(FacesContext.getCurrentInstance());
final String dns = final String dns =
AVMConstants.lookupStoreDNS(AVMConstants.getStoreName(node.getPath())); AVMUtil.lookupStoreDNS(AVMUtil.getStoreName(node.getPath()));
return AVMConstants.buildAssetUrl(AVMConstants.getSandboxRelativePath(node.getPath()), return AVMUtil.buildAssetUrl(AVMUtil.getSandboxRelativePath(node.getPath()),
config.getWCMDomain(), config.getWCMDomain(),
config.getWCMPort(), config.getWCMPort(),
dns); dns);
@@ -85,7 +85,7 @@ public class AVMNode extends Node implements Map<String, Object>
return null; return null;
} }
String s = node.getPath(); String s = node.getPath();
s = AVMConstants.getSandboxRelativePath(s); s = AVMUtil.getSandboxRelativePath(s);
final Path result = new Path(); final Path result = new Path();
final String[] parts = s.split("/"); final String[] parts = s.split("/");
for (int i = 1; i < parts.length; i++) for (int i = 1; i < parts.length; i++)

View File

@@ -38,6 +38,7 @@ import org.alfresco.config.JNDIConstants;
import org.alfresco.mbeans.VirtServerRegistry; import org.alfresco.mbeans.VirtServerRegistry;
import org.alfresco.repo.avm.AVMNodeConverter; import org.alfresco.repo.avm.AVMNodeConverter;
import org.alfresco.repo.domain.PropertyValue; import org.alfresco.repo.domain.PropertyValue;
import org.alfresco.sandbox.SandboxConstants;
import org.alfresco.service.ServiceRegistry; import org.alfresco.service.ServiceRegistry;
import org.alfresco.service.cmr.avm.AVMNotFoundException; import org.alfresco.service.cmr.avm.AVMNotFoundException;
import org.alfresco.service.cmr.avm.AVMService; import org.alfresco.service.cmr.avm.AVMService;
@@ -57,7 +58,7 @@ import org.alfresco.web.config.ClientConfigElement;
* @author Ariel Backenroth * @author Ariel Backenroth
* @author Kevin Roast * @author Kevin Roast
*/ */
public final class AVMConstants public final class AVMUtil
{ {
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
@@ -68,7 +69,7 @@ public final class AVMConstants
@Override @Override
protected Pattern pattern() protected Pattern pattern()
{ {
return AVMConstants.SANDBOX_RELATIVE_PATH_PATTERN; return AVMUtil.SANDBOX_RELATIVE_PATH_PATTERN;
} }
}, },
WEBAPP_RELATIVE WEBAPP_RELATIVE
@@ -76,7 +77,7 @@ public final class AVMConstants
@Override @Override
protected Pattern pattern() protected Pattern pattern()
{ {
return AVMConstants.WEBAPP_RELATIVE_PATH_PATTERN; return AVMUtil.WEBAPP_RELATIVE_PATH_PATTERN;
} }
}; };
@@ -88,7 +89,7 @@ public final class AVMConstants
/** /**
* Private constructor * Private constructor
*/ */
private AVMConstants() private AVMUtil()
{ {
} }
@@ -118,7 +119,7 @@ public final class AVMConstants
*/ */
public static boolean isPreviewStore(final String storeName) public static boolean isPreviewStore(final String storeName)
{ {
return storeName.endsWith(AVMConstants.STORE_SEPARATOR + AVMConstants.STORE_PREVIEW); return storeName.endsWith(AVMUtil.STORE_SEPARATOR + AVMUtil.STORE_PREVIEW);
} }
/** /**
@@ -130,9 +131,9 @@ public final class AVMConstants
*/ */
public static boolean isWorkflowStore(String storeName) public static boolean isWorkflowStore(String storeName)
{ {
if (AVMConstants.isPreviewStore(storeName)) if (AVMUtil.isPreviewStore(storeName))
{ {
storeName = AVMConstants.getCorrespondingMainStoreName(storeName); storeName = AVMUtil.getCorrespondingMainStoreName(storeName);
} }
return storeName.indexOf(STORE_SEPARATOR + STORE_WORKFLOW) != -1; return storeName.indexOf(STORE_SEPARATOR + STORE_WORKFLOW) != -1;
@@ -147,11 +148,11 @@ public final class AVMConstants
*/ */
public static boolean isUserStore(String storeName) public static boolean isUserStore(String storeName)
{ {
if (AVMConstants.isPreviewStore(storeName)) if (AVMUtil.isPreviewStore(storeName))
{ {
storeName = AVMConstants.getCorrespondingMainStoreName(storeName); storeName = AVMUtil.getCorrespondingMainStoreName(storeName);
} }
return storeName.indexOf(AVMConstants.STORE_SEPARATOR) != -1; return storeName.indexOf(AVMUtil.STORE_SEPARATOR) != -1;
} }
/** /**
@@ -163,14 +164,14 @@ public final class AVMConstants
*/ */
public static String getUserName(String storeName) public static String getUserName(String storeName)
{ {
if (AVMConstants.isPreviewStore(storeName)) if (AVMUtil.isPreviewStore(storeName))
{ {
storeName = AVMConstants.getCorrespondingMainStoreName(storeName); storeName = AVMUtil.getCorrespondingMainStoreName(storeName);
} }
final int index = storeName.indexOf(AVMConstants.STORE_SEPARATOR); final int index = storeName.indexOf(AVMUtil.STORE_SEPARATOR);
return (index == -1 return (index == -1
? null ? null
: storeName.substring(index + AVMConstants.STORE_SEPARATOR.length())); : storeName.substring(index + AVMUtil.STORE_SEPARATOR.length()));
} }
/** /**
@@ -182,7 +183,7 @@ public final class AVMConstants
*/ */
public static String getStoreId(final String storeName) public static String getStoreId(final String storeName)
{ {
final int index = storeName.indexOf(AVMConstants.STORE_SEPARATOR); final int index = storeName.indexOf(AVMUtil.STORE_SEPARATOR);
return (index == -1 return (index == -1
? storeName ? storeName
: storeName.substring(0, index)); : storeName.substring(0, index));
@@ -199,13 +200,13 @@ public final class AVMConstants
*/ */
public static String getCorrespondingMainStoreName(final String storeName) public static String getCorrespondingMainStoreName(final String storeName)
{ {
if (!AVMConstants.isPreviewStore(storeName)) if (!AVMUtil.isPreviewStore(storeName))
{ {
throw new IllegalArgumentException("store " + storeName + " is not a preview store"); throw new IllegalArgumentException("store " + storeName + " is not a preview store");
} }
return storeName.substring(0, return storeName.substring(0,
(storeName.length() - (storeName.length() -
(AVMConstants.STORE_SEPARATOR + AVMConstants.STORE_PREVIEW).length())); (AVMUtil.STORE_SEPARATOR + AVMUtil.STORE_PREVIEW).length()));
} }
/** /**
@@ -219,11 +220,11 @@ public final class AVMConstants
*/ */
public static String getCorrespondingPreviewStoreName(final String storeName) public static String getCorrespondingPreviewStoreName(final String storeName)
{ {
if (AVMConstants.isPreviewStore(storeName)) if (AVMUtil.isPreviewStore(storeName))
{ {
throw new IllegalArgumentException("store " + storeName + " is already a preview store"); throw new IllegalArgumentException("store " + storeName + " is already a preview store");
} }
return storeName + AVMConstants.STORE_SEPARATOR + AVMConstants.STORE_PREVIEW; return storeName + AVMUtil.STORE_SEPARATOR + AVMUtil.STORE_PREVIEW;
} }
/** /**
@@ -238,9 +239,9 @@ public final class AVMConstants
*/ */
public static String getCorrespondingPathInMainStore(final String avmPath) public static String getCorrespondingPathInMainStore(final String avmPath)
{ {
String storeName = AVMConstants.getStoreName(avmPath); String storeName = AVMUtil.getStoreName(avmPath);
storeName = AVMConstants.getCorrespondingMainStoreName(storeName); storeName = AVMUtil.getCorrespondingMainStoreName(storeName);
return AVMConstants.getCorrespondingPath(avmPath, storeName); return AVMUtil.getCorrespondingPath(avmPath, storeName);
} }
/** /**
@@ -255,9 +256,9 @@ public final class AVMConstants
*/ */
public static String getCorrespondingPathInPreviewStore(final String avmPath) public static String getCorrespondingPathInPreviewStore(final String avmPath)
{ {
String storeName = AVMConstants.getStoreName(avmPath); String storeName = AVMUtil.getStoreName(avmPath);
storeName = AVMConstants.getCorrespondingPreviewStoreName(storeName); storeName = AVMUtil.getCorrespondingPreviewStoreName(storeName);
return AVMConstants.getCorrespondingPath(avmPath, storeName); return AVMUtil.getCorrespondingPath(avmPath, storeName);
} }
/** /**
@@ -270,7 +271,7 @@ public final class AVMConstants
*/ */
public static String getCorrespondingPath(final String avmPath, final String otherStore) public static String getCorrespondingPath(final String avmPath, final String otherStore)
{ {
return (otherStore + ':' + AVMConstants.getStoreRelativePath(avmPath)); return (otherStore + ':' + AVMUtil.getStoreRelativePath(avmPath));
} }
/** /**
@@ -467,8 +468,8 @@ public final class AVMConstants
*/ */
public static String buildStagingPreviewStoreName(final String storeId) public static String buildStagingPreviewStoreName(final String storeId)
{ {
return (AVMConstants.buildStagingStoreName(storeId) + return (AVMUtil.buildStagingStoreName(storeId) +
AVMConstants.STORE_SEPARATOR + AVMConstants.STORE_PREVIEW); AVMUtil.STORE_SEPARATOR + AVMUtil.STORE_PREVIEW);
} }
/** /**
@@ -486,7 +487,7 @@ public final class AVMConstants
{ {
throw new IllegalArgumentException("Username is mandatory."); throw new IllegalArgumentException("Username is mandatory.");
} }
return (AVMConstants.buildStagingStoreName(storeId) + AVMConstants.STORE_SEPARATOR + return (AVMUtil.buildStagingStoreName(storeId) + AVMUtil.STORE_SEPARATOR +
username); username);
} }
@@ -501,8 +502,8 @@ public final class AVMConstants
public static String buildUserPreviewStoreName(final String storeId, public static String buildUserPreviewStoreName(final String storeId,
final String username) final String username)
{ {
return (AVMConstants.buildUserMainStoreName(storeId, username) + return (AVMUtil.buildUserMainStoreName(storeId, username) +
AVMConstants.STORE_SEPARATOR + AVMConstants.STORE_PREVIEW); AVMUtil.STORE_SEPARATOR + AVMUtil.STORE_PREVIEW);
} }
/** /**
@@ -520,7 +521,7 @@ public final class AVMConstants
{ {
throw new IllegalArgumentException("workflowId is mandatory."); throw new IllegalArgumentException("workflowId is mandatory.");
} }
return (AVMConstants.buildStagingStoreName(storeId) + AVMConstants.STORE_SEPARATOR + return (AVMUtil.buildStagingStoreName(storeId) + AVMUtil.STORE_SEPARATOR +
workflowId); workflowId);
} }
@@ -535,8 +536,8 @@ public final class AVMConstants
public static String buildWorkflowPreviewStoreName(final String storeId, public static String buildWorkflowPreviewStoreName(final String storeId,
final String workflowId) final String workflowId)
{ {
return (AVMConstants.buildWorkflowMainStoreName(storeId, workflowId) + return (AVMUtil.buildWorkflowMainStoreName(storeId, workflowId) +
AVMConstants.STORE_SEPARATOR + AVMConstants.STORE_PREVIEW); AVMUtil.STORE_SEPARATOR + AVMUtil.STORE_PREVIEW);
} }
/** /**
@@ -564,7 +565,7 @@ public final class AVMConstants
*/ */
public static String buildSandboxRootPath(final String storeName) public static String buildSandboxRootPath(final String storeName)
{ {
return AVMConstants.buildStoreRootPath(storeName) + '/' + JNDIConstants.DIR_DEFAULT_APPBASE; return AVMUtil.buildStoreRootPath(storeName) + '/' + JNDIConstants.DIR_DEFAULT_APPBASE;
} }
/** /**
@@ -581,7 +582,7 @@ public final class AVMConstants
{ {
throw new IllegalArgumentException("Webapp name is mandatory."); throw new IllegalArgumentException("Webapp name is mandatory.");
} }
return AVMConstants.buildSandboxRootPath(storeName) + '/' + webapp; return AVMUtil.buildSandboxRootPath(storeName) + '/' + webapp;
} }
public static String buildStoreUrl(String store) public static String buildStoreUrl(String store)
@@ -607,8 +608,8 @@ public final class AVMConstants
{ {
throw new IllegalArgumentException("AVM path is mandatory."); throw new IllegalArgumentException("AVM path is mandatory.");
} }
return AVMConstants.buildWebappUrl(AVMConstants.getStoreName(avmPath), return AVMUtil.buildWebappUrl(AVMUtil.getStoreName(avmPath),
AVMConstants.getWebapp(avmPath)); AVMUtil.getWebapp(avmPath));
} }
public static String buildWebappUrl(final String store, final String webapp) public static String buildWebappUrl(final String store, final String webapp)
@@ -633,7 +634,7 @@ public final class AVMConstants
{ {
throw new IllegalArgumentException("expected exactly one ':' in " + avmPath); throw new IllegalArgumentException("expected exactly one ':' in " + avmPath);
} }
return AVMConstants.buildAssetUrl(s[0], s[1]); return AVMUtil.buildAssetUrl(s[0], s[1]);
} }
public static String buildAssetUrl(String store, String assetPath) public static String buildAssetUrl(String store, String assetPath)
@@ -689,9 +690,9 @@ public final class AVMConstants
Repository.getServiceRegistry(FacesContext.getCurrentInstance()); Repository.getServiceRegistry(FacesContext.getCurrentInstance());
final AVMService avmService = serviceRegistry.getAVMService(); final AVMService avmService = serviceRegistry.getAVMService();
final Map<QName, PropertyValue> props = final Map<QName, PropertyValue> props =
avmService.queryStorePropertyKey(store, QName.createQName(null, PROP_DNS + '%')); avmService.queryStorePropertyKey(store, QName.createQName(null, SandboxConstants.PROP_DNS + '%'));
return (props.size() == 1 return (props.size() == 1
? props.keySet().iterator().next().getLocalName().substring(PROP_DNS.length()) ? props.keySet().iterator().next().getLocalName().substring(SandboxConstants.PROP_DNS.length())
: null); : null);
} }
@@ -818,8 +819,8 @@ public final class AVMConstants
*/ */
public static NodeRef getWebProjectNodeFromPath(final String absoluteAVMPath) public static NodeRef getWebProjectNodeFromPath(final String absoluteAVMPath)
{ {
String storeName = AVMConstants.getStoreName(absoluteAVMPath); String storeName = AVMUtil.getStoreName(absoluteAVMPath);
String storeId = AVMConstants.getStoreId(storeName); String storeId = AVMUtil.getStoreId(storeName);
return getWebProjectNodeFromStore(storeId); return getWebProjectNodeFromStore(storeId);
} }
@@ -920,7 +921,7 @@ public final class AVMConstants
{ {
path = path.substring(0, webappIndex); path = path.substring(0, webappIndex);
} }
final VirtServerRegistry vServerRegistry = AVMConstants.getVirtServerRegistry(); final VirtServerRegistry vServerRegistry = AVMUtil.getVirtServerRegistry();
vServerRegistry.updateAllWebapps(-1, path, true); vServerRegistry.updateAllWebapps(-1, path, true);
} }
} }
@@ -943,7 +944,7 @@ public final class AVMConstants
{ {
path = path.substring(0, webappIndex); path = path.substring(0, webappIndex);
} }
final VirtServerRegistry vServerRegistry = AVMConstants.getVirtServerRegistry(); final VirtServerRegistry vServerRegistry = AVMUtil.getVirtServerRegistry();
vServerRegistry.removeAllWebapps(-1, path, true); vServerRegistry.removeAllWebapps(-1, path, true);
} }
} }
@@ -980,21 +981,8 @@ public final class AVMConstants
// Note: this webapp is mapped to the URL path "" // Note: this webapp is mapped to the URL path ""
public final static String DIR_ROOT = "ROOT"; public final static String DIR_ROOT = "ROOT";
// system property keys for sandbox identification and DNS virtualisation mapping public final static String SPACE_ICON_WEBSITE = "space-icon-website";
public final static String PROP_BACKGROUND_LAYER = ".background-layer."; public final static QName PROP_WEB_PROJECT_NODE_REF = QName.createQName(null, ".web_project.noderef");
public final static String PROP_SANDBOXID = ".sandbox-id.";
public final static String PROP_DNS = ".dns.";
public final static String PROP_SANDBOX_STORE_PREFIX = ".sandbox.store.";
public final static QName PROP_WEB_PROJECT_NODE_REF = QName.createQName(null, ".web_project.noderef");
public final static QName PROP_SANDBOX_STAGING_MAIN = QName.createQName(null, ".sandbox.staging.main");
public final static QName PROP_SANDBOX_STAGING_PREVIEW = QName.createQName(null, ".sandbox.staging.preview");
public final static QName PROP_SANDBOX_AUTHOR_MAIN = QName.createQName(null, ".sandbox.author.main");
public final static QName PROP_SANDBOX_AUTHOR_PREVIEW = QName.createQName(null, ".sandbox.author.preview");
public final static QName PROP_SANDBOX_WORKFLOW_MAIN = QName.createQName(null, ".sandbox.workflow.main");
public final static QName PROP_SANDBOX_WORKFLOW_PREVIEW = QName.createQName(null, ".sandbox.workflow.preview");
public final static QName PROP_WEBSITE_NAME = QName.createQName(null, ".website.name");
public final static String SPACE_ICON_WEBSITE = "space-icon-website";
// web user role permissions // web user role permissions
public final static String ROLE_CONTENT_MANAGER = "ContentManager"; public final static String ROLE_CONTENT_MANAGER = "ContentManager";

View File

@@ -97,13 +97,13 @@ public class AVMWorkflowUtil extends WorkflowUtil
{ {
// create package paths (layered to user sandbox area as target) // create package paths (layered to user sandbox area as target)
final String workflowMainStoreName = sandboxInfo.getMainStoreName(); final String workflowMainStoreName = sandboxInfo.getMainStoreName();
final String packagesPath = AVMConstants.buildStoreRootPath(workflowMainStoreName); final String packagesPath = AVMUtil.buildStoreRootPath(workflowMainStoreName);
final List<AVMDifference> diffs = new ArrayList<AVMDifference>(srcPaths.size()); final List<AVMDifference> diffs = new ArrayList<AVMDifference>(srcPaths.size());
for (final String srcPath : srcPaths) for (final String srcPath : srcPaths)
{ {
diffs.add(new AVMDifference(-1, srcPath, diffs.add(new AVMDifference(-1, srcPath,
-1, AVMConstants.getCorrespondingPath(srcPath, workflowMainStoreName), -1, AVMUtil.getCorrespondingPath(srcPath, workflowMainStoreName),
AVMDifference.NEWER)); AVMDifference.NEWER));
avmSubmittedAspect.markSubmitted(-1, srcPath, path.instance.id); avmSubmittedAspect.markSubmitted(-1, srcPath, path.instance.id);
} }

View File

@@ -137,7 +137,7 @@ public class AddAvmContentDialog extends AddContentDialog
logger.debug("Reloading virtualisation server on path: " + this.path); logger.debug("Reloading virtualisation server on path: " + this.path);
} }
AVMConstants.updateVServerWebapp(this.path, false); AVMUtil.updateVServerWebapp(this.path, false);
return outcome; return outcome;
} }

View File

@@ -200,9 +200,9 @@ public class CreateWebContentWizard extends BaseContentWizard
} }
// reset the preview layer // reset the preview layer
String storeName = AVMConstants.getStoreName(this.avmBrowseBean.getCurrentPath()); String storeName = AVMUtil.getStoreName(this.avmBrowseBean.getCurrentPath());
storeName = AVMConstants.getCorrespondingPreviewStoreName(storeName); storeName = AVMUtil.getCorrespondingPreviewStoreName(storeName);
final String path = AVMConstants.buildStoreRootPath(storeName); final String path = AVMUtil.buildStoreRootPath(storeName);
if (LOGGER.isDebugEnabled()) if (LOGGER.isDebugEnabled())
LOGGER.debug("reseting layer " + path); LOGGER.debug("reseting layer " + path);
this.avmSyncService.resetLayer(path); this.avmSyncService.resetLayer(path);
@@ -285,13 +285,13 @@ public class CreateWebContentWizard extends BaseContentWizard
final List<AVMDifference> diffList = final List<AVMDifference> diffList =
new ArrayList<AVMDifference>(1 + this.renditions.size() + uploadedFiles.length); new ArrayList<AVMDifference>(1 + this.renditions.size() + uploadedFiles.length);
diffList.add(new AVMDifference(-1, this.createdPath, diffList.add(new AVMDifference(-1, this.createdPath,
-1, AVMConstants.getCorrespondingPathInMainStore(this.createdPath), -1, AVMUtil.getCorrespondingPathInMainStore(this.createdPath),
AVMDifference.NEWER)); AVMDifference.NEWER));
for (Rendition rendition : this.renditions) for (Rendition rendition : this.renditions)
{ {
final String path = rendition.getPath(); final String path = rendition.getPath();
diffList.add(new AVMDifference(-1, path, diffList.add(new AVMDifference(-1, path,
-1, AVMConstants.getCorrespondingPathInMainStore(path), -1, AVMUtil.getCorrespondingPathInMainStore(path),
AVMDifference.NEWER)); AVMDifference.NEWER));
} }
@@ -299,7 +299,7 @@ public class CreateWebContentWizard extends BaseContentWizard
{ {
final String path = AVMNodeConverter.ToAVMVersionPath(uploadedFile).getSecond(); final String path = AVMNodeConverter.ToAVMVersionPath(uploadedFile).getSecond();
diffList.add(new AVMDifference(-1, path, diffList.add(new AVMDifference(-1, path,
-1, AVMConstants.getCorrespondingPathInMainStore(path), -1, AVMUtil.getCorrespondingPathInMainStore(path),
AVMDifference.NEWER)); AVMDifference.NEWER));
} }
@@ -354,20 +354,20 @@ public class CreateWebContentWizard extends BaseContentWizard
// collect diffs for form data instance and all renditions // collect diffs for form data instance and all renditions
for (Rendition rendition : this.getRenditions()) for (Rendition rendition : this.getRenditions())
{ {
srcPaths.add(AVMConstants.getCorrespondingPath(rendition.getPath(), sandboxName)); srcPaths.add(AVMUtil.getCorrespondingPath(rendition.getPath(), sandboxName));
} }
for (NodeRef uploadedFile : uploadedFiles) for (NodeRef uploadedFile : uploadedFiles)
{ {
final String uploadPath = AVMNodeConverter.ToAVMVersionPath(uploadedFile).getSecond(); final String uploadPath = AVMNodeConverter.ToAVMVersionPath(uploadedFile).getSecond();
srcPaths.add(AVMConstants.getCorrespondingPath(uploadPath, sandboxName)); srcPaths.add(AVMUtil.getCorrespondingPath(uploadPath, sandboxName));
} }
srcPaths.add(AVMConstants.getCorrespondingPath(this.formInstanceData.getPath(), sandboxName)); srcPaths.add(AVMUtil.getCorrespondingPath(this.formInstanceData.getPath(), sandboxName));
} }
else else
{ {
// diff for txt or html content // diff for txt or html content
srcPaths.add(AVMConstants.getCorrespondingPath(this.createdPath, sandboxName)); srcPaths.add(AVMUtil.getCorrespondingPath(this.createdPath, sandboxName));
} }
if (LOGGER.isDebugEnabled()) if (LOGGER.isDebugEnabled())
@@ -399,7 +399,7 @@ public class CreateWebContentWizard extends BaseContentWizard
MimetypeMap.MIMETYPE_XML.equals(this.mimeType) && this.formName != null MimetypeMap.MIMETYPE_XML.equals(this.mimeType) && this.formName != null
? this.formInstanceData.getName() ? this.formInstanceData.getName()
: this.getFileName()); : this.getFileName());
parameters.put(AVMWorkflowUtil.PROP_FROM_PATH, AVMConstants.buildStoreRootPath(sandboxName)); parameters.put(AVMWorkflowUtil.PROP_FROM_PATH, AVMUtil.buildStoreRootPath(sandboxName));
// update start task with submit parameters // update start task with submit parameters
this.workflowService.updateTask(startTask.id, parameters, null, null); this.workflowService.updateTask(startTask.id, parameters, null, null);
@@ -424,7 +424,7 @@ public class CreateWebContentWizard extends BaseContentWizard
protected String doPostCommitProcessing(final FacesContext facesContext, final String outcome) protected String doPostCommitProcessing(final FacesContext facesContext, final String outcome)
{ {
// reset all paths and structures to the main store // reset all paths and structures to the main store
this.createdPath = AVMConstants.getCorrespondingPathInMainStore(this.createdPath); this.createdPath = AVMUtil.getCorrespondingPathInMainStore(this.createdPath);
if (LOGGER.isDebugEnabled()) if (LOGGER.isDebugEnabled())
LOGGER.debug("reset path " + this.createdPath + " to main store"); LOGGER.debug("reset path " + this.createdPath + " to main store");
@@ -467,7 +467,7 @@ public class CreateWebContentWizard extends BaseContentWizard
if (LOGGER.isDebugEnabled()) if (LOGGER.isDebugEnabled())
LOGGER.debug("saving file content to " + fileName); LOGGER.debug("saving file content to " + fileName);
final String cwd = AVMConstants.getCorrespondingPathInPreviewStore(this.avmBrowseBean.getCurrentPath()); final String cwd = AVMUtil.getCorrespondingPathInPreviewStore(this.avmBrowseBean.getCurrentPath());
final Form form = (MimetypeMap.MIMETYPE_XML.equals(this.mimeType) final Form form = (MimetypeMap.MIMETYPE_XML.equals(this.mimeType)
? this.getForm() ? this.getForm()
: null); : null);
@@ -487,7 +487,7 @@ public class CreateWebContentWizard extends BaseContentWizard
if (LOGGER.isDebugEnabled()) if (LOGGER.isDebugEnabled())
LOGGER.debug("creating all directories in path " + path); LOGGER.debug("creating all directories in path " + path);
AVMConstants.makeAllDirectories(path); AVMUtil.makeAllDirectories(path);
if (LOGGER.isDebugEnabled()) if (LOGGER.isDebugEnabled())
LOGGER.debug("creating file " + fileName + " in " + path); LOGGER.debug("creating file " + fileName + " in " + path);
@@ -794,7 +794,7 @@ public class CreateWebContentWizard extends BaseContentWizard
*/ */
public String getPreviewSandboxUrl() public String getPreviewSandboxUrl()
{ {
return AVMConstants.buildWebappUrl(AVMConstants.getCorrespondingPreviewStoreName(this.avmBrowseBean.getSandbox()), return AVMUtil.buildWebappUrl(AVMUtil.getCorrespondingPreviewStoreName(this.avmBrowseBean.getSandbox()),
this.avmBrowseBean.getWebapp()); this.avmBrowseBean.getWebapp());
} }

View File

@@ -49,7 +49,7 @@ public class CreateWebappDialog extends CreateFolderDialog
@Override @Override
protected String finishImpl(FacesContext context, String outcome) throws Exception protected String finishImpl(FacesContext context, String outcome) throws Exception
{ {
final String parent = AVMConstants.buildSandboxRootPath(this.avmBrowseBean.getStagingStore()); final String parent = AVMUtil.buildSandboxRootPath(this.avmBrowseBean.getStagingStore());
this.avmService.createDirectory(parent, this.name); this.avmService.createDirectory(parent, this.name);
final String path = AVMNodeConverter.ExtendAVMPath(parent, this.name); final String path = AVMNodeConverter.ExtendAVMPath(parent, this.name);

View File

@@ -53,6 +53,7 @@ import org.alfresco.service.cmr.workflow.WorkflowDefinition;
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.DNSNameMangler;
import org.alfresco.web.app.AlfrescoNavigationHandler; import org.alfresco.web.app.AlfrescoNavigationHandler;
import org.alfresco.web.app.Application; import org.alfresco.web.app.Application;
import org.alfresco.web.app.servlet.FacesHelper; import org.alfresco.web.app.servlet.FacesHelper;
@@ -178,7 +179,7 @@ public class CreateWebsiteWizard extends BaseWizardBean
// apply the uifacets aspect - icon, title and description props // apply the uifacets aspect - icon, title and description props
Map<QName, Serializable> uiFacetsProps = new HashMap<QName, Serializable>(4); Map<QName, Serializable> uiFacetsProps = new HashMap<QName, Serializable>(4);
uiFacetsProps.put(ApplicationModel.PROP_ICON, AVMConstants.SPACE_ICON_WEBSITE); uiFacetsProps.put(ApplicationModel.PROP_ICON, AVMUtil.SPACE_ICON_WEBSITE);
uiFacetsProps.put(ContentModel.PROP_TITLE, this.title); uiFacetsProps.put(ContentModel.PROP_TITLE, this.title);
uiFacetsProps.put(ContentModel.PROP_DESCRIPTION, this.description); uiFacetsProps.put(ContentModel.PROP_DESCRIPTION, this.description);
this.nodeService.addAspect(nodeRef, ApplicationModel.ASPECT_UIFACETS, uiFacetsProps); this.nodeService.addAspect(nodeRef, ApplicationModel.ASPECT_UIFACETS, uiFacetsProps);
@@ -204,8 +205,8 @@ public class CreateWebsiteWizard extends BaseWizardBean
this.sandboxInfo = SandboxFactory.createStagingSandbox(avmStore, nodeRef); this.sandboxInfo = SandboxFactory.createStagingSandbox(avmStore, nodeRef);
// create the default webapp folder under the hidden system folders // create the default webapp folder under the hidden system folders
final String stagingStore = AVMConstants.buildStagingStoreName(avmStore); final String stagingStore = AVMUtil.buildStagingStoreName(avmStore);
final String stagingStoreRoot = AVMConstants.buildSandboxRootPath(stagingStore); final String stagingStoreRoot = AVMUtil.buildSandboxRootPath(stagingStore);
this.avmService.createDirectory(stagingStoreRoot, webapp); this.avmService.createDirectory(stagingStoreRoot, webapp);
this.avmService.addAspect(AVMNodeConverter.ExtendAVMPath(stagingStoreRoot, webapp), this.avmService.addAspect(AVMNodeConverter.ExtendAVMPath(stagingStoreRoot, webapp),
WCMAppModel.ASPECT_WEBAPP); WCMAppModel.ASPECT_WEBAPP);
@@ -234,11 +235,11 @@ public class CreateWebsiteWizard extends BaseWizardBean
{ {
// update the virtualisation server with the default ROOT webapp path // update the virtualisation server with the default ROOT webapp path
// performed after the main txn has committed successfully // performed after the main txn has committed successfully
String newStoreName = AVMConstants.buildStagingStoreName(sandboxInfo.getMainStoreName()); String newStoreName = AVMUtil.buildStagingStoreName(sandboxInfo.getMainStoreName());
String path = AVMConstants.buildStoreWebappPath(newStoreName, WEBAPP_DEFAULT); String path = AVMUtil.buildStoreWebappPath(newStoreName, WEBAPP_DEFAULT);
AVMConstants.updateVServerWebapp(path, true); AVMUtil.updateVServerWebapp(path, true);
} }
return outcome; return outcome;
} }
@@ -497,7 +498,7 @@ public class CreateWebsiteWizard extends BaseWizardBean
{ {
String pattern = Application.getMessage(FacesContext.getCurrentInstance(), String pattern = Application.getMessage(FacesContext.getCurrentInstance(),
"deploy_to_help"); "deploy_to_help");
String defaultPort = Integer.toString(AVMConstants.getRemoteRMIRegistryPort()); String defaultPort = Integer.toString(AVMUtil.getRemoteRMIRegistryPort());
return MessageFormat.format(pattern, new Object[] {defaultPort}); return MessageFormat.format(pattern, new Object[] {defaultPort});
} }
@@ -527,7 +528,7 @@ public class CreateWebsiteWizard extends BaseWizardBean
if (foundCurrentUser == false) if (foundCurrentUser == false)
{ {
buf.append(getInviteUsersWizard().buildLabelForUserAuthorityRole( buf.append(getInviteUsersWizard().buildLabelForUserAuthorityRole(
currentUser, AVMConstants.ROLE_CONTENT_MANAGER)); currentUser, AVMUtil.ROLE_CONTENT_MANAGER));
} }
return buildSummary( return buildSummary(
@@ -557,7 +558,7 @@ public class CreateWebsiteWizard extends BaseWizardBean
} }
if (foundCurrentUser == false) if (foundCurrentUser == false)
{ {
result.add(new UserWrapper(currentUser, AVMConstants.ROLE_CONTENT_MANAGER)); result.add(new UserWrapper(currentUser, AVMUtil.ROLE_CONTENT_MANAGER));
} }
return result; return result;
} }

View File

@@ -1,168 +0,0 @@
/*
* Copyright (C) 2005-2007 Alfresco Software Limited.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* As a special exception to the terms and conditions of version 2.0 of
* the GPL, you may redistribute this Program in connection with Free/Libre
* and Open Source Software ("FLOSS") applications as described in Alfresco's
* FLOSS exception. You should have recieved a copy of the text describing
* the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" */
package org.alfresco.web.bean.wcm;
import java.util.regex.Pattern;
import org.alfresco.util.GUID;
/**
* Utility to convert sandbox store names into DNS save names.
*
* Host labels appear in the same order as transparent overlays
* are viewed (highest first). For example:
*
* The "preview" layer on the "alice" layer on the "mysite" layer
* within the domain www--sandbox.127-0-0-1.ip.alfrescodemo.net
* is encoded as:
*
* http://preview.alice.mysite.www--sandbox.127-0-0-1.ip.alfrescodemo.net
*
* Note that the "virtualization" domain config just refers to
* where the wildcard DNS entry begins. Here, both domains
* "127-0-0-1.ip.alfrescodemo.net" and "*.127-0-0-1.ip.alfrescodemo.net"
* resolve to 127.0.0.1, so effectively "127-0-0-1.ip.alfrescodemo.net"
* is the "virtualization domain". The "www--sandbox" part just
* delmits the end of the dns-name-mangled store.
*
* This manging scheme was also designed to be fully compatible with
* the future use of I18N-encoded DNS names; the relevant standard
* is IDNA ("Internationalizing Domain Names In Applications").
* See RFC 3490 and 3492.
*
* @author Jon Cox
* @author Britt Park
*
*/
class DNSNameMangler
{
// Component Separator.
private static final String SEPARATOR = ".";
// DNS rules allow up to 255 chars, but limiting
// MAX_INTERNAL_DNS_NAME_LENGTH to less in order
// to provide plenty of extra room for:
//
//
// o The AVMUrlValve's end-of-info-bearing-part-of-DNS-name delimiter:
// (i.e.: ".www--sandbox"). For example:
//
// http://<info-bearing-dns-name>.www--sandbox:<port>/
//
// o Other AVMUrlValve args after "www--sandbox". For example:
// http://alice.mysite.www--sandbox.version--v44.<domain>:<port>/
// http://alice.mysite.www--sandbox.gmt--2006-12-31-23-59.<domain>
// ...
//
private static final int MAX_INTERNAL_DNS_NAME_LENGTH = 150;
// Regular expressions.
private static final Pattern RX_DNS_LEGAL =
Pattern.compile("[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]" +
"(?:\\.[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])*");
private static final Pattern RX_ILLEGAL_CHARS =
Pattern.compile("[^a-zA-Z0-9]");
private static final Pattern RX_HYPHENS =
Pattern.compile("\\-+");
private static final Pattern RX_LEADING_HYPHEN =
Pattern.compile("^\\-");
private static final Pattern RX_TRAILING_HYPHEN =
Pattern.compile("\\-$");
/**
* Make a DNS readable name related to the components passed in.
* @param components The Strings from which to synthesize the DNS name.
* @return A Valid DNS name.
*/
static String MakeDNSName(String... components)
{
StringBuilder builder = new StringBuilder();
// Make domain name order the reverse
// of the file system ordering.
for (int i = components.length - 1; i > 0; i--)
{
builder.append(MangleOne(components[i]));
builder.append(SEPARATOR);
}
builder.append(MangleOne(components[0]));
String result = builder.toString();
if ( (result.length() <= MAX_INTERNAL_DNS_NAME_LENGTH) &&
RX_DNS_LEGAL.matcher(result).matches()
)
{
return result;
}
// Otherwise more drastic measures are needed.
result = components[0] + SEPARATOR + "guid-" + GUID.generate();
result = MangleOne(result);
if ( (result.length() <= MAX_INTERNAL_DNS_NAME_LENGTH) &&
RX_DNS_LEGAL.matcher(result).matches()
)
{
return result;
}
// Finally this cannot fail.
return MangleOne("guid-" + GUID.generate());
}
/**
* Mangle one component of a DNS legal name.
* @param name The component.
* @return The mangled component.
*/
static String MangleOne(String name)
{
// Even if the name is IDNA-encoded, the result is never
// a string that contains chars outside of [a-zA-Z0-9-]
// Replace bad chars with "-", rather than throwing
// an error.
name = RX_ILLEGAL_CHARS.matcher(name).replaceAll("-");
// While it's tempting to reserve "--" as our own
// mangling delimiter, IDNA has already clamed it.
// Therefore, doing something like this would be bad:
//
// name = RX_HYPHENS.matcher(name).replaceAll("-");
//
// Any IDNA I18N-encoded host label ("xn--...") would
// be corrupted.
// However, leading/trailing hyphens are always illegal,
// so we can still check for that:
name = RX_LEADING_HYPHEN.matcher(name).replaceAll("x");
name = RX_TRAILING_HYPHEN.matcher(name).replaceAll("x");
return name;
}
}

View File

@@ -1,63 +0,0 @@
/*
* Copyright (C) 2005-2007 Alfresco Software Limited.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* As a special exception to the terms and conditions of version 2.0 of
* the GPL, you may redistribute this Program in connection with Free/Libre
* and Open Source Software ("FLOSS") applications as described in Alfresco's
* FLOSS exception. You should have recieved a copy of the text describing
* the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" */
package org.alfresco.web.bean.wcm;
import junit.framework.TestCase;
/**
* Test the DNSNameMangler.
* @author britt
*/
public class DNSNameManglerTest extends TestCase
{
/**
* Test it.
*/
public void testIt()
{
try
{
String mangled = DNSNameMangler.MakeDNSName("website", "britt", "main");
System.out.println(mangled);
assertTrue(mangled.length() <= 59);
mangled = DNSNameMangler.MakeDNSName("website", "Foodle Dee dOO", "main");
System.out.println(mangled);
assertTrue(mangled.length() <= 59);
mangled = DNSNameMangler.MakeDNSName("website-thinkl$", "winky_froo", "orkle");
System.out.println(mangled);
assertTrue(mangled.length() <= 59);
mangled = DNSNameMangler.MakeDNSName("fork", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxZZxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "winkle");
System.out.println(mangled);
assertTrue(mangled.length() <= 59);
mangled = DNSNameMangler.MakeDNSName("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "Frederick", "preview");
System.out.println(mangled);
assertTrue(mangled.length() <= 59);
}
catch (Exception e)
{
e.printStackTrace(System.err);
fail();
}
}
}

View File

@@ -98,8 +98,8 @@ public class DeleteSandboxDialog extends BaseDialogBean
{ {
// found the sandbox to remove // found the sandbox to remove
String storeRoot = (String)website.getProperties().get(WCMAppModel.PROP_AVMSTORE); String storeRoot = (String)website.getProperties().get(WCMAppModel.PROP_AVMSTORE);
String sandbox = AVMConstants.buildUserMainStoreName(storeRoot, username); String sandbox = AVMUtil.buildUserMainStoreName(storeRoot, username);
String path = AVMConstants.buildStoreWebappPath(sandbox, this.avmBrowseBean.getWebapp()); String path = AVMUtil.buildStoreWebappPath(sandbox, this.avmBrowseBean.getWebapp());
// Notify virtualisation server about removing this sandbox. // Notify virtualisation server about removing this sandbox.
// //
@@ -117,7 +117,7 @@ public class DeleteSandboxDialog extends BaseDialogBean
// dependent order, so clients don't have to worry about // dependent order, so clients don't have to worry about
// accessing a preview layer whose main layer has been torn // accessing a preview layer whose main layer has been torn
// out from under it. // out from under it.
AVMConstants.removeVServerWebapp(path, true); AVMUtil.removeVServerWebapp(path, true);
// TODO: Use the .sandbox-id. property to delete all sandboxes, // TODO: Use the .sandbox-id. property to delete all sandboxes,
// rather than assume a sandbox always had a single preview // rather than assume a sandbox always had a single preview
@@ -127,7 +127,7 @@ public class DeleteSandboxDialog extends BaseDialogBean
this.avmService.purgeStore(sandbox); this.avmService.purgeStore(sandbox);
// purge the user preview sandbox store from the system // purge the user preview sandbox store from the system
sandbox = AVMConstants.buildUserPreviewStoreName(storeRoot, username); sandbox = AVMUtil.buildUserPreviewStoreName(storeRoot, username);
this.avmService.purgeStore(sandbox); this.avmService.purgeStore(sandbox);
// remove the association to this web project user meta-data // remove the association to this web project user meta-data

View File

@@ -93,9 +93,9 @@ public class DeleteWebsiteDialog extends DeleteSpaceDialog
// It does not matter what webapp name we give here, so "/ROOT" // It does not matter what webapp name we give here, so "/ROOT"
// is as sensible as anything else. It's all going away. // is as sensible as anything else. It's all going away.
String sandbox = AVMConstants.buildStagingStoreName(storeRoot); String sandbox = AVMUtil.buildStagingStoreName(storeRoot);
String path = AVMConstants.buildStoreWebappPath(sandbox, "/ROOT"); String path = AVMUtil.buildStoreWebappPath(sandbox, "/ROOT");
AVMConstants.removeVServerWebapp(path, true); AVMUtil.removeVServerWebapp(path, true);
// get the list of users who have a sandbox in the website // get the list of users who have a sandbox in the website
@@ -106,15 +106,15 @@ public class DeleteWebsiteDialog extends DeleteSpaceDialog
String username = (String)nodeService.getProperty(ref.getChildRef(), WCMAppModel.PROP_WEBUSERNAME); String username = (String)nodeService.getProperty(ref.getChildRef(), WCMAppModel.PROP_WEBUSERNAME);
// delete the preview store for this user // delete the preview store for this user
deleteStore(AVMConstants.buildUserPreviewStoreName(storeRoot, username)); deleteStore(AVMUtil.buildUserPreviewStoreName(storeRoot, username));
// delete the main store for this user // delete the main store for this user
deleteStore(AVMConstants.buildUserMainStoreName(storeRoot, username)); deleteStore(AVMUtil.buildUserMainStoreName(storeRoot, username));
} }
// remove the main staging and preview stores // remove the main staging and preview stores
deleteStore(AVMConstants.buildStagingPreviewStoreName(storeRoot)); deleteStore(AVMUtil.buildStagingPreviewStoreName(storeRoot));
deleteStore(AVMConstants.buildStagingStoreName(storeRoot)); deleteStore(AVMUtil.buildStagingStoreName(storeRoot));
// use the super implementation to delete the node itself // use the super implementation to delete the node itself
return super.finishImpl(context, outcome); return super.finishImpl(context, outcome);

View File

@@ -74,7 +74,7 @@ public class DeploySnapshotDialog extends BaseDialogBean
this.versionToDeploy = Integer.parseInt(parameters.get("version")); this.versionToDeploy = Integer.parseInt(parameters.get("version"));
this.avmBrowseBean.getDeploymentMonitorIds().clear(); this.avmBrowseBean.getDeploymentMonitorIds().clear();
this.webProjectRef = this.avmBrowseBean.getWebsite().getNodeRef(); this.webProjectRef = this.avmBrowseBean.getWebsite().getNodeRef();
String stagingStore = AVMConstants.buildSandboxRootPath(this.avmBrowseBean.getStagingStore()); String stagingStore = AVMUtil.buildSandboxRootPath(this.avmBrowseBean.getStagingStore());
this.websiteRef = AVMNodeConverter.ToNodeRef(this.versionToDeploy, stagingStore); this.websiteRef = AVMNodeConverter.ToNodeRef(this.versionToDeploy, stagingStore);
if (logger.isDebugEnabled()) if (logger.isDebugEnabled())
@@ -152,14 +152,14 @@ public class DeploySnapshotDialog extends BaseDialogBean
args.put(AVMDeploySnapshotAction.PARAM_WEBSITE, webProjectRef); args.put(AVMDeploySnapshotAction.PARAM_WEBSITE, webProjectRef);
args.put(AVMDeploySnapshotAction.PARAM_TARGET_SERVER, targetServer); args.put(AVMDeploySnapshotAction.PARAM_TARGET_SERVER, targetServer);
args.put(AVMDeploySnapshotAction.PARAM_DEFAULT_RMI_PORT, args.put(AVMDeploySnapshotAction.PARAM_DEFAULT_RMI_PORT,
AVMConstants.getRemoteRMIRegistryPort()); AVMUtil.getRemoteRMIRegistryPort());
args.put(AVMDeploySnapshotAction.PARAM_REMOTE_USERNAME, args.put(AVMDeploySnapshotAction.PARAM_REMOTE_USERNAME,
AVMConstants.getRemoteDeploymentUsername()); AVMUtil.getRemoteDeploymentUsername());
args.put(AVMDeploySnapshotAction.PARAM_REMOTE_PASSWORD, args.put(AVMDeploySnapshotAction.PARAM_REMOTE_PASSWORD,
AVMConstants.getRemoteDeploymentPassword()); AVMUtil.getRemoteDeploymentPassword());
args.put(AVMDeploySnapshotAction.PARAM_CALLBACK, monitor); args.put(AVMDeploySnapshotAction.PARAM_CALLBACK, monitor);
args.put(AVMDeploySnapshotAction.PARAM_DELAY, args.put(AVMDeploySnapshotAction.PARAM_DELAY,
AVMConstants.getRemoteDeploymentDelay()); AVMUtil.getRemoteDeploymentDelay());
Action action = this.actionService.createAction(AVMDeploySnapshotAction.NAME, args); Action action = this.actionService.createAction(AVMDeploySnapshotAction.NAME, args);
this.actionService.executeAction(action, this.websiteRef, false, true); this.actionService.executeAction(action, this.websiteRef, false, true);
} }

View File

@@ -189,11 +189,11 @@ public class EditWebsiteWizard extends CreateWebsiteWizard
// change/create the root webapp name for the website // change/create the root webapp name for the website
if (this.webapp != null && this.webapp.length() != 0) if (this.webapp != null && this.webapp.length() != 0)
{ {
String stagingStore = AVMConstants.buildStagingStoreName(this.dnsName); String stagingStore = AVMUtil.buildStagingStoreName(this.dnsName);
String webappPath = AVMConstants.buildStoreWebappPath(stagingStore, this.webapp); String webappPath = AVMUtil.buildStoreWebappPath(stagingStore, this.webapp);
if (this.avmService.lookup(-1, webappPath) == null) if (this.avmService.lookup(-1, webappPath) == null)
{ {
this.avmService.createDirectory(AVMConstants.buildSandboxRootPath(stagingStore), this.webapp); this.avmService.createDirectory(AVMUtil.buildSandboxRootPath(stagingStore), this.webapp);
} }
this.nodeService.setProperty(nodeRef, WCMAppModel.PROP_DEFAULTWEBAPP, this.webapp); this.nodeService.setProperty(nodeRef, WCMAppModel.PROP_DEFAULTWEBAPP, this.webapp);
} }

View File

@@ -131,7 +131,7 @@ public class FileDetailsBean extends AVMDetailsBean
*/ */
public String getPreviewUrl() public String getPreviewUrl()
{ {
return AVMConstants.buildAssetUrl(getAvmNode().getPath()); return AVMUtil.buildAssetUrl(getAvmNode().getPath());
} }
/** /**

View File

@@ -61,7 +61,7 @@ public class FolderDetailsBean extends AVMDetailsBean
*/ */
public String getPreviewUrl() public String getPreviewUrl()
{ {
return AVMConstants.buildAssetUrl(getAvmNode().getPath()); return AVMUtil.buildAssetUrl(getAvmNode().getPath());
} }
/** /**

View File

@@ -212,13 +212,13 @@ public class ImportWebsiteDialog
// After a bulk import it's a good idea to snapshot the store // After a bulk import it's a good idea to snapshot the store
this.avmService.createSnapshot( this.avmService.createSnapshot(
AVMConstants.getStoreName(rootPath), AVMUtil.getStoreName(rootPath),
"Import of file: " + this.fileName, null); "Import of file: " + this.fileName, null);
tx.commit(); tx.commit();
// Reload virtualisation server as required // Reload virtualisation server as required
AVMConstants.updateVServerWebapp(rootPath, true); AVMUtil.updateVServerWebapp(rootPath, true);
UIContextService.getInstance(context).notifyBeans(); UIContextService.getInstance(context).notifyBeans();

View File

@@ -125,7 +125,7 @@ public class InviteWebsiteUsersWizard extends InviteUsersWizard
{ {
foundCurrentUser = true; foundCurrentUser = true;
} }
if (AVMConstants.ROLE_CONTENT_MANAGER.equals(userRole.getRole())) if (AVMUtil.ROLE_CONTENT_MANAGER.equals(userRole.getRole()))
{ {
this.managers.add(userAuth); this.managers.add(userAuth);
} }
@@ -134,7 +134,7 @@ public class InviteWebsiteUsersWizard extends InviteUsersWizard
if (foundCurrentUser == false) if (foundCurrentUser == false)
{ {
this.userGroupRoles.add(new UserGroupRole(currentUser, AVMConstants.ROLE_CONTENT_MANAGER, null)); this.userGroupRoles.add(new UserGroupRole(currentUser, AVMUtil.ROLE_CONTENT_MANAGER, null));
this.managers.add(currentUser); this.managers.add(currentUser);
} }
} }
@@ -146,7 +146,7 @@ public class InviteWebsiteUsersWizard extends InviteUsersWizard
{ {
for (String userAuth : findNestedUserAuthorities(userRole.getAuthority())) for (String userAuth : findNestedUserAuthorities(userRole.getAuthority()))
{ {
if (AVMConstants.ROLE_CONTENT_MANAGER.equals(userRole.getRole())) if (AVMUtil.ROLE_CONTENT_MANAGER.equals(userRole.getRole()))
{ {
this.managers.add(userAuth); this.managers.add(userAuth);
} }
@@ -161,7 +161,7 @@ public class InviteWebsiteUsersWizard extends InviteUsersWizard
String username = (String)nodeService.getProperty(userInfoRef, WCMAppModel.PROP_WEBUSERNAME); String username = (String)nodeService.getProperty(userInfoRef, WCMAppModel.PROP_WEBUSERNAME);
String userrole = (String)nodeService.getProperty(userInfoRef, WCMAppModel.PROP_WEBUSERROLE); String userrole = (String)nodeService.getProperty(userInfoRef, WCMAppModel.PROP_WEBUSERROLE);
if (AVMConstants.ROLE_CONTENT_MANAGER.equals(userrole) && if (AVMUtil.ROLE_CONTENT_MANAGER.equals(userrole) &&
this.managers.contains(username) == false) this.managers.contains(username) == false)
{ {
this.managers.add(username); this.managers.add(username);
@@ -201,7 +201,7 @@ public class InviteWebsiteUsersWizard extends InviteUsersWizard
// if this new user is a manager, we'll need to update the manager permissions applied // if this new user is a manager, we'll need to update the manager permissions applied
// to each existing user sandbox - to ensure that new managers have access to them // to each existing user sandbox - to ensure that new managers have access to them
managersUpdateRequired |= (AVMConstants.ROLE_CONTENT_MANAGER.equals(userRole.getRole())); managersUpdateRequired |= (AVMUtil.ROLE_CONTENT_MANAGER.equals(userRole.getRole()));
} }
} }
} }
@@ -238,13 +238,13 @@ public class InviteWebsiteUsersWizard extends InviteUsersWizard
{ {
for (SandboxInfo sandboxInfo : this.sandboxInfoList) for (SandboxInfo sandboxInfo : this.sandboxInfoList)
{ {
String newlyInvitedStoreName = AVMConstants.buildStagingStoreName( String newlyInvitedStoreName = AVMUtil.buildStagingStoreName(
sandboxInfo.getMainStoreName()); sandboxInfo.getMainStoreName());
String path = AVMConstants.buildStoreWebappPath( String path = AVMUtil.buildStoreWebappPath(
newlyInvitedStoreName, this.avmBrowseBean.getWebapp()); newlyInvitedStoreName, this.avmBrowseBean.getWebapp());
AVMConstants.updateVServerWebapp(path, true); AVMUtil.updateVServerWebapp(path, true);
} }
} }
return outcome; return outcome;
@@ -314,7 +314,7 @@ public class InviteWebsiteUsersWizard extends InviteUsersWizard
if (isStandalone() == false && foundCurrentUser == false) if (isStandalone() == false && foundCurrentUser == false)
{ {
buf.append(buildLabelForUserAuthorityRole( buf.append(buildLabelForUserAuthorityRole(
currentUser, AVMConstants.ROLE_CONTENT_MANAGER)); currentUser, AVMUtil.ROLE_CONTENT_MANAGER));
} }
return buildSummary( return buildSummary(

View File

@@ -109,8 +109,8 @@ public class RevertAllDialog extends BaseDialogBean
protected String finishImpl(FacesContext context, String outcome) throws Exception protected String finishImpl(FacesContext context, String outcome) throws Exception
{ {
String webapp = this.avmBrowseBean.getWebapp(); String webapp = this.avmBrowseBean.getWebapp();
String userStore = AVMConstants.buildStoreWebappPath(this.avmBrowseBean.getSandbox(), webapp); String userStore = AVMUtil.buildStoreWebappPath(this.avmBrowseBean.getSandbox(), webapp);
String stagingStore = AVMConstants.buildStoreWebappPath(this.avmBrowseBean.getStagingStore(), webapp); String stagingStore = AVMUtil.buildStoreWebappPath(this.avmBrowseBean.getStagingStore(), webapp);
// calcluate the list of differences between the user store and the staging area // calcluate the list of differences between the user store and the staging area
List<AVMDifference> diffs = this.avmSyncService.compare( List<AVMDifference> diffs = this.avmSyncService.compare(
@@ -155,7 +155,7 @@ public class RevertAllDialog extends BaseDialogBean
// that update_path requires virt server notification. // that update_path requires virt server notification.
if (this.virtUpdatePath != null) if (this.virtUpdatePath != null)
{ {
AVMConstants.updateVServerWebapp(this.virtUpdatePath, true); AVMUtil.updateVServerWebapp(this.virtUpdatePath, true);
} }
return outcome; return outcome;
} }

View File

@@ -132,7 +132,7 @@ public class RevertSelectedDialog extends BaseDialogBean
// that update_path requires virt server notification. // that update_path requires virt server notification.
if (this.virtUpdatePath != null) if (this.virtUpdatePath != null)
{ {
AVMConstants.updateVServerWebapp(this.virtUpdatePath, true); AVMUtil.updateVServerWebapp(this.virtUpdatePath, true);
} }
return outcome; return outcome;
} }

View File

@@ -32,6 +32,7 @@ import javax.faces.context.FacesContext;
import org.alfresco.config.JNDIConstants; import org.alfresco.config.JNDIConstants;
import org.alfresco.repo.avm.AVMNodeConverter; import org.alfresco.repo.avm.AVMNodeConverter;
import org.alfresco.repo.domain.PropertyValue; import org.alfresco.repo.domain.PropertyValue;
import org.alfresco.sandbox.SandboxConstants;
import org.alfresco.service.ServiceRegistry; import org.alfresco.service.ServiceRegistry;
import org.alfresco.service.cmr.avm.AVMService; import org.alfresco.service.cmr.avm.AVMService;
import org.alfresco.service.cmr.dictionary.DataTypeDefinition; import org.alfresco.service.cmr.dictionary.DataTypeDefinition;
@@ -39,6 +40,7 @@ import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.security.PermissionService; import org.alfresco.service.cmr.security.PermissionService;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
import org.alfresco.util.GUID; import org.alfresco.util.GUID;
import org.alfresco.util.DNSNameMangler;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
@@ -82,7 +84,7 @@ public final class SandboxFactory
final PermissionService permissionService = services.getPermissionService(); final PermissionService permissionService = services.getPermissionService();
// create the 'staging' store for the website // create the 'staging' store for the website
final String stagingStoreName = AVMConstants.buildStagingStoreName(storeId); final String stagingStoreName = AVMUtil.buildStagingStoreName(storeId);
avmService.createStore(stagingStoreName); avmService.createStore(stagingStoreName);
if (logger.isDebugEnabled()) if (logger.isDebugEnabled())
logger.debug("Created staging sandbox store: " + stagingStoreName); logger.debug("Created staging sandbox store: " + stagingStoreName);
@@ -90,18 +92,18 @@ public final class SandboxFactory
// create the system directories 'www' and 'avm_webapps' // create the system directories 'www' and 'avm_webapps'
avmService.createDirectory(stagingStoreName + ":/", JNDIConstants.DIR_DEFAULT_WWW); avmService.createDirectory(stagingStoreName + ":/", JNDIConstants.DIR_DEFAULT_WWW);
// apply READ permissions for all users // apply READ permissions for all users
NodeRef dirRef = AVMNodeConverter.ToNodeRef(-1, AVMConstants.buildStoreRootPath(stagingStoreName)); NodeRef dirRef = AVMNodeConverter.ToNodeRef(-1, AVMUtil.buildStoreRootPath(stagingStoreName));
permissionService.setPermission(dirRef, PermissionService.ALL_AUTHORITIES, PermissionService.READ, true); permissionService.setPermission(dirRef, PermissionService.ALL_AUTHORITIES, PermissionService.READ, true);
avmService.createDirectory(AVMConstants.buildStoreRootPath(stagingStoreName), avmService.createDirectory(AVMUtil.buildStoreRootPath(stagingStoreName),
JNDIConstants.DIR_DEFAULT_APPBASE); JNDIConstants.DIR_DEFAULT_APPBASE);
// tag the store with the store type // tag the store with the store type
avmService.setStoreProperty(stagingStoreName, avmService.setStoreProperty(stagingStoreName,
AVMConstants.PROP_SANDBOX_STAGING_MAIN, SandboxConstants.PROP_SANDBOX_STAGING_MAIN,
new PropertyValue(DataTypeDefinition.TEXT, null)); new PropertyValue(DataTypeDefinition.TEXT, null));
avmService.setStoreProperty(stagingStoreName, avmService.setStoreProperty(stagingStoreName,
AVMConstants.PROP_WEB_PROJECT_NODE_REF, AVMUtil.PROP_WEB_PROJECT_NODE_REF,
new PropertyValue(DataTypeDefinition.NODE_REF, webProjectNodeRef)); new PropertyValue(DataTypeDefinition.NODE_REF, webProjectNodeRef));
// tag the store with the DNS name property // tag the store with the DNS name property
@@ -112,23 +114,23 @@ public final class SandboxFactory
// create the 'preview' store for the website // create the 'preview' store for the website
final String previewStoreName = AVMConstants.buildStagingPreviewStoreName(storeId); final String previewStoreName = AVMUtil.buildStagingPreviewStoreName(storeId);
avmService.createStore(previewStoreName); avmService.createStore(previewStoreName);
if (logger.isDebugEnabled()) if (logger.isDebugEnabled())
logger.debug("Created staging preview sandbox store: " + previewStoreName + logger.debug("Created staging preview sandbox store: " + previewStoreName +
" above " + stagingStoreName); " above " + stagingStoreName);
// create a layered directory pointing to 'www' in the staging area // create a layered directory pointing to 'www' in the staging area
avmService.createLayeredDirectory(AVMConstants.buildStoreRootPath(stagingStoreName), avmService.createLayeredDirectory(AVMUtil.buildStoreRootPath(stagingStoreName),
previewStoreName + ":/", previewStoreName + ":/",
JNDIConstants.DIR_DEFAULT_WWW); JNDIConstants.DIR_DEFAULT_WWW);
// apply READ permissions for all users // apply READ permissions for all users
dirRef = AVMNodeConverter.ToNodeRef(-1, AVMConstants.buildStoreRootPath(previewStoreName)); dirRef = AVMNodeConverter.ToNodeRef(-1, AVMUtil.buildStoreRootPath(previewStoreName));
permissionService.setPermission(dirRef, PermissionService.ALL_AUTHORITIES, PermissionService.READ, true); permissionService.setPermission(dirRef, PermissionService.ALL_AUTHORITIES, PermissionService.READ, true);
// tag the store with the store type // tag the store with the store type
avmService.setStoreProperty(previewStoreName, avmService.setStoreProperty(previewStoreName,
AVMConstants.PROP_SANDBOX_STAGING_PREVIEW, SandboxConstants.PROP_SANDBOX_STAGING_PREVIEW,
new PropertyValue(DataTypeDefinition.TEXT, null)); new PropertyValue(DataTypeDefinition.TEXT, null));
// tag the store with the DNS name property // tag the store with the DNS name property
@@ -142,7 +144,7 @@ public final class SandboxFactory
// tag all related stores to indicate that they are part of a single sandbox // tag all related stores to indicate that they are part of a single sandbox
final QName sandboxIdProp = QName.createQName(AVMConstants.PROP_SANDBOXID + GUID.generate()); final QName sandboxIdProp = QName.createQName(SandboxConstants.PROP_SANDBOXID + GUID.generate());
avmService.setStoreProperty(stagingStoreName, avmService.setStoreProperty(stagingStoreName,
sandboxIdProp, sandboxIdProp,
new PropertyValue(DataTypeDefinition.TEXT, null)); new PropertyValue(DataTypeDefinition.TEXT, null));
@@ -188,8 +190,8 @@ public final class SandboxFactory
final PermissionService permissionService = services.getPermissionService(); final PermissionService permissionService = services.getPermissionService();
// create the user 'main' store // create the user 'main' store
final String userStoreName = AVMConstants.buildUserMainStoreName(storeId, username); final String userStoreName = AVMUtil.buildUserMainStoreName(storeId, username);
final String previewStoreName = AVMConstants.buildUserPreviewStoreName(storeId, username); final String previewStoreName = AVMUtil.buildUserPreviewStoreName(storeId, username);
if (avmService.getStore(userStoreName) != null) if (avmService.getStore(userStoreName) != null)
{ {
@@ -201,39 +203,39 @@ public final class SandboxFactory
} }
avmService.createStore(userStoreName); avmService.createStore(userStoreName);
final String stagingStoreName = AVMConstants.buildStagingStoreName(storeId); final String stagingStoreName = AVMUtil.buildStagingStoreName(storeId);
if (logger.isDebugEnabled()) if (logger.isDebugEnabled())
logger.debug("Created user sandbox store: " + userStoreName + logger.debug("Created user sandbox store: " + userStoreName +
" above staging store " + stagingStoreName); " above staging store " + stagingStoreName);
// create a layered directory pointing to 'www' in the staging area // create a layered directory pointing to 'www' in the staging area
avmService.createLayeredDirectory(AVMConstants.buildStoreRootPath(stagingStoreName), avmService.createLayeredDirectory(AVMUtil.buildStoreRootPath(stagingStoreName),
userStoreName + ":/", userStoreName + ":/",
JNDIConstants.DIR_DEFAULT_WWW); JNDIConstants.DIR_DEFAULT_WWW);
NodeRef dirRef = AVMNodeConverter.ToNodeRef(-1, AVMConstants.buildStoreRootPath(userStoreName)); NodeRef dirRef = AVMNodeConverter.ToNodeRef(-1, AVMUtil.buildStoreRootPath(userStoreName));
// apply the user role permissions to the sandbox // apply the user role permissions to the sandbox
permissionService.setPermission(dirRef, username, role, true); permissionService.setPermission(dirRef, username, role, true);
permissionService.setPermission(dirRef, PermissionService.ALL_AUTHORITIES, PermissionService.READ, true); permissionService.setPermission(dirRef, PermissionService.ALL_AUTHORITIES, PermissionService.READ, true);
// apply the manager role permission for each manager in the web project // apply the manager role permission for each manager in the web project
for (String manager : managers) for (String manager : managers)
{ {
permissionService.setPermission(dirRef, manager, AVMConstants.ROLE_CONTENT_MANAGER, true); permissionService.setPermission(dirRef, manager, AVMUtil.ROLE_CONTENT_MANAGER, true);
} }
// tag the store with the store type // tag the store with the store type
avmService.setStoreProperty(userStoreName, avmService.setStoreProperty(userStoreName,
AVMConstants.PROP_SANDBOX_AUTHOR_MAIN, SandboxConstants.PROP_SANDBOX_AUTHOR_MAIN,
new PropertyValue(DataTypeDefinition.TEXT, null)); new PropertyValue(DataTypeDefinition.TEXT, null));
// tag the store with the base name of the website so that corresponding // tag the store with the base name of the website so that corresponding
// staging areas can be found. // staging areas can be found.
avmService.setStoreProperty(userStoreName, avmService.setStoreProperty(userStoreName,
AVMConstants.PROP_WEBSITE_NAME, SandboxConstants.PROP_WEBSITE_NAME,
new PropertyValue(DataTypeDefinition.TEXT, storeId)); new PropertyValue(DataTypeDefinition.TEXT, storeId));
// tag the store, oddly enough, with its own store name for querying. // tag the store, oddly enough, with its own store name for querying.
avmService.setStoreProperty(userStoreName, avmService.setStoreProperty(userStoreName,
QName.createQName(null, AVMConstants.PROP_SANDBOX_STORE_PREFIX + userStoreName), QName.createQName(null, SandboxConstants.PROP_SANDBOX_STORE_PREFIX + userStoreName),
new PropertyValue(DataTypeDefinition.TEXT, null)); new PropertyValue(DataTypeDefinition.TEXT, null));
// tag the store with the DNS name property // tag the store with the DNS name property
@@ -252,27 +254,27 @@ public final class SandboxFactory
" above " + userStoreName); " above " + userStoreName);
// create a layered directory pointing to 'www' in the user 'main' store // create a layered directory pointing to 'www' in the user 'main' store
avmService.createLayeredDirectory(AVMConstants.buildStoreRootPath(userStoreName), avmService.createLayeredDirectory(AVMUtil.buildStoreRootPath(userStoreName),
previewStoreName + ":/", previewStoreName + ":/",
JNDIConstants.DIR_DEFAULT_WWW); JNDIConstants.DIR_DEFAULT_WWW);
dirRef = AVMNodeConverter.ToNodeRef(-1, AVMConstants.buildStoreRootPath(previewStoreName)); dirRef = AVMNodeConverter.ToNodeRef(-1, AVMUtil.buildStoreRootPath(previewStoreName));
// apply the user role permissions to the sandbox // apply the user role permissions to the sandbox
permissionService.setPermission(dirRef, username, role, true); permissionService.setPermission(dirRef, username, role, true);
permissionService.setPermission(dirRef, PermissionService.ALL_AUTHORITIES, PermissionService.READ, true); permissionService.setPermission(dirRef, PermissionService.ALL_AUTHORITIES, PermissionService.READ, true);
// apply the manager role permission for each manager in the web project // apply the manager role permission for each manager in the web project
for (String manager : managers) for (String manager : managers)
{ {
permissionService.setPermission(dirRef, manager, AVMConstants.ROLE_CONTENT_MANAGER, true); permissionService.setPermission(dirRef, manager, AVMUtil.ROLE_CONTENT_MANAGER, true);
} }
// tag the store with the store type // tag the store with the store type
avmService.setStoreProperty(previewStoreName, avmService.setStoreProperty(previewStoreName,
AVMConstants.PROP_SANDBOX_AUTHOR_PREVIEW, SandboxConstants.PROP_SANDBOX_AUTHOR_PREVIEW,
new PropertyValue(DataTypeDefinition.TEXT, null)); new PropertyValue(DataTypeDefinition.TEXT, null));
// tag the store with its own store name for querying. // tag the store with its own store name for querying.
avmService.setStoreProperty(previewStoreName, avmService.setStoreProperty(previewStoreName,
QName.createQName(null, AVMConstants.PROP_SANDBOX_STORE_PREFIX + previewStoreName), QName.createQName(null, SandboxConstants.PROP_SANDBOX_STORE_PREFIX + previewStoreName),
new PropertyValue(DataTypeDefinition.TEXT, null)); new PropertyValue(DataTypeDefinition.TEXT, null));
// tag the store with the DNS name property // tag the store with the DNS name property
@@ -290,7 +292,7 @@ public final class SandboxFactory
// tag all related stores to indicate that they are part of a single sandbox // tag all related stores to indicate that they are part of a single sandbox
QName sandboxIdProp = QName.createQName(null, AVMConstants.PROP_SANDBOXID + GUID.generate()); QName sandboxIdProp = QName.createQName(null, SandboxConstants.PROP_SANDBOXID + GUID.generate());
avmService.setStoreProperty(userStoreName, avmService.setStoreProperty(userStoreName,
sandboxIdProp, sandboxIdProp,
new PropertyValue(DataTypeDefinition.TEXT, null)); new PropertyValue(DataTypeDefinition.TEXT, null));
@@ -324,36 +326,36 @@ public final class SandboxFactory
final AVMService avmService = services.getAVMService(); final AVMService avmService = services.getAVMService();
final PermissionService permissionService = services.getPermissionService(); final PermissionService permissionService = services.getPermissionService();
final String stagingStoreName = AVMConstants.buildStagingStoreName(storeId); final String stagingStoreName = AVMUtil.buildStagingStoreName(storeId);
// create the user 'main' store // create the user 'main' store
final String packageName = AVMConstants.STORE_WORKFLOW + "-" + GUID.generate(); final String packageName = AVMUtil.STORE_WORKFLOW + "-" + GUID.generate();
final String mainStoreName = final String mainStoreName =
AVMConstants.buildWorkflowMainStoreName(storeId, packageName); AVMUtil.buildWorkflowMainStoreName(storeId, packageName);
avmService.createStore(mainStoreName); avmService.createStore(mainStoreName);
if (logger.isDebugEnabled()) if (logger.isDebugEnabled())
logger.debug("Created workflow sandbox store: " + mainStoreName); logger.debug("Created workflow sandbox store: " + mainStoreName);
// create a layered directory pointing to 'www' in the staging area // create a layered directory pointing to 'www' in the staging area
avmService.createLayeredDirectory(AVMConstants.buildStoreRootPath(stagingStoreName), avmService.createLayeredDirectory(AVMUtil.buildStoreRootPath(stagingStoreName),
mainStoreName + ":/", mainStoreName + ":/",
JNDIConstants.DIR_DEFAULT_WWW); JNDIConstants.DIR_DEFAULT_WWW);
// tag the store with the store type // tag the store with the store type
avmService.setStoreProperty(mainStoreName, avmService.setStoreProperty(mainStoreName,
AVMConstants.PROP_SANDBOX_WORKFLOW_MAIN, SandboxConstants.PROP_SANDBOX_WORKFLOW_MAIN,
new PropertyValue(DataTypeDefinition.TEXT, null)); new PropertyValue(DataTypeDefinition.TEXT, null));
// tag the store with the base name of the website so that corresponding // tag the store with the base name of the website so that corresponding
// staging areas can be found. // staging areas can be found.
avmService.setStoreProperty(mainStoreName, avmService.setStoreProperty(mainStoreName,
AVMConstants.PROP_WEBSITE_NAME, SandboxConstants.PROP_WEBSITE_NAME,
new PropertyValue(DataTypeDefinition.TEXT, storeId)); new PropertyValue(DataTypeDefinition.TEXT, storeId));
// tag the store, oddly enough, with its own store name for querying. // tag the store, oddly enough, with its own store name for querying.
avmService.setStoreProperty(mainStoreName, avmService.setStoreProperty(mainStoreName,
QName.createQName(null, AVMConstants.PROP_SANDBOX_STORE_PREFIX + mainStoreName), QName.createQName(null, SandboxConstants.PROP_SANDBOX_STORE_PREFIX + mainStoreName),
new PropertyValue(DataTypeDefinition.TEXT, null)); new PropertyValue(DataTypeDefinition.TEXT, null));
// tag the store with the DNS name property // tag the store with the DNS name property
@@ -368,25 +370,25 @@ public final class SandboxFactory
// create the user 'preview' store // create the user 'preview' store
final String previewStoreName = final String previewStoreName =
AVMConstants.buildWorkflowPreviewStoreName(storeId, packageName); AVMUtil.buildWorkflowPreviewStoreName(storeId, packageName);
avmService.createStore(previewStoreName); avmService.createStore(previewStoreName);
if (logger.isDebugEnabled()) if (logger.isDebugEnabled())
logger.debug("Created user sandbox preview store: " + previewStoreName); logger.debug("Created user sandbox preview store: " + previewStoreName);
// create a layered directory pointing to 'www' in the user 'main' store // create a layered directory pointing to 'www' in the user 'main' store
avmService.createLayeredDirectory(AVMConstants.buildStoreRootPath(mainStoreName), avmService.createLayeredDirectory(AVMUtil.buildStoreRootPath(mainStoreName),
previewStoreName + ":/", previewStoreName + ":/",
JNDIConstants.DIR_DEFAULT_WWW); JNDIConstants.DIR_DEFAULT_WWW);
// tag the store with the store type // tag the store with the store type
avmService.setStoreProperty(previewStoreName, avmService.setStoreProperty(previewStoreName,
AVMConstants.PROP_SANDBOX_WORKFLOW_PREVIEW, SandboxConstants.PROP_SANDBOX_WORKFLOW_PREVIEW,
new PropertyValue(DataTypeDefinition.TEXT, null)); new PropertyValue(DataTypeDefinition.TEXT, null));
// tag the store with its own store name for querying. // tag the store with its own store name for querying.
avmService.setStoreProperty(previewStoreName, avmService.setStoreProperty(previewStoreName,
QName.createQName(null, QName.createQName(null,
AVMConstants.PROP_SANDBOX_STORE_PREFIX + previewStoreName), SandboxConstants.PROP_SANDBOX_STORE_PREFIX + previewStoreName),
new PropertyValue(DataTypeDefinition.TEXT, null)); new PropertyValue(DataTypeDefinition.TEXT, null));
// tag the store with the DNS name property // tag the store with the DNS name property
@@ -405,7 +407,7 @@ public final class SandboxFactory
// tag all related stores to indicate that they are part of a single sandbox // tag all related stores to indicate that they are part of a single sandbox
final QName sandboxIdProp = QName.createQName(AVMConstants.PROP_SANDBOXID + GUID.generate()); final QName sandboxIdProp = QName.createQName(SandboxConstants.PROP_SANDBOXID + GUID.generate());
avmService.setStoreProperty(mainStoreName, avmService.setStoreProperty(mainStoreName,
sandboxIdProp, sandboxIdProp,
new PropertyValue(DataTypeDefinition.TEXT, null)); new PropertyValue(DataTypeDefinition.TEXT, null));
@@ -436,21 +438,21 @@ public final class SandboxFactory
final ServiceRegistry services = Repository.getServiceRegistry(FacesContext.getCurrentInstance()); final ServiceRegistry services = Repository.getServiceRegistry(FacesContext.getCurrentInstance());
final PermissionService permissionService = services.getPermissionService(); final PermissionService permissionService = services.getPermissionService();
final String userStoreName = AVMConstants.buildUserMainStoreName(storeId, username); final String userStoreName = AVMUtil.buildUserMainStoreName(storeId, username);
final String previewStoreName = AVMConstants.buildUserPreviewStoreName(storeId, username); final String previewStoreName = AVMUtil.buildUserPreviewStoreName(storeId, username);
// apply the manager role permission to the user main sandbox for each manager // apply the manager role permission to the user main sandbox for each manager
NodeRef dirRef = AVMNodeConverter.ToNodeRef(-1, AVMConstants.buildStoreRootPath(userStoreName)); NodeRef dirRef = AVMNodeConverter.ToNodeRef(-1, AVMUtil.buildStoreRootPath(userStoreName));
for (String manager : managers) for (String manager : managers)
{ {
permissionService.setPermission(dirRef, manager, AVMConstants.ROLE_CONTENT_MANAGER, true); permissionService.setPermission(dirRef, manager, AVMUtil.ROLE_CONTENT_MANAGER, true);
} }
// apply the manager role permission to the user preview sandbox for each manager // apply the manager role permission to the user preview sandbox for each manager
dirRef = AVMNodeConverter.ToNodeRef(-1, AVMConstants.buildStoreRootPath(previewStoreName)); dirRef = AVMNodeConverter.ToNodeRef(-1, AVMUtil.buildStoreRootPath(previewStoreName));
for (String manager : managers) for (String manager : managers)
{ {
permissionService.setPermission(dirRef, manager, AVMConstants.ROLE_CONTENT_MANAGER, true); permissionService.setPermission(dirRef, manager, AVMUtil.ROLE_CONTENT_MANAGER, true);
} }
} }
@@ -462,9 +464,9 @@ public final class SandboxFactory
*/ */
private static void tagStoreDNSPath(AVMService avmService, String store, String... components) private static void tagStoreDNSPath(AVMService avmService, String store, String... components)
{ {
String path = AVMConstants.buildSandboxRootPath(store); String path = AVMUtil.buildSandboxRootPath(store);
// DNS name mangle the property name - can only contain value DNS characters! // DNS name mangle the property name - can only contain value DNS characters!
String dnsProp = AVMConstants.PROP_DNS + DNSNameMangler.MakeDNSName(components); String dnsProp = SandboxConstants.PROP_DNS + DNSNameMangler.MakeDNSName(components);
avmService.setStoreProperty(store, QName.createQName(null, dnsProp), avmService.setStoreProperty(store, QName.createQName(null, dnsProp),
new PropertyValue(DataTypeDefinition.TEXT, path)); new PropertyValue(DataTypeDefinition.TEXT, path));
} }
@@ -499,7 +501,7 @@ public final class SandboxFactory
String backgroundStore, String backgroundStore,
int distance) int distance)
{ {
String prop_key = AVMConstants.PROP_BACKGROUND_LAYER + backgroundStore; String prop_key = SandboxConstants.PROP_BACKGROUND_LAYER + backgroundStore;
avmService.setStoreProperty(store, QName.createQName(null, prop_key), avmService.setStoreProperty(store, QName.createQName(null, prop_key),
new PropertyValue(DataTypeDefinition.INT, distance)); new PropertyValue(DataTypeDefinition.INT, distance));
} }

View File

@@ -306,7 +306,7 @@ public class SubmitDialog extends BaseDialogBean
// add submission parameters // add submission parameters
params.put(WorkflowModel.PROP_WORKFLOW_DESCRIPTION, getComment()); params.put(WorkflowModel.PROP_WORKFLOW_DESCRIPTION, getComment());
params.put(AVMWorkflowUtil.PROP_LABEL, getLabel()); params.put(AVMWorkflowUtil.PROP_LABEL, getLabel());
params.put(AVMWorkflowUtil.PROP_FROM_PATH, AVMConstants.buildStoreRootPath(this.avmBrowseBean.getSandbox())); params.put(AVMWorkflowUtil.PROP_FROM_PATH, AVMUtil.buildStoreRootPath(this.avmBrowseBean.getSandbox()));
// update start task with submit parameters // update start task with submit parameters
this.workflowService.updateTask(startTask.id, params, null, null); this.workflowService.updateTask(startTask.id, params, null, null);
@@ -332,8 +332,8 @@ public class SubmitDialog extends BaseDialogBean
List<ItemWrapper> items = getSubmitItems(); List<ItemWrapper> items = getSubmitItems();
// construct diffs for selected items for submission // construct diffs for selected items for submission
String sandboxPath = AVMConstants.buildSandboxRootPath(this.avmBrowseBean.getSandbox()); String sandboxPath = AVMUtil.buildSandboxRootPath(this.avmBrowseBean.getSandbox());
String stagingPath = AVMConstants.buildSandboxRootPath(this.avmBrowseBean.getStagingStore()); String stagingPath = AVMUtil.buildSandboxRootPath(this.avmBrowseBean.getStagingStore());
List<AVMDifference> diffs = new ArrayList<AVMDifference>(items.size()); List<AVMDifference> diffs = new ArrayList<AVMDifference>(items.size());
for (ItemWrapper wrapper : items) for (ItemWrapper wrapper : items)
@@ -379,7 +379,7 @@ public class SubmitDialog extends BaseDialogBean
// //
// mysite:/www/avm_webapps/ROOT/WEB-INF/web.xml // mysite:/www/avm_webapps/ROOT/WEB-INF/web.xml
// mysite:/www/avm_webapps/ROOT/WEB-INF/lib/moo.jar // mysite:/www/avm_webapps/ROOT/WEB-INF/lib/moo.jar
AVMConstants.updateVServerWebapp(this.virtUpdatePath, true); AVMUtil.updateVServerWebapp(this.virtUpdatePath, true);
} }
return outcome; return outcome;
} }
@@ -582,8 +582,8 @@ public class SubmitDialog extends BaseDialogBean
if (this.avmBrowseBean.getAllItemsAction()) if (this.avmBrowseBean.getAllItemsAction())
{ {
String webapp = this.avmBrowseBean.getWebapp(); String webapp = this.avmBrowseBean.getWebapp();
String userStore = AVMConstants.buildStoreWebappPath(this.avmBrowseBean.getSandbox(), webapp); String userStore = AVMUtil.buildStoreWebappPath(this.avmBrowseBean.getSandbox(), webapp);
String stagingStore = AVMConstants.buildStoreWebappPath(this.avmBrowseBean.getStagingStore(), webapp); String stagingStore = AVMUtil.buildStoreWebappPath(this.avmBrowseBean.getStagingStore(), webapp);
List<AVMDifference> diffs = this.avmSyncService.compare(-1, userStore, -1, stagingStore, nameMatcher); List<AVMDifference> diffs = this.avmSyncService.compare(-1, userStore, -1, stagingStore, nameMatcher);
selected = new ArrayList<AVMNodeDescriptor>(diffs.size()); selected = new ArrayList<AVMNodeDescriptor>(diffs.size());
for (AVMDifference diff : diffs) for (AVMDifference diff : diffs)
@@ -894,8 +894,8 @@ public class SubmitDialog extends BaseDialogBean
public String getPreviewUrl() public String getPreviewUrl()
{ {
ClientConfigElement config = Application.getClientConfig(FacesContext.getCurrentInstance()); ClientConfigElement config = Application.getClientConfig(FacesContext.getCurrentInstance());
String dns = AVMConstants.lookupStoreDNS(AVMConstants.getStoreName(descriptor.getPath())); String dns = AVMUtil.lookupStoreDNS(AVMUtil.getStoreName(descriptor.getPath()));
return AVMConstants.buildAssetUrl(AVMConstants.getSandboxRelativePath(descriptor.getPath()), return AVMUtil.buildAssetUrl(AVMUtil.getSandboxRelativePath(descriptor.getPath()),
config.getWCMDomain(), config.getWCMDomain(),
config.getWCMPort(), config.getWCMPort(),
dns); dns);

View File

@@ -173,11 +173,11 @@ public class WebProject
public WebProject(final String avmPath) public WebProject(final String avmPath)
{ {
String stagingStore = AVMConstants.buildStagingStoreName(AVMConstants.getStoreId(AVMConstants.getStoreName(avmPath))); String stagingStore = AVMUtil.buildStagingStoreName(AVMUtil.getStoreId(AVMUtil.getStoreName(avmPath)));
final AVMService avmService = this.getServiceRegistry().getAVMService(); final AVMService avmService = this.getServiceRegistry().getAVMService();
this.nodeRef = (NodeRef) this.nodeRef = (NodeRef)
avmService.getStoreProperty(stagingStore, avmService.getStoreProperty(stagingStore,
AVMConstants.PROP_WEB_PROJECT_NODE_REF).getValue(DataTypeDefinition.NODE_REF); AVMUtil.PROP_WEB_PROJECT_NODE_REF).getValue(DataTypeDefinition.NODE_REF);
} }
/** /**
@@ -211,7 +211,7 @@ public class WebProject
*/ */
public String getStagingStore() public String getStagingStore()
{ {
return AVMConstants.buildStagingStoreName(this.getStoreId()); return AVMUtil.buildStagingStoreName(this.getStoreId());
} }
/** /**
@@ -269,7 +269,7 @@ public class WebProject
final NodeRef userInfoRef = ref.getChildRef(); final NodeRef userInfoRef = ref.getChildRef();
final String username = (String)nodeService.getProperty(userInfoRef, WCMAppModel.PROP_WEBUSERNAME); final String username = (String)nodeService.getProperty(userInfoRef, WCMAppModel.PROP_WEBUSERNAME);
final String userrole = (String)nodeService.getProperty(userInfoRef, WCMAppModel.PROP_WEBUSERROLE); final String userrole = (String)nodeService.getProperty(userInfoRef, WCMAppModel.PROP_WEBUSERROLE);
if (currentUser.equals(username) && AVMConstants.ROLE_CONTENT_MANAGER.equals(userrole)) if (currentUser.equals(username) && AVMUtil.ROLE_CONTENT_MANAGER.equals(userrole))
{ {
return true; return true;
} }

View File

@@ -49,7 +49,7 @@ import org.alfresco.service.cmr.workflow.WorkflowService;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
import org.alfresco.service.namespace.RegexQNamePattern; import org.alfresco.service.namespace.RegexQNamePattern;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
import org.alfresco.web.bean.wcm.AVMConstants; import org.alfresco.web.bean.wcm.AVMUtil;
import org.alfresco.web.bean.wcm.AVMWorkflowUtil; import org.alfresco.web.bean.wcm.AVMWorkflowUtil;
import org.alfresco.web.forms.xforms.XFormsProcessor; import org.alfresco.web.forms.xforms.XFormsProcessor;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
@@ -154,7 +154,7 @@ public class FormImpl
root.put("xml", NodeModel.wrap(formInstanceData)); root.put("xml", NodeModel.wrap(formInstanceData));
root.put("name", formInstanceDataName); root.put("name", formInstanceDataName);
root.put("date", new SimpleDate(new Date(), SimpleDate.DATETIME)); root.put("date", new SimpleDate(new Date(), SimpleDate.DATETIME));
root.put("cwd", AVMConstants.getWebappRelativePath(parentAVMPath)); root.put("cwd", AVMUtil.getWebappRelativePath(parentAVMPath));
final TemplateService templateService = this.getServiceRegistry().getTemplateService(); final TemplateService templateService = this.getServiceRegistry().getTemplateService();
@@ -182,9 +182,9 @@ public class FormImpl
":\n" + te.getMessage(), ":\n" + te.getMessage(),
te); te);
} }
result = AVMConstants.buildPath(parentAVMPath, result = AVMUtil.buildPath(parentAVMPath,
result, result,
AVMConstants.PathRelation.SANDBOX_RELATIVE); AVMUtil.PathRelation.SANDBOX_RELATIVE);
LOGGER.debug("processed pattern " + outputPathPattern + " as " + result); LOGGER.debug("processed pattern " + outputPathPattern + " as " + result);
return result; return result;
} }

View File

@@ -36,7 +36,7 @@ import org.alfresco.service.cmr.dictionary.DataTypeDefinition;
import org.alfresco.service.cmr.repository.*; import org.alfresco.service.cmr.repository.*;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
import org.alfresco.web.bean.wcm.AVMConstants; import org.alfresco.web.bean.wcm.AVMUtil;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.w3c.dom.*; import org.w3c.dom.*;
@@ -79,12 +79,12 @@ public class FormInstanceDataImpl
public String getWebappRelativePath() public String getWebappRelativePath()
{ {
return AVMConstants.getWebappRelativePath(this.getPath()); return AVMUtil.getWebappRelativePath(this.getPath());
} }
public String getSandboxRelativePath() public String getSandboxRelativePath()
{ {
return AVMConstants.getSandboxRelativePath(this.getPath()); return AVMUtil.getSandboxRelativePath(this.getPath());
} }
public String getPath() public String getPath()
@@ -116,7 +116,7 @@ public class FormInstanceDataImpl
public String getUrl() public String getUrl()
{ {
return AVMConstants.buildAssetUrl(this.getPath()); return AVMUtil.buildAssetUrl(this.getPath());
} }
public List<Rendition> getRenditions() public List<Rendition> getRenditions()
@@ -127,7 +127,7 @@ public class FormInstanceDataImpl
final Collection<Serializable> renditionPaths = (pv == null final Collection<Serializable> renditionPaths = (pv == null
? Collections.EMPTY_LIST ? Collections.EMPTY_LIST
: pv.getCollection(DataTypeDefinition.TEXT)); : pv.getCollection(DataTypeDefinition.TEXT));
final String storeName = AVMConstants.getStoreName(this.getPath()); final String storeName = AVMUtil.getStoreName(this.getPath());
final List<Rendition> result = new ArrayList<Rendition>(renditionPaths.size()); final List<Rendition> result = new ArrayList<Rendition>(renditionPaths.size());
for (Serializable path : renditionPaths) for (Serializable path : renditionPaths)
{ {

View File

@@ -56,7 +56,7 @@ import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
import org.alfresco.web.app.Application; import org.alfresco.web.app.Application;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
import org.alfresco.web.bean.wcm.AVMConstants; import org.alfresco.web.bean.wcm.AVMUtil;
import org.alfresco.web.data.IDataContainer; import org.alfresco.web.data.IDataContainer;
import org.alfresco.web.data.QuickSort; import org.alfresco.web.data.QuickSort;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;

View File

@@ -35,7 +35,7 @@ import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.cmr.repository.NodeService;
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.web.bean.wcm.AVMConstants; import org.alfresco.web.bean.wcm.AVMUtil;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.w3c.dom.Document; import org.w3c.dom.Document;

View File

@@ -57,7 +57,7 @@ import org.alfresco.service.namespace.*;
import org.alfresco.service.cmr.remote.AVMRemote; import org.alfresco.service.cmr.remote.AVMRemote;
import org.alfresco.web.app.Application; import org.alfresco.web.app.Application;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
import org.alfresco.web.bean.wcm.AVMConstants; import org.alfresco.web.bean.wcm.AVMUtil;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
@@ -186,9 +186,9 @@ public class RenderingEngineTemplateImpl
final String webappName = final String webappName =
(avmService.hasAspect(-1, (avmService.hasAspect(-1,
AVMConstants.getWebappPath(formInstanceDataAVMPath), AVMUtil.getWebappPath(formInstanceDataAVMPath),
WCMAppModel.ASPECT_WEBAPP) WCMAppModel.ASPECT_WEBAPP)
? AVMConstants.getWebapp(formInstanceDataAVMPath) ? AVMUtil.getWebapp(formInstanceDataAVMPath)
: null); : null);
root.put("webapp", webappName); root.put("webapp", webappName);
@@ -211,7 +211,7 @@ public class RenderingEngineTemplateImpl
root.put("xml", NodeModel.wrap(formInstanceDataDocument)); root.put("xml", NodeModel.wrap(formInstanceDataDocument));
root.put("node", new TemplateNode(((FormInstanceDataImpl)formInstanceData).getNodeRef(), sr, null)); root.put("node", new TemplateNode(((FormInstanceDataImpl)formInstanceData).getNodeRef(), sr, null));
root.put("date", new SimpleDate(new Date(), SimpleDate.DATETIME)); root.put("date", new SimpleDate(new Date(), SimpleDate.DATETIME));
root.put("cwd", AVMConstants.getWebappRelativePath(currentAVMPath)); root.put("cwd", AVMUtil.getWebappRelativePath(currentAVMPath));
final TemplateService templateService = sr.getTemplateService(); final TemplateService templateService = sr.getTemplateService();
final String outputPathPattern = (FreeMarkerUtil.buildNamespaceDeclaration(formInstanceDataDocument) + final String outputPathPattern = (FreeMarkerUtil.buildNamespaceDeclaration(formInstanceDataDocument) +
this.getOutputPathPattern()); this.getOutputPathPattern());
@@ -232,9 +232,9 @@ public class RenderingEngineTemplateImpl
te); te);
} }
result = AVMConstants.buildPath(parentAVMPath, result = AVMUtil.buildPath(parentAVMPath,
result, result,
AVMConstants.PathRelation.SANDBOX_RELATIVE); AVMUtil.PathRelation.SANDBOX_RELATIVE);
LOGGER.debug("processed pattern " + outputPathPattern + " as " + result); LOGGER.debug("processed pattern " + outputPathPattern + " as " + result);
return result; return result;
} }
@@ -257,7 +257,7 @@ public class RenderingEngineTemplateImpl
if (!isRegenerate) if (!isRegenerate)
{ {
final String parentAVMPath = AVMNodeConverter.SplitBase(renditionAvmPath)[0]; final String parentAVMPath = AVMNodeConverter.SplitBase(renditionAvmPath)[0];
AVMConstants.makeAllDirectories(parentAVMPath); AVMUtil.makeAllDirectories(parentAVMPath);
avmService.createFile(parentAVMPath, avmService.createFile(parentAVMPath,
AVMNodeConverter.SplitBase(renditionAvmPath)[1]); AVMNodeConverter.SplitBase(renditionAvmPath)[1]);
if (LOGGER.isDebugEnabled()) if (LOGGER.isDebugEnabled())
@@ -278,7 +278,7 @@ public class RenderingEngineTemplateImpl
final Collection<Serializable> renditions = (pv == null final Collection<Serializable> renditions = (pv == null
? new HashSet<Serializable>() ? new HashSet<Serializable>()
: pv.getCollection(DataTypeDefinition.TEXT)); : pv.getCollection(DataTypeDefinition.TEXT));
renditions.add(AVMConstants.getStoreRelativePath(renditionAvmPath)); renditions.add(AVMUtil.getStoreRelativePath(renditionAvmPath));
avmService.setNodeProperty(formInstanceData.getPath(), avmService.setNodeProperty(formInstanceData.getPath(),
WCMAppModel.PROP_RENDITIONS, WCMAppModel.PROP_RENDITIONS,
new PropertyValue(DataTypeDefinition.TEXT, new PropertyValue(DataTypeDefinition.TEXT,
@@ -317,7 +317,7 @@ public class RenderingEngineTemplateImpl
new PropertyValue(DataTypeDefinition.TEXT, new PropertyValue(DataTypeDefinition.TEXT,
MessageFormat.format(bundle.getString("default_rendition_description"), MessageFormat.format(bundle.getString("default_rendition_description"),
this.getTitle(), this.getTitle(),
AVMConstants.getSandboxRelativePath(rendition.getPath())))); AVMUtil.getSandboxRelativePath(rendition.getPath()))));
props.put(WCMAppModel.PROP_PARENT_RENDERING_ENGINE_TEMPLATE, props.put(WCMAppModel.PROP_PARENT_RENDERING_ENGINE_TEMPLATE,
new PropertyValue(DataTypeDefinition.NODE_REF, new PropertyValue(DataTypeDefinition.NODE_REF,
this.nodeRef)); this.nodeRef));
@@ -327,7 +327,7 @@ public class RenderingEngineTemplateImpl
// extract a store relative path for the primary form instance data // extract a store relative path for the primary form instance data
props.put(WCMAppModel.PROP_PRIMARY_FORM_INSTANCE_DATA, props.put(WCMAppModel.PROP_PRIMARY_FORM_INSTANCE_DATA,
new PropertyValue(DataTypeDefinition.TEXT, new PropertyValue(DataTypeDefinition.TEXT,
AVMConstants.getStoreRelativePath(formInstanceData.getPath()))); AVMUtil.getStoreRelativePath(formInstanceData.getPath())));
final AVMService avmService = this.getServiceRegistry().getAVMService(); final AVMService avmService = this.getServiceRegistry().getAVMService();
avmService.setNodeProperties(rendition.getPath(), props); avmService.setNodeProperties(rendition.getPath(), props);
@@ -344,8 +344,8 @@ public class RenderingEngineTemplateImpl
final String formInstanceDataAvmPath = formInstanceData.getPath(); final String formInstanceDataAvmPath = formInstanceData.getPath();
final String renditionAvmPath = rendition.getPath(); final String renditionAvmPath = rendition.getPath();
final String parentPath = AVMNodeConverter.SplitBase(formInstanceDataAvmPath)[0]; final String parentPath = AVMNodeConverter.SplitBase(formInstanceDataAvmPath)[0];
final String sandboxUrl = AVMConstants.buildStoreUrl(formInstanceDataAvmPath); final String sandboxUrl = AVMUtil.buildStoreUrl(formInstanceDataAvmPath);
final String webappUrl = AVMConstants.buildWebappUrl(formInstanceDataAvmPath); final String webappUrl = AVMUtil.buildWebappUrl(formInstanceDataAvmPath);
final HashMap<QName, Object> model = new HashMap<QName, Object>(); final HashMap<QName, Object> model = new HashMap<QName, Object>();
// add simple scalar parameters // add simple scalar parameters
model.put(QName.createQName(NamespaceService.ALFRESCO_PREFIX, model.put(QName.createQName(NamespaceService.ALFRESCO_PREFIX,
@@ -441,9 +441,9 @@ public class RenderingEngineTemplateImpl
". got a " + arguments[0].getClass().getName() + "."); ". got a " + arguments[0].getClass().getName() + ".");
} }
String path = (String)arguments[0]; String path = (String)arguments[0];
path = AVMConstants.buildPath(parentPath, path = AVMUtil.buildPath(parentPath,
path, path,
AVMConstants.PathRelation.WEBAPP_RELATIVE); AVMUtil.PathRelation.WEBAPP_RELATIVE);
LOGGER.debug("tpm_parseXMLDocument('" + path + LOGGER.debug("tpm_parseXMLDocument('" + path +
"'), parentPath = " + parentPath); "'), parentPath = " + parentPath);
final Document d = fdf.parseXMLDocument(path); final Document d = fdf.parseXMLDocument(path);
@@ -477,9 +477,9 @@ public class RenderingEngineTemplateImpl
} }
String path = arguments.length == 2 ? (String)arguments[1] : ""; String path = arguments.length == 2 ? (String)arguments[1] : "";
path = AVMConstants.buildPath(parentPath, path = AVMUtil.buildPath(parentPath,
path, path,
AVMConstants.PathRelation.WEBAPP_RELATIVE); AVMUtil.PathRelation.WEBAPP_RELATIVE);
final String formName = (String)arguments[0]; final String formName = (String)arguments[0];
LOGGER.debug("tpm_parseXMLDocuments('" + formName + "','" + path + LOGGER.debug("tpm_parseXMLDocuments('" + formName + "','" + path +
"'), parentPath = " + parentPath); "'), parentPath = " + parentPath);
@@ -535,9 +535,9 @@ public class RenderingEngineTemplateImpl
final String path = (String)arguments[0]; final String path = (String)arguments[0];
LOGGER.debug("tpm_getAVMPAth('" + path + "'), parentPath = " + parentPath); LOGGER.debug("tpm_getAVMPAth('" + path + "'), parentPath = " + parentPath);
return AVMConstants.buildPath(parentPath, return AVMUtil.buildPath(parentPath,
path, path,
AVMConstants.PathRelation.WEBAPP_RELATIVE); AVMUtil.PathRelation.WEBAPP_RELATIVE);
} }
}); });

View File

@@ -36,7 +36,7 @@ import org.alfresco.service.cmr.avm.AVMService;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
import org.alfresco.web.bean.wcm.AVMConstants; import org.alfresco.web.bean.wcm.AVMUtil;
import org.alfresco.web.ui.common.Utils; import org.alfresco.web.ui.common.Utils;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
@@ -83,12 +83,12 @@ public class RenditionImpl
public String getWebappRelativePath() public String getWebappRelativePath()
{ {
return AVMConstants.getWebappRelativePath(this.getPath()); return AVMUtil.getWebappRelativePath(this.getPath());
} }
public String getSandboxRelativePath() public String getSandboxRelativePath()
{ {
return AVMConstants.getSandboxRelativePath(this.getPath()); return AVMUtil.getSandboxRelativePath(this.getPath());
} }
public FormInstanceData getPrimaryFormInstanceData() public FormInstanceData getPrimaryFormInstanceData()
@@ -139,7 +139,7 @@ public class RenditionImpl
public String getUrl() public String getUrl()
{ {
return AVMConstants.buildAssetUrl(this.getPath()); return AVMUtil.buildAssetUrl(this.getPath());
} }
public String getFileTypeImage() public String getFileTypeImage()

View File

@@ -44,7 +44,7 @@ import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.cmr.repository.NodeService;
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.web.bean.wcm.AVMConstants; import org.alfresco.web.bean.wcm.AVMUtil;
import org.alfresco.web.forms.XMLUtil; import org.alfresco.web.forms.XMLUtil;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;

View File

@@ -49,7 +49,7 @@ import org.alfresco.web.app.servlet.ajax.InvokeCommand;
import org.alfresco.web.bean.FileUploadBean; import org.alfresco.web.bean.FileUploadBean;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
import org.alfresco.web.bean.wcm.AVMBrowseBean; import org.alfresco.web.bean.wcm.AVMBrowseBean;
import org.alfresco.web.bean.wcm.AVMConstants; import org.alfresco.web.bean.wcm.AVMUtil;
import org.alfresco.web.bean.wcm.AVMNode; import org.alfresco.web.bean.wcm.AVMNode;
import org.alfresco.web.forms.*; import org.alfresco.web.forms.*;
import org.alfresco.web.ui.common.Utils; import org.alfresco.web.ui.common.Utils;
@@ -462,10 +462,10 @@ public class XFormsBean
else else
{ {
final String previewStorePath = final String previewStorePath =
AVMConstants.getCorrespondingPathInPreviewStore(this.getCurrentAVMPath()); AVMUtil.getCorrespondingPathInPreviewStore(this.getCurrentAVMPath());
currentPath = AVMConstants.buildPath(previewStorePath, currentPath = AVMUtil.buildPath(previewStorePath,
currentPath, currentPath,
AVMConstants.PathRelation.WEBAPP_RELATIVE); AVMUtil.PathRelation.WEBAPP_RELATIVE);
} }
LOGGER.debug(this + ".getFilePickerData(" + currentPath + ")"); LOGGER.debug(this + ".getFilePickerData(" + currentPath + ")");
@@ -490,7 +490,7 @@ public class XFormsBean
Element e = result.createElement("current-node"); Element e = result.createElement("current-node");
e.setAttribute("avmPath", currentPath); e.setAttribute("avmPath", currentPath);
e.setAttribute("webappRelativePath", e.setAttribute("webappRelativePath",
AVMConstants.getWebappRelativePath(currentPath)); AVMUtil.getWebappRelativePath(currentPath));
e.setAttribute("type", "directory"); e.setAttribute("type", "directory");
e.setAttribute("image", "/images/icons/space_small.gif"); e.setAttribute("image", "/images/icons/space_small.gif");
filePickerDataElement.appendChild(e); filePickerDataElement.appendChild(e);
@@ -501,7 +501,7 @@ public class XFormsBean
e = result.createElement("child-node"); e = result.createElement("child-node");
e.setAttribute("avmPath", entry.getValue().getPath()); e.setAttribute("avmPath", entry.getValue().getPath());
e.setAttribute("webappRelativePath", e.setAttribute("webappRelativePath",
AVMConstants.getWebappRelativePath(entry.getValue().getPath())); AVMUtil.getWebappRelativePath(entry.getValue().getPath()));
e.setAttribute("type", entry.getValue().isDirectory() ? "directory" : "file"); e.setAttribute("type", entry.getValue().isDirectory() ? "directory" : "file");
e.setAttribute("image", (entry.getValue().isDirectory() e.setAttribute("image", (entry.getValue().isDirectory()
? "/images/icons/space_small.gif" ? "/images/icons/space_small.gif"
@@ -552,10 +552,10 @@ public class XFormsBean
else if (item.isFormField() && item.getFieldName().equals("currentPath")) else if (item.isFormField() && item.getFieldName().equals("currentPath"))
{ {
final String previewStorePath = final String previewStorePath =
AVMConstants.getCorrespondingPathInPreviewStore(this.getCurrentAVMPath()); AVMUtil.getCorrespondingPathInPreviewStore(this.getCurrentAVMPath());
currentPath = AVMConstants.buildPath(previewStorePath, currentPath = AVMUtil.buildPath(previewStorePath,
item.getString(), item.getString(),
AVMConstants.PathRelation.WEBAPP_RELATIVE); AVMUtil.PathRelation.WEBAPP_RELATIVE);
LOGGER.debug("currentPath is " + currentPath); LOGGER.debug("currentPath is " + currentPath);
} }
else else
@@ -692,8 +692,8 @@ public class XFormsBean
} }
final String baseURI = (uri.charAt(0) == '/' final String baseURI = (uri.charAt(0) == '/'
? AVMConstants.buildStoreUrl(cwdAvmPath) ? AVMUtil.buildStoreUrl(cwdAvmPath)
: AVMConstants.buildAssetUrl(cwdAvmPath)); : AVMUtil.buildAssetUrl(cwdAvmPath));
LOGGER.debug("rewriting " + uri + " as " + (baseURI + uri)); LOGGER.debug("rewriting " + uri + " as " + (baseURI + uri));
includeEl.setAttribute("schemaLocation", baseURI + uri); includeEl.setAttribute("schemaLocation", baseURI + uri);

View File

@@ -26,7 +26,7 @@ import javax.servlet.http.HttpServletRequest;
import org.alfresco.service.namespace.NamespaceService; import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.web.bean.wcm.AVMBrowseBean; import org.alfresco.web.bean.wcm.AVMBrowseBean;
import org.alfresco.web.bean.wcm.AVMConstants; import org.alfresco.web.bean.wcm.AVMUtil;
import org.alfresco.web.forms.*; import org.alfresco.web.forms.*;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
@@ -173,7 +173,7 @@ public class XFormsProcessor
append(JavaScriptUtils.javaScriptEscape(avmBrowseBean.getWebapp())). append(JavaScriptUtils.javaScriptEscape(avmBrowseBean.getWebapp())).
append("';\n"); append("';\n");
js.append("alfresco.constants.AVM_WEBAPP_URL = '"). js.append("alfresco.constants.AVM_WEBAPP_URL = '").
append(JavaScriptUtils.javaScriptEscape(AVMConstants.buildWebappUrl(AVMConstants.getCorrespondingPreviewStoreName(avmBrowseBean.getSandbox()), append(JavaScriptUtils.javaScriptEscape(AVMUtil.buildWebappUrl(AVMUtil.getCorrespondingPreviewStoreName(avmBrowseBean.getSandbox()),
avmBrowseBean.getWebapp()))). avmBrowseBean.getWebapp()))).
append("';\n"); append("';\n");
js.append("alfresco.xforms.constants.XFORMS_UI_DIV_ID = '"). js.append("alfresco.xforms.constants.XFORMS_UI_DIV_ID = '").

View File

@@ -49,7 +49,7 @@ import org.alfresco.service.cmr.repository.StoreRef;
import org.alfresco.util.Pair; import org.alfresco.util.Pair;
import org.alfresco.web.app.Application; import org.alfresco.web.app.Application;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
import org.alfresco.web.bean.wcm.AVMConstants; import org.alfresco.web.bean.wcm.AVMUtil;
import org.alfresco.web.ui.common.Utils; import org.alfresco.web.ui.common.Utils;
import org.alfresco.web.ui.common.WebResources; import org.alfresco.web.ui.common.WebResources;
import org.springframework.web.jsf.FacesContextUtils; import org.springframework.web.jsf.FacesContextUtils;
@@ -382,7 +382,7 @@ public abstract class AbstractItemSelector extends UIInput
{ {
Pair<Integer, String> avmNode = AVMNodeConverter.ToAVMVersionPath(value); Pair<Integer, String> avmNode = AVMNodeConverter.ToAVMVersionPath(value);
String avmPath = avmNode.getSecond(); String avmPath = avmNode.getSecond();
label = avmPath.substring(avmPath.indexOf(AVMConstants.DIR_ROOT)+4); label = avmPath.substring(avmPath.indexOf(AVMUtil.DIR_ROOT)+4);
} }
else else
{ {

View File

@@ -44,7 +44,7 @@ import org.alfresco.service.cmr.security.PermissionService;
import org.alfresco.service.namespace.NamespaceService; import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.web.app.Application; import org.alfresco.web.app.Application;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
import org.alfresco.web.bean.wcm.AVMConstants; import org.alfresco.web.bean.wcm.AVMUtil;
import org.alfresco.web.bean.wcm.WebProject; import org.alfresco.web.bean.wcm.WebProject;
import org.alfresco.web.ui.repo.WebResources; import org.alfresco.web.ui.repo.WebResources;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
@@ -79,7 +79,7 @@ public class UIWebProjectFolderSelector extends AbstractItemSelector
if (this.navigationId != null && this.navigationId.startsWith("-1;")) if (this.navigationId != null && this.navigationId.startsWith("-1;"))
{ {
String rootPath = "-1;" + JNDIConstants.DIR_DEFAULT_WWW + ";" + JNDIConstants.DIR_DEFAULT_APPBASE + String rootPath = "-1;" + JNDIConstants.DIR_DEFAULT_WWW + ";" + JNDIConstants.DIR_DEFAULT_APPBASE +
";" + AVMConstants.DIR_ROOT; ";" + AVMUtil.DIR_ROOT;
if (this.navigationId.equals(rootPath) == false) if (this.navigationId.equals(rootPath) == false)
{ {
@@ -123,13 +123,13 @@ public class UIWebProjectFolderSelector extends AbstractItemSelector
{ {
// get the root children for the sandbox of the current user // get the root children for the sandbox of the current user
WebProject webProject = new WebProject(new NodeRef(Repository.getStoreRef(), this.navigationId)); WebProject webProject = new WebProject(new NodeRef(Repository.getStoreRef(), this.navigationId));
this.avmStore = AVMConstants.buildUserMainStoreName(webProject.getStoreId(), this.avmStore = AVMUtil.buildUserMainStoreName(webProject.getStoreId(),
Application.getCurrentUser(context).getUserName()); Application.getCurrentUser(context).getUserName());
if (logger.isDebugEnabled()) if (logger.isDebugEnabled())
logger.debug("Getting children for store: " + this.avmStore); logger.debug("Getting children for store: " + this.avmStore);
String rootPath = AVMConstants.buildStoreWebappPath(this.avmStore, AVMConstants.DIR_ROOT); String rootPath = AVMUtil.buildStoreWebappPath(this.avmStore, AVMUtil.DIR_ROOT);
if (logger.isDebugEnabled()) if (logger.isDebugEnabled())
logger.debug("Root path for store: "+ rootPath); logger.debug("Root path for store: "+ rootPath);
@@ -163,7 +163,7 @@ public class UIWebProjectFolderSelector extends AbstractItemSelector
// if they have AddChildren there is probably a sandbox but check to make // if they have AddChildren there is probably a sandbox but check to make
// sure as it could have been deleted // sure as it could have been deleted
WebProject webProject = new WebProject(node); WebProject webProject = new WebProject(node);
String storeName = AVMConstants.buildUserMainStoreName(webProject.getStoreId(), String storeName = AVMUtil.buildUserMainStoreName(webProject.getStoreId(),
currentUserName); currentUserName);
AVMStoreDescriptor storeDesc = avmService.getStore(storeName); AVMStoreDescriptor storeDesc = avmService.getStore(storeName);
if (storeDesc != null) if (storeDesc != null)

View File

@@ -42,7 +42,7 @@ import org.alfresco.service.cmr.repository.NodeService;
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.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
import org.alfresco.web.bean.wcm.AVMConstants; import org.alfresco.web.bean.wcm.AVMUtil;
import org.alfresco.web.bean.wcm.DeploymentMonitor; import org.alfresco.web.bean.wcm.DeploymentMonitor;
import org.alfresco.web.ui.common.Utils; import org.alfresco.web.ui.common.Utils;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
@@ -343,7 +343,7 @@ public class UIDeployWebsite extends UIInput
} }
// determine the polling frequency value // determine the polling frequency value
int pollFreq = AVMConstants.getRemoteDeploymentPollingFrequency() * 1000; int pollFreq = AVMUtil.getRemoteDeploymentPollingFrequency() * 1000;
// render the script to handle the progress monitoring // render the script to handle the progress monitoring
out.write("<script type='text/javascript'>\n"); out.write("<script type='text/javascript'>\n");

View File

@@ -50,7 +50,7 @@ import org.alfresco.service.cmr.repository.NodeService;
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.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
import org.alfresco.web.bean.wcm.AVMConstants; import org.alfresco.web.bean.wcm.AVMUtil;
import org.alfresco.web.ui.common.ComponentConstants; import org.alfresco.web.ui.common.ComponentConstants;
import org.alfresco.web.ui.common.ConstantMethodBinding; import org.alfresco.web.ui.common.ConstantMethodBinding;
import org.alfresco.web.ui.common.Utils; import org.alfresco.web.ui.common.Utils;
@@ -227,7 +227,7 @@ public class UISandboxSnapshots extends SelfRenderingComponent
// determine whether the deploy action should be shown // determine whether the deploy action should be shown
boolean showDeployAction = false; boolean showDeployAction = false;
NodeRef webProjectRef = AVMConstants.getWebProjectNodeFromStore(sandbox); NodeRef webProjectRef = AVMUtil.getWebProjectNodeFromStore(sandbox);
NodeService nodeService = Repository.getServiceRegistry(context).getNodeService(); NodeService nodeService = Repository.getServiceRegistry(context).getNodeService();
List<String> deployToServers = (List<String>)nodeService.getProperty(webProjectRef, List<String> deployToServers = (List<String>)nodeService.getProperty(webProjectRef,
WCMAppModel.PROP_DEPLOYTO); WCMAppModel.PROP_DEPLOYTO);

View File

@@ -62,7 +62,7 @@ import org.alfresco.web.app.servlet.FacesHelper;
import org.alfresco.web.bean.BrowseBean; import org.alfresco.web.bean.BrowseBean;
import org.alfresco.web.bean.repository.Repository; import org.alfresco.web.bean.repository.Repository;
import org.alfresco.web.bean.repository.User; import org.alfresco.web.bean.repository.User;
import org.alfresco.web.bean.wcm.AVMConstants; import org.alfresco.web.bean.wcm.AVMUtil;
import org.alfresco.web.bean.wcm.AVMNode; import org.alfresco.web.bean.wcm.AVMNode;
import org.alfresco.web.bean.wcm.WebProject; import org.alfresco.web.bean.wcm.WebProject;
import org.alfresco.web.config.ClientConfigElement; import org.alfresco.web.config.ClientConfigElement;
@@ -325,7 +325,7 @@ public class UIUserSandboxes extends SelfRenderingComponent
this.rowToUserLookup.put(username, index); this.rowToUserLookup.put(username, index);
// build the name of the main store for this user // build the name of the main store for this user
String mainStore = AVMConstants.buildUserMainStoreName(storeRoot, username); String mainStore = AVMUtil.buildUserMainStoreName(storeRoot, username);
// check it exists before we render the view // check it exists before we render the view
if (avmService.getStore(mainStore) != null) if (avmService.getStore(mainStore) != null)
@@ -334,8 +334,8 @@ public class UIUserSandboxes extends SelfRenderingComponent
if (logger.isDebugEnabled()) if (logger.isDebugEnabled())
logger.debug("Checking user role to view store: " + mainStore); logger.debug("Checking user role to view store: " + mainStore);
if (currentUserName.equals(username) || if (currentUserName.equals(username) ||
AVMConstants.ROLE_CONTENT_MANAGER.equals(currentUserRole) || AVMUtil.ROLE_CONTENT_MANAGER.equals(currentUserRole) ||
AVMConstants.ROLE_CONTENT_PUBLISHER.equals(currentUserRole)) AVMUtil.ROLE_CONTENT_PUBLISHER.equals(currentUserRole))
{ {
if (logger.isDebugEnabled()) if (logger.isDebugEnabled())
logger.debug("Building sandbox view for user store: " + mainStore); logger.debug("Building sandbox view for user store: " + mainStore);
@@ -381,7 +381,7 @@ public class UIUserSandboxes extends SelfRenderingComponent
out.write("&nbsp;&nbsp;"); out.write("&nbsp;&nbsp;");
// Preview Website // Preview Website
String websiteUrl = AVMConstants.buildWebappUrl(mainStore, getWebapp()); String websiteUrl = AVMUtil.buildWebappUrl(mainStore, getWebapp());
Map requestMap = context.getExternalContext().getRequestMap(); Map requestMap = context.getExternalContext().getRequestMap();
requestMap.put(REQUEST_PREVIEW_REF, websiteUrl); requestMap.put(REQUEST_PREVIEW_REF, websiteUrl);
Utils.encodeRecursive(context, aquireAction( Utils.encodeRecursive(context, aquireAction(
@@ -410,7 +410,7 @@ public class UIUserSandboxes extends SelfRenderingComponent
out.write("&nbsp;&nbsp;"); out.write("&nbsp;&nbsp;");
// Delete Sandbox // Delete Sandbox
if (AVMConstants.ROLE_CONTENT_MANAGER.equals(currentUserRole)) if (AVMUtil.ROLE_CONTENT_MANAGER.equals(currentUserRole))
{ {
Utils.encodeRecursive(context, aquireAction( Utils.encodeRecursive(context, aquireAction(
context, mainStore, username, ACT_REMOVE_SANDBOX, "/images/icons/delete_sandbox.gif", context, mainStore, username, ACT_REMOVE_SANDBOX, "/images/icons/delete_sandbox.gif",
@@ -442,7 +442,7 @@ public class UIUserSandboxes extends SelfRenderingComponent
// content forms panel // content forms panel
if (permissionService.hasPermission( if (permissionService.hasPermission(
AVMNodeConverter.ToNodeRef(-1, AVMConstants.buildSandboxRootPath(mainStore)), AVMNodeConverter.ToNodeRef(-1, AVMUtil.buildSandboxRootPath(mainStore)),
PermissionService.ADD_CHILDREN) == AccessStatus.ALLOWED) PermissionService.ADD_CHILDREN) == AccessStatus.ALLOWED)
{ {
out.write("<tr style='padding-top:4px'><td></td><td colspan=2>"); out.write("<tr style='padding-top:4px'><td></td><td colspan=2>");
@@ -545,7 +545,7 @@ public class UIUserSandboxes extends SelfRenderingComponent
if (currentUser.isAdmin()) if (currentUser.isAdmin())
{ {
// fake the Content Manager role for an admin user // fake the Content Manager role for an admin user
userrole = AVMConstants.ROLE_CONTENT_MANAGER; userrole = AVMUtil.ROLE_CONTENT_MANAGER;
} }
else else
{ {
@@ -588,10 +588,10 @@ public class UIUserSandboxes extends SelfRenderingComponent
ResourceBundle bundle = Application.getBundle(fc); ResourceBundle bundle = Application.getBundle(fc);
// build the paths to the stores to compare - filter by current webapp // build the paths to the stores to compare - filter by current webapp
String userStore = AVMConstants.buildUserMainStoreName(storeRoot, username); String userStore = AVMUtil.buildUserMainStoreName(storeRoot, username);
String userStorePath = AVMConstants.buildStoreWebappPath(userStore, getWebapp()); String userStorePath = AVMUtil.buildStoreWebappPath(userStore, getWebapp());
String stagingStore = AVMConstants.buildStagingStoreName(storeRoot); String stagingStore = AVMUtil.buildStagingStoreName(storeRoot);
String stagingStorePath = AVMConstants.buildStoreWebappPath(stagingStore, getWebapp()); String stagingStorePath = AVMUtil.buildStoreWebappPath(stagingStore, getWebapp());
// use the sync service to get the list of diffs between the stores // use the sync service to get the list of diffs between the stores
NameMatcher matcher = (NameMatcher)FacesContextUtils.getRequiredWebApplicationContext(fc).getBean( NameMatcher matcher = (NameMatcher)FacesContextUtils.getRequiredWebApplicationContext(fc).getBean(
@@ -600,8 +600,8 @@ public class UIUserSandboxes extends SelfRenderingComponent
if (diffs.size() != 0) if (diffs.size() != 0)
{ {
// info we need to calculate preview paths for assets // info we need to calculate preview paths for assets
String dns = AVMConstants.lookupStoreDNS(userStore); String dns = AVMUtil.lookupStoreDNS(userStore);
int rootPathIndex = AVMConstants.buildSandboxRootPath(userStore).length(); int rootPathIndex = AVMUtil.buildSandboxRootPath(userStore).length();
ClientConfigElement config = Application.getClientConfig(fc); ClientConfigElement config = Application.getClientConfig(fc);
// get the UIActions component responsible for rendering context related user actions // get the UIActions component responsible for rendering context related user actions
@@ -624,7 +624,7 @@ public class UIUserSandboxes extends SelfRenderingComponent
out.write("<tr><td colspan=8>"); out.write("<tr><td colspan=8>");
out.write(bundle.getString(MSG_SELECTED)); out.write(bundle.getString(MSG_SELECTED));
out.write(":&nbsp;&nbsp;"); out.write(":&nbsp;&nbsp;");
NodeRef userStoreRef = AVMNodeConverter.ToNodeRef(-1, AVMConstants.buildSandboxRootPath(userStore)); NodeRef userStoreRef = AVMNodeConverter.ToNodeRef(-1, AVMUtil.buildSandboxRootPath(userStore));
if (permissionService.hasPermission(userStoreRef, PermissionService.WRITE) == AccessStatus.ALLOWED || if (permissionService.hasPermission(userStoreRef, PermissionService.WRITE) == AccessStatus.ALLOWED ||
permissionService.hasPermission(userStoreRef, PermissionService.ADD_CHILDREN) == AccessStatus.ALLOWED) permissionService.hasPermission(userStoreRef, PermissionService.ADD_CHILDREN) == AccessStatus.ALLOWED)
{ {
@@ -729,7 +729,7 @@ 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 = AVMConstants.buildAssetUrl( String previewUrl = AVMUtil.buildAssetUrl(
assetPath, config.getWCMDomain(), config.getWCMPort(), dns); assetPath, config.getWCMDomain(), config.getWCMPort(), dns);
avmNode.getProperties().put("previewUrl", previewUrl); avmNode.getProperties().put("previewUrl", previewUrl);
@@ -820,7 +820,7 @@ public class UIUserSandboxes extends SelfRenderingComponent
{ {
NodeService nodeService = getNodeService(fc); NodeService nodeService = getNodeService(fc);
Map requestMap = fc.getExternalContext().getRequestMap(); Map requestMap = fc.getExternalContext().getRequestMap();
String userStorePrefix = AVMConstants.buildUserMainStoreName(storeRoot, username); String userStorePrefix = AVMUtil.buildUserMainStoreName(storeRoot, username);
// only need to collect the list of forms once per render // only need to collect the list of forms once per render
// TODO: execute permission evaluations on a per user basis against each form? // TODO: execute permission evaluations on a per user basis against each form?