. Root webapp name "ROOT" now fixed for a web project

. Changes for NameMatcher usage in avm sync service compare() method
. Abstraction of AVM web-client workflow utils methods into AVMWorkflowUtil class
. Refactor of SubmitDialog to use workflow util
. Refactor of CreateWebContentWizard to use workflow utils
 - now launches a workflow on submit

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@4531 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast
2006-12-06 16:06:54 +00:00
parent e8d0027c9b
commit eba3b28fbe
10 changed files with 323 additions and 197 deletions

View File

@@ -16,26 +16,20 @@
*/
package org.alfresco.web.bean.wcm;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
import javax.faces.context.FacesContext;
import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.model.ContentModel;
import org.alfresco.model.WCMAppModel;
import org.alfresco.service.cmr.repository.ChildAssociationRef;
import org.alfresco.service.cmr.repository.ContentReader;
import org.alfresco.service.cmr.repository.ContentService;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.workflow.WorkflowDefinition;
import org.alfresco.service.namespace.QName;
import org.alfresco.service.namespace.RegexQNamePattern;
import org.alfresco.web.app.AlfrescoNavigationHandler;
import org.alfresco.web.bean.repository.Repository;
import org.alfresco.web.forms.Form;
import org.alfresco.web.forms.FormsService;
import org.alfresco.web.forms.RenderingEngineTemplate;
@@ -109,7 +103,7 @@ public class EditWebsiteWizard extends CreateWebsiteWizard
if (wfDef != null)
{
WorkflowWrapper wfWrapper = new WorkflowWrapper(wfName, wfDef.getTitle());
wfWrapper.setParams((Map<QName, Serializable>)deserializeWorkflowParams(wfRef));
wfWrapper.setParams((Map<QName, Serializable>)AVMWorkflowUtil.deserializeWorkflowParams(wfRef));
if (wfDef.startTaskDefinition != null)
{
wfWrapper.setType(wfDef.startTaskDefinition.metadata.getName());
@@ -154,7 +148,7 @@ public class EditWebsiteWizard extends CreateWebsiteWizard
if (wfDef != null)
{
WorkflowWrapper wfWrapper = new WorkflowWrapper(wfName, wfDef.getTitle());
wfWrapper.setParams((Map<QName, Serializable>)deserializeWorkflowParams(wfRef));
wfWrapper.setParams((Map<QName, Serializable>)AVMWorkflowUtil.deserializeWorkflowParams(wfRef));
wfWrapper.setFilenamePattern((String)this.nodeService.getProperty(
wfRef, WCMAppModel.PROP_FILENAMEPATTERN));
if (wfDef.startTaskDefinition != null)
@@ -213,37 +207,4 @@ public class EditWebsiteWizard extends CreateWebsiteWizard
this.nodeService.removeChild(nodeRef, ref.getChildRef());
}
}
/**
* Deserialize the default workflow params from a content stream
*
* @param workflowRef The noderef to write the property too
*
* @return Serializable workflow params
*/
public static Serializable deserializeWorkflowParams(NodeRef workflowRef)
{
try
{
// restore the serialized Map from a binary content stream - like database blob!
Serializable params = null;
ContentService cs = Repository.getServiceRegistry(FacesContext.getCurrentInstance()).getContentService();
ContentReader reader = cs.getReader(workflowRef, WCMAppModel.PROP_WORKFLOWDEFAULTS);
if (reader != null)
{
ObjectInputStream ois = new ObjectInputStream(reader.getContentInputStream());
params = (Serializable)ois.readObject();
ois.close();
}
return params;
}
catch (IOException ioErr)
{
throw new AlfrescoRuntimeException("Unable to deserialize workflow default parameters: " + ioErr.getMessage());
}
catch (ClassNotFoundException classErr)
{
throw new AlfrescoRuntimeException("Unable to deserialize workflow default parameters: " + classErr.getMessage());
}
}
}