Forums

angle-left Back

RE: Cancellare File dal Repository

Domenico Costa, modified 5 Years ago.

Cancellare File dal Repository

Regular Member Posts: 140 Join Date: 5/22/12 Recent Posts
Ciao a tutti,

ho una problematica, forse semplice o forse difficile.

Ho sviluppato un Hook che dovrebbe cancellare al login dei file da un repository o documentLibrary. Questo repository è configurato tramite CMIS e corrisponde ad Alfresco.

I file che andrebbe a cancellare sono quelli che in precedenza sono stati cancellati in alfresco.

Per la cancellazione utilizzo

DLFileEntryLocalServiceUtil.deleteFileEntry(28573);


Oppure

DLFileEntryLocalServiceUtil.deleteDLFileEntry(28573);


I record vengono cancellati dalle tabelle:

repository
reposittoryentry

dlcontent
dlfileentry
dlfileentrymetadata
dlfileentrytype
dlfileentrys_ddmstructures
dlfileentrys_dlfolder
dlfilerank
dlfileshortcut
dlfileversion
dlfolder
dlsync


Ma comunque mi rotnra un eccezione xke non riesce a trovare nel repository il file con id 28573


L'eccezzione è:

17:11:42,865 WARN  [http-apr-80-exec-107][view_jsp:1487] com.liferay.portlet.documentlibrary.NoSuchFileEntryException: No CMIS file entry with {fileEntryId=28573}
com.liferay.portlet.documentlibrary.NoSuchFileEntryException: No CMIS file entry with {fileEntryId=23701}
    at com.liferay.portal.repository.cmis.CMISRepository.toFileEntryId(CMISRepository.java:2217)
    at com.liferay.portal.repository.cmis.CMISRepository.getDocument(CMISRepository.java:1822)
    at com.liferay.portal.repository.cmis.CMISRepository.getFileEntry(CMISRepository.java:489)
    at com.liferay.portal.kernel.repository.cmis.CMISRepositoryHandler.getFileEntry(CMISRepositoryHandler.java:176)
    at com.liferay.portal.kernel.repository.DefaultLocalRepositoryImpl.getFileEntry(DefaultLocalRepositoryImpl.java:119)
    at com.liferay.portlet.documentlibrary.service.impl.DLAppLocalServiceImpl.getFileEntry(DLAppLocalServiceImpl.java:606)
    at sun.reflect.GeneratedMethodAccessor324.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:122)
    at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:71)
    at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
    at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:57)
    at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
    at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:57)
    at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
    at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:57)
    at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
    at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:57)
    at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:118)
    at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:211)
    at $Proxy180.getFileEntry(Unknown Source)
...
...
....
    at java.lang.Thread.run(Thread.java:662)



Qualcuno ha qualche dritta o suggerimento?
Domenico Costa, modified 5 Years ago.

RE: Cancellare File dal Repository

Regular Member Posts: 140 Join Date: 5/22/12 Recent Posts
Ho utilizzato anche la funzione:

RepositoryEntryLocalServiceUtil.deleteRepositoryEntry(28573)


Dalla tabella repositoryentry viene cancellto il record ma l'eccezzione rimane.

Sapevo che il protocollo CMIS è riflessivo se cancello da Alfresco rivedo le modifiche su Liferay e viceversa.. perché questa eccezzione allora??
marco mancini, modified 5 Years ago.

RE: Cancellare File dal Repository

New Member Posts: 5 Join Date: 9/4/12 Recent Posts
Ciao,

Hai provato ad utilizzate il DLAppServiceUtil

con precisione DLAppServiceUtil.deleteFileEntry(fileEntryId) ?

Hai lo stesso problema?

-Marco
Domenico Costa, modified 5 Years ago.

RE: Cancellare File dal Repository

Regular Member Posts: 140 Join Date: 5/22/12 Recent Posts
Risolto. Grazie ;)