Merged DEV/JASONH to HEAD

12172: ExternalAccessServlet - resolve WebDAV paths in OUTCOME_DIALOG/OUTCOME_WIZARD; setup Space & Content action on browsebean
  12658: ExternalAccessServlet - minor cleanup only


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@12659 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Jan Vonka
2009-01-09 14:09:18 +00:00
parent 4828b32ff4
commit f632d3aaae

View File

@@ -271,9 +271,45 @@ public class ExternalAccessServlet extends BaseServlet
{ {
if (args.length > 1) if (args.length > 1)
{ {
String currentNodeId = null;
if (args[1].equals(WebDAVServlet.WEBDAV_PREFIX))
{
// Drop the first argument
String[] args2 = new String[ args.length -1 ];
for (int i=1; i<args.length; i++)
{
args2[i-1] = args[i];
if (logger.isDebugEnabled())
{
logger.debug("Added segment " + args2[i-1]);
}
}
NodeRef nodeRef = resolveWebDAVPath(fc, args2);
currentNodeId = nodeRef.getId();
}
else
{
currentNodeId = args[1];
}
if (logger.isDebugEnabled())
{
logger.debug("currentNodeId: " + currentNodeId);
}
// if a GUID was passed, use it to init the NavigationBean current context // if a GUID was passed, use it to init the NavigationBean current context
NavigationBean navigator = (NavigationBean)FacesHelper.getManagedBean(fc, NavigationBean.BEAN_NAME); NavigationBean navigator = (NavigationBean)FacesHelper.getManagedBean(fc, NavigationBean.BEAN_NAME);
navigator.setCurrentNodeId(args[1]); navigator.setCurrentNodeId(currentNodeId);
browseBean.setupSpaceAction(currentNodeId, true);
// setup the Document on the browse bean
// avoid java.lang.NullPointerException
// at org.alfresco.web.bean.content.InviteContentUsersWizard.getPermissionsForType(InviteContentUsersWizard.java:49)
// at org.alfresco.web.bean.wizard.BaseInviteUsersWizard.getRoles(BaseInviteUsersWizard.java:562)
browseBean.setupContentAction(currentNodeId, true);
} }
// set the external container session flag so that a plain container gets used // set the external container session flag so that a plain container gets used