Skip to content

Commit

Permalink
fix:add custom class for thumb import
Browse files Browse the repository at this point in the history
  • Loading branch information
torsten-simon committed Dec 2, 2024
1 parent 6f7c848 commit 8f0ef84
Showing 1 changed file with 51 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package org.edu_sharing.repository.server.jobs.helper;

import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.StoreRef;
import org.apache.log4j.Logger;
import org.edu_sharing.repository.client.tools.CCConstants;
import org.edu_sharing.repository.server.jobs.quartz.BulkEditNodesJob;
import org.edu_sharing.repository.server.tools.HttpQueryTool;
import org.edu_sharing.service.nodeservice.NodeServiceFactory;
import org.edu_sharing.service.nodeservice.NodeServiceHelper;

import java.io.InputStream;
import java.util.function.Consumer;

/**
* to be used with @BulkEditNodesJob
*/
public class NodeCustomClasses {
public static class ImportExternalThumbnail implements Consumer<NodeRef> {
@Override
public void accept(NodeRef nodeRef) {
String thumbUrl = NodeServiceHelper.getProperty(nodeRef, CCConstants.CCM_PROP_IO_THUMBNAILURL);
if (thumbUrl == null) {
Logger.getLogger(BulkEditNodesJob.class).info(nodeRef + " has no " + CCConstants.CCM_PROP_IO_THUMBNAILURL + ", skipping...");
return;
}
try {
HttpQueryTool.Callback<Throwable> callback = new HttpQueryTool.Callback<Throwable>() {
@Override
public void handle(InputStream is) {
try {
NodeServiceFactory.getLocalService().writeContent(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, nodeRef.getId(), is,
"image/jpeg", null, CCConstants.CCM_PROP_IO_USERDEFINED_PREVIEW);
} catch (Exception e) {
Logger.getLogger(BulkEditNodesJob.class).warn("Thumb fetching failed for " + nodeRef + " " + thumbUrl);
}
}
};
new HttpQueryTool().queryStream(thumbUrl, callback);
if (callback.getResult() != null) {
Logger.getLogger(BulkEditNodesJob.class).warn("Thumb fetching failed for " + nodeRef + " " + thumbUrl + ": " + callback.getResult());
} else {
NodeServiceHelper.removeProperty(nodeRef, CCConstants.CCM_PROP_IO_THUMBNAILURL);
Logger.getLogger(BulkEditNodesJob.class).info(nodeRef + " thumb imported: " + thumbUrl);
}
} catch (Throwable t) {
Logger.getLogger(BulkEditNodesJob.class).warn("Thumb fetching failed for " + nodeRef + " " + thumbUrl);
}
}
}
}

0 comments on commit 8f0ef84

Please sign in to comment.