mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged DEV/WCM_SERVICES to HEAD
12099: WCM Services - "sandbox service" - add relative path support git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@12103 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -59,6 +59,16 @@ public interface SandboxInfo
|
|||||||
|
|
||||||
public String getCreator();
|
public String getCreator();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The sandbox root relative path - eg. for WCM, typically /www
|
||||||
|
*/
|
||||||
|
public String getSandboxRootPath();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The webapps root relative path - eg. for WCM, typically /www/avm_webapps
|
||||||
|
*/
|
||||||
|
public String getWebAppsPath();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A list of ids of the stores within this sandbox.
|
* A list of ids of the stores within this sandbox.
|
||||||
* The "main" store should come first in this list;
|
* The "main" store should come first in this list;
|
||||||
|
@@ -26,6 +26,7 @@ package org.alfresco.wcm.sandbox;
|
|||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
|
import org.alfresco.config.JNDIConstants;
|
||||||
import org.alfresco.service.namespace.QName;
|
import org.alfresco.service.namespace.QName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -83,6 +84,16 @@ public class SandboxInfoImpl implements SandboxInfo
|
|||||||
return this.creator;
|
return this.creator;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getSandboxRootPath()
|
||||||
|
{
|
||||||
|
return "/"+JNDIConstants.DIR_DEFAULT_WWW;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getWebAppsPath()
|
||||||
|
{
|
||||||
|
return JNDIConstants.DIR_DEFAULT_WWW_APPBASE;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A list of names of the stores within this sandbox.
|
* A list of names of the stores within this sandbox.
|
||||||
* The "main" store should come first in this list;
|
* The "main" store should come first in this list;
|
||||||
|
@@ -175,28 +175,33 @@ public interface SandboxService
|
|||||||
* <p>
|
* <p>
|
||||||
* Note: This will list new/modified/deleted items from the directory and below. The destination path will be dervied.
|
* Note: This will list new/modified/deleted items from the directory and below. The destination path will be dervied.
|
||||||
*
|
*
|
||||||
* @param avmSrcPath source sandbox path (an AVM path)
|
* @param sbStoreId sandbox store id
|
||||||
|
* @param relativePath relative path to filter by (eg. /www/avm_webapps/ROOT/MyFolderToList)
|
||||||
* @param includeDeleted if true, include deleted items as well as new/modified items
|
* @param includeDeleted if true, include deleted items as well as new/modified items
|
||||||
* @return List<AVMNodeDescriptor> list of changed items
|
* @return List<AVMNodeDescriptor> list of changed items
|
||||||
*/
|
*/
|
||||||
public List<AVMNodeDescriptor> listChangedItemsDir(String avmSrcPath, boolean includeDeleted);
|
public List<AVMNodeDescriptor> listChangedItemsDir(String sbStoreId, String relativePath, boolean includeDeleted);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* List changed (new/modified/deleted) items between any two sandbox paths
|
* List changed (new/modified/deleted) items between any two sandbox paths
|
||||||
*
|
*
|
||||||
* @param avmSrcPath source sandbox path (an AVM path)
|
* @param srcSandboxStoreId source sandbox store id
|
||||||
* @param avmDstPath destination sandbox path (an AVM path)
|
* @param srcRelativePath source relative path to filter by (eg. /www/avm_webapps/ROOT/MyFolderToList)
|
||||||
|
* @param dstSandboxStoreId destination sandbox store id
|
||||||
|
* @param dstRelativePath destination relative path to filter by (eg. /www/avm_webapps/ROOT/MyFolderToList)
|
||||||
* @param includeDeleted if true, include deleted items as well as new/modified items
|
* @param includeDeleted if true, include deleted items as well as new/modified items
|
||||||
* @return List<AVMNodeDescriptor> list of changed items
|
* @return List<AVMNodeDescriptor> list of changed items
|
||||||
*/
|
*/
|
||||||
public List<AVMNodeDescriptor> listChangedItems(String avmSrcPath, String avmDstPath, boolean includeDeleted);
|
public List<AVMNodeDescriptor> listChangedItems(String srcSandboxStoreId, String srcRelativePath, String dstSandboxStoreId, String dstRelativePath, boolean includeDeleted);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Submit all changed items for given sandbox (eg. from user sandbox to staging sandbox)
|
* Submit all changed items for given sandbox (eg. from user sandbox to staging sandbox)
|
||||||
* <p>
|
* <p>
|
||||||
* Note: This will submit new/modified/deleted items from the root directory and below, including all web apps
|
* Note: This will submit new/modified/deleted items from the sandbox root directory (eg. /www) and below, including all web apps
|
||||||
* <p>
|
* <p>
|
||||||
* @param sbStoreId sandbox store id
|
* @param sbStoreId sandbox store id
|
||||||
|
* @param submitLabel label for submitted snapshot
|
||||||
|
* @param submitComment comment for submitted snapshot
|
||||||
*/
|
*/
|
||||||
public void submitAll(String sbStoreId, String submitLabel, String submitComment);
|
public void submitAll(String sbStoreId, String submitLabel, String submitComment);
|
||||||
|
|
||||||
@@ -207,6 +212,8 @@ public interface SandboxService
|
|||||||
*
|
*
|
||||||
* @param sbStoreId sandbox store id
|
* @param sbStoreId sandbox store id
|
||||||
* @param webApp web app to filter by
|
* @param webApp web app to filter by
|
||||||
|
* @param submitLabel label for submitted snapshot
|
||||||
|
* @param submitComment comment for submitted snapshot
|
||||||
*/
|
*/
|
||||||
public void submitAllWebApp(String sbStoreId, String webApp, String submitLabel, String submitComment);
|
public void submitAllWebApp(String sbStoreId, String webApp, String submitLabel, String submitComment);
|
||||||
|
|
||||||
@@ -215,31 +222,48 @@ public interface SandboxService
|
|||||||
* <p>
|
* <p>
|
||||||
* Note: This will submit new/modified/deleted items from the directory and below
|
* Note: This will submit new/modified/deleted items from the directory and below
|
||||||
*
|
*
|
||||||
* @param avmDirectoryPath path to filter by
|
* @param sbStoreId sandbox store id
|
||||||
|
* @param relativePath relative path to filter by (eg. /www/avm_webapps/ROOT/MyFolderToRevert)
|
||||||
|
* @param submitLabel label for submitted snapshot
|
||||||
|
* @param submitComment comment for submitted snapshot
|
||||||
*/
|
*/
|
||||||
public void submitAllDir(String avmDirectoryPath, String submitLabel, String submitComment);
|
public void submitAllDir(String sbStoreId, String relativePath, String submitLabel, String submitComment);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Submit list of changed items for given sandbox path (eg. in user sandbox)
|
||||||
|
*
|
||||||
|
* @param sbStoreId sandbox store id
|
||||||
|
* @param itemPaths list of items, as relative paths (eg. /www/avm_webapps/ROOT/MyFolderToRevert)
|
||||||
|
* @param submitLabel label for submitted snapshot
|
||||||
|
* @param submitComment comment for submitted snapshot
|
||||||
|
*/
|
||||||
|
public void submitList(String sbStoreId, List<String> relativePaths, String submitLabel, String submitComment);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Submit list of changed items for given sandbox (eg. from user sandbox to staging sandbox)
|
* Submit list of changed items for given sandbox (eg. from user sandbox to staging sandbox)
|
||||||
*
|
*
|
||||||
* @param sbStoreId sandbox store id
|
* @param sbStoreId sandbox store id
|
||||||
* @param items list of AVM node descriptors
|
* @param itemNodes list of items, as AVM node descriptors
|
||||||
|
* @param submitLabel label for submitted snapshot
|
||||||
|
* @param submitComment comment for submitted snapshot
|
||||||
*/
|
*/
|
||||||
public void submitList(String sbStoreId, List<AVMNodeDescriptor> items, String submitLabel, String submitComment);
|
public void submitListNodes(String sbStoreId, List<AVMNodeDescriptor> items, String submitLabel, String submitComment);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Submit list of changed items for given sandbox (eg. from user sandbox to staging sandbox)
|
* Submit list of changed items for given sandbox (eg. from user sandbox to staging sandbox)
|
||||||
*
|
*
|
||||||
* @param sbStoreId sandbox store id
|
* @param sbStoreId sandbox store id
|
||||||
* @param items list of AVM node descriptors
|
* @param items list of items, as AVM node descriptors
|
||||||
* @param expirationDates map of <path, date> for those items set with an expiration date, or can be null (if no expiration dates)
|
* @param expirationDates map of <path, date> for those items set with an expiration date, or can be null (if no expiration dates)
|
||||||
|
* @param submitLabel label for submitted snapshot
|
||||||
|
* @param submitComment comment for submitted snapshot
|
||||||
*/
|
*/
|
||||||
public void submitList(String sbStoreId, List<AVMNodeDescriptor> items, Map<String, Date> expirationDates, final String submitLabel, final String submitComment);
|
public void submitListNodes(String sbStoreId, List<AVMNodeDescriptor> items, Map<String, Date> expirationDates, String submitLabel, String submitComment);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Revert all changed items for given sandbox (eg. in user sandbox)
|
* Revert all changed items for given sandbox (eg. in user sandbox)
|
||||||
* <p>
|
* <p>
|
||||||
* Note: This will revert new/modified/deleted items from the root directory and below, including all web apps
|
* Note: This will revert new/modified/deleted items from the sandbox root directory (eg. /www) and below, including all web apps
|
||||||
*
|
*
|
||||||
* @param sbStoreId sandbox store id
|
* @param sbStoreId sandbox store id
|
||||||
*/
|
*/
|
||||||
@@ -260,16 +284,17 @@ public interface SandboxService
|
|||||||
* <p>
|
* <p>
|
||||||
* Note: This will revert new/modified/deleted items from the directory and below
|
* Note: This will revert new/modified/deleted items from the directory and below
|
||||||
*
|
*
|
||||||
* @param avmDirectoryPath path to filter by
|
* @param sbStoreId sandbox store id
|
||||||
|
* @param relativePath relative path to filter by (eg. /www/avm_webapps/ROOT/MyFolderToRevert)
|
||||||
*/
|
*/
|
||||||
public void revertAllDir(String avmDirectoryPath);
|
public void revertAllDir(String sbStoreId, String relativePath);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Revert list of changed items for given sandbox (eg. in user sandbox)
|
* Revert list of changed items for given sandbox (eg. in user sandbox)
|
||||||
*
|
*
|
||||||
* @param items list of AVM node descriptors
|
* @param items list of AVM node descriptors
|
||||||
*/
|
*/
|
||||||
public void revertList(String sbStoreId, List<AVMNodeDescriptor> items);
|
public void revertListNodes(String sbStoreId, List<AVMNodeDescriptor> items);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Revert sandbox to a specific snapshot version ID (ie. for staging sandbox)
|
* Revert sandbox to a specific snapshot version ID (ie. for staging sandbox)
|
||||||
|
@@ -354,9 +354,8 @@ public class SandboxServiceImpl extends WCMUtil implements SandboxService
|
|||||||
{
|
{
|
||||||
ParameterCheck.mandatoryString("sbStoreId", sbStoreId);
|
ParameterCheck.mandatoryString("sbStoreId", sbStoreId);
|
||||||
|
|
||||||
// no filtering
|
String avmDirectoryPath = WCMUtil.buildStoreRootPath(sbStoreId); // currently <sbStoreId>:/www
|
||||||
String avmDirectoryPath = sbStoreId+":/";
|
return listChangedItemsDir(sbStoreId, WCMUtil.getStoreRelativePath(avmDirectoryPath), includeDeleted);
|
||||||
return listChangedItemsDir(avmDirectoryPath, includeDeleted);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
@@ -369,49 +368,49 @@ public class SandboxServiceImpl extends WCMUtil implements SandboxService
|
|||||||
|
|
||||||
// filter by current webapp
|
// filter by current webapp
|
||||||
String avmDirectoryPath = WCMUtil.buildStoreWebappPath(sbStoreId, webApp);
|
String avmDirectoryPath = WCMUtil.buildStoreWebappPath(sbStoreId, webApp);
|
||||||
return listChangedItemsDir(avmDirectoryPath, includeDeleted);
|
return listChangedItemsDir(sbStoreId, WCMUtil.getStoreRelativePath(avmDirectoryPath), includeDeleted);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.alfresco.wcm.sandbox.SandboxService#listChangedItemsDir(java.lang.String, boolean)
|
* @see org.alfresco.wcm.sandbox.SandboxService#listChangedItemsDir(java.lang.String, java.lang.String, boolean)
|
||||||
*/
|
*/
|
||||||
public List<AVMNodeDescriptor> listChangedItemsDir(String avmDirectoryPath, boolean includeDeleted)
|
public List<AVMNodeDescriptor> listChangedItemsDir(String sbStoreId, String relativePath, boolean includeDeleted)
|
||||||
{
|
{
|
||||||
ParameterCheck.mandatoryString("avmDirectoryPath", avmDirectoryPath);
|
ParameterCheck.mandatoryString("sbStoreId", sbStoreId);
|
||||||
|
ParameterCheck.mandatoryString("relativePath", relativePath);
|
||||||
String sandboxId = WCMUtil.getSandboxStoreId(avmDirectoryPath);
|
|
||||||
|
|
||||||
// TODO - allow list for any sandbox
|
// TODO - allow list for any sandbox
|
||||||
if (! WCMUtil.isUserStore(sandboxId))
|
if (! WCMUtil.isUserStore(sbStoreId))
|
||||||
{
|
{
|
||||||
throw new AlfrescoRuntimeException("Not an author sandbox: "+sandboxId);
|
throw new AlfrescoRuntimeException("Not an author sandbox: "+sbStoreId);
|
||||||
}
|
}
|
||||||
|
|
||||||
// build the paths to the stores to compare - filter by given directory path
|
// build the paths to the stores to compare - filter by given directory path
|
||||||
String wpStoreId = WCMUtil.getWebProjectStoreId(sandboxId);
|
String wpStoreId = WCMUtil.getWebProjectStoreId(sbStoreId);
|
||||||
String stagingSandboxId = WCMUtil.buildStagingStoreName(wpStoreId);
|
String stagingSandboxId = WCMUtil.buildStagingStoreName(wpStoreId);
|
||||||
|
|
||||||
String relativePath = WCMUtil.getStoreRelativePath(avmDirectoryPath);
|
return listChangedItems(sbStoreId, relativePath, stagingSandboxId, relativePath, includeDeleted);
|
||||||
|
|
||||||
String srcPath = sandboxId + AVM_STORE_SEPARATOR + relativePath;
|
|
||||||
String dstPath = stagingSandboxId + AVM_STORE_SEPARATOR + relativePath;
|
|
||||||
|
|
||||||
return listChangedItems(srcPath, dstPath, includeDeleted);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.alfresco.wcm.sandbox.SandboxService#listChangedItems(java.lang.String, java.lang.String, boolean)
|
* @see org.alfresco.wcm.sandbox.SandboxService#listChangedItems(java.lang.String, java.lang.String, java.lang.String, java.lang.String, boolean)
|
||||||
*/
|
*/
|
||||||
public List<AVMNodeDescriptor> listChangedItems(String avmSrcPath, String avmDstPath, boolean includeDeleted)
|
public List<AVMNodeDescriptor> listChangedItems(String srcSandboxStoreId, String srcRelativePath, String dstSandboxStoreId, String dstRelativePath, boolean includeDeleted)
|
||||||
{
|
{
|
||||||
|
ParameterCheck.mandatoryString("srcSandboxStoreId", srcSandboxStoreId);
|
||||||
|
ParameterCheck.mandatoryString("srcRelativePath", srcRelativePath);
|
||||||
|
|
||||||
|
ParameterCheck.mandatoryString("dstSandboxStoreId", dstSandboxStoreId);
|
||||||
|
ParameterCheck.mandatoryString("dstRelativePath", dstRelativePath);
|
||||||
|
|
||||||
|
String avmSrcPath = srcSandboxStoreId + AVM_STORE_SEPARATOR + srcRelativePath;
|
||||||
|
String avmDstPath = dstSandboxStoreId + AVM_STORE_SEPARATOR + dstRelativePath;
|
||||||
|
|
||||||
return listChangedItems(-1, avmSrcPath, -1, avmDstPath, includeDeleted);
|
return listChangedItems(-1, avmSrcPath, -1, avmDstPath, includeDeleted);
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<AVMNodeDescriptor> listChangedItems(int srcVersion, String srcPath, int dstVersion, String dstPath, boolean includeDeleted)
|
private List<AVMNodeDescriptor> listChangedItems(int srcVersion, String srcPath, int dstVersion, String dstPath, boolean includeDeleted)
|
||||||
{
|
{
|
||||||
ParameterCheck.mandatoryString("srcPath", srcPath);
|
|
||||||
ParameterCheck.mandatoryString("dstPath", dstPath);
|
|
||||||
|
|
||||||
long start = System.currentTimeMillis();
|
long start = System.currentTimeMillis();
|
||||||
|
|
||||||
List<AVMDifference> diffs = avmSyncService.compare(srcVersion, srcPath, dstVersion, dstPath, nameMatcher);
|
List<AVMDifference> diffs = avmSyncService.compare(srcVersion, srcPath, dstVersion, dstPath, nameMatcher);
|
||||||
@@ -444,8 +443,8 @@ public class SandboxServiceImpl extends WCMUtil implements SandboxService
|
|||||||
{
|
{
|
||||||
ParameterCheck.mandatoryString("sbStoreId", sbStoreId);
|
ParameterCheck.mandatoryString("sbStoreId", sbStoreId);
|
||||||
|
|
||||||
String avmDirectoryPath = sbStoreId+":/";
|
String avmDirectoryPath = WCMUtil.buildStoreRootPath(sbStoreId); // currently <sbStoreId>:/www
|
||||||
submitAllDir(avmDirectoryPath, submitLabel, submitComment);
|
submitAllDir(sbStoreId, WCMUtil.getStoreRelativePath(avmDirectoryPath), submitLabel, submitComment);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
@@ -457,35 +456,55 @@ public class SandboxServiceImpl extends WCMUtil implements SandboxService
|
|||||||
ParameterCheck.mandatoryString("webApp", webApp);
|
ParameterCheck.mandatoryString("webApp", webApp);
|
||||||
|
|
||||||
String avmDirectoryPath = WCMUtil.buildStoreWebappPath(sbStoreId, webApp);
|
String avmDirectoryPath = WCMUtil.buildStoreWebappPath(sbStoreId, webApp);
|
||||||
submitAllDir(avmDirectoryPath, submitLabel, submitComment);
|
submitAllDir(sbStoreId, WCMUtil.getStoreRelativePath(avmDirectoryPath), submitLabel, submitComment);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.alfresco.wcm.sandbox.SandboxService#submitAllDir(java.lang.String, java.lang.String, java.lang.String)
|
* @see org.alfresco.wcm.sandbox.SandboxService#submitAllDir(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
|
||||||
*/
|
*/
|
||||||
public void submitAllDir(String avmDirectoryPath, String submitLabel, String submitComment)
|
public void submitAllDir(String sbStoreId, String relativePath, String submitLabel, String submitComment)
|
||||||
{
|
{
|
||||||
ParameterCheck.mandatoryString("avmDirectoryPath", avmDirectoryPath);
|
ParameterCheck.mandatoryString("sbStoreId", sbStoreId);
|
||||||
|
ParameterCheck.mandatoryString("relativePath", relativePath);
|
||||||
|
|
||||||
String sbStoreId = WCMUtil.getSandboxStoreId(avmDirectoryPath);
|
List<AVMNodeDescriptor> items = listChangedItemsDir(sbStoreId, relativePath, true);
|
||||||
|
|
||||||
List<AVMNodeDescriptor> items = listChangedItemsDir(avmDirectoryPath, true);
|
submitListNodes(sbStoreId, items, submitLabel, submitComment);
|
||||||
|
|
||||||
submitList(sbStoreId, items, submitLabel, submitComment);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
public void submitList(String sbStoreId, List<String> relativePaths, String submitLabel, String submitComment)
|
||||||
* @see org.alfresco.wcm.sandbox.SandboxService#submitList(java.lang.String, java.util.List, java.lang.String, java.lang.String)
|
|
||||||
*/
|
|
||||||
public void submitList(String sbStoreId, List<AVMNodeDescriptor> items, final String submitLabel, final String submitComment)
|
|
||||||
{
|
{
|
||||||
submitList(sbStoreId, items, null, submitLabel, submitComment);
|
ParameterCheck.mandatoryString("sbStoreId", sbStoreId);
|
||||||
|
|
||||||
|
List<AVMNodeDescriptor> items = new ArrayList<AVMNodeDescriptor>(relativePaths.size());
|
||||||
|
|
||||||
|
for (String relativePath : relativePaths)
|
||||||
|
{
|
||||||
|
// convert each path into an AVM node descriptor
|
||||||
|
AVMNodeDescriptor node = avmService.lookup(-1, sbStoreId + WCMUtil.AVM_STORE_SEPARATOR + relativePath, true);
|
||||||
|
if (node != null)
|
||||||
|
{
|
||||||
|
items.add(node);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
submitListNodes(sbStoreId, items, null, submitLabel, submitComment);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.alfresco.wcm.sandbox.SandboxService#submitList(java.lang.String, java.util.List, java.util.Map, java.lang.String, java.lang.String)
|
* @see org.alfresco.wcm.sandbox.SandboxService#submitListNodes(java.lang.String, java.util.List, java.lang.String, java.lang.String)
|
||||||
*/
|
*/
|
||||||
public void submitList(String sbStoreId, List<AVMNodeDescriptor> items, Map<String, Date> expirationDates, final String submitLabel, final String submitComment)
|
public void submitListNodes(String sbStoreId, List<AVMNodeDescriptor> items, String submitLabel, String submitComment)
|
||||||
|
{
|
||||||
|
ParameterCheck.mandatoryString("sbStoreId", sbStoreId);
|
||||||
|
|
||||||
|
submitListNodes(sbStoreId, items, null, submitLabel, submitComment);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see org.alfresco.wcm.sandbox.SandboxService#submitListNodes(java.lang.String, java.util.List, java.util.Map, java.lang.String, java.lang.String)
|
||||||
|
*/
|
||||||
|
public void submitListNodes(String sbStoreId, List<AVMNodeDescriptor> items, Map<String, Date> expirationDates, final String submitLabel, final String submitComment)
|
||||||
{
|
{
|
||||||
ParameterCheck.mandatoryString("sbStoreId", sbStoreId);
|
ParameterCheck.mandatoryString("sbStoreId", sbStoreId);
|
||||||
|
|
||||||
@@ -555,14 +574,14 @@ public class SandboxServiceImpl extends WCMUtil implements SandboxService
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.alfresco.wcm.sandbox.SandboxService#revertAll(java.lang.String, java.lang.String)
|
* @see org.alfresco.wcm.sandbox.SandboxService#revertAll(java.lang.String)
|
||||||
*/
|
*/
|
||||||
public void revertAll(String sbStoreId)
|
public void revertAll(String sbStoreId)
|
||||||
{
|
{
|
||||||
ParameterCheck.mandatoryString("sbStoreId", sbStoreId);
|
ParameterCheck.mandatoryString("sbStoreId", sbStoreId);
|
||||||
|
|
||||||
String avmDirectoryPath = sbStoreId+":/";
|
String avmDirectoryPath = WCMUtil.buildStoreRootPath(sbStoreId); // currently <sbStoreId>:/www
|
||||||
revertAllDir(avmDirectoryPath);
|
revertAllDir(sbStoreId, WCMUtil.getStoreRelativePath(avmDirectoryPath));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
@@ -574,27 +593,26 @@ public class SandboxServiceImpl extends WCMUtil implements SandboxService
|
|||||||
ParameterCheck.mandatoryString("webApp", webApp);
|
ParameterCheck.mandatoryString("webApp", webApp);
|
||||||
|
|
||||||
String avmDirectoryPath = WCMUtil.buildStoreWebappPath(sbStoreId, webApp);
|
String avmDirectoryPath = WCMUtil.buildStoreWebappPath(sbStoreId, webApp);
|
||||||
revertAllDir(avmDirectoryPath);
|
revertAllDir(sbStoreId, WCMUtil.getStoreRelativePath(avmDirectoryPath));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.alfresco.wcm.sandbox.SandboxService#revertAll(java.lang.String)
|
* @see org.alfresco.wcm.sandbox.SandboxService#revertAllDir(java.lang.String, java.lang.String)
|
||||||
*/
|
*/
|
||||||
public void revertAllDir(String avmDirectoryPath)
|
public void revertAllDir(String sbStoreId, String relativePath)
|
||||||
{
|
{
|
||||||
ParameterCheck.mandatoryString("avmDirectoryPath", avmDirectoryPath);
|
ParameterCheck.mandatoryString("sbStoreId", sbStoreId);
|
||||||
|
ParameterCheck.mandatoryString("relativePath", relativePath);
|
||||||
|
|
||||||
String sbStoreId = WCMUtil.getSandboxStoreId(avmDirectoryPath);
|
List<AVMNodeDescriptor> items = listChangedItemsDir(sbStoreId, relativePath, true);
|
||||||
|
|
||||||
List<AVMNodeDescriptor> items = listChangedItemsDir(avmDirectoryPath, true);
|
revertListNodes(sbStoreId, items);
|
||||||
|
|
||||||
revertList(sbStoreId, items);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see org.alfresco.wcm.sandbox.SandboxService#revertList(java.lang.String, java.lang.String, java.util.List)
|
* @see org.alfresco.wcm.sandbox.SandboxService#revertListNodes(java.lang.String, java.util.List)
|
||||||
*/
|
*/
|
||||||
public void revertList(String sbStoreId, List<AVMNodeDescriptor> items)
|
public void revertListNodes(String sbStoreId, List<AVMNodeDescriptor> items)
|
||||||
{
|
{
|
||||||
ParameterCheck.mandatoryString("sbStoreId", sbStoreId);
|
ParameterCheck.mandatoryString("sbStoreId", sbStoreId);
|
||||||
|
|
||||||
|
@@ -34,7 +34,6 @@ import java.util.Map;
|
|||||||
|
|
||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
import org.alfresco.config.JNDIConstants;
|
|
||||||
import org.alfresco.error.AlfrescoRuntimeException;
|
import org.alfresco.error.AlfrescoRuntimeException;
|
||||||
import org.alfresco.model.ContentModel;
|
import org.alfresco.model.ContentModel;
|
||||||
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
||||||
@@ -62,6 +61,8 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
{
|
{
|
||||||
private static final ApplicationContext ctx = ApplicationContextHelper.getApplicationContext();
|
private static final ApplicationContext ctx = ApplicationContextHelper.getApplicationContext();
|
||||||
|
|
||||||
|
private char AVM_STORE_SEPARATOR = ':';
|
||||||
|
|
||||||
//
|
//
|
||||||
// test data
|
// test data
|
||||||
//
|
//
|
||||||
@@ -506,8 +507,11 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
List<AVMNodeDescriptor> items = sbService.listChangedItems(sbStoreId, true);
|
List<AVMNodeDescriptor> items = sbService.listChangedItems(sbStoreId, true);
|
||||||
assertEquals(0, items.size());
|
assertEquals(0, items.size());
|
||||||
|
|
||||||
String authorSandboxRootPath = sbStoreId + ":/";
|
String authorSandboxRootRelativePath = sbInfo.getSandboxRootPath();
|
||||||
String authorSandboxWebppPath = sbStoreId + ":" + JNDIConstants.DIR_DEFAULT_WWW_APPBASE + "/" + wpInfo.getDefaultWebApp();
|
String authorSandboxWebAppRelativePath = sbInfo.getWebAppsPath() + "/" + wpInfo.getDefaultWebApp();
|
||||||
|
|
||||||
|
String authorSandboxRootPath = sbStoreId + AVM_STORE_SEPARATOR + authorSandboxRootRelativePath;
|
||||||
|
String authorSandboxWebAppPath = sbStoreId + AVM_STORE_SEPARATOR + authorSandboxWebAppRelativePath;
|
||||||
|
|
||||||
avmLockingAwareService.createFile(authorSandboxRootPath, "myFile1");
|
avmLockingAwareService.createFile(authorSandboxRootPath, "myFile1");
|
||||||
|
|
||||||
@@ -515,12 +519,12 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
assertEquals(1, items.size());
|
assertEquals(1, items.size());
|
||||||
assertEquals("myFile1", items.get(0).getName());
|
assertEquals("myFile1", items.get(0).getName());
|
||||||
|
|
||||||
avmLockingAwareService.createDirectory(authorSandboxWebppPath, "myDir1");
|
avmLockingAwareService.createDirectory(authorSandboxWebAppPath, "myDir1");
|
||||||
avmLockingAwareService.createFile(authorSandboxWebppPath+"/myDir1", "myFile2");
|
avmLockingAwareService.createFile(authorSandboxWebAppPath+"/myDir1", "myFile2");
|
||||||
avmLockingAwareService.createDirectory(authorSandboxWebppPath+"/myDir1", "myDir2");
|
avmLockingAwareService.createDirectory(authorSandboxWebAppPath+"/myDir1", "myDir2");
|
||||||
avmLockingAwareService.createFile(authorSandboxWebppPath+"/myDir1/myDir2", "myFile3");
|
avmLockingAwareService.createFile(authorSandboxWebAppPath+"/myDir1/myDir2", "myFile3");
|
||||||
avmLockingAwareService.createFile(authorSandboxWebppPath+"/myDir1/myDir2", "myFile4");
|
avmLockingAwareService.createFile(authorSandboxWebAppPath+"/myDir1/myDir2", "myFile4");
|
||||||
avmLockingAwareService.createDirectory(authorSandboxWebppPath+"/myDir1", "myDir3");
|
avmLockingAwareService.createDirectory(authorSandboxWebAppPath+"/myDir1", "myDir3");
|
||||||
|
|
||||||
items = sbService.listChangedItems(sbStoreId, false);
|
items = sbService.listChangedItems(sbStoreId, false);
|
||||||
assertEquals(2, items.size()); // new dir with new dirs/files is returned as single change
|
assertEquals(2, items.size()); // new dir with new dirs/files is returned as single change
|
||||||
@@ -556,7 +560,7 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
items = sbService.listChangedItemsDir(authorSandboxWebppPath+"/myDir1", false);
|
items = sbService.listChangedItemsDir(sbStoreId, authorSandboxWebAppRelativePath+"/myDir1", false);
|
||||||
assertEquals(1, items.size());
|
assertEquals(1, items.size());
|
||||||
|
|
||||||
for (AVMNodeDescriptor item : items)
|
for (AVMNodeDescriptor item : items)
|
||||||
@@ -591,7 +595,7 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
List<AVMNodeDescriptor> items = sbService.listChangedItems(sbStoreId, true);
|
List<AVMNodeDescriptor> items = sbService.listChangedItems(sbStoreId, true);
|
||||||
assertEquals(0, items.size());
|
assertEquals(0, items.size());
|
||||||
|
|
||||||
String authorSandboxRootPath = sbStoreId + ":/";
|
String authorSandboxRootPath = sbStoreId + AVM_STORE_SEPARATOR + sbInfo1.getSandboxRootPath();
|
||||||
|
|
||||||
avmLockingAwareService.createFile(authorSandboxRootPath, "myFile1");
|
avmLockingAwareService.createFile(authorSandboxRootPath, "myFile1");
|
||||||
|
|
||||||
@@ -608,7 +612,7 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
items = sbService.listChangedItems(sbStoreId, true);
|
items = sbService.listChangedItems(sbStoreId, true);
|
||||||
assertEquals(0, items.size());
|
assertEquals(0, items.size());
|
||||||
|
|
||||||
authorSandboxRootPath = sbStoreId + ":/";
|
authorSandboxRootPath = sbStoreId + AVM_STORE_SEPARATOR + sbInfo2.getSandboxRootPath();
|
||||||
|
|
||||||
avmLockingAwareService.createFile(authorSandboxRootPath, "myFile2");
|
avmLockingAwareService.createFile(authorSandboxRootPath, "myFile2");
|
||||||
avmLockingAwareService.createFile(authorSandboxRootPath, "myFile3");
|
avmLockingAwareService.createFile(authorSandboxRootPath, "myFile3");
|
||||||
@@ -638,11 +642,11 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
sbInfo1 = sbService.getAuthorSandbox(wpStoreId, USER_ONE);
|
sbInfo1 = sbService.getAuthorSandbox(wpStoreId, USER_ONE);
|
||||||
sbInfo2 = sbService.getAuthorSandbox(wpStoreId, USER_TWO);
|
sbInfo2 = sbService.getAuthorSandbox(wpStoreId, USER_TWO);
|
||||||
|
|
||||||
items = sbService.listChangedItems(sbInfo1.getSandboxId()+":/", sbInfo2.getSandboxId()+":/", false);
|
items = sbService.listChangedItems(sbInfo1.getSandboxId(), sbInfo1.getSandboxRootPath(), sbInfo2.getSandboxId(), sbInfo2.getSandboxRootPath(), false);
|
||||||
assertEquals(1, items.size());
|
assertEquals(1, items.size());
|
||||||
assertEquals("myFile1", items.get(0).getName());
|
assertEquals("myFile1", items.get(0).getName());
|
||||||
|
|
||||||
items = sbService.listChangedItems(sbInfo2.getSandboxId()+":/", sbInfo1.getSandboxId()+":/", false);
|
items = sbService.listChangedItems(sbInfo2.getSandboxId(), sbInfo1.getSandboxRootPath(), sbInfo1.getSandboxId(), sbInfo2.getSandboxRootPath(), false);
|
||||||
assertEquals(2, items.size());
|
assertEquals(2, items.size());
|
||||||
|
|
||||||
for (AVMNodeDescriptor item : items)
|
for (AVMNodeDescriptor item : items)
|
||||||
@@ -681,7 +685,7 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
List<AVMNodeDescriptor> items = sbService.listChangedItems(sbStoreId, true);
|
List<AVMNodeDescriptor> items = sbService.listChangedItems(sbStoreId, true);
|
||||||
assertEquals(0, items.size());
|
assertEquals(0, items.size());
|
||||||
|
|
||||||
String authorSandboxRootPath = sbStoreId + ":/";
|
String authorSandboxRootPath = sbStoreId + AVM_STORE_SEPARATOR + sbInfo1.getSandboxRootPath();
|
||||||
|
|
||||||
avmNonLockingAwareService.createFile(authorSandboxRootPath, "myFile1");
|
avmNonLockingAwareService.createFile(authorSandboxRootPath, "myFile1");
|
||||||
|
|
||||||
@@ -698,7 +702,7 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
items = sbService.listChangedItems(sbStoreId, true);
|
items = sbService.listChangedItems(sbStoreId, true);
|
||||||
assertEquals(0, items.size());
|
assertEquals(0, items.size());
|
||||||
|
|
||||||
authorSandboxRootPath = sbStoreId + ":/";
|
authorSandboxRootPath = sbStoreId + AVM_STORE_SEPARATOR + sbInfo2.getSandboxRootPath();
|
||||||
|
|
||||||
avmNonLockingAwareService.createFile(authorSandboxRootPath, "myFile1"); // allowed, since using base (non-locking-aware) AVM service
|
avmNonLockingAwareService.createFile(authorSandboxRootPath, "myFile1"); // allowed, since using base (non-locking-aware) AVM service
|
||||||
avmNonLockingAwareService.createFile(authorSandboxRootPath, "myFile2");
|
avmNonLockingAwareService.createFile(authorSandboxRootPath, "myFile2");
|
||||||
@@ -733,11 +737,11 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
sbInfo1 = sbService.getAuthorSandbox(wpStoreId, USER_ONE);
|
sbInfo1 = sbService.getAuthorSandbox(wpStoreId, USER_ONE);
|
||||||
sbInfo2 = sbService.getAuthorSandbox(wpStoreId, USER_TWO);
|
sbInfo2 = sbService.getAuthorSandbox(wpStoreId, USER_TWO);
|
||||||
|
|
||||||
items = sbService.listChangedItems(sbInfo1.getSandboxId()+":/", sbInfo2.getSandboxId()+":/", false);
|
items = sbService.listChangedItems(sbInfo1.getSandboxId(), sbInfo1.getSandboxRootPath(), sbInfo2.getSandboxId(), sbInfo2.getSandboxRootPath(), false);
|
||||||
assertEquals(1, items.size());
|
assertEquals(1, items.size());
|
||||||
assertEquals("myFile1", items.get(0).getName());
|
assertEquals("myFile1", items.get(0).getName());
|
||||||
|
|
||||||
items = sbService.listChangedItems(sbInfo2.getSandboxId()+":/", sbInfo1.getSandboxId()+":/", false);
|
items = sbService.listChangedItems(sbInfo2.getSandboxId(), sbInfo1.getSandboxRootPath(), sbInfo1.getSandboxId(), sbInfo2.getSandboxRootPath(), false);
|
||||||
assertEquals(3, items.size());
|
assertEquals(3, items.size());
|
||||||
|
|
||||||
for (AVMNodeDescriptor item : items)
|
for (AVMNodeDescriptor item : items)
|
||||||
@@ -783,7 +787,7 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
List<AVMNodeDescriptor> items = sbService.listChangedItems(authorSandboxId, true);
|
List<AVMNodeDescriptor> items = sbService.listChangedItems(authorSandboxId, true);
|
||||||
assertEquals(0, items.size());
|
assertEquals(0, items.size());
|
||||||
|
|
||||||
String authorSandboxWebppPath = authorSandboxId + ":" + JNDIConstants.DIR_DEFAULT_WWW_APPBASE + "/" + webApp;
|
String authorSandboxWebppPath = authorSandboxId + AVM_STORE_SEPARATOR + sbInfo.getWebAppsPath() + "/" + webApp;
|
||||||
|
|
||||||
avmLockingAwareService.createFile(authorSandboxWebppPath, "myFile1");
|
avmLockingAwareService.createFile(authorSandboxWebppPath, "myFile1");
|
||||||
avmLockingAwareService.createDirectory(authorSandboxWebppPath, "myDir1");
|
avmLockingAwareService.createDirectory(authorSandboxWebppPath, "myDir1");
|
||||||
@@ -797,7 +801,7 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
assertEquals(2, items.size()); // new dir with new dirs/files is returned as single change
|
assertEquals(2, items.size()); // new dir with new dirs/files is returned as single change
|
||||||
|
|
||||||
// check staging before
|
// check staging before
|
||||||
String stagingSandboxWebppPath = stagingSandboxId + ":" + JNDIConstants.DIR_DEFAULT_WWW_APPBASE + "/" + webApp;
|
String stagingSandboxWebppPath = stagingSandboxId + AVM_STORE_SEPARATOR + sbInfo.getWebAppsPath() + "/" + webApp;
|
||||||
assertEquals(0, avmLockingAwareService.getDirectoryListing(-1, stagingSandboxWebppPath, false).size());
|
assertEquals(0, avmLockingAwareService.getDirectoryListing(-1, stagingSandboxWebppPath, false).size());
|
||||||
|
|
||||||
// submit (new items) !
|
// submit (new items) !
|
||||||
@@ -850,7 +854,7 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
List<AVMNodeDescriptor> items = sbService.listChangedItems(authorSandboxId, true);
|
List<AVMNodeDescriptor> items = sbService.listChangedItems(authorSandboxId, true);
|
||||||
assertEquals(0, items.size());
|
assertEquals(0, items.size());
|
||||||
|
|
||||||
String authorSandboxWebppPath = authorSandboxId + ":" + JNDIConstants.DIR_DEFAULT_WWW_APPBASE + "/" + webApp;
|
String authorSandboxWebppPath = authorSandboxId + AVM_STORE_SEPARATOR + sbInfo.getWebAppsPath() + "/" + webApp;
|
||||||
|
|
||||||
final String MYFILE1 = "This is myFile1";
|
final String MYFILE1 = "This is myFile1";
|
||||||
OutputStream out = avmLockingAwareService.createFile(authorSandboxWebppPath, "myFile1");
|
OutputStream out = avmLockingAwareService.createFile(authorSandboxWebppPath, "myFile1");
|
||||||
@@ -870,7 +874,7 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
assertEquals(2, items.size());
|
assertEquals(2, items.size());
|
||||||
|
|
||||||
// check staging before
|
// check staging before
|
||||||
String stagingSandboxWebppPath = stagingSandboxId + ":" + JNDIConstants.DIR_DEFAULT_WWW_APPBASE + "/" + webApp;
|
String stagingSandboxWebppPath = stagingSandboxId + ":" + sbInfo.getWebAppsPath() + "/" + webApp;
|
||||||
assertEquals(0, avmLockingAwareService.getDirectoryListing(-1, stagingSandboxWebppPath, false).size());
|
assertEquals(0, avmLockingAwareService.getDirectoryListing(-1, stagingSandboxWebppPath, false).size());
|
||||||
|
|
||||||
// submit (new items) !
|
// submit (new items) !
|
||||||
@@ -893,7 +897,7 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
items = sbService.listChangedItems(authorSandboxId, true);
|
items = sbService.listChangedItems(authorSandboxId, true);
|
||||||
assertEquals(0, items.size());
|
assertEquals(0, items.size());
|
||||||
|
|
||||||
authorSandboxWebppPath = authorSandboxId + ":" + JNDIConstants.DIR_DEFAULT_WWW_APPBASE + "/" + webApp;
|
authorSandboxWebppPath = authorSandboxId + AVM_STORE_SEPARATOR + sbInfo.getWebAppsPath() + "/" + webApp;
|
||||||
|
|
||||||
final String MYFILE1_MODIFIED = "This is myFile1 ... modified by "+USER_TWO;
|
final String MYFILE1_MODIFIED = "This is myFile1 ... modified by "+USER_TWO;
|
||||||
out = avmLockingAwareService.getFileOutputStream(authorSandboxWebppPath+"/myFile1");
|
out = avmLockingAwareService.getFileOutputStream(authorSandboxWebppPath+"/myFile1");
|
||||||
@@ -911,7 +915,7 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
assertEquals(2, items.size());
|
assertEquals(2, items.size());
|
||||||
|
|
||||||
// check staging before
|
// check staging before
|
||||||
stagingSandboxWebppPath = stagingSandboxId + ":" + JNDIConstants.DIR_DEFAULT_WWW_APPBASE + "/" + webApp;
|
stagingSandboxWebppPath = stagingSandboxId + ":" + sbInfo.getWebAppsPath() + "/" + webApp;
|
||||||
|
|
||||||
InputStream in = avmLockingAwareService.getFileInputStream(-1, stagingSandboxWebppPath+"/myFile1");
|
InputStream in = avmLockingAwareService.getFileInputStream(-1, stagingSandboxWebppPath+"/myFile1");
|
||||||
buff = new byte[1024];
|
buff = new byte[1024];
|
||||||
@@ -968,7 +972,7 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
List<AVMNodeDescriptor> items = sbService.listChangedItems(authorSandboxId, true);
|
List<AVMNodeDescriptor> items = sbService.listChangedItems(authorSandboxId, true);
|
||||||
assertEquals(0, items.size());
|
assertEquals(0, items.size());
|
||||||
|
|
||||||
String authorSandboxWebppPath = authorSandboxId + ":" + JNDIConstants.DIR_DEFAULT_WWW_APPBASE + "/" + webApp;
|
String authorSandboxWebppPath = authorSandboxId + AVM_STORE_SEPARATOR + sbInfo.getWebAppsPath() + "/" + webApp;
|
||||||
|
|
||||||
final String MYFILE1 = "This is myFile1";
|
final String MYFILE1 = "This is myFile1";
|
||||||
OutputStream out = avmLockingAwareService.createFile(authorSandboxWebppPath, "myFile1");
|
OutputStream out = avmLockingAwareService.createFile(authorSandboxWebppPath, "myFile1");
|
||||||
@@ -989,7 +993,7 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
assertEquals(2, items.size());
|
assertEquals(2, items.size());
|
||||||
|
|
||||||
// check staging before
|
// check staging before
|
||||||
String stagingSandboxWebppPath = stagingSandboxId + ":" + JNDIConstants.DIR_DEFAULT_WWW_APPBASE + "/" + webApp;
|
String stagingSandboxWebppPath = stagingSandboxId + AVM_STORE_SEPARATOR + sbInfo.getWebAppsPath() + "/" + webApp;
|
||||||
assertEquals(0, avmLockingAwareService.getDirectoryListing(-1, stagingSandboxWebppPath, false).size());
|
assertEquals(0, avmLockingAwareService.getDirectoryListing(-1, stagingSandboxWebppPath, false).size());
|
||||||
|
|
||||||
// submit (new items) !
|
// submit (new items) !
|
||||||
@@ -1012,7 +1016,7 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
items = sbService.listChangedItems(authorSandboxId, true);
|
items = sbService.listChangedItems(authorSandboxId, true);
|
||||||
assertEquals(0, items.size());
|
assertEquals(0, items.size());
|
||||||
|
|
||||||
authorSandboxWebppPath = authorSandboxId + ":" + JNDIConstants.DIR_DEFAULT_WWW_APPBASE + "/" + webApp;
|
authorSandboxWebppPath = authorSandboxId + AVM_STORE_SEPARATOR + sbInfo.getWebAppsPath() + "/" + webApp;
|
||||||
|
|
||||||
avmLockingAwareService.removeNode(authorSandboxWebppPath+"/myFile1");
|
avmLockingAwareService.removeNode(authorSandboxWebppPath+"/myFile1");
|
||||||
avmLockingAwareService.removeNode(authorSandboxWebppPath+"/myDir1/myDir2");
|
avmLockingAwareService.removeNode(authorSandboxWebppPath+"/myDir1/myDir2");
|
||||||
@@ -1026,7 +1030,7 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
assertEquals(2, items.size());
|
assertEquals(2, items.size());
|
||||||
|
|
||||||
// check staging before
|
// check staging before
|
||||||
stagingSandboxWebppPath = stagingSandboxId + ":" + JNDIConstants.DIR_DEFAULT_WWW_APPBASE + "/" + webApp;
|
stagingSandboxWebppPath = stagingSandboxId + AVM_STORE_SEPARATOR + sbInfo.getWebAppsPath() + "/" + webApp;
|
||||||
|
|
||||||
assertNotNull(avmLockingAwareService.lookup(-1, stagingSandboxWebppPath+"/myFile1"));
|
assertNotNull(avmLockingAwareService.lookup(-1, stagingSandboxWebppPath+"/myFile1"));
|
||||||
assertNotNull(avmLockingAwareService.lookup(-1, stagingSandboxWebppPath+"/myDir1"));
|
assertNotNull(avmLockingAwareService.lookup(-1, stagingSandboxWebppPath+"/myDir1"));
|
||||||
@@ -1070,7 +1074,7 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
List<AVMNodeDescriptor> items = sbService.listChangedItems(authorSandboxId, true);
|
List<AVMNodeDescriptor> items = sbService.listChangedItems(authorSandboxId, true);
|
||||||
assertEquals(0, items.size());
|
assertEquals(0, items.size());
|
||||||
|
|
||||||
String authorSandboxWebppPath = authorSandboxId + ":" + JNDIConstants.DIR_DEFAULT_WWW_APPBASE + "/" + webApp;
|
String authorSandboxWebppPath = authorSandboxId + AVM_STORE_SEPARATOR + sbInfo.getWebAppsPath() + "/" + webApp;
|
||||||
|
|
||||||
final String MYFILE1 = "This is myFile1";
|
final String MYFILE1 = "This is myFile1";
|
||||||
OutputStream out = avmLockingAwareService.createFile(authorSandboxWebppPath, "myFile1");
|
OutputStream out = avmLockingAwareService.createFile(authorSandboxWebppPath, "myFile1");
|
||||||
@@ -1090,7 +1094,7 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
assertEquals(2, items.size());
|
assertEquals(2, items.size());
|
||||||
|
|
||||||
// check staging before
|
// check staging before
|
||||||
String stagingSandboxWebppPath = stagingSandboxId + ":" + JNDIConstants.DIR_DEFAULT_WWW_APPBASE + "/" + webApp;
|
String stagingSandboxWebppPath = stagingSandboxId + AVM_STORE_SEPARATOR + sbInfo.getWebAppsPath() + "/" + webApp;
|
||||||
assertEquals(0, avmLockingAwareService.getDirectoryListing(-1, stagingSandboxWebppPath, false).size());
|
assertEquals(0, avmLockingAwareService.getDirectoryListing(-1, stagingSandboxWebppPath, false).size());
|
||||||
|
|
||||||
// submit (new items) !
|
// submit (new items) !
|
||||||
@@ -1113,7 +1117,7 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
items = sbService.listChangedItems(authorSandboxId, true);
|
items = sbService.listChangedItems(authorSandboxId, true);
|
||||||
assertEquals(0, items.size());
|
assertEquals(0, items.size());
|
||||||
|
|
||||||
authorSandboxWebppPath = authorSandboxId + ":" + JNDIConstants.DIR_DEFAULT_WWW_APPBASE + "/" + webApp;
|
authorSandboxWebppPath = authorSandboxId + AVM_STORE_SEPARATOR + sbInfo.getWebAppsPath() + "/" + webApp;
|
||||||
|
|
||||||
final String MYFILE1_MODIFIED = "This is myFile1 ... modified by "+USER_TWO;
|
final String MYFILE1_MODIFIED = "This is myFile1 ... modified by "+USER_TWO;
|
||||||
out = avmLockingAwareService.getFileOutputStream(authorSandboxWebppPath+"/myFile1");
|
out = avmLockingAwareService.getFileOutputStream(authorSandboxWebppPath+"/myFile1");
|
||||||
@@ -1131,7 +1135,7 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
assertEquals(2, items.size());
|
assertEquals(2, items.size());
|
||||||
|
|
||||||
// check staging before
|
// check staging before
|
||||||
stagingSandboxWebppPath = stagingSandboxId + ":" + JNDIConstants.DIR_DEFAULT_WWW_APPBASE + "/" + webApp;
|
stagingSandboxWebppPath = stagingSandboxId + AVM_STORE_SEPARATOR + sbInfo.getWebAppsPath() + "/" + webApp;
|
||||||
|
|
||||||
InputStream in = avmLockingAwareService.getFileInputStream(-1, stagingSandboxWebppPath+"/myFile1");
|
InputStream in = avmLockingAwareService.getFileInputStream(-1, stagingSandboxWebppPath+"/myFile1");
|
||||||
buff = new byte[1024];
|
buff = new byte[1024];
|
||||||
@@ -1188,7 +1192,7 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
List<AVMNodeDescriptor> items = sbService.listChangedItems(authorSandboxId, true);
|
List<AVMNodeDescriptor> items = sbService.listChangedItems(authorSandboxId, true);
|
||||||
assertEquals(0, items.size());
|
assertEquals(0, items.size());
|
||||||
|
|
||||||
String authorSandboxWebppPath = authorSandboxId + ":" + JNDIConstants.DIR_DEFAULT_WWW_APPBASE + "/" + webApp;
|
String authorSandboxWebppPath = authorSandboxId + AVM_STORE_SEPARATOR + sbInfo.getWebAppsPath() + "/" + webApp;
|
||||||
|
|
||||||
avmLockingAwareService.createDirectory(authorSandboxWebppPath, "myDir1");
|
avmLockingAwareService.createDirectory(authorSandboxWebppPath, "myDir1");
|
||||||
avmLockingAwareService.createDirectory(authorSandboxWebppPath, "myDir2");
|
avmLockingAwareService.createDirectory(authorSandboxWebppPath, "myDir2");
|
||||||
@@ -1198,7 +1202,7 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
assertEquals(3, items.size());
|
assertEquals(3, items.size());
|
||||||
|
|
||||||
// check staging before
|
// check staging before
|
||||||
String stagingSandboxWebppPath = stagingSandboxId + ":" + JNDIConstants.DIR_DEFAULT_WWW_APPBASE + "/" + webApp;
|
String stagingSandboxWebppPath = stagingSandboxId + AVM_STORE_SEPARATOR + sbInfo.getWebAppsPath() + "/" + webApp;
|
||||||
assertEquals(0, avmLockingAwareService.getDirectoryListing(-1, stagingSandboxWebppPath, false).size());
|
assertEquals(0, avmLockingAwareService.getDirectoryListing(-1, stagingSandboxWebppPath, false).size());
|
||||||
|
|
||||||
List<VersionDescriptor> sbVersions = sbService.listSnapshots(stagingSandboxId, fromDate, new Date(), false);
|
List<VersionDescriptor> sbVersions = sbService.listSnapshots(stagingSandboxId, fromDate, new Date(), false);
|
||||||
@@ -1258,7 +1262,7 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
List<AVMNodeDescriptor> items = sbService.listChangedItems(authorSandboxId, true);
|
List<AVMNodeDescriptor> items = sbService.listChangedItems(authorSandboxId, true);
|
||||||
assertEquals(0, items.size());
|
assertEquals(0, items.size());
|
||||||
|
|
||||||
String authorSandboxWebppPath = authorSandboxId + ":" + JNDIConstants.DIR_DEFAULT_WWW_APPBASE + "/" + webApp;
|
String authorSandboxWebppPath = authorSandboxId + AVM_STORE_SEPARATOR + sbInfo.getWebAppsPath() + "/" + webApp;
|
||||||
|
|
||||||
avmLockingAwareService.createDirectory(authorSandboxWebppPath, "myDir1");
|
avmLockingAwareService.createDirectory(authorSandboxWebppPath, "myDir1");
|
||||||
|
|
||||||
@@ -1266,7 +1270,7 @@ public class SandboxServiceImplTest extends TestCase
|
|||||||
assertEquals(1, items.size());
|
assertEquals(1, items.size());
|
||||||
|
|
||||||
// check staging before
|
// check staging before
|
||||||
String stagingSandboxWebppPath = stagingSandboxId + ":" + JNDIConstants.DIR_DEFAULT_WWW_APPBASE + "/" + webApp;
|
String stagingSandboxWebppPath = stagingSandboxId + AVM_STORE_SEPARATOR + sbInfo.getWebAppsPath() + "/" + webApp;
|
||||||
assertEquals(0, avmLockingAwareService.getDirectoryListing(-1, stagingSandboxWebppPath, false).size());
|
assertEquals(0, avmLockingAwareService.getDirectoryListing(-1, stagingSandboxWebppPath, false).size());
|
||||||
|
|
||||||
List<VersionDescriptor> sbVersions = sbService.listSnapshots(stagingSandboxId, fromDate, new Date(), false);
|
List<VersionDescriptor> sbVersions = sbService.listSnapshots(stagingSandboxId, fromDate, new Date(), false);
|
||||||
|
@@ -195,7 +195,7 @@ public class Sandbox implements Serializable
|
|||||||
*/
|
*/
|
||||||
public List<Asset> getModifiedAssetsWebApp(String webApp)
|
public List<Asset> getModifiedAssetsWebApp(String webApp)
|
||||||
{
|
{
|
||||||
List<AVMNodeDescriptor> items = getSandboxService().listChangedItems(getSandboxRef(), webApp, true);
|
List<AVMNodeDescriptor> items = getSandboxService().listChangedItemsWebApp(getSandboxRef(), webApp, true);
|
||||||
ArrayList<Asset> ret = new ArrayList<Asset>(items.size());
|
ArrayList<Asset> ret = new ArrayList<Asset>(items.size());
|
||||||
|
|
||||||
for(AVMNodeDescriptor item : items)
|
for(AVMNodeDescriptor item : items)
|
||||||
|
Reference in New Issue
Block a user