Skip to content

Instantly share code, notes, and snippets.

@CorneAussems
Created April 26, 2022 16:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save CorneAussems/2836e13b88a0a6ddcf59796dc48d31c6 to your computer and use it in GitHub Desktop.
Save CorneAussems/2836e13b88a0a6ddcf59796dc48d31c6 to your computer and use it in GitHub Desktop.
Liferay 7.0 Regenerate Thumbnails Groovy
import com.liferay.document.library.kernel.service.*
import com.liferay.document.library.kernel.util.*
import com.liferay.portlet.documentlibrary.util.*
import com.liferay.portlet.documentlibrary.lar.*
import com.liferay.portlet.documentlibrary.service.*
import com.liferay.portal.kernel.service.*;
import com.liferay.portlet.documentlibrary.model.*
import com.liferay.portal.kernel.dao.orm.*
final def SCRIPT_ID = "thumbnailed-20210426-PDF"
outputFile = new File("""${System.getProperty("liferay.home")}/logs/out-${SCRIPT_ID}.txt""")
outputFile.getParentFile().mkdirs()
def trace(message) {
out.println(message)
outputFile << "${message}\n"
}
try{
companies = CompanyLocalServiceUtil.getCompanies(QueryUtil.ALL_POS, QueryUtil.ALL_POS)
for(c=0;c<companies.size();c++){
company = companies.get(c)
trace(company)
groups = GroupLocalServiceUtil.getGroups(company.getCompanyId(), -1, true)
for(i=0;i<groups.size();i++){
group = groups.get(i)
groupId = group.getGroupId()
allFiles = DLAppServiceUtil.getGroupFileEntries(groupId, 0, QueryUtil.ALL_POS, QueryUtil.ALL_POS)
// filesCount = DLAppServiceUtil.getGroupFileEntriesCount(groupId, 0)
// trace('groupId='+groupId+' filesCount='+filesCount+' group='+group.name)
for(ii=0;ii<allFiles.size();ii++){
file = allFiles.get(ii)
fileVersion = file.getFileVersion()
latestVersion = file.getFileVersion()
// trace('group='+groupId+' file='+file.getTitle()+' fileVersion='+fileVersion.getTitle()+' version='+fileVersion.getVersion()+' latestVersion='+file.getLatestFileVersion() )
// trace('group='+groupId+' version='+fileVersion.version+' latestVersion='+file.latestFileVersion.version +' file='+file.title )
// 25000 images takes ~2 hours
if(ImageProcessorUtil.isImageSupported(fileVersion) && !ImageProcessorUtil.hasImages(fileVersion) ){
try{
ImageProcessorUtil.generateImages(null,fileVersion);
trace(ii+'/'+allFiles.size()+' Image Thumbnailed: group='+groupId+' file='+file.title )
} catch (e){
trace('ImageProcessorUtil.generateImages Exception='+e +' file='+file.title )
}
}
/**
if(PDFProcessorUtil.isDocumentSupported(fileVersion) && !PDFProcessorUtil.hasImages(fileVersion) ){
try{
PDFProcessorUtil.generateImages(null,fileVersion);
trace(ii+'/'+allFiles.size()+' PDF Thumbnailed: group='+groupId+' file='+file.title )
} catch (e){
trace('PDFProcessorUtil.generateImages Exception='+e +' file='+file.title )
}
}
**/
/**
if(VideoProcessor.isVideoSupported(fileVersion) && !VideoProcessor.hasVideo(fileVersion) ){
try{
VideoProcessor.generateVideo(null,fileVersion);
trace(ii+'/'+allFiles.size()+' Video Thumbnailed: group='+groupId+' file='+file.title )
} catch (e){
trace('VideoProcessor.generateVideo Exception='+e +' file='+file.title )
}
}
**/
}
trace('Processed files:'+ii)
}
}
}catch ( e ){
trace('Exception='+e)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment