Merged V2.2 to HEAD

7536: Encoded all outputted strings to avoid cross-site scripting issues
         Fixed potential issue where same id for a div could be used multiple times on one page
   7537: Ensured no passwords are logged when deployment debug is turned on
   7538: Fixed ordering of deployment attempts in 'more reports' panel
   7539: Allocated test server is now released when a user sandbox is deleted
   7540: Merged V2.1 to V2.2
      7411: This makes issuers compatible with clustering without a huge performance drop
   7547: AWC-1711 (contribution) - simple workflow actions are not displayed if the user does not have write permission
   7548: Fixed IE scrolling issue when editing deployment server config
   7551: Changed the way scrolling is done to support IE6 (for deployment server config editing)


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@8414 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2008-03-03 13:51:55 +00:00
parent a3bbee6739
commit 6e4730ed64
10 changed files with 197 additions and 79 deletions

View File

@@ -117,6 +117,8 @@ public class DeleteSandboxDialog extends BaseDialogBean
if (username != null)
{
Node website = this.avmBrowseBean.getWebsite();
String storeRoot = (String)website.getProperties().get(WCMAppModel.PROP_AVMSTORE);
String mainStore = AVMUtil.buildUserMainStoreName(storeRoot, username);
// remove the store reference from the website folder meta-data
List<ChildAssociationRef> userInfoRefs = this.getNodeService().getChildAssocs(
@@ -126,14 +128,11 @@ public class DeleteSandboxDialog extends BaseDialogBean
{
NodeRef userInfoRef = ref.getChildRef();
String user = (String)getNodeService().getProperty(userInfoRef, WCMAppModel.PROP_WEBUSERNAME);
String role = (String)getNodeService().getProperty(userInfoRef, WCMAppModel.PROP_WEBUSERROLE);
if (username.equals(user))
{
// found the sandbox to remove
String storeRoot = (String)website.getProperties().get(WCMAppModel.PROP_AVMSTORE);
String sandbox = AVMUtil.buildUserMainStoreName(storeRoot, username);
String path = AVMUtil.buildStoreWebappPath(sandbox, this.avmBrowseBean.getWebapp());
String path = AVMUtil.buildStoreWebappPath(mainStore, this.avmBrowseBean.getWebapp());
// Notify virtualisation server about removing this sandbox.
//
@@ -158,15 +157,15 @@ public class DeleteSandboxDialog extends BaseDialogBean
// layer attached.
// purge the user main sandbox store from the system
this.getAvmService().purgeStore(sandbox);
this.getAvmService().purgeStore(mainStore);
// remove any locks this user may have
this.getAvmLockingService().removeStoreLocks(sandbox);
this.getAvmLockingService().removeStoreLocks(mainStore);
// purge the user preview sandbox store from the system
sandbox = AVMUtil.buildUserPreviewStoreName(storeRoot, username);
this.getAvmService().purgeStore(sandbox);
String previewStore = AVMUtil.buildUserPreviewStoreName(storeRoot, username);
this.getAvmService().purgeStore(previewStore);
// remove any locks this user may have
this.getAvmLockingService().removeStoreLocks(sandbox);
this.getAvmLockingService().removeStoreLocks(previewStore);
// remove the association to this web project user meta-data
this.getNodeService().removeChild(website.getNodeRef(), ref.getChildRef());
@@ -174,6 +173,16 @@ public class DeleteSandboxDialog extends BaseDialogBean
break;
}
}
// if the sandbox is allocated to a test server release it
NodeRef testServer = DeploymentUtil.findAllocatedTestServer(mainStore);
if (testServer != null)
{
getNodeService().setProperty(testServer, WCMAppModel.PROP_DEPLOYSERVERALLOCATEDTO, null);
if (logger.isDebugEnabled())
logger.debug("Released test server from user sandbox: " + mainStore);
}
}
return outcome;