mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged HEAD-BUG-FIX (4.3/Cloud) to HEAD (4.3/Cloud)
68161: Merged V4.2-BUG-FIX (4.2.3) to HEAD-BUG-FIX (4.3/Cloud) 67875: Merged V4.1-BUG-FIX (4.1.9) to V4.2-BUG-FIX (4.2.3) 67795: Merged DEV to V4.1-BUG-FIX (4.1.9) 67728: MNT-11251: Impossible to upload/create content when lifecycle workflow is deployed 'org.alfresco.web.bean.content.BaseContentWizard.getObjectTypes()' has been wrapped with retrying transaction to avoid not transactional invocations of dictionary methods which access the repository git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@68443 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2005-2010 Alfresco Software Limited.
|
* Copyright (C) 2005-2014 Alfresco Software Limited.
|
||||||
*
|
*
|
||||||
* This file is part of Alfresco
|
* This file is part of Alfresco
|
||||||
*
|
*
|
||||||
@@ -30,6 +30,7 @@ import javax.faces.model.SelectItem;
|
|||||||
|
|
||||||
import org.alfresco.model.ApplicationModel;
|
import org.alfresco.model.ApplicationModel;
|
||||||
import org.alfresco.model.ContentModel;
|
import org.alfresco.model.ContentModel;
|
||||||
|
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
|
||||||
import org.alfresco.service.ServiceRegistry;
|
import org.alfresco.service.ServiceRegistry;
|
||||||
import org.alfresco.service.cmr.dictionary.TypeDefinition;
|
import org.alfresco.service.cmr.dictionary.TypeDefinition;
|
||||||
import org.alfresco.service.cmr.repository.ContentService;
|
import org.alfresco.service.cmr.repository.ContentService;
|
||||||
@@ -38,6 +39,7 @@ import org.alfresco.service.cmr.repository.MimetypeService;
|
|||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.namespace.NamespaceService;
|
import org.alfresco.service.namespace.NamespaceService;
|
||||||
import org.alfresco.service.namespace.QName;
|
import org.alfresco.service.namespace.QName;
|
||||||
|
import org.alfresco.service.transaction.TransactionService;
|
||||||
import org.alfresco.web.app.Application;
|
import org.alfresco.web.app.Application;
|
||||||
import org.alfresco.web.bean.repository.Repository;
|
import org.alfresco.web.bean.repository.Repository;
|
||||||
import org.alfresco.web.bean.wizard.BaseWizardBean;
|
import org.alfresco.web.bean.wizard.BaseWizardBean;
|
||||||
@@ -74,6 +76,7 @@ public abstract class BaseContentWizard extends BaseWizardBean
|
|||||||
protected NodeRef createdNode;
|
protected NodeRef createdNode;
|
||||||
protected List<SelectItem> objectTypes;
|
protected List<SelectItem> objectTypes;
|
||||||
transient private ContentService contentService;
|
transient private ContentService contentService;
|
||||||
|
transient private TransactionService transactionService;
|
||||||
|
|
||||||
protected static final String MSG_NODE_LOCKED = "node_locked_dialog_closed";
|
protected static final String MSG_NODE_LOCKED = "node_locked_dialog_closed";
|
||||||
|
|
||||||
@@ -296,6 +299,18 @@ public abstract class BaseContentWizard extends BaseWizardBean
|
|||||||
* @return Returns a list of object types to allow the user to select from
|
* @return Returns a list of object types to allow the user to select from
|
||||||
*/
|
*/
|
||||||
public List<SelectItem> getObjectTypes()
|
public List<SelectItem> getObjectTypes()
|
||||||
|
{
|
||||||
|
return getTransactionService().getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<List<SelectItem>>()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public List<SelectItem> execute() throws Throwable
|
||||||
|
{
|
||||||
|
return getObjectTypesImpl();
|
||||||
|
}
|
||||||
|
}, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<SelectItem> getObjectTypesImpl()
|
||||||
{
|
{
|
||||||
if ((this.objectTypes == null) || (Application.isDynamicConfig(FacesContext.getCurrentInstance())))
|
if ((this.objectTypes == null) || (Application.isDynamicConfig(FacesContext.getCurrentInstance())))
|
||||||
{
|
{
|
||||||
@@ -443,6 +458,16 @@ public abstract class BaseContentWizard extends BaseWizardBean
|
|||||||
return contentService;
|
return contentService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected TransactionService getTransactionService()
|
||||||
|
{
|
||||||
|
if (null == transactionService)
|
||||||
|
{
|
||||||
|
transactionService = Repository.getServiceRegistry(FacesContext.getCurrentInstance()).getTransactionService();
|
||||||
|
}
|
||||||
|
|
||||||
|
return transactionService;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------
|
||||||
// Helper methods
|
// Helper methods
|
||||||
|
Reference in New Issue
Block a user