Package fr.becpg.repo.repository.impl
Class AlfrescoRepositoryImpl<T extends RepositoryEntity>
java.lang.Object
fr.becpg.repo.repository.impl.AlfrescoRepositoryImpl<T>
- All Implemented Interfaces:
AlfrescoRepository<T>,CrudRepository<T,,org.alfresco.service.cmr.repository.NodeRef> org.alfresco.repo.node.NodeServicePolicies.OnAddAspectPolicy,org.alfresco.repo.node.NodeServicePolicies.OnCreateAssociationPolicy,org.alfresco.repo.node.NodeServicePolicies.OnDeleteAssociationPolicy,org.alfresco.repo.node.NodeServicePolicies.OnDeleteNodePolicy,org.alfresco.repo.node.NodeServicePolicies.OnRemoveAspectPolicy,org.alfresco.repo.node.NodeServicePolicies.OnUpdatePropertiesPolicy,org.alfresco.repo.policy.AssociationPolicy,org.alfresco.repo.policy.ClassPolicy,org.alfresco.repo.policy.Policy,org.alfresco.util.cache.RefreshableCacheListener,org.springframework.beans.factory.InitializingBean
@Repository("alfrescoRepository")
public class AlfrescoRepositoryImpl<T extends RepositoryEntity>
extends Object
implements AlfrescoRepository<T>, org.alfresco.repo.node.NodeServicePolicies.OnDeleteNodePolicy, org.alfresco.repo.node.NodeServicePolicies.OnUpdatePropertiesPolicy, org.alfresco.repo.node.NodeServicePolicies.OnAddAspectPolicy, org.alfresco.repo.node.NodeServicePolicies.OnRemoveAspectPolicy, org.alfresco.util.cache.RefreshableCacheListener, org.springframework.beans.factory.InitializingBean, org.alfresco.repo.node.NodeServicePolicies.OnCreateAssociationPolicy, org.alfresco.repo.node.NodeServicePolicies.OnDeleteAssociationPolicy
AlfrescoRepositoryImpl class.
- Version:
- $Id: $Id
- Author:
- matthieu
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface org.alfresco.repo.policy.Policy
org.alfresco.repo.policy.Policy.Arg -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate AssociationServiceprivate org.alfresco.util.cache.AsynchronouslyRefreshedCacheRegistryprivate org.alfresco.repo.cache.TransactionalCache<org.alfresco.service.cmr.repository.NodeRef,T> private org.alfresco.repo.cache.TransactionalCache<org.alfresco.service.cmr.repository.NodeRef,T> private EntityDictionaryServiceprivate EntityListDAOprivate static final org.apache.commons.logging.Logprivate org.alfresco.service.cmr.repository.NodeServiceprivate org.alfresco.repo.policy.PolicyComponentprivate RepositoryEntityDefReader<T>private org.alfresco.service.cmr.repository.NodeServiceFields inherited from interface org.alfresco.repo.node.NodeServicePolicies.OnAddAspectPolicy
QNAMEFields inherited from interface org.alfresco.repo.node.NodeServicePolicies.OnCreateAssociationPolicy
QNAMEFields inherited from interface org.alfresco.repo.node.NodeServicePolicies.OnDeleteAssociationPolicy
QNAMEFields inherited from interface org.alfresco.repo.node.NodeServicePolicies.OnDeleteNodePolicy
QNAMEFields inherited from interface org.alfresco.repo.node.NodeServicePolicies.OnRemoveAspectPolicy
QNAMEFields inherited from interface org.alfresco.repo.node.NodeServicePolicies.OnUpdatePropertiesPolicy
ARG_0, ARG_1, ARG_2, QNAMEFields inherited from interface org.alfresco.repo.policy.Policy
NAMESPACE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidclearCaches(String id) clearCaches.longcount()Returns the number of entities available.create.private longcreateCollisionSafeHashCode(T entity) createDataList(T entity, PropertyDescriptor pd, String datalistName, org.alfresco.service.namespace.QName datalistQname) voidDeletes the given entities.voiddelete(org.alfresco.service.cmr.repository.NodeRef id) Deletes the entity with the given id.voidDeletes a given entity.voidDeletes all entities managed by the repository.booleanexists(org.alfresco.service.cmr.repository.NodeRef id) Returns whether an entity with the given id exists.private Map<org.alfresco.service.namespace.QName,Serializable> extractProperties(T entity) findAll()Returns all instances of the type.findOne(org.alfresco.service.cmr.repository.NodeRef id) Retrives an entity by its primary key.private TfindOne(org.alfresco.service.cmr.repository.NodeRef id, AlfrescoRepositoryImpl.CacheType cacheType, Map<org.alfresco.service.cmr.repository.NodeRef, RepositoryEntity> localCache) private TgetFormCache(org.alfresco.service.cmr.repository.NodeRef id, Map<org.alfresco.service.cmr.repository.NodeRef, RepositoryEntity> localCache, AlfrescoRepositoryImpl.CacheType cacheType) <R extends RepositoryEntity>
List<R>getList(RepositoryEntity entity, Class<R> clazz) getList.<R extends RepositoryEntity>
List<R>getList(RepositoryEntity entity, org.alfresco.service.namespace.QName datalistContainerQname, org.alfresco.service.namespace.QName datalistQname) getList.org.alfresco.service.cmr.repository.NodeRefgetOrCreateDataListContainer(T entity) getOrCreateDataListContainer.private org.alfresco.service.cmr.repository.NodeRefgetOrCreateNodeRef(Map.Entry<org.alfresco.service.namespace.QName, T> entry, T entity) booleanhasDataList(RepositoryEntity entity, org.alfresco.service.namespace.QName datalistContainerQname) hasDataList.booleanhasDataList(org.alfresco.service.cmr.repository.NodeRef entityNodeRef, String datalistName) hasDataList.booleanhasDataList(org.alfresco.service.cmr.repository.NodeRef entityNodeRef, org.alfresco.service.namespace.QName datalistContainerQname) hasDataList.voidinit()init.booleanisDirty.booleanisRegisteredType(org.alfresco.service.namespace.QName type) isRegisteredType.private voidloadAspects(T entity) private voidloadAssoc(T entity, PropertyDescriptor pd, Method readMethod, Map<org.alfresco.service.cmr.repository.NodeRef, RepositoryEntity> localCache, boolean multiple, boolean isChildAssoc) loadDataList(org.alfresco.service.cmr.repository.NodeRef entityNodeRef, String datalistName, org.alfresco.service.namespace.QName datalistQname) loadDataList.loadDataList(org.alfresco.service.cmr.repository.NodeRef dataListNodeRef, org.alfresco.service.namespace.QName datalistQname) loadDataList.loadDataList(org.alfresco.service.cmr.repository.NodeRef dataListNodeRef, org.alfresco.service.namespace.QName datalistQname, Map<org.alfresco.service.cmr.repository.NodeRef, RepositoryEntity> localCache) private <R> RloadDataListView(T entity, String datalistName, Class<R> returnType) private voidloadProperties(T entity, PropertyDescriptor pd, Method readMethod, Map<org.alfresco.service.namespace.QName, Serializable> properties, Map<org.alfresco.service.cmr.repository.NodeRef, RepositoryEntity> localCache) private booleannormalizedEquals(Object a, Object b) voidonAddAspect(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName aspectTypeQName) voidonCreateAssociation(org.alfresco.service.cmr.repository.AssociationRef nodeAssocRef) voidonDeleteAssociation(org.alfresco.service.cmr.repository.AssociationRef nodeAssocRef) voidonDeleteNode(org.alfresco.service.cmr.repository.ChildAssociationRef associationRef, boolean arg1) voidonRefreshableCacheEvent(org.alfresco.util.cache.RefreshableCacheEvent refreshableCacheEvent) voidonRemoveAspect(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName aspectTypeQName) voidonUpdateProperties(org.alfresco.service.cmr.repository.NodeRef nodeRef, Map<org.alfresco.service.namespace.QName, Serializable> before, Map<org.alfresco.service.namespace.QName, Serializable> after) private voidpurgeCache(org.alfresco.service.cmr.repository.NodeRef nodeRef) private voidremoveProperties(org.alfresco.service.cmr.repository.NodeRef nodeRef, Set<org.alfresco.service.namespace.QName> qnames) Saves all given entities.Saves a given entity.private voidsaveAspects(T entity) private voidsaveAssociations(T entity) voidsaveDataList(org.alfresco.service.cmr.repository.NodeRef listContainerNodeRef, org.alfresco.service.namespace.QName dataListContainerType, String dataListName, List<? extends RepositoryEntity> dataList) saveDataList.voidsaveDataList(org.alfresco.service.cmr.repository.NodeRef listContainerNodeRef, org.alfresco.service.namespace.QName dataListContainerType, List<? extends RepositoryEntity> dataList) saveDataList.private voidsaveDataLists(T entity) private voidsaveDataListViews(T entity) private voidstoreInCache(org.alfresco.service.cmr.repository.NodeRef id, T entity, Map<org.alfresco.service.cmr.repository.NodeRef, RepositoryEntity> localCache, AlfrescoRepositoryImpl.CacheType cacheType)
-
Field Details
-
nodeService
@Autowired private org.alfresco.service.cmr.repository.NodeService nodeService -
repositoryNodeService
@Autowired @Qualifier("repositoryNodeService") private org.alfresco.service.cmr.repository.NodeService repositoryNodeService -
logger
private static final org.apache.commons.logging.Log logger -
repositoryEntityDefReader
-
entityListDAO
-
entityDictionaryService
-
associationService
-
cache
@Autowired @Qualifier("becpgRepositoryCache") private org.alfresco.repo.cache.TransactionalCache<org.alfresco.service.cmr.repository.NodeRef,T extends RepositoryEntity> cache -
charactCache
@Autowired @Qualifier("becpgCharactCache") private org.alfresco.repo.cache.TransactionalCache<org.alfresco.service.cmr.repository.NodeRef,T extends RepositoryEntity> charactCache -
policyComponent
@Autowired @Qualifier("policyComponent") private org.alfresco.repo.policy.PolicyComponent policyComponent -
asynchronouslyRefreshedCacheRegistry
@Autowired private org.alfresco.util.cache.AsynchronouslyRefreshedCacheRegistry asynchronouslyRefreshedCacheRegistry
-
-
Constructor Details
-
AlfrescoRepositoryImpl
public AlfrescoRepositoryImpl()
-
-
Method Details
-
init
@PostConstruct public void init()init.
-
onDeleteNode
public void onDeleteNode(org.alfresco.service.cmr.repository.ChildAssociationRef associationRef, boolean arg1) - Specified by:
onDeleteNodein interfaceorg.alfresco.repo.node.NodeServicePolicies.OnDeleteNodePolicy
-
onUpdateProperties
public void onUpdateProperties(org.alfresco.service.cmr.repository.NodeRef nodeRef, Map<org.alfresco.service.namespace.QName, Serializable> before, Map<org.alfresco.service.namespace.QName, Serializable> after) - Specified by:
onUpdatePropertiesin interfaceorg.alfresco.repo.node.NodeServicePolicies.OnUpdatePropertiesPolicy
-
onAddAspect
public void onAddAspect(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName aspectTypeQName) - Specified by:
onAddAspectin interfaceorg.alfresco.repo.node.NodeServicePolicies.OnAddAspectPolicy
-
onRemoveAspect
public void onRemoveAspect(org.alfresco.service.cmr.repository.NodeRef nodeRef, org.alfresco.service.namespace.QName aspectTypeQName) - Specified by:
onRemoveAspectin interfaceorg.alfresco.repo.node.NodeServicePolicies.OnRemoveAspectPolicy
-
onCreateAssociation
public void onCreateAssociation(org.alfresco.service.cmr.repository.AssociationRef nodeAssocRef) - Specified by:
onCreateAssociationin interfaceorg.alfresco.repo.node.NodeServicePolicies.OnCreateAssociationPolicy
-
onDeleteAssociation
public void onDeleteAssociation(org.alfresco.service.cmr.repository.AssociationRef nodeAssocRef) - Specified by:
onDeleteAssociationin interfaceorg.alfresco.repo.node.NodeServicePolicies.OnDeleteAssociationPolicy
-
purgeCache
private void purgeCache(org.alfresco.service.cmr.repository.NodeRef nodeRef) -
create
create.
- Specified by:
createin interfaceAlfrescoRepository<T extends RepositoryEntity>- Parameters:
parentNodeRef- aNodeRefobject.entity- a T object.- Returns:
- a T object.
-
save
Saves a given entity. Use the returned instance for further operations as the save operation might have changed the entity instance completely.- Specified by:
savein interfaceCrudRepository<T extends RepositoryEntity,org.alfresco.service.cmr.repository.NodeRef> - Parameters:
entity- a T object.- Returns:
- the saved entity
-
isDirty
isDirty.
- Specified by:
isDirtyin interfaceAlfrescoRepository<T extends RepositoryEntity>- Parameters:
entity- a T object.- Returns:
- a boolean.
-
normalizedEquals
-
saveAspects
-
extractProperties
-
createCollisionSafeHashCode
-
saveAssociations
-
getOrCreateNodeRef
-
saveDataLists
-
saveDataListViews
-
getOrCreateDataListContainer
getOrCreateDataListContainer.
- Specified by:
getOrCreateDataListContainerin interfaceAlfrescoRepository<T extends RepositoryEntity>- Parameters:
entity- a T object.- Returns:
- a
NodeRefobject.
-
saveDataList
public void saveDataList(org.alfresco.service.cmr.repository.NodeRef listContainerNodeRef, org.alfresco.service.namespace.QName dataListContainerType, List<? extends RepositoryEntity> dataList) saveDataList.
- Specified by:
saveDataListin interfaceAlfrescoRepository<T extends RepositoryEntity>- Parameters:
listContainerNodeRef- aNodeRefobject.dataListContainerType- aQNameobject.dataList- aListobject.
-
saveDataList
public void saveDataList(org.alfresco.service.cmr.repository.NodeRef listContainerNodeRef, org.alfresco.service.namespace.QName dataListContainerType, String dataListName, List<? extends RepositoryEntity> dataList) saveDataList.
- Specified by:
saveDataListin interfaceAlfrescoRepository<T extends RepositoryEntity>- Parameters:
listContainerNodeRef- aNodeRefobject.dataListContainerType- aQNameobject.dataListName- aStringobject.dataList- aListobject.
-
save
Saves all given entities.- Specified by:
savein interfaceCrudRepository<T extends RepositoryEntity,org.alfresco.service.cmr.repository.NodeRef> - Parameters:
entities- aIterableobject.- Returns:
- a
Iterableobject.
-
findOne
Retrives an entity by its primary key.- Specified by:
findOnein interfaceCrudRepository<T extends RepositoryEntity,org.alfresco.service.cmr.repository.NodeRef> - Parameters:
id- a ID object.- Returns:
- the entity with the given primary key or
nullif none found
-
findOne
private T findOne(org.alfresco.service.cmr.repository.NodeRef id, AlfrescoRepositoryImpl.CacheType cacheType, Map<org.alfresco.service.cmr.repository.NodeRef, RepositoryEntity> localCache) -
storeInCache
private void storeInCache(org.alfresco.service.cmr.repository.NodeRef id, T entity, Map<org.alfresco.service.cmr.repository.NodeRef, RepositoryEntity> localCache, AlfrescoRepositoryImpl.CacheType cacheType) -
getFormCache
private T getFormCache(org.alfresco.service.cmr.repository.NodeRef id, Map<org.alfresco.service.cmr.repository.NodeRef, RepositoryEntity> localCache, AlfrescoRepositoryImpl.CacheType cacheType) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException -
loadAspects
-
loadDataListView
private <R> R loadDataListView(T entity, String datalistName, Class<R> returnType) throws InstantiationException, IllegalAccessException, InvocationTargetException, NoSuchMethodException -
createDataList
private List<T> createDataList(T entity, PropertyDescriptor pd, String datalistName, org.alfresco.service.namespace.QName datalistQname) -
loadAssoc
private void loadAssoc(T entity, PropertyDescriptor pd, Method readMethod, Map<org.alfresco.service.cmr.repository.NodeRef, RepositoryEntity> localCache, boolean multiple, boolean isChildAssoc) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException -
loadProperties
private void loadProperties(T entity, PropertyDescriptor pd, Method readMethod, Map<org.alfresco.service.namespace.QName, Serializable> properties, Map<org.alfresco.service.cmr.repository.NodeRef, throws IllegalAccessException, InvocationTargetException, NoSuchMethodExceptionRepositoryEntity> localCache) -
loadDataList
public List<T> loadDataList(org.alfresco.service.cmr.repository.NodeRef entityNodeRef, String datalistName, org.alfresco.service.namespace.QName datalistQname) loadDataList.
- Specified by:
loadDataListin interfaceAlfrescoRepository<T extends RepositoryEntity>- Parameters:
entityNodeRef- aNodeRefobject.datalistName- aStringobjectdatalistQname- aQNameobject.- Returns:
- a
Listobject.
-
loadDataList
public List<T> loadDataList(org.alfresco.service.cmr.repository.NodeRef dataListNodeRef, org.alfresco.service.namespace.QName datalistQname) loadDataList.
- Specified by:
loadDataListin interfaceAlfrescoRepository<T extends RepositoryEntity>- Parameters:
dataListNodeRef- aNodeRefobjectdatalistQname- aQNameobject- Returns:
- a
Listobject
-
loadDataList
private List<T> loadDataList(org.alfresco.service.cmr.repository.NodeRef dataListNodeRef, org.alfresco.service.namespace.QName datalistQname, Map<org.alfresco.service.cmr.repository.NodeRef, RepositoryEntity> localCache) -
exists
public boolean exists(org.alfresco.service.cmr.repository.NodeRef id) Returns whether an entity with the given id exists.- Specified by:
existsin interfaceCrudRepository<T extends RepositoryEntity,org.alfresco.service.cmr.repository.NodeRef> - Parameters:
id- a ID object.- Returns:
- true if an entity with the given id exists, alse otherwise
-
findAll
Returns all instances of the type.- Specified by:
findAllin interfaceCrudRepository<T extends RepositoryEntity,org.alfresco.service.cmr.repository.NodeRef> - Returns:
- all entities
-
count
public long count()Returns the number of entities available.- Specified by:
countin interfaceCrudRepository<T extends RepositoryEntity,org.alfresco.service.cmr.repository.NodeRef> - Returns:
- the number of entities
-
delete
public void delete(org.alfresco.service.cmr.repository.NodeRef id) Deletes the entity with the given id.- Specified by:
deletein interfaceCrudRepository<T extends RepositoryEntity,org.alfresco.service.cmr.repository.NodeRef> - Parameters:
id- a ID object.
-
delete
Deletes a given entity.- Specified by:
deletein interfaceCrudRepository<T extends RepositoryEntity,org.alfresco.service.cmr.repository.NodeRef> - Parameters:
entity- a T object.
-
delete
Deletes the given entities.- Specified by:
deletein interfaceCrudRepository<T extends RepositoryEntity,org.alfresco.service.cmr.repository.NodeRef> - Parameters:
entities- aIterableobject.
-
deleteAll
public void deleteAll()Deletes all entities managed by the repository.- Specified by:
deleteAllin interfaceCrudRepository<T extends RepositoryEntity,org.alfresco.service.cmr.repository.NodeRef>
-
hasDataList
public boolean hasDataList(RepositoryEntity entity, org.alfresco.service.namespace.QName datalistContainerQname) hasDataList.
- Specified by:
hasDataListin interfaceAlfrescoRepository<T extends RepositoryEntity>- Parameters:
entity- aRepositoryEntityobject.datalistContainerQname- aQNameobject.- Returns:
- a boolean.
-
hasDataList
public boolean hasDataList(org.alfresco.service.cmr.repository.NodeRef entityNodeRef, org.alfresco.service.namespace.QName datalistContainerQname) hasDataList.
- Specified by:
hasDataListin interfaceAlfrescoRepository<T extends RepositoryEntity>- Parameters:
entityNodeRef- aNodeRefobject.datalistContainerQname- aQNameobject.- Returns:
- a boolean.
-
hasDataList
public boolean hasDataList(org.alfresco.service.cmr.repository.NodeRef entityNodeRef, String datalistName) hasDataList.
- Specified by:
hasDataListin interfaceAlfrescoRepository<T extends RepositoryEntity>- Parameters:
entityNodeRef- aNodeRefobject.datalistName- aStringobject.- Returns:
- a boolean.
-
isRegisteredType
public boolean isRegisteredType(org.alfresco.service.namespace.QName type) isRegisteredType.
- Specified by:
isRegisteredTypein interfaceAlfrescoRepository<T extends RepositoryEntity>- Parameters:
type- aQNameobject.- Returns:
- a boolean.
-
getList
getList.
- Specified by:
getListin interfaceAlfrescoRepository<T extends RepositoryEntity>- Type Parameters:
R- a R object.- Parameters:
entity- aRepositoryEntityobject.clazz- aClassobject.- Returns:
- a
Listobject.
-
getList
public <R extends RepositoryEntity> List<R> getList(RepositoryEntity entity, org.alfresco.service.namespace.QName datalistContainerQname, org.alfresco.service.namespace.QName datalistQname) getList.
- Specified by:
getListin interfaceAlfrescoRepository<T extends RepositoryEntity>- Type Parameters:
R- a R object.- Parameters:
entity- aRepositoryEntityobject.datalistContainerQname- aQNameobject.datalistQname- aQNameobject.- Returns:
- a
Listobject.
-
removeProperties
private void removeProperties(org.alfresco.service.cmr.repository.NodeRef nodeRef, Set<org.alfresco.service.namespace.QName> qnames) -
onRefreshableCacheEvent
public void onRefreshableCacheEvent(org.alfresco.util.cache.RefreshableCacheEvent refreshableCacheEvent) - Specified by:
onRefreshableCacheEventin interfaceorg.alfresco.util.cache.RefreshableCacheListener
-
getCacheId
- Specified by:
getCacheIdin interfaceorg.alfresco.util.cache.RefreshableCacheListener
-
afterPropertiesSet
- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean- Throws:
Exception
-
clearCaches
clearCaches.
- Specified by:
clearCachesin interfaceAlfrescoRepository<T extends RepositoryEntity>- Parameters:
id- aStringobject
-