1   /**
2    * Copyright (c) 2000-2010 Liferay, Inc. All rights reserved.
3    *
4    * This library is free software; you can redistribute it and/or modify it under
5    * the terms of the GNU Lesser General Public License as published by the Free
6    * Software Foundation; either version 2.1 of the License, or (at your option)
7    * any later version.
8    *
9    * This library is distributed in the hope that it will be useful, but WITHOUT
10   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11   * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12   * details.
13   */
14  
15  package com.liferay.portlet.journal.model;
16  
17  import com.liferay.portal.model.BaseModelListener;
18  import com.liferay.portal.servlet.filters.cache.CacheUtil;
19  import com.liferay.portal.velocity.LiferayResourceCacheUtil;
20  import com.liferay.portlet.journalcontent.util.JournalContentUtil;
21  
22  /**
23   * <a href="JournalTemplateListener.java.html"><b><i>View Source</i></b></a>
24   *
25   * @author Brian Wing Shun Chan
26   * @author Jon Steer
27   * @author Raymond Augé
28   */
29  public class JournalTemplateListener
30      extends BaseModelListener<JournalTemplate> {
31  
32      public void onAfterRemove(JournalTemplate template) {
33          clearCache(template);
34      }
35  
36      public void onAfterUpdate(JournalTemplate template) {
37          clearCache(template);
38      }
39  
40      protected void clearCache(JournalTemplate template) {
41  
42          // Journal content
43  
44          JournalContentUtil.clearCache();
45  
46          // Layout cache
47  
48          CacheUtil.clearCache(template.getCompanyId());
49  
50          // Velocity cache
51  
52          LiferayResourceCacheUtil.remove(
53              template.getCompanyId() + template.getGroupId() +
54                  template.getTemplateId());
55      }
56  
57  }