001
014
015 package com.liferay.portlet.journal.model;
016
017 import com.liferay.portal.ModelListenerException;
018 import com.liferay.portal.kernel.template.TemplateManager;
019 import com.liferay.portal.kernel.template.TemplateResourceLoaderUtil;
020 import com.liferay.portal.model.BaseModelListener;
021 import com.liferay.portal.servlet.filters.cache.CacheUtil;
022 import com.liferay.portlet.journalcontent.util.JournalContentUtil;
023
024
030 public class JournalTemplateListener
031 extends BaseModelListener<JournalTemplate> {
032
033 @Override
034 public void onAfterRemove(JournalTemplate template)
035 throws ModelListenerException {
036
037 try {
038 clearCache(template);
039 }
040 catch (Exception e) {
041 throw new ModelListenerException(e);
042 }
043 }
044
045 @Override
046 public void onAfterUpdate(JournalTemplate template)
047 throws ModelListenerException {
048
049 try {
050 clearCache(template);
051 }
052 catch (Exception e) {
053 throw new ModelListenerException(e);
054 }
055 }
056
057 protected void clearCache(JournalTemplate template) throws Exception {
058
059
060
061 String freeMarkerTemplateId =
062 template.getCompanyId() + template.getGroupId() +
063 template.getTemplateId();
064
065 TemplateResourceLoaderUtil.clearCache(
066 TemplateManager.FREEMARKER, freeMarkerTemplateId);
067
068
069
070 JournalContentUtil.clearCache();
071
072
073
074 CacheUtil.clearCache(template.getCompanyId());
075
076
077
078 TemplateResourceLoaderUtil.clearCache(
079 TemplateManager.VELOCITY, freeMarkerTemplateId);
080 }
081
082 }