001
014
015 package com.liferay.portlet.journal.model;
016
017 import com.liferay.portal.kernel.freemarker.FreeMarkerEngineUtil;
018 import com.liferay.portal.kernel.velocity.VelocityEngineUtil;
019 import com.liferay.portal.model.BaseModelListener;
020 import com.liferay.portal.servlet.filters.cache.CacheUtil;
021 import com.liferay.portal.velocity.LiferayResourceCacheUtil;
022 import com.liferay.portlet.journalcontent.util.JournalContentUtil;
023
024 import org.apache.velocity.runtime.resource.ResourceManager;
025
026
032 public class JournalTemplateListener
033 extends BaseModelListener<JournalTemplate> {
034
035 @Override
036 public void onAfterRemove(JournalTemplate template) {
037 clearCache(template);
038 }
039
040 @Override
041 public void onAfterUpdate(JournalTemplate template) {
042 clearCache(template);
043 }
044
045 protected void clearCache(JournalTemplate template) {
046
047
048
049 String freeMarkerTemplateId =
050 template.getCompanyId() + template.getGroupId() +
051 template.getTemplateId();
052
053 FreeMarkerEngineUtil.flushTemplate(freeMarkerTemplateId);
054
055
056
057 JournalContentUtil.clearCache();
058
059
060
061 CacheUtil.clearCache(template.getCompanyId());
062
063
064
065 LiferayResourceCacheUtil.remove(
066 _RESOURCE_TEMPLATE_NAME_SPACE.concat(freeMarkerTemplateId));
067
068
069
070 VelocityEngineUtil.flushTemplate(freeMarkerTemplateId);
071 }
072
073 private static final String _RESOURCE_TEMPLATE_NAME_SPACE = String.valueOf(
074 ResourceManager.RESOURCE_TEMPLATE);
075
076 }