mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
RM-4921 - use retrying transaction for all write operations: create and update
This commit is contained in:
@@ -58,6 +58,7 @@
|
|||||||
<property name="apiUtils" ref="apiUtils" />
|
<property name="apiUtils" ref="apiUtils" />
|
||||||
<property name="nodesModelFactory" ref="nodesModelFactory" />
|
<property name="nodesModelFactory" ref="nodesModelFactory" />
|
||||||
<property name="fileFolderService" ref="FileFolderService" />
|
<property name="fileFolderService" ref="FileFolderService" />
|
||||||
|
<property name="transactionService" ref="transactionService" />
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean class="org.alfresco.rm.rest.api.fileplans.FilePlanChildrenRelation">
|
<bean class="org.alfresco.rm.rest.api.fileplans.FilePlanChildrenRelation">
|
||||||
@@ -65,12 +66,14 @@
|
|||||||
<property name="nodesModelFactory" ref="nodesModelFactory" />
|
<property name="nodesModelFactory" ref="nodesModelFactory" />
|
||||||
<property name="fileFolderService" ref="FileFolderService" />
|
<property name="fileFolderService" ref="FileFolderService" />
|
||||||
<property name="searchTypesFactory" ref="searchTypesFactory" />
|
<property name="searchTypesFactory" ref="searchTypesFactory" />
|
||||||
|
<property name="transactionService" ref="transactionService" />
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean class="org.alfresco.rm.rest.api.unfiledcontainers.UnfiledContainerEntityResource">
|
<bean class="org.alfresco.rm.rest.api.unfiledcontainers.UnfiledContainerEntityResource">
|
||||||
<property name="apiUtils" ref="apiUtils" />
|
<property name="apiUtils" ref="apiUtils" />
|
||||||
<property name="fileFolderService" ref="FileFolderService" />
|
<property name="fileFolderService" ref="FileFolderService" />
|
||||||
<property name="nodesModelFactory" ref="nodesModelFactory" />
|
<property name="nodesModelFactory" ref="nodesModelFactory" />
|
||||||
|
<property name="transactionService" ref="transactionService" />
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean class="org.alfresco.rm.rest.api.unfiledcontainers.UnfiledContainerChildrenRelation">
|
<bean class="org.alfresco.rm.rest.api.unfiledcontainers.UnfiledContainerChildrenRelation">
|
||||||
@@ -85,6 +88,7 @@
|
|||||||
<property name="apiUtils" ref="apiUtils" />
|
<property name="apiUtils" ref="apiUtils" />
|
||||||
<property name="fileFolderService" ref="FileFolderService" />
|
<property name="fileFolderService" ref="FileFolderService" />
|
||||||
<property name="nodesModelFactory" ref="nodesModelFactory" />
|
<property name="nodesModelFactory" ref="nodesModelFactory" />
|
||||||
|
<property name="transactionService" ref="transactionService" />
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean class="org.alfresco.rm.rest.api.unfiledrecordfolders.UnfiledRecordFolderChildrenRelation">
|
<bean class="org.alfresco.rm.rest.api.unfiledrecordfolders.UnfiledRecordFolderChildrenRelation">
|
||||||
@@ -99,6 +103,7 @@
|
|||||||
<property name="apiUtils" ref="apiUtils" />
|
<property name="apiUtils" ref="apiUtils" />
|
||||||
<property name="fileFolderService" ref="FileFolderService" />
|
<property name="fileFolderService" ref="FileFolderService" />
|
||||||
<property name="nodesModelFactory" ref="nodesModelFactory" />
|
<property name="nodesModelFactory" ref="nodesModelFactory" />
|
||||||
|
<property name="transactionService" ref="transactionService" />
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean class="org.alfresco.rm.rest.api.recordcategories.RecordCategoryChildrenRelation">
|
<bean class="org.alfresco.rm.rest.api.recordcategories.RecordCategoryChildrenRelation">
|
||||||
@@ -113,6 +118,7 @@
|
|||||||
<property name="apiUtils" ref="apiUtils" />
|
<property name="apiUtils" ref="apiUtils" />
|
||||||
<property name="fileFolderService" ref="FileFolderService" />
|
<property name="fileFolderService" ref="FileFolderService" />
|
||||||
<property name="nodesModelFactory" ref="nodesModelFactory" />
|
<property name="nodesModelFactory" ref="nodesModelFactory" />
|
||||||
|
<property name="transactionService" ref="transactionService" />
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean class="org.alfresco.rm.rest.api.recordfolders.RecordFolderChildrenRelation">
|
<bean class="org.alfresco.rm.rest.api.recordfolders.RecordFolderChildrenRelation">
|
||||||
@@ -129,6 +135,7 @@
|
|||||||
<property name="nodesModelFactory" ref="nodesModelFactory" />
|
<property name="nodesModelFactory" ref="nodesModelFactory" />
|
||||||
<property name="recordService" ref="RecordService"/>
|
<property name="recordService" ref="RecordService"/>
|
||||||
<property name="nodeService" ref="NodeService"/>
|
<property name="nodeService" ref="NodeService"/>
|
||||||
|
<property name="transactionService" ref="transactionService" />
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean class="org.alfresco.rm.rest.api.files.FilesEntityResource">
|
<bean class="org.alfresco.rm.rest.api.files.FilesEntityResource">
|
||||||
@@ -143,6 +150,7 @@
|
|||||||
<property name="apiUtils" ref="apiUtils" />
|
<property name="apiUtils" ref="apiUtils" />
|
||||||
<property name="fileFolderService" ref="FileFolderService" />
|
<property name="fileFolderService" ref="FileFolderService" />
|
||||||
<property name="nodesModelFactory" ref="nodesModelFactory" />
|
<property name="nodesModelFactory" ref="nodesModelFactory" />
|
||||||
|
<property name="transactionService" ref="transactionService" />
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean class="org.alfresco.rm.rest.api.transfercontainers.TransferContainerChildrenRelation">
|
<bean class="org.alfresco.rm.rest.api.transfercontainers.TransferContainerChildrenRelation">
|
||||||
|
@@ -33,12 +33,15 @@ import static org.alfresco.util.ParameterCheck.mandatory;
|
|||||||
import java.util.AbstractList;
|
import java.util.AbstractList;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.alfresco.query.PagingResults;
|
import org.alfresco.query.PagingResults;
|
||||||
|
import org.alfresco.repo.activities.ActivityType;
|
||||||
import org.alfresco.repo.node.getchildren.FilterProp;
|
import org.alfresco.repo.node.getchildren.FilterProp;
|
||||||
|
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
|
||||||
import org.alfresco.rest.api.impl.Util;
|
import org.alfresco.rest.api.impl.Util;
|
||||||
import org.alfresco.rest.api.model.UserInfo;
|
import org.alfresco.rest.api.model.UserInfo;
|
||||||
import org.alfresco.rest.framework.WebApiDescription;
|
import org.alfresco.rest.framework.WebApiDescription;
|
||||||
@@ -51,11 +54,13 @@ import org.alfresco.rm.rest.api.impl.ApiNodesModelFactory;
|
|||||||
import org.alfresco.rm.rest.api.impl.FilePlanComponentsApiUtils;
|
import org.alfresco.rm.rest.api.impl.FilePlanComponentsApiUtils;
|
||||||
import org.alfresco.rm.rest.api.impl.SearchTypesFactory;
|
import org.alfresco.rm.rest.api.impl.SearchTypesFactory;
|
||||||
import org.alfresco.rm.rest.api.model.FilePlan;
|
import org.alfresco.rm.rest.api.model.FilePlan;
|
||||||
|
import org.alfresco.rm.rest.api.model.Record;
|
||||||
import org.alfresco.rm.rest.api.model.RecordCategory;
|
import org.alfresco.rm.rest.api.model.RecordCategory;
|
||||||
import org.alfresco.service.cmr.model.FileFolderService;
|
import org.alfresco.service.cmr.model.FileFolderService;
|
||||||
import org.alfresco.service.cmr.model.FileInfo;
|
import org.alfresco.service.cmr.model.FileInfo;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.namespace.QName;
|
import org.alfresco.service.namespace.QName;
|
||||||
|
import org.alfresco.service.transaction.TransactionService;
|
||||||
import org.alfresco.util.ParameterCheck;
|
import org.alfresco.util.ParameterCheck;
|
||||||
import org.springframework.beans.factory.InitializingBean;
|
import org.springframework.beans.factory.InitializingBean;
|
||||||
|
|
||||||
@@ -76,6 +81,7 @@ public class FilePlanChildrenRelation implements RelationshipResourceAction.Read
|
|||||||
private FileFolderService fileFolderService;
|
private FileFolderService fileFolderService;
|
||||||
private ApiNodesModelFactory nodesModelFactory;
|
private ApiNodesModelFactory nodesModelFactory;
|
||||||
private SearchTypesFactory searchTypesFactory;
|
private SearchTypesFactory searchTypesFactory;
|
||||||
|
private TransactionService transactionService;
|
||||||
|
|
||||||
public void setApiUtils(FilePlanComponentsApiUtils apiUtils)
|
public void setApiUtils(FilePlanComponentsApiUtils apiUtils)
|
||||||
{
|
{
|
||||||
@@ -97,6 +103,11 @@ public class FilePlanChildrenRelation implements RelationshipResourceAction.Read
|
|||||||
this.searchTypesFactory = searchTypesFactory;
|
this.searchTypesFactory = searchTypesFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setTransactionService(TransactionService transactionService)
|
||||||
|
{
|
||||||
|
this.transactionService = transactionService;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterPropertiesSet() throws Exception
|
public void afterPropertiesSet() throws Exception
|
||||||
{
|
{
|
||||||
@@ -173,21 +184,38 @@ public class FilePlanChildrenRelation implements RelationshipResourceAction.Read
|
|||||||
mandatory("parameters", parameters);
|
mandatory("parameters", parameters);
|
||||||
|
|
||||||
QName filePlanType = apiUtils.getFilePlanType();
|
QName filePlanType = apiUtils.getFilePlanType();
|
||||||
if(filePlanType == null)// rm site not created
|
if (filePlanType == null)// rm site not created
|
||||||
{
|
{
|
||||||
throw new EntityNotFoundException(filePlanId);
|
throw new EntityNotFoundException(filePlanId);
|
||||||
}
|
}
|
||||||
NodeRef parentNodeRef = apiUtils.lookupAndValidateNodeType(filePlanId, filePlanType);
|
NodeRef parentNodeRef = apiUtils.lookupAndValidateNodeType(filePlanId, filePlanType);
|
||||||
|
|
||||||
|
RetryingTransactionCallback<List<NodeRef>> callback = new RetryingTransactionCallback<List<NodeRef>>()
|
||||||
|
{
|
||||||
|
public List<NodeRef> execute()
|
||||||
|
{
|
||||||
|
List<NodeRef> createdNodes = new LinkedList<>();
|
||||||
|
for (RecordCategory nodeInfo : nodeInfos)
|
||||||
|
{
|
||||||
|
// Create the node
|
||||||
|
NodeRef newNodeRef = apiUtils.createRMNode(parentNodeRef, nodeInfo.getName(), RECORD_CATEGORY_TYPE,
|
||||||
|
nodeInfo.getProperties(), nodeInfo.getAspectNames());
|
||||||
|
createdNodes.add(newNodeRef);
|
||||||
|
}
|
||||||
|
return createdNodes;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
List<NodeRef> createdNodes = transactionService.getRetryingTransactionHelper().doInTransaction(callback);
|
||||||
|
|
||||||
|
// Get the nodes info
|
||||||
List<RecordCategory> result = new ArrayList<>(nodeInfos.size());
|
List<RecordCategory> result = new ArrayList<>(nodeInfos.size());
|
||||||
Map<String, UserInfo> mapUserInfo = new HashMap<>();
|
Map<String, UserInfo> mapUserInfo = new HashMap<>();
|
||||||
for (RecordCategory nodeInfo : nodeInfos)
|
for (NodeRef newNodeRef : createdNodes)
|
||||||
{
|
{
|
||||||
// Create the node
|
FileInfo info = fileFolderService.getFileInfo(newNodeRef);
|
||||||
NodeRef newNode = apiUtils.createRMNode(parentNodeRef, nodeInfo.getName(), RECORD_CATEGORY_TYPE, nodeInfo.getProperties(), nodeInfo.getAspectNames());
|
|
||||||
FileInfo info = fileFolderService.getFileInfo(newNode);
|
|
||||||
result.add(nodesModelFactory.createRecordCategory(info, parameters, mapUserInfo, false));
|
result.add(nodesModelFactory.createRecordCategory(info, parameters, mapUserInfo, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -30,6 +30,7 @@ package org.alfresco.rm.rest.api.fileplans;
|
|||||||
import static org.alfresco.module.org_alfresco_module_rm.util.RMParameterCheck.checkNotBlank;
|
import static org.alfresco.module.org_alfresco_module_rm.util.RMParameterCheck.checkNotBlank;
|
||||||
import static org.alfresco.util.ParameterCheck.mandatory;
|
import static org.alfresco.util.ParameterCheck.mandatory;
|
||||||
|
|
||||||
|
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
|
||||||
import org.alfresco.rest.framework.WebApiDescription;
|
import org.alfresco.rest.framework.WebApiDescription;
|
||||||
import org.alfresco.rest.framework.WebApiParam;
|
import org.alfresco.rest.framework.WebApiParam;
|
||||||
import org.alfresco.rest.framework.core.exceptions.EntityNotFoundException;
|
import org.alfresco.rest.framework.core.exceptions.EntityNotFoundException;
|
||||||
@@ -43,6 +44,7 @@ import org.alfresco.service.cmr.model.FileFolderService;
|
|||||||
import org.alfresco.service.cmr.model.FileInfo;
|
import org.alfresco.service.cmr.model.FileInfo;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.namespace.QName;
|
import org.alfresco.service.namespace.QName;
|
||||||
|
import org.alfresco.service.transaction.TransactionService;
|
||||||
import org.alfresco.util.ParameterCheck;
|
import org.alfresco.util.ParameterCheck;
|
||||||
import org.springframework.beans.factory.InitializingBean;
|
import org.springframework.beans.factory.InitializingBean;
|
||||||
|
|
||||||
@@ -60,6 +62,7 @@ public class FilePlanEntityResource
|
|||||||
private FilePlanComponentsApiUtils apiUtils;
|
private FilePlanComponentsApiUtils apiUtils;
|
||||||
private FileFolderService fileFolderService;
|
private FileFolderService fileFolderService;
|
||||||
private ApiNodesModelFactory nodesModelFactory;
|
private ApiNodesModelFactory nodesModelFactory;
|
||||||
|
private TransactionService transactionService;
|
||||||
|
|
||||||
public void setApiUtils(FilePlanComponentsApiUtils apiUtils)
|
public void setApiUtils(FilePlanComponentsApiUtils apiUtils)
|
||||||
{
|
{
|
||||||
@@ -76,6 +79,11 @@ public class FilePlanEntityResource
|
|||||||
this.nodesModelFactory = nodesModelFactory;
|
this.nodesModelFactory = nodesModelFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setTransactionService(TransactionService transactionService)
|
||||||
|
{
|
||||||
|
this.transactionService = transactionService;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterPropertiesSet() throws Exception
|
public void afterPropertiesSet() throws Exception
|
||||||
{
|
{
|
||||||
@@ -117,7 +125,16 @@ public class FilePlanEntityResource
|
|||||||
throw new EntityNotFoundException(filePlanId);
|
throw new EntityNotFoundException(filePlanId);
|
||||||
}
|
}
|
||||||
NodeRef nodeRef = apiUtils.lookupAndValidateNodeType(filePlanId, filePlanType);
|
NodeRef nodeRef = apiUtils.lookupAndValidateNodeType(filePlanId, filePlanType);
|
||||||
apiUtils.updateNode(nodeRef, filePlanInfo, parameters);
|
|
||||||
|
RetryingTransactionCallback<Void> callback = new RetryingTransactionCallback<Void>()
|
||||||
|
{
|
||||||
|
public Void execute()
|
||||||
|
{
|
||||||
|
apiUtils.updateNode(nodeRef, filePlanInfo, parameters);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
transactionService.getRetryingTransactionHelper().doInTransaction(callback);
|
||||||
|
|
||||||
FileInfo info = fileFolderService.getFileInfo(nodeRef);
|
FileInfo info = fileFolderService.getFileInfo(nodeRef);
|
||||||
return nodesModelFactory.createFilePlan(info, parameters, null, false);
|
return nodesModelFactory.createFilePlan(info, parameters, null, false);
|
||||||
|
@@ -31,6 +31,7 @@ import static org.alfresco.module.org_alfresco_module_rm.util.RMParameterCheck.c
|
|||||||
import static org.alfresco.util.ParameterCheck.mandatory;
|
import static org.alfresco.util.ParameterCheck.mandatory;
|
||||||
|
|
||||||
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
||||||
|
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
|
||||||
import org.alfresco.rest.api.Nodes;
|
import org.alfresco.rest.api.Nodes;
|
||||||
import org.alfresco.rest.framework.WebApiDescription;
|
import org.alfresco.rest.framework.WebApiDescription;
|
||||||
import org.alfresco.rest.framework.WebApiParam;
|
import org.alfresco.rest.framework.WebApiParam;
|
||||||
@@ -43,6 +44,7 @@ import org.alfresco.rm.rest.api.model.RecordCategory;
|
|||||||
import org.alfresco.service.cmr.model.FileFolderService;
|
import org.alfresco.service.cmr.model.FileFolderService;
|
||||||
import org.alfresco.service.cmr.model.FileInfo;
|
import org.alfresco.service.cmr.model.FileInfo;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
|
import org.alfresco.service.transaction.TransactionService;
|
||||||
import org.springframework.beans.factory.InitializingBean;
|
import org.springframework.beans.factory.InitializingBean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -62,6 +64,7 @@ public class RecordCategoriesEntityResource implements
|
|||||||
private FilePlanComponentsApiUtils apiUtils;
|
private FilePlanComponentsApiUtils apiUtils;
|
||||||
private FileFolderService fileFolderService;
|
private FileFolderService fileFolderService;
|
||||||
private ApiNodesModelFactory nodesModelFactory;
|
private ApiNodesModelFactory nodesModelFactory;
|
||||||
|
private TransactionService transactionService;
|
||||||
|
|
||||||
public void setApiUtils(FilePlanComponentsApiUtils apiUtils)
|
public void setApiUtils(FilePlanComponentsApiUtils apiUtils)
|
||||||
{
|
{
|
||||||
@@ -78,6 +81,11 @@ public class RecordCategoriesEntityResource implements
|
|||||||
this.nodesModelFactory = nodesModelFactory;
|
this.nodesModelFactory = nodesModelFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setTransactionService(TransactionService transactionService)
|
||||||
|
{
|
||||||
|
this.transactionService = transactionService;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterPropertiesSet() throws Exception
|
public void afterPropertiesSet() throws Exception
|
||||||
{
|
{
|
||||||
@@ -111,7 +119,16 @@ public class RecordCategoriesEntityResource implements
|
|||||||
mandatory("parameters", parameters);
|
mandatory("parameters", parameters);
|
||||||
|
|
||||||
NodeRef nodeRef = apiUtils.lookupAndValidateNodeType(recordCategoryId, RecordsManagementModel.TYPE_RECORD_CATEGORY);
|
NodeRef nodeRef = apiUtils.lookupAndValidateNodeType(recordCategoryId, RecordsManagementModel.TYPE_RECORD_CATEGORY);
|
||||||
apiUtils.updateNode(nodeRef, recordCategoryInfo, parameters);
|
|
||||||
|
RetryingTransactionCallback<Void> callback = new RetryingTransactionCallback<Void>()
|
||||||
|
{
|
||||||
|
public Void execute()
|
||||||
|
{
|
||||||
|
apiUtils.updateNode(nodeRef, recordCategoryInfo, parameters);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
transactionService.getRetryingTransactionHelper().doInTransaction(callback);
|
||||||
|
|
||||||
FileInfo info = fileFolderService.getFileInfo(nodeRef);
|
FileInfo info = fileFolderService.getFileInfo(nodeRef);
|
||||||
return nodesModelFactory.createRecordCategory(info, parameters, null, false);
|
return nodesModelFactory.createRecordCategory(info, parameters, null, false);
|
||||||
|
@@ -189,7 +189,8 @@ public class RecordCategoryChildrenRelation implements RelationshipResourceActio
|
|||||||
RecordsManagementModel.TYPE_RECORD_CATEGORY);
|
RecordsManagementModel.TYPE_RECORD_CATEGORY);
|
||||||
}
|
}
|
||||||
// Create the node
|
// Create the node
|
||||||
NodeRef newNode = apiUtils.createRMNode(nodeParent, nodeInfo.getName(), nodeInfo.getNodeType(), nodeInfo.getProperties(), nodeInfo.getAspectNames());
|
NodeRef newNode = apiUtils.createRMNode(nodeParent, nodeInfo.getName(), nodeInfo.getNodeType(),
|
||||||
|
nodeInfo.getProperties(), nodeInfo.getAspectNames());
|
||||||
createdNodes.add(newNode);
|
createdNodes.add(newNode);
|
||||||
}
|
}
|
||||||
return createdNodes;
|
return createdNodes;
|
||||||
|
@@ -31,7 +31,6 @@ import static org.alfresco.module.org_alfresco_module_rm.util.RMParameterCheck.c
|
|||||||
import static org.alfresco.util.ParameterCheck.mandatory;
|
import static org.alfresco.util.ParameterCheck.mandatory;
|
||||||
|
|
||||||
import java.util.AbstractList;
|
import java.util.AbstractList;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -57,7 +56,6 @@ import org.alfresco.rm.rest.api.impl.FilePlanComponentsApiUtils;
|
|||||||
import org.alfresco.rm.rest.api.impl.SearchTypesFactory;
|
import org.alfresco.rm.rest.api.impl.SearchTypesFactory;
|
||||||
import org.alfresco.rm.rest.api.model.Record;
|
import org.alfresco.rm.rest.api.model.Record;
|
||||||
import org.alfresco.rm.rest.api.model.RecordFolder;
|
import org.alfresco.rm.rest.api.model.RecordFolder;
|
||||||
import org.alfresco.rm.rest.api.model.UnfiledContainerChild;
|
|
||||||
import org.alfresco.rm.rest.api.model.UploadInfo;
|
import org.alfresco.rm.rest.api.model.UploadInfo;
|
||||||
import org.alfresco.service.cmr.model.FileFolderService;
|
import org.alfresco.service.cmr.model.FileFolderService;
|
||||||
import org.alfresco.service.cmr.model.FileInfo;
|
import org.alfresco.service.cmr.model.FileInfo;
|
||||||
|
@@ -31,6 +31,7 @@ import static org.alfresco.module.org_alfresco_module_rm.util.RMParameterCheck.c
|
|||||||
import static org.alfresco.util.ParameterCheck.mandatory;
|
import static org.alfresco.util.ParameterCheck.mandatory;
|
||||||
|
|
||||||
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
||||||
|
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
|
||||||
import org.alfresco.rest.framework.WebApiDescription;
|
import org.alfresco.rest.framework.WebApiDescription;
|
||||||
import org.alfresco.rest.framework.WebApiParam;
|
import org.alfresco.rest.framework.WebApiParam;
|
||||||
import org.alfresco.rest.framework.resource.EntityResource;
|
import org.alfresco.rest.framework.resource.EntityResource;
|
||||||
@@ -42,6 +43,7 @@ import org.alfresco.rm.rest.api.model.RecordFolder;
|
|||||||
import org.alfresco.service.cmr.model.FileFolderService;
|
import org.alfresco.service.cmr.model.FileFolderService;
|
||||||
import org.alfresco.service.cmr.model.FileInfo;
|
import org.alfresco.service.cmr.model.FileInfo;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
|
import org.alfresco.service.transaction.TransactionService;
|
||||||
import org.springframework.beans.factory.InitializingBean;
|
import org.springframework.beans.factory.InitializingBean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -59,6 +61,7 @@ public class RecordFolderEntityResource implements EntityResourceAction.ReadById
|
|||||||
private FilePlanComponentsApiUtils apiUtils;
|
private FilePlanComponentsApiUtils apiUtils;
|
||||||
private FileFolderService fileFolderService;
|
private FileFolderService fileFolderService;
|
||||||
private ApiNodesModelFactory nodesModelFactory;
|
private ApiNodesModelFactory nodesModelFactory;
|
||||||
|
private TransactionService transactionService;
|
||||||
|
|
||||||
public void setApiUtils(FilePlanComponentsApiUtils apiUtils)
|
public void setApiUtils(FilePlanComponentsApiUtils apiUtils)
|
||||||
{
|
{
|
||||||
@@ -75,6 +78,11 @@ public class RecordFolderEntityResource implements EntityResourceAction.ReadById
|
|||||||
this.nodesModelFactory = nodesModelFactory;
|
this.nodesModelFactory = nodesModelFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setTransactionService(TransactionService transactionService)
|
||||||
|
{
|
||||||
|
this.transactionService = transactionService;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterPropertiesSet() throws Exception
|
public void afterPropertiesSet() throws Exception
|
||||||
{
|
{
|
||||||
@@ -106,7 +114,16 @@ public class RecordFolderEntityResource implements EntityResourceAction.ReadById
|
|||||||
mandatory("parameters", parameters);
|
mandatory("parameters", parameters);
|
||||||
|
|
||||||
NodeRef nodeRef = apiUtils.lookupAndValidateNodeType(recordFolderId, RecordsManagementModel.TYPE_RECORD_FOLDER);
|
NodeRef nodeRef = apiUtils.lookupAndValidateNodeType(recordFolderId, RecordsManagementModel.TYPE_RECORD_FOLDER);
|
||||||
apiUtils.updateNode(nodeRef, recordFolderInfo, parameters);
|
|
||||||
|
RetryingTransactionCallback<Void> callback = new RetryingTransactionCallback<Void>()
|
||||||
|
{
|
||||||
|
public Void execute()
|
||||||
|
{
|
||||||
|
apiUtils.updateNode(nodeRef, recordFolderInfo, parameters);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
transactionService.getRetryingTransactionHelper().doInTransaction(callback);
|
||||||
|
|
||||||
FileInfo info = fileFolderService.getFileInfo(nodeRef);
|
FileInfo info = fileFolderService.getFileInfo(nodeRef);
|
||||||
return nodesModelFactory.createRecordFolder(info, parameters, null, false);
|
return nodesModelFactory.createRecordFolder(info, parameters, null, false);
|
||||||
|
@@ -34,6 +34,7 @@ import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
|||||||
import org.alfresco.module.org_alfresco_module_rm.record.RecordService;
|
import org.alfresco.module.org_alfresco_module_rm.record.RecordService;
|
||||||
import org.alfresco.repo.activities.ActivityType;
|
import org.alfresco.repo.activities.ActivityType;
|
||||||
import org.alfresco.repo.node.integrity.IntegrityException;
|
import org.alfresco.repo.node.integrity.IntegrityException;
|
||||||
|
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
|
||||||
import org.alfresco.rest.framework.BinaryProperties;
|
import org.alfresco.rest.framework.BinaryProperties;
|
||||||
import org.alfresco.rest.framework.Operation;
|
import org.alfresco.rest.framework.Operation;
|
||||||
import org.alfresco.rest.framework.WebApiDescription;
|
import org.alfresco.rest.framework.WebApiDescription;
|
||||||
@@ -56,6 +57,7 @@ import org.alfresco.service.cmr.model.FileInfo;
|
|||||||
import org.alfresco.service.cmr.model.FileNotFoundException;
|
import org.alfresco.service.cmr.model.FileNotFoundException;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.cmr.repository.NodeService;
|
import org.alfresco.service.cmr.repository.NodeService;
|
||||||
|
import org.alfresco.service.transaction.TransactionService;
|
||||||
import org.alfresco.util.ParameterCheck;
|
import org.alfresco.util.ParameterCheck;
|
||||||
import org.springframework.beans.factory.InitializingBean;
|
import org.springframework.beans.factory.InitializingBean;
|
||||||
import org.springframework.dao.ConcurrencyFailureException;
|
import org.springframework.dao.ConcurrencyFailureException;
|
||||||
@@ -80,6 +82,7 @@ public class RecordsEntityResource implements BinaryResourceAction.Read,
|
|||||||
private FileFolderService fileFolderService;
|
private FileFolderService fileFolderService;
|
||||||
private RecordService recordService;
|
private RecordService recordService;
|
||||||
private NodeService nodeService;
|
private NodeService nodeService;
|
||||||
|
private TransactionService transactionService;
|
||||||
|
|
||||||
public void setNodesModelFactory(ApiNodesModelFactory nodesModelFactory)
|
public void setNodesModelFactory(ApiNodesModelFactory nodesModelFactory)
|
||||||
{
|
{
|
||||||
@@ -105,6 +108,12 @@ public class RecordsEntityResource implements BinaryResourceAction.Read,
|
|||||||
{
|
{
|
||||||
this.fileFolderService = fileFolderService;
|
this.fileFolderService = fileFolderService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setTransactionService(TransactionService transactionService)
|
||||||
|
{
|
||||||
|
this.transactionService = transactionService;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Download content
|
* Download content
|
||||||
*
|
*
|
||||||
@@ -197,7 +206,15 @@ public class RecordsEntityResource implements BinaryResourceAction.Read,
|
|||||||
NodeRef record = apiUtils.validateRecord(recordId);
|
NodeRef record = apiUtils.validateRecord(recordId);
|
||||||
|
|
||||||
// update info
|
// update info
|
||||||
apiUtils.updateNode(record, recordInfo, parameters);
|
RetryingTransactionCallback<Void> callback = new RetryingTransactionCallback<Void>()
|
||||||
|
{
|
||||||
|
public Void execute()
|
||||||
|
{
|
||||||
|
apiUtils.updateNode(record, recordInfo, parameters);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
transactionService.getRetryingTransactionHelper().doInTransaction(callback);
|
||||||
|
|
||||||
// return record state
|
// return record state
|
||||||
FileInfo info = fileFolderService.getFileInfo(record);
|
FileInfo info = fileFolderService.getFileInfo(record);
|
||||||
|
@@ -31,6 +31,7 @@ import static org.alfresco.module.org_alfresco_module_rm.util.RMParameterCheck.c
|
|||||||
import static org.alfresco.util.ParameterCheck.mandatory;
|
import static org.alfresco.util.ParameterCheck.mandatory;
|
||||||
|
|
||||||
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
||||||
|
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
|
||||||
import org.alfresco.rest.framework.WebApiDescription;
|
import org.alfresco.rest.framework.WebApiDescription;
|
||||||
import org.alfresco.rest.framework.WebApiParam;
|
import org.alfresco.rest.framework.WebApiParam;
|
||||||
import org.alfresco.rest.framework.core.exceptions.EntityNotFoundException;
|
import org.alfresco.rest.framework.core.exceptions.EntityNotFoundException;
|
||||||
@@ -43,6 +44,7 @@ import org.alfresco.rm.rest.api.model.TransferContainer;
|
|||||||
import org.alfresco.service.cmr.model.FileFolderService;
|
import org.alfresco.service.cmr.model.FileFolderService;
|
||||||
import org.alfresco.service.cmr.model.FileInfo;
|
import org.alfresco.service.cmr.model.FileInfo;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
|
import org.alfresco.service.transaction.TransactionService;
|
||||||
import org.springframework.beans.factory.InitializingBean;
|
import org.springframework.beans.factory.InitializingBean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -60,6 +62,7 @@ public class TransferContainerEntityResource implements
|
|||||||
private FilePlanComponentsApiUtils apiUtils;
|
private FilePlanComponentsApiUtils apiUtils;
|
||||||
private FileFolderService fileFolderService;
|
private FileFolderService fileFolderService;
|
||||||
private ApiNodesModelFactory nodesModelFactory;
|
private ApiNodesModelFactory nodesModelFactory;
|
||||||
|
private TransactionService transactionService;
|
||||||
|
|
||||||
public void setApiUtils(FilePlanComponentsApiUtils apiUtils)
|
public void setApiUtils(FilePlanComponentsApiUtils apiUtils)
|
||||||
{
|
{
|
||||||
@@ -76,6 +79,11 @@ public class TransferContainerEntityResource implements
|
|||||||
this.nodesModelFactory = nodesModelFactory;
|
this.nodesModelFactory = nodesModelFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setTransactionService(TransactionService transactionService)
|
||||||
|
{
|
||||||
|
this.transactionService = transactionService;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterPropertiesSet() throws Exception
|
public void afterPropertiesSet() throws Exception
|
||||||
{
|
{
|
||||||
@@ -108,7 +116,17 @@ public class TransferContainerEntityResource implements
|
|||||||
mandatory("parameters", parameters);
|
mandatory("parameters", parameters);
|
||||||
|
|
||||||
NodeRef nodeRef = apiUtils.lookupAndValidateNodeType(transferContainerId, RecordsManagementModel.TYPE_TRANSFER_CONTAINER);
|
NodeRef nodeRef = apiUtils.lookupAndValidateNodeType(transferContainerId, RecordsManagementModel.TYPE_TRANSFER_CONTAINER);
|
||||||
apiUtils.updateTransferContainer(nodeRef, transferContainerInfo, parameters);
|
|
||||||
|
// update info
|
||||||
|
RetryingTransactionCallback<Void> callback = new RetryingTransactionCallback<Void>()
|
||||||
|
{
|
||||||
|
public Void execute()
|
||||||
|
{
|
||||||
|
apiUtils.updateTransferContainer(nodeRef, transferContainerInfo, parameters);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
transactionService.getRetryingTransactionHelper().doInTransaction(callback);
|
||||||
|
|
||||||
FileInfo info = fileFolderService.getFileInfo(nodeRef);
|
FileInfo info = fileFolderService.getFileInfo(nodeRef);
|
||||||
return nodesModelFactory.createTransferContainer(info, parameters, null, false);
|
return nodesModelFactory.createTransferContainer(info, parameters, null, false);
|
||||||
|
@@ -31,7 +31,6 @@ import static org.alfresco.module.org_alfresco_module_rm.util.RMParameterCheck.c
|
|||||||
import static org.alfresco.util.ParameterCheck.mandatory;
|
import static org.alfresco.util.ParameterCheck.mandatory;
|
||||||
|
|
||||||
import java.util.AbstractList;
|
import java.util.AbstractList;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
@@ -32,6 +32,7 @@ import static org.alfresco.util.ParameterCheck.mandatory;
|
|||||||
|
|
||||||
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
||||||
import org.alfresco.repo.activities.ActivityType;
|
import org.alfresco.repo.activities.ActivityType;
|
||||||
|
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
|
||||||
import org.alfresco.rest.framework.WebApiDescription;
|
import org.alfresco.rest.framework.WebApiDescription;
|
||||||
import org.alfresco.rest.framework.WebApiParam;
|
import org.alfresco.rest.framework.WebApiParam;
|
||||||
import org.alfresco.rest.framework.resource.EntityResource;
|
import org.alfresco.rest.framework.resource.EntityResource;
|
||||||
@@ -43,6 +44,7 @@ import org.alfresco.rm.rest.api.model.UnfiledContainer;
|
|||||||
import org.alfresco.service.cmr.model.FileFolderService;
|
import org.alfresco.service.cmr.model.FileFolderService;
|
||||||
import org.alfresco.service.cmr.model.FileInfo;
|
import org.alfresco.service.cmr.model.FileInfo;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
|
import org.alfresco.service.transaction.TransactionService;
|
||||||
import org.springframework.beans.factory.InitializingBean;
|
import org.springframework.beans.factory.InitializingBean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -60,6 +62,7 @@ public class UnfiledContainerEntityResource
|
|||||||
private FilePlanComponentsApiUtils apiUtils;
|
private FilePlanComponentsApiUtils apiUtils;
|
||||||
private FileFolderService fileFolderService;
|
private FileFolderService fileFolderService;
|
||||||
private ApiNodesModelFactory nodesModelFactory;
|
private ApiNodesModelFactory nodesModelFactory;
|
||||||
|
private TransactionService transactionService;
|
||||||
|
|
||||||
public void setApiUtils(FilePlanComponentsApiUtils apiUtils)
|
public void setApiUtils(FilePlanComponentsApiUtils apiUtils)
|
||||||
{
|
{
|
||||||
@@ -76,6 +79,11 @@ public class UnfiledContainerEntityResource
|
|||||||
this.nodesModelFactory = nodesModelFactory;
|
this.nodesModelFactory = nodesModelFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setTransactionService(TransactionService transactionService)
|
||||||
|
{
|
||||||
|
this.transactionService = transactionService;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterPropertiesSet() throws Exception
|
public void afterPropertiesSet() throws Exception
|
||||||
{
|
{
|
||||||
@@ -107,7 +115,16 @@ public class UnfiledContainerEntityResource
|
|||||||
mandatory("parameters", parameters);
|
mandatory("parameters", parameters);
|
||||||
|
|
||||||
NodeRef nodeRef = apiUtils.lookupAndValidateNodeType(unfiledContainerId, RecordsManagementModel.TYPE_UNFILED_RECORD_CONTAINER);
|
NodeRef nodeRef = apiUtils.lookupAndValidateNodeType(unfiledContainerId, RecordsManagementModel.TYPE_UNFILED_RECORD_CONTAINER);
|
||||||
apiUtils.updateNode(nodeRef, unfiledContainerInfo, parameters);
|
|
||||||
|
RetryingTransactionCallback<Void> callback = new RetryingTransactionCallback<Void>()
|
||||||
|
{
|
||||||
|
public Void execute()
|
||||||
|
{
|
||||||
|
apiUtils.updateNode(nodeRef, unfiledContainerInfo, parameters);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
transactionService.getRetryingTransactionHelper().doInTransaction(callback);
|
||||||
|
|
||||||
FileInfo info = fileFolderService.getFileInfo(nodeRef);
|
FileInfo info = fileFolderService.getFileInfo(nodeRef);
|
||||||
apiUtils.postActivity(info, unfiledContainerInfo.getParentId(), ActivityType.FILE_UPDATED);
|
apiUtils.postActivity(info, unfiledContainerInfo.getParentId(), ActivityType.FILE_UPDATED);
|
||||||
|
@@ -31,7 +31,6 @@ import static org.alfresco.module.org_alfresco_module_rm.util.RMParameterCheck.c
|
|||||||
import static org.alfresco.util.ParameterCheck.mandatory;
|
import static org.alfresco.util.ParameterCheck.mandatory;
|
||||||
|
|
||||||
import java.util.AbstractList;
|
import java.util.AbstractList;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
@@ -60,7 +59,6 @@ import org.alfresco.rm.rest.api.impl.FilePlanComponentsApiUtils;
|
|||||||
import org.alfresco.rm.rest.api.impl.SearchTypesFactory;
|
import org.alfresco.rm.rest.api.impl.SearchTypesFactory;
|
||||||
import org.alfresco.rm.rest.api.model.RMNode;
|
import org.alfresco.rm.rest.api.model.RMNode;
|
||||||
import org.alfresco.rm.rest.api.model.UnfiledChild;
|
import org.alfresco.rm.rest.api.model.UnfiledChild;
|
||||||
import org.alfresco.rm.rest.api.model.UnfiledContainerChild;
|
|
||||||
import org.alfresco.rm.rest.api.model.UnfiledRecordFolder;
|
import org.alfresco.rm.rest.api.model.UnfiledRecordFolder;
|
||||||
import org.alfresco.rm.rest.api.model.UnfiledRecordFolderChild;
|
import org.alfresco.rm.rest.api.model.UnfiledRecordFolderChild;
|
||||||
import org.alfresco.rm.rest.api.model.UploadInfo;
|
import org.alfresco.rm.rest.api.model.UploadInfo;
|
||||||
|
@@ -32,6 +32,7 @@ import static org.alfresco.util.ParameterCheck.mandatory;
|
|||||||
|
|
||||||
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
||||||
import org.alfresco.repo.activities.ActivityType;
|
import org.alfresco.repo.activities.ActivityType;
|
||||||
|
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
|
||||||
import org.alfresco.rest.api.Nodes;
|
import org.alfresco.rest.api.Nodes;
|
||||||
import org.alfresco.rest.framework.WebApiDescription;
|
import org.alfresco.rest.framework.WebApiDescription;
|
||||||
import org.alfresco.rest.framework.WebApiParam;
|
import org.alfresco.rest.framework.WebApiParam;
|
||||||
@@ -44,6 +45,7 @@ import org.alfresco.rm.rest.api.model.UnfiledRecordFolder;
|
|||||||
import org.alfresco.service.cmr.model.FileFolderService;
|
import org.alfresco.service.cmr.model.FileFolderService;
|
||||||
import org.alfresco.service.cmr.model.FileInfo;
|
import org.alfresco.service.cmr.model.FileInfo;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
|
import org.alfresco.service.transaction.TransactionService;
|
||||||
import org.springframework.beans.factory.InitializingBean;
|
import org.springframework.beans.factory.InitializingBean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -61,6 +63,8 @@ public class UnfiledRecordFolderEntityResource implements EntityResourceAction.R
|
|||||||
private FilePlanComponentsApiUtils apiUtils;
|
private FilePlanComponentsApiUtils apiUtils;
|
||||||
private FileFolderService fileFolderService;
|
private FileFolderService fileFolderService;
|
||||||
private ApiNodesModelFactory nodesModelFactory;
|
private ApiNodesModelFactory nodesModelFactory;
|
||||||
|
private TransactionService transactionService;
|
||||||
|
|
||||||
public void setApiUtils(FilePlanComponentsApiUtils apiUtils)
|
public void setApiUtils(FilePlanComponentsApiUtils apiUtils)
|
||||||
{
|
{
|
||||||
this.apiUtils = apiUtils;
|
this.apiUtils = apiUtils;
|
||||||
@@ -76,6 +80,11 @@ public class UnfiledRecordFolderEntityResource implements EntityResourceAction.R
|
|||||||
this.nodesModelFactory = nodesModelFactory;
|
this.nodesModelFactory = nodesModelFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setTransactionService(TransactionService transactionService)
|
||||||
|
{
|
||||||
|
this.transactionService = transactionService;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterPropertiesSet() throws Exception
|
public void afterPropertiesSet() throws Exception
|
||||||
{
|
{
|
||||||
@@ -110,7 +119,16 @@ public class UnfiledRecordFolderEntityResource implements EntityResourceAction.R
|
|||||||
mandatory("parameters", parameters);
|
mandatory("parameters", parameters);
|
||||||
|
|
||||||
NodeRef nodeRef = apiUtils.lookupAndValidateNodeType(unfiledRecordFolderId, RecordsManagementModel.TYPE_UNFILED_RECORD_FOLDER);
|
NodeRef nodeRef = apiUtils.lookupAndValidateNodeType(unfiledRecordFolderId, RecordsManagementModel.TYPE_UNFILED_RECORD_FOLDER);
|
||||||
apiUtils.updateNode(nodeRef, unfiledRecordFolderInfo, parameters);
|
|
||||||
|
RetryingTransactionCallback<Void> callback = new RetryingTransactionCallback<Void>()
|
||||||
|
{
|
||||||
|
public Void execute()
|
||||||
|
{
|
||||||
|
apiUtils.updateNode(nodeRef, unfiledRecordFolderInfo, parameters);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
transactionService.getRetryingTransactionHelper().doInTransaction(callback);
|
||||||
|
|
||||||
FileInfo info = fileFolderService.getFileInfo(nodeRef);
|
FileInfo info = fileFolderService.getFileInfo(nodeRef);
|
||||||
apiUtils.postActivity(info, unfiledRecordFolderInfo.getParentId(), ActivityType.FILE_UPDATED);
|
apiUtils.postActivity(info, unfiledRecordFolderInfo.getParentId(), ActivityType.FILE_UPDATED);
|
||||||
|
Reference in New Issue
Block a user