Done at revision 1846298. Thanks! -- Rishi Solanki Sr Manager, Enterprise Software Development HotWax Systems Pvt. Ltd. Direct: +91-9893287847 http://www.hotwaxsystems.com www.hotwax.co
On Sat, Nov 10, 2018 at 2:15 PM Rishi Solanki <rishisolan...@gmail.com> wrote: > Thanks Aditya for review and feedback. Will take care of it soon. > > -- > Rishi Solanki > Sr Manager, Enterprise Software Development > HotWax Systems Pvt. Ltd. > Direct: +91-9893287847 > http://www.hotwaxsystems.com > www.hotwax.co > > > On Sat, Nov 10, 2018 at 10:24 AM Aditya Sharma < > aditya.sha...@hotwaxsystems.com> wrote: > >> Hi Rishi, >> >> I think you missed the import with a wildcard in UtilCacheEvents.java. >> >> >+import java.util.*; >> >> Though I think it may have been slipped in due to IDE. Using the wildcard >> may clutter local namespace with all the classes of util package. >> >> Thanks and Regards, >> >> *Aditya Sharma* | Enterprise Software Engineer >> HotWax Commerce <http://www.hotwax.co/> by HotWax Systems >> <http://www.hotwaxsystems.com/> >> [image: https://www.linkedin.com/in/aditya-p-sharma/] >> <https://www.linkedin.com/in/aditya-p-sharma/> >> >> >> On Fri, Nov 2, 2018 at 4:48 PM <ri...@apache.org> wrote: >> >> > Author: rishi >> > Date: Fri Nov 2 11:18:52 2018 >> > New Revision: 1845572 >> > >> > URL: http://svn.apache.org/viewvc?rev=1845572&view=rev >> > Log: >> > Improved: Introduce ability to clear specific cache from cache >> > maintenance. After this user can bulk select the caches and clear them. >> > Single clear and all clear caches works as is. >> > (OFBIZ-10402) >> > Thanks to Yogesh Naroliya for providing the patch and Suraj Khurana for >> > reporting the ticket. >> > >> > Modified: >> > >> > >> ofbiz/ofbiz-framework/trunk/framework/webtools/config/WebtoolsUiLabels.xml >> > >> > >> ofbiz/ofbiz-framework/trunk/framework/webtools/src/main/java/org/apache/ofbiz/webtools/UtilCacheEvents.java >> > >> > >> ofbiz/ofbiz-framework/trunk/framework/webtools/webapp/webtools/WEB-INF/controller.xml >> > ofbiz/ofbiz-framework/trunk/framework/webtools/widget/CacheForms.xml >> > >> ofbiz/ofbiz-framework/trunk/framework/webtools/widget/CacheScreens.xml >> > ofbiz/ofbiz-framework/trunk/framework/webtools/widget/Menus.xml >> > >> > Modified: >> > >> ofbiz/ofbiz-framework/trunk/framework/webtools/config/WebtoolsUiLabels.xml >> > URL: >> > >> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/webtools/config/WebtoolsUiLabels.xml?rev=1845572&r1=1845571&r2=1845572&view=diff >> > >> > >> ============================================================================== >> > --- >> > >> ofbiz/ofbiz-framework/trunk/framework/webtools/config/WebtoolsUiLabels.xml >> > (original) >> > +++ >> > >> ofbiz/ofbiz-framework/trunk/framework/webtools/config/WebtoolsUiLabels.xml >> > Fri Nov 2 11:18:52 2018 >> > @@ -1150,6 +1150,9 @@ >> > <value xml:lang="zh">清除这个缓å˜</value> >> > <value xml:lang="zh-TW">æ¸…é™¤é€™å€‹å¿«å –</value> >> > </property> >> > + <property key="WebtoolsClearSelectedCaches"> >> > + <value xml:lang="en">Clear Selected Caches</value> >> > + </property> >> > <property key="WebtoolsCompanyName"> >> > <value xml:lang="de">OFBiz: Web Tools</value> >> > <value xml:lang="en">OFBiz: Web Tools</value> >> > >> > Modified: >> > >> ofbiz/ofbiz-framework/trunk/framework/webtools/src/main/java/org/apache/ofbiz/webtools/UtilCacheEvents.java >> > URL: >> > >> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/webtools/src/main/java/org/apache/ofbiz/webtools/UtilCacheEvents.java?rev=1845572&r1=1845571&r2=1845572&view=diff >> > >> > >> ============================================================================== >> > --- >> > >> ofbiz/ofbiz-framework/trunk/framework/webtools/src/main/java/org/apache/ofbiz/webtools/UtilCacheEvents.java >> > (original) >> > +++ >> > >> ofbiz/ofbiz-framework/trunk/framework/webtools/src/main/java/org/apache/ofbiz/webtools/UtilCacheEvents.java >> > Fri Nov 2 11:18:52 2018 >> > @@ -17,10 +17,7 @@ >> > * under the License. >> > >> > >> *******************************************************************************/ >> > package org.apache.ofbiz.webtools; >> > - >> > -import java.util.Iterator; >> > -import java.util.Locale; >> > - >> > +import java.util.*; >> > import javax.servlet.http.HttpServletRequest; >> > import javax.servlet.http.HttpServletResponse; >> > >> > @@ -170,6 +167,56 @@ public final class UtilCacheEvents { >> > request.setAttribute("_EVENT_MESSAGE_", errMsg + " (" + >> > UtilDateTime.nowDateString("yyyy-MM-dd HH:mm:ss") + ")."); >> > return "success"; >> > } >> > + >> > + /** An HTTP WebEvent handler that clears the selected caches >> > + * @param request The HTTP request object for the current JSP or >> > Servlet request. >> > + * @param response The HTTP response object for the current JSP or >> > Servlet request. >> > + * @return return an HTTP WebEvent handler that clears all caches >> > + */ >> > + public static String clearSelectedCachesEvent(HttpServletRequest >> > request, HttpServletResponse response) { >> > + >> > + String errMsg = ""; >> > + Locale locale = UtilHttp.getLocale(request); >> > + >> > + Security security = (Security) >> request.getAttribute("security"); >> > + if (!security.hasPermission("UTIL_CACHE_EDIT", >> > request.getSession())) { >> > + errMsg = UtilProperties.getMessage(err_resource, >> > "utilCacheEvents.permissionEdit", locale) + "."; >> > + request.setAttribute("_ERROR_MESSAGE_", errMsg); >> > + return "error"; >> > + } >> > + >> > + Map<String, Object> ctx = UtilHttp.getParameterMap(request); >> > + boolean isSelected; >> > + List<String> eventList = new LinkedList<>(); >> > + int rowCount = UtilHttp.getMultiFormRowCount(ctx); >> > + for (int i = 0; i < rowCount; i++) { >> > + String suffix = UtilHttp.getMultiRowDelimiter() + i; >> > + isSelected = (ctx.containsKey("_rowSubmit" + suffix) && >> > "Y".equalsIgnoreCase((String)ctx.get("_rowSubmit" + suffix))); >> > + if (!isSelected) { >> > + continue; >> > + } >> > + >> > + String name = request.getParameter("cacheName"+suffix); >> > + >> > + if (name == null) { >> > + errMsg = UtilProperties.getMessage(err_resource, >> > "utilCache.couldNotClearCache", locale) + "."; >> > + eventList.add(errMsg); >> > + } >> > + >> > + UtilCache<?, ?> utilCache = UtilCache.findCache(name); >> > + >> > + if (utilCache != null) { >> > + utilCache.clear(); >> > + errMsg = UtilProperties.getMessage(err_resource, >> > "utilCache.clearCache", UtilMisc.toMap("name", name), locale) + "."; >> > + eventList.add(errMsg); >> > + } else { >> > + errMsg = UtilProperties.getMessage(err_resource, >> > "utilCache.couldNotClearCacheNotFoundName", UtilMisc.toMap("name", >> name), >> > locale) + "."; >> > + eventList.add(errMsg); >> > + } >> > + } >> > + request.setAttribute("_EVENT_MESSAGE_LIST_", eventList); >> > + return "success"; >> > + } >> > >> > /** An HTTP WebEvent handler that updates the named cache >> > * @param request The HTTP request object for the current JSP or >> > Servlet request. >> > >> > Modified: >> > >> ofbiz/ofbiz-framework/trunk/framework/webtools/webapp/webtools/WEB-INF/controller.xml >> > URL: >> > >> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/webtools/webapp/webtools/WEB-INF/controller.xml?rev=1845572&r1=1845571&r2=1845572&view=diff >> > >> > >> ============================================================================== >> > --- >> > >> ofbiz/ofbiz-framework/trunk/framework/webtools/webapp/webtools/WEB-INF/controller.xml >> > (original) >> > +++ >> > >> ofbiz/ofbiz-framework/trunk/framework/webtools/webapp/webtools/WEB-INF/controller.xml >> > Fri Nov 2 11:18:52 2018 >> > @@ -179,6 +179,12 @@ under the License. >> > <response name="success" type="view" value="FindUtilCache"/> >> > <response name="error" type="view" value="FindUtilCache"/> >> > </request-map> >> > + <request-map uri="ClearSelectedCaches"> >> > + <security https="true" auth="true"/> >> > + <event type="java" >> > path="org.apache.ofbiz.webtools.UtilCacheEvents" >> > invoke="clearSelectedCachesEvent"/> >> > + <response name="success" type="view" value="FindUtilCache"/> >> > + <response name="error" type="view" value="FindUtilCache"/> >> > + </request-map> >> > <request-map uri="ForceGarbageCollection"> >> > <security https="true" auth="true"/> >> > <event type="service" invoke="forceGarbageCollection"/> >> > >> > Modified: >> > ofbiz/ofbiz-framework/trunk/framework/webtools/widget/CacheForms.xml >> > URL: >> > >> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/webtools/widget/CacheForms.xml?rev=1845572&r1=1845571&r2=1845572&view=diff >> > >> > >> ============================================================================== >> > --- ofbiz/ofbiz-framework/trunk/framework/webtools/widget/CacheForms.xml >> > (original) >> > +++ ofbiz/ofbiz-framework/trunk/framework/webtools/widget/CacheForms.xml >> > Fri Nov 2 11:18:52 2018 >> > @@ -28,7 +28,10 @@ under the License. >> > <field name="usedMemory" >> > title="${uiLabelMap.WebtoolsUsedMemory}"><display/></field> >> > <field name="totalCacheMemory" >> > title="${uiLabelMap.WebtoolsCacheMemory}"><display/></field> >> > </form> >> > - <grid name="ListCache" list-name="cacheList" >> > paginate-target="FindUtilCache" separate-columns="true" >> > odd-row-style="alternate-row" default-table-style="basic-table >> hover-bar" >> > header-row-style="header-row-2"> >> > + >> > + <form name="ListCache" type="multi" title="" list-name="cacheList" >> > target="ClearSelectedCaches" paginate-target="FindUtilCache" >> > + odd-row-style="alternate-row" >> default-table-style="basic-table >> > hover-bar" > >> > + <field name="_rowSubmit" use-when="hasUtilCacheEdit" >> > title="${uiLabelMap.CommonSelectAll}"><check/></field> >> > <field name="cacheName" title="${uiLabelMap.WebtoolsCacheName}" >> > sort-field="true"><display/></field> >> > <field name="cacheSize" title="${uiLabelMap.WebtoolsSize}" >> > sort-field="true"><display/></field> >> > <field name="hitCount" title="${uiLabelMap.WebtoolsHits}" >> > sort-field="true"><display/></field> >> > @@ -38,8 +41,22 @@ under the License. >> > <field name="expireTime" >> title="${uiLabelMap.WebtoolsExpireTime}" >> > sort-field="true"><display/></field> >> > <field name="useSoftReference" >> > title="${uiLabelMap.WebtoolsUseSoftRef}" >> > sort-field="true"><display/></field> >> > <field name="cacheMemory" >> > title="${uiLabelMap.WebtoolsCacheMemory}" >> > sort-field="true"><display/></field> >> > - <field name="cacheMenu" title=" " >> > use-when="hasUtilCacheEdit"><include-menu name="ListCacheForm" >> > location="component://webtools/widget/Menus.xml"/></field> >> > - </grid> >> > + <field name="findUtilCacheElements" title=" " >> > use-when="hasUtilCacheEdit" widget-style="buttontext"> >> > + <hyperlink description="${uiLabelMap.WebtoolsElements}" >> > target="FindUtilCacheElements" > >> > + <parameter param-name="UTIL_CACHE_NAME" >> > from-field="cacheName"/> >> > + </hyperlink> >> > + </field> >> > + <field name="EditUtilCache" title=" " >> use-when="hasUtilCacheEdit" >> > widget-style="buttontext" > >> > + <hyperlink description="${uiLabelMap.CommonEdit}" >> > target="EditUtilCache" > >> > + <parameter param-name="UTIL_CACHE_NAME" >> > from-field="cacheName"/> >> > + </hyperlink> >> > + </field> >> > + <field name="FindUtilCacheClear" title=" " >> > use-when="hasUtilCacheEdit" widget-style="buttontext"> >> > + <hyperlink description="${uiLabelMap.CommonClear}" >> > target="FindUtilCacheClear" > >> > + <parameter param-name="UTIL_CACHE_NAME" >> > from-field="cacheName"/> >> > + </hyperlink> >> > + </field> >> > + </form> >> > >> > <grid name="ListCacheElements" list-name="cacheElementsList" >> > paginate-target="FindUtilCacheElements" separate-columns="true" >> > odd-row-style="alternate-row" default-table-style="basic-table >> hover-bar" >> > header-row-style="header-row-2"> >> > <field name="elementKey" >> > title="${uiLabelMap.WebtoolsCacheElementKey}" >> > sort-field="true"><display/></field> >> > >> > Modified: >> > ofbiz/ofbiz-framework/trunk/framework/webtools/widget/CacheScreens.xml >> > URL: >> > >> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/webtools/widget/CacheScreens.xml?rev=1845572&r1=1845571&r2=1845572&view=diff >> > >> > >> ============================================================================== >> > --- >> ofbiz/ofbiz-framework/trunk/framework/webtools/widget/CacheScreens.xml >> > (original) >> > +++ >> ofbiz/ofbiz-framework/trunk/framework/webtools/widget/CacheScreens.xml >> > Fri Nov 2 11:18:52 2018 >> > @@ -41,7 +41,7 @@ under the License. >> > </screenlet> >> > <screenlet> >> > <include-menu name="FindCache" >> > location="component://webtools/widget/Menus.xml"/> >> > - <include-grid name="ListCache" >> > location="component://webtools/widget/CacheForms.xml"/> >> > + <include-form name="ListCache" >> > location="component://webtools/widget/CacheForms.xml"/> >> > <include-menu name="FindCache" >> > location="component://webtools/widget/Menus.xml"/> >> > </screenlet> >> > </widgets> >> > >> > Modified: >> ofbiz/ofbiz-framework/trunk/framework/webtools/widget/Menus.xml >> > URL: >> > >> http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/webtools/widget/Menus.xml?rev=1845572&r1=1845571&r2=1845572&view=diff >> > >> > >> ============================================================================== >> > --- ofbiz/ofbiz-framework/trunk/framework/webtools/widget/Menus.xml >> > (original) >> > +++ ofbiz/ofbiz-framework/trunk/framework/webtools/widget/Menus.xml Fri >> > Nov 2 11:18:52 2018 >> > @@ -144,23 +144,6 @@ under the License. >> > <link target="FindUtilCache"/> >> > </menu-item> >> > </menu> >> > - <menu name="ListCacheForm" extends="CommonInlineBarMenu" >> > extends-resource="component://common/widget/CommonMenus.xml"> >> > - <menu-item name="findUtilCacheElements" >> > title="${uiLabelMap.WebtoolsElements}"> >> > - <link target="FindUtilCacheElements"> >> > - <parameter param-name="UTIL_CACHE_NAME" >> > from-field="cacheName"/> >> > - </link> >> > - </menu-item> >> > - <menu-item name="EditUtilCache" >> title="${uiLabelMap.CommonEdit}"> >> > - <link target="EditUtilCache"> >> > - <parameter param-name="UTIL_CACHE_NAME" >> > from-field="cacheName"/> >> > - </link> >> > - </menu-item> >> > - <menu-item name="FindUtilCacheClear" >> > title="${uiLabelMap.CommonClear}"> >> > - <link target="FindUtilCacheClear" link-type="hidden-form"> >> > - <parameter param-name="UTIL_CACHE_NAME" >> > from-field="cacheName"/> >> > - </link> >> > - </menu-item> >> > - </menu> >> > >> > <menu name="ArtifactTabBar" extends="CommonTabBarMenu" >> > extends-resource="component://common/widget/CommonMenus.xml" >> > selected-menuitem-context-field-name="tabButtonItem"> >> > @@ -287,6 +270,9 @@ under the License. >> > <menu-item name="forceGarbageCollection" >> > title="${uiLabelMap.WebtoolsRunGC}"> >> > <link target="ForceGarbageCollection"/> >> > </menu-item> >> > + <menu-item name="clearSelectedCaches" >> > title="${uiLabelMap.WebtoolsClearSelectedCaches}"> >> > + <link target="javascript: document.ListCache.submit()" >> > url-mode="plain"/> >> > + </menu-item> >> > </menu> >> > >> > <menu name="CacheElements" extends="CommonButtonBarMenu" >> > extends-resource="component://common/widget/CommonMenus.xml"> >> > >> > >> > >> >