2 Replies Latest reply on Jun 18, 2007 11:08 AM by mvlach

    DataModel refresh

    mvlach

      Hi all,

      I have problem with this scenario.

      I have a list action which load the entities and display it in dataTable. The backing bean looks like this:

      @Name("componentLayoutListAction")
      public class ComponentLayoutListAction {
       @In
       Session ses;
      
       @In(create=true)
       Configuration configuration;
      
       @Logger
       Log log;
      
      
       @DataModel
       List<ComponentLayout> componentLayoutList;
      
       @SuppressWarnings("unchecked")
       @Factory("componentLayoutList")
       public void init() {
      
       componentLayoutList = ses.createCriteria(ComponentLayout.class)
       .add(Restrictions.eq("lang", configuration.getLang())).list();
       log.info("loaded component list....#0", componentLayoutList);
      
       }
      
       public void reset() {
       log.info("reseting....");
       componentLayoutList = null;
       }
      }
      


      From the list I have add action (or update) which add or remove children from the entity listed in previous action.

      After update is browser redirected to the list action (back), but there is problem, that the children count doesn't change. If I click on menu and invoke the list action again the good results are rendered.

      the edit.page.xml
      <page view-id="/admin/actions/componentlayout/edit.xhtml">
       <navigation>
       <rule if-outcome="updated">
       <redirect view-id="/admin/actions/componentlayout/list.xhtml" />
       </rule>
       </navigation>
      </page>
      


      Know somebody where could be a problem ?

      Thanks Mila

        • 1. Re: DataModel refresh
          fernando_jmt

          Have you tried a page action to reset the "componentLayoutList" when the page is load?

          Something like this:

          
          <page view-id="/admin/actions/componentlayout/list.xhtml" action="#{componentLayoutListAction.reset}">
          </page>
          
          


          HTH

          • 2. Re: DataModel refresh
            mvlach

            Solved!!

            The problem was in Update action : i called

            ses.update(componentLayout) but I have to called

            ses.update(cl)


            My fault....

            M.