Note that there are some explanatory texts on larger screens.

plurals
  1. POJSF2 Richfaces 4.3.1, walk method is called many time while using ExtendedDataModel and Arrangeable
    text
    copied!<p>I am trying to load a datatable with pagination and sorting. Using the ExtendedDataModel and Arrangeable to achieve this and it is working fine. Then I added the Phase Listener to check the behavior and noticed that that <br/> <br/>1. Pagination is working fine with only one DB Hit. <br/>2. But while Sorting DB Hit happens twice, First at Phase 2 and Second at Phase 6.</p> <p>Also note that if I am not having immediate="true" then the DB HIT Happens 4 times each in Phase 2, 3, 4 and 6.</p> <p>Am not sure why this is happening. Can you please help on this. </p> <h3>xhtml snippet</h3> <p><code></p> <pre><code> &lt;rich:column sortBy="#{item.busName}" sortOrder="#{sortBean.order}"&gt; &lt;f:facet name="header"&gt; &lt;a4j:commandLink value="BUSINESS NAME" action="#{sortBean.sortByBus}" immediate="true" render="riskData" /&gt; &lt;/f:facet&gt; &lt;h:outputText value="#{item.busName}"&gt; &lt;/h:outputText&gt; &lt;/rich:column&gt; &lt;rich:column sortBy="#{item.regionName}" sortOrder="#{sortBean.orderRegion}"&gt; &lt;f:facet name="header"&gt; &lt;a4j:commandLink value="REGION NAME" action="#{sortBean.sortByRegion}" immediate="true" render="riskData" /&gt; &lt;/f:facet&gt; &lt;h:outputText value="#{item.regionName}"&gt; &lt;/h:outputText&gt; &lt;/rich:column&gt; </code></pre> <p></code></p> <h3>----------PHASE LISTENER LOGS WITH SYSOUTS----------</h3> <h3>Page Inital View with Unsorted Value having only one DB HIT to fetch the data ###<br/></h3> <p>START PHASE RESTORE_VIEW 1<br/> END PHASE RESTORE_VIEW 1<br/> START PHASE RENDER_RESPONSE 6<br/> Get Sort -> Order business -> unsorted<br/> Get Sort -> Order region -> unsorted<br/> Get Sort -> Order PolicyDt -> unsorted<br/> Arrange Not Available<br/> Total Count DB HIT<br/> Data Creation<br/> Get Sort -> Order business -> unsorted<br/> Get Sort -> Order region -> unsorted<br/> Get Sort -> Order PolicyDt -> unsorted<br/> Arrange Not Available<br/> Walk -> Start<br/> <b>DB HIT</b><br/> First -> 0Last -> 3<br/> Before Sort -> [com.entity.BusItem@514cef, com.entity.BusItem@1921eac, com.entity.BusItem@1bcdc8]<br/> Before SortList<br/> After Sort -> [com.entity.BusItem@514cef, com.entity.BusItem@1921eac, com.entity.BusItem@1bcdc8]<br/> Walk -> End<br/> END PHASE RENDER_RESPONSE 6<br/> <br/><br/></p> <h3>BusinessName Unsorted Ascending Sort having two DB HIT -> 1st in Phase2 and 2nd in Phase 6 ###<br/></h3> <p>START PHASE RESTORE_VIEW 1<br/> END PHASE RESTORE_VIEW 1<br/> START PHASE APPLY_REQUEST_VALUES 2<br/> Get Sort -> Order business -> unsorted<br/> Get Sort -> Order region -> unsorted<br/> Get Sort -> Order PolicyDt -> unsorted<br/> Arrange Not Available<br/> Walk -> Start<br/> <b>DB HIT</b><br/> First -> 0Last -> 3<br/> Before Sort -> [com.entity.BusItem@514cef, com.entity.BusItem@1921eac, com.entity.BusItem@1bcdc8]<br/> Before SortList<br/> After Sort -> [com.entity.BusItem@514cef, com.entity.BusItem@1921eac, com.entity.BusItem@1bcdc8]<br/> Walk -> End<br/> Sort Business -> Toggle -> Descending to Ascending<br/> Set Sort -> Order business -> ascending<br/> Set Sort -> Order PolicyDt -> unsorted<br/> Set Sort -> Order region -> unsorted<br/> END PHASE APPLY_REQUEST_VALUES 2<br/> START PHASE RENDER_RESPONSE 6<br/> Get Sort -> Order business -> ascending<br/> Get Sort -> Order region -> unsorted<br/> Get Sort -> Order PolicyDt -> unsorted<br/> Arrange Available<br/> /test.xhtml @53,74 sortBy="#{item.busName}"ascending<br/> Get Sort -> Order business -> ascending<br/> Get Sort -> Order region -> unsorted<br/> Get Sort -> Order PolicyDt -> unsorted<br/> Arrange Available<br/> /test.xhtml @53,74 sortBy="#{item.busName}"ascending<br/> Walk -> Start<br/> <b>DB HIT</b><br/> First -> 0Last -> 3<br/> Before Sort -> [com.entity.BusItem@514cef, com.entity.BusItem@1921eac, com.entity.BusItem@1bcdc8]<br/> Before SortList<br/> After Sort -> [com.entity.BusItem@1921eac, com.entity.BusItem@1bcdc8, com.entity.BusItem@514cef]<br/> Walk -> End<br/> END PHASE RENDER_RESPONSE 6<br/><br/></p> <h3>BusinessName Ascending to Descending Sort -> having two DB HIT 1st in Phase2 and 2nd in Phase 6 ###<br/></h3> <p>START PHASE RESTORE_VIEW 1<br/> END PHASE RESTORE_VIEW 1<br/> START PHASE APPLY_REQUEST_VALUES 2<br/> Get Sort -> Order business -> ascending<br/> Get Sort -> Order region -> unsorted<br/> Get Sort -> Order PolicyDt -> unsorted<br/> Arrange Available<br/> /test.xhtml @53,74 sortBy="#{item.busName}"ascending<br/> Walk -> Start<br/> <b>DB HIT</b><br/> First -> 0Last -> 3<br/> Before Sort -> [com.entity.BusItem@1921eac, com.entity.BusItem@1bcdc8, com.entity.BusItem@514cef]<br/> Before SortList<br/> After Sort -> [com.entity.BusItem@1921eac, com.entity.BusItem@1bcdc8, com.entity.BusItem@514cef]<br/> Walk -> End<br/> Sort Business -> Toggle -> Ascending to Descending<br/> Set Sort -> Order business -> descending<br/> Set Sort -> Order PolicyDt -> unsorted<br/> Set Sort -> Order region -> unsorted<br/> END PHASE APPLY_REQUEST_VALUES 2<br/> START PHASE RENDER_RESPONSE 6<br/> Get Sort -> Order business -> descending<br/> Get Sort -> Order region -> unsorted<br/> Get Sort -> Order PolicyDt -> unsorted<br/> Arrange Available<br/> /test.xhtml @53,74 sortBy="#{item.busName}"descending<br/> Get Sort -> Order business -> descending<br/> Get Sort -> Order region -> unsorted<br/> Get Sort -> Order PolicyDt -> unsorted<br/> Arrange Available<br/> /test.xhtml @53,74 sortBy="#{item.busName}"descending<br/> Walk -> Start<br/> <b>DB HIT</b><br/> First -> 0Last -> 3<br/> Before Sort -> [com.entity.BusItem@1921eac, com.entity.BusItem@1bcdc8, com.entity.BusItem@514cef]<br/> Before SortList<br/> After Sort -> [com.entity.BusItem@514cef, com.entity.BusItem@1921eac, com.entity.BusItem@1bcdc8]<br/> Walk -> End<br/> END PHASE RENDER_RESPONSE 6<br/></p> <h3>When Immediate is removed and then business name is sorted having fourDB HIT each in Phase2,3,4 and 6</h3> <p>START PHASE RESTORE_VIEW 1<br/> END PHASE RESTORE_VIEW 1<br/> START PHASE APPLY_REQUEST_VALUES 2<br/> Get Sort -> Order business -> unsorted<br/> Get Sort -> Order region -> unsorted<br/> Get Sort -> Order PolicyDt -> unsorted<br/> Arrange Not Available<br/> Walk -> Start<br/> <b>DB HIT</b><br/> First -> 0Last -> 3<br/> Before Sort -> [com.entity.BusItem@514cef, com.entity.BusItem@1921eac, com.entity.BusItem@1bcdc8]<br/> Before SortList<br/> After Sort -> [com.entity.BusItem@514cef, com.entity.BusItem@1921eac, com.entity.BusItem@1bcdc8]<br/> Walk -> End<br/> END PHASE APPLY_REQUEST_VALUES 2<br/> START PHASE PROCESS_VALIDATIONS 3<br/> Walk -> Start<br/> <b>DB HIT</b><br/> First -> 0Last -> 3<br/> Before Sort -> [com.entity.BusItem@514cef, com.entity.BusItem@1921eac, com.entity.BusItem@1bcdc8]<br/> Before SortList<br/> After Sort -> [com.entity.BusItem@514cef, com.entity.BusItem@1921eac, com.entity.BusItem@1bcdc8]<br/> Walk -> End<br/> END PHASE PROCESS_VALIDATIONS 3<br/> START PHASE UPDATE_MODEL_VALUES 4<br/> Walk -> Start<br/> <b>DB HIT</b><br/> First -> 0Last -> 3<br/> Before Sort -> [com.entity.BusItem@514cef, com.entity.BusItem@1921eac, com.entity.BusItem@1bcdc8]<br/> Before SortList<br/> After Sort -> [com.entity.BusItem@514cef, com.entity.BusItem@1921eac, com.entity.BusItem@1bcdc8]<br/> Walk -> End<br/> END PHASE UPDATE_MODEL_VALUES 4<br/> START PHASE INVOKE_APPLICATION 5<br/> Sort Region-> Toggle -> Descending to Ascending<br/> Set Sort -> Order region -> ascending<br/> Set Sort -> Order business -> unsorted<br/> Set Sort -> Order PolicyDt -> unsorted<br/> END PHASE INVOKE_APPLICATION 5<br/> START PHASE RENDER_RESPONSE 6<br/> Get Sort -> Order business -> unsorted<br/> Get Sort -> Order region -> ascending<br/> Get Sort -> Order PolicyDt -> unsorted<br/> Arrange Available<br/> /footer.xhtml @62,83 sortBy="#{item.regionName}"ascending<br/> Get Sort -> Order business -> unsorted<br/> Get Sort -> Order region -> ascending<br/> Get Sort -> Order PolicyDt -> unsorted<br/> Arrange Available<br/> /footer.xhtml @62,83 sortBy="#{item.regionName}"ascending<br/> Walk -> Start<br/> <b>DB HIT</b><br/> First -> 0Last -> 3<br/> Before Sort -> [com.entity.BusItem@514cef, com.entity.BusItem@1921eac, com.entity.BusItem@1bcdc8]<br/> Before SortList<br/> After Sort -> [com.entity.BusItem@514cef, com.entity.BusItem@1921eac, com.entity.BusItem@1bcdc8]<br/> Walk -> End<br/></p> <h2>END PHASE RENDER_RESPONSE 6<br/></h2>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload