001 package org.mycore.services.imaging;
002
003 import org.apache.log4j.Logger;
004 import org.mycore.common.events.MCREvent;
005 import org.mycore.common.events.MCREventHandlerBase;
006 import org.mycore.datamodel.ifs.MCRFile;
007
008 public class MCRImgCacheEventHandler extends MCREventHandlerBase {
009 private static Logger LOGGER = Logger.getLogger(MCRImgCacheEventHandler.class.getName());
010
011 /**
012 * Handles file created events.
013 *
014 * @param evt
015 * the event that occured
016 * @param file
017 * the MCRFile that caused the event
018 */
019 protected void handleFileCreated(MCREvent evt, MCRFile file) {
020 LOGGER.debug("MCRImgCacheEventHandler.handleFileCreated");
021 LOGGER.debug("FileName: " + file.getName());
022 LOGGER.debug("OwnerID: " + file.getOwnerID());
023 MCRImgCacheManager imgCache = MCRImgCacheManager.instance();
024
025 if (!file.getOwnerID().equals(MCRImgCacheManager.CACHE_FOLDER) && !imgCache.existInCache(file)) {
026 LOGGER.debug("MCRImgCacheEventHandler.handleFileCreated - IF");
027 LOGGER.debug("FileName: " + file.getName());
028 LOGGER.debug("OwnerID: " + file.getOwnerID());
029 LOGGER.debug("ID: " + file.getID());
030 try {
031 MCRImgCacheCommands.cacheFile(file.getID());
032 } catch (Exception e) {
033 // TODO Auto-generated catch block
034 e.printStackTrace();
035 }
036 } else {
037 LOGGER.debug("MCRImgCacheEventHandler.handleFileCreated");
038 LOGGER.debug("We don't want to cache files from Image Cache");
039 }
040 }
041
042 /**
043 * Handles file deleted events.
044 *
045 * @param evt
046 * the event that occured
047 * @param file
048 * the MCRFile that caused the event
049 */
050 protected void handleFileDeleted(MCREvent evt, MCRFile file) {
051 MCRImgCacheManager imgCache = MCRImgCacheManager.instance();
052 if (!file.getOwnerID().equals(MCRImgCacheManager.CACHE_FOLDER) && imgCache.existInCache(file)) {
053 try {
054 MCRImgCacheCommands.deleteCachedFile(file.getID());
055 } catch (Exception e) {
056 // TODO Auto-generated catch block
057 e.printStackTrace();
058 }
059 LOGGER.debug("MCRImgCacheEventHandler.handleFileDeleted");
060 LOGGER.debug("Remove File: " + file.getName());
061 } else {
062 LOGGER.debug("MCRImgCacheEventHandler.handleFileCreated");
063 LOGGER.debug("We only delete files from Image Cache");
064 }
065 }
066
067 }