Fix for WCM-537: Changes to layer are now comitted in first transaction i.e. prior to informing virtual server of workflow sandbox.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6237 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Gavin Cornwell
2007-07-13 00:33:49 +00:00
parent c86d38b820
commit 2884fce276

View File

@@ -382,7 +382,7 @@ public class SubmitDialog extends BaseDialogBean
try
{
// create the workflow sandbox firstly
txnHelper.doInTransaction(sandboxCallback);
txnHelper.doInTransaction(sandboxCallback, false, true);
if (this.sandboxInfo != null)
{
@@ -395,7 +395,7 @@ public class SubmitDialog extends BaseDialogBean
try
{
// start the workflow
txnHelper.doInTransaction(workflowCallback);
txnHelper.doInTransaction(workflowCallback, false, true);
}
catch (Throwable err)
{
@@ -532,6 +532,18 @@ public class SubmitDialog extends BaseDialogBean
this.srcPaths.add(srcPath);
}
String workflowMainStoreName = sandboxInfo.getMainStoreName();
List<AVMDifference> diffs = new ArrayList<AVMDifference>(srcPaths.size());
for (final String srcPath : srcPaths)
{
diffs.add(new AVMDifference(-1, srcPath, -1,
AVMUtil.getCorrespondingPath(srcPath, workflowMainStoreName),
AVMDifference.NEWER));
}
// write changes to layer so files are marked as modified
avmSyncService.update(diffs, null, true, true, false, false, null, null);
}
else
{