2016-05-11 10 views
0

Ich muss die Löschfunktion erstellen, um den Inhalt meines benutzerdefinierten Portlets zu löschen.Löschen Sie alle JournalContent-Versionen programmatisch

Ich habe die folgenden Sätze getestet, aber alle von ihnen, löschen Sie die neueste Version des Inhalts, aber der Rest immer noch da.

JournalArticleLocalServiceUtil.deleteArticle(themeDisplay.getCompanyId(), article.getArticleId(), sc); 
JournalArticleLocalServiceUtil.deleteJournalArticle(article); 
JournalArticleLocalServiceUtil.deleteArticle(article); 
JournalArticleLocalServiceUtil.deleteArticle(article, SLASH, sc); 
JournalArticleServiceUtil.deleteArticle(themeDisplay.getCompanyGroupId(), article.getArticleId(), SLASH, sc); 

Gibt es eine Methode in Liferay API alle Versionen zu löschen, oder ich habe über die Version Schleife und löschen Sie sie eins nach dem anderen?

Mit freundlichen Grüßen

Iñigo

+0

Haben Sie versucht, \t 'JournalArticleLocalServiceUtil.deleteArticle ( \t \t \t lange groupId, String articleId, ServiceContext serviceContext) ', basierend auf Methodenkommentaren in der Quelldatei, scheint diese Methode alle mit dem Artikel verbundenen Ressourcen zu löschen. –

+0

Ja Pankajkumar, ich habe es versucht. In der Tat ist das erste Beispiel, das ich gepostet habe, aber lösche die neueste Version nur –

+0

Das erste Beispiel, das Sie gepostet haben, haben den ersten Parameter als CompanyId, aber diese Methode hat groupId. Haben Sie irrtümlich candidateId übergeben? –

Antwort

1

hatte ich das gleiche Problem und löste es mit diesem Code:

List<JournalArticle> versiones=JournalArticleLocalServiceUtil.getArticles(groupId, articleId); 
for (int j = 0; j < versiones.size(); j++) { 
    JournalArticle version=versiones.get(j); 
    JournalArticleLocalServiceUtil.deleteArticle(groupId, version.getArticleId(), version.getVersion(), null,null) 
} 
+0

Ich dachte diese Lösung auch, aber ich vermute, dass es eine Methode in der API gibt, um alle Version zu löschen. –

Verwandte Themen