001
014
015 package com.liferay.portal.model;
016
017 import com.liferay.portal.service.LayoutLocalServiceUtil;
018 import com.liferay.portal.servlet.filters.cache.CacheUtil;
019
020
024 public class PortletPreferencesListener
025 extends BaseModelListener<PortletPreferences> {
026
027 public void onAfterRemove(PortletPreferences portletPreferences) {
028 clearCache(portletPreferences);
029 }
030
031 public void onAfterUpdate(PortletPreferences portletPreferences) {
032 clearCache(portletPreferences);
033 }
034
035 protected void clearCache(PortletPreferences portletPreferences) {
036 try {
037 Layout layout = LayoutLocalServiceUtil.getLayout(
038 portletPreferences.getPlid());
039
040 if (!layout.isPrivateLayout()) {
041 CacheUtil.clearCache(layout.getCompanyId());
042 }
043 }
044 catch (Exception e) {
045 CacheUtil.clearCache();
046 }
047 }
048
049 }