ICEfaces
  1. ICEfaces
  2. ICE-1142

netbeans vwp interactive with database connection

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.5.1
    • Fix Version/s: 1.5.2
    • Component/s: Tool Integrations
    • Labels:
      None
    • Environment:
      Operating System: Windows 2000
      Platform: PC

      Description

      With the latest fix for
      https://www.icesoft.ca:4443/iraptor/show_bug.cgi?id=1100

      The first page shown up with database data pulling from cachedRowSet. It seems
      ok. However, if you use interactive components like paging any option. The
      connection is lost and cachedRowSet is null. We need further investigation ...

        Activity

        Hide
        Frank Ye added a comment -

        Failed at Apply Request Values Phase

        Jan 5, 2007 10:00:48 AM com.sun.faces.lifecycle.ApplyRequestValuesPhase execute
        SEVERE: The cachedRowSet property is null
        javax.faces.FacesException: The cachedRowSet property is null
        at
        com.sun.rave.faces.data.CachedRowSetDataModel.executeIfNecessary(CachedRowSetDataModel.java:365)
        at
        com.sun.rave.faces.data.CachedRowSetDataModel.isRowAvailable(CachedRowSetDataModel.java:133)
        at javax.faces.component.UIData.isRowAvailable(UIData.java:278)
        at javax.faces.component.UIData.setRowIndex(UIData.java:408)
        at javax.faces.component.UIData.iterate(UIData.java:974)
        at javax.faces.component.UIData.processDecodes(UIData.java:757)
        at com.sun.rave.web.ui.component.Form.processDecodes(Form.java:78)
        at
        javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:900)
        at
        javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:900)
        at
        javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:900)
        at
        javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:900)
        at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:326)
        at
        com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:99)
        at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
        at
        com.icesoft.faces.webapp.xmlhttp.BlockingServlet.renderCycle(BlockingServlet.java:441)
        at
        com.icesoft.faces.webapp.xmlhttp.BlockingServlet.receiveUpdates(BlockingServlet.java:429)
        at
        com.icesoft.faces.webapp.xmlhttp.BlockingServlet.service(BlockingServlet.java:267)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

        Show
        Frank Ye added a comment - Failed at Apply Request Values Phase Jan 5, 2007 10:00:48 AM com.sun.faces.lifecycle.ApplyRequestValuesPhase execute SEVERE: The cachedRowSet property is null javax.faces.FacesException: The cachedRowSet property is null at com.sun.rave.faces.data.CachedRowSetDataModel.executeIfNecessary(CachedRowSetDataModel.java:365) at com.sun.rave.faces.data.CachedRowSetDataModel.isRowAvailable(CachedRowSetDataModel.java:133) at javax.faces.component.UIData.isRowAvailable(UIData.java:278) at javax.faces.component.UIData.setRowIndex(UIData.java:408) at javax.faces.component.UIData.iterate(UIData.java:974) at javax.faces.component.UIData.processDecodes(UIData.java:757) at com.sun.rave.web.ui.component.Form.processDecodes(Form.java:78) at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:900) at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:900) at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:900) at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:900) at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:326) at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:99) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110) at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.renderCycle(BlockingServlet.java:441) at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.receiveUpdates(BlockingServlet.java:429) at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.service(BlockingServlet.java:267) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        Hide
        Frank Ye added a comment -

        Summary of the issue here (actually not an issue, but it works as it should be).

        Application Frame work has changed quite a bit in Netbeans 5.5 VWP release.

        LifeCycleListener now implements ServletRequestAttributeListener and
        ServletRequestListener.

        So any attributes or resources in request scope will be destroyed as it should.

        Database connection is hook up in Session scope. And set as attribute in
        request scope.

        Hence, back bean like Page.bean

        preprocess method is called after component tree has been restored. This method
        will called on a postback request. So we will relocate resources (like database
        connection in here).

        so we could call init() method here or reset database connection.

        It works fine with HEAD build.

        Furthermore, we could change back bean once user using database connection over
        a long ajax request scope.

        Show
        Frank Ye added a comment - Summary of the issue here (actually not an issue, but it works as it should be). Application Frame work has changed quite a bit in Netbeans 5.5 VWP release. LifeCycleListener now implements ServletRequestAttributeListener and ServletRequestListener. So any attributes or resources in request scope will be destroyed as it should. Database connection is hook up in Session scope. And set as attribute in request scope. Hence, back bean like Page.bean preprocess method is called after component tree has been restored. This method will called on a postback request. So we will relocate resources (like database connection in here). so we could call init() method here or reset database connection. It works fine with HEAD build. Furthermore, we could change back bean once user using database connection over a long ajax request scope.
        Hide
        Frank Ye added a comment -

        When user drag&drop database component. the preprocess method (back bean) will
        be updated to call init() method. So the reference to the database connection
        will be re-initialized.

        add -N --targets /tmp/targets_add_59737
        A
        /home/frank/netbeans_open/branches/ICEfaces-1.5/tools/vwp-dt/designtime/resources

        ci --force-log -m update with default init method in preprocess within backbean
        --username frank --password ******* --non-interactive --config-dir
        /home/frank/.netbeans/5.5/config/svn/config --targets /tmp/targets_checkin_59738
        Adding designtime/resources
        Sending
        designtime/src/com/icesoft/faces/component/ext/HtmlDataTableDesignInfo.java
        Sending
        designtime/src/com/icesoft/faces/component/jsfcl/data/AutoCompleteBeanInfo.java
        Sending
        designtime/src/com/icesoft/faces/component/jsfcl/data/DefaultDataBeanInfo.java
        Sending
        designtime/src/com/icesoft/faces/component/jsfcl/data/DefaultGraphicImageBeanInfo.java
        Sending
        designtime/src/com/icesoft/faces/component/jsfcl/data/DefaultMenuBeanInfo.java
        Sending
        designtime/src/com/icesoft/faces/component/jsfcl/data/DefaultRenderComponentBeanInfo.java
        Adding
        designtime/src/com/icesoft/faces/component/jsfcl/data/DefaultSelectedDataBeanInfo.java
        Deleting
        designtime/src/com/icesoft/faces/component/jsfcl/data/DefaultSelectedItemBeanInfo.java
        Sending
        designtime/src/com/icesoft/faces/component/jsfcl/data/DefaultSelectionItemsBeanInfo.java
        Sending
        designtime/src/com/icesoft/faces/component/jsfcl/data/DefaultTableDataModelBeanInfo.java
        Sending
        designtime/src/com/icesoft/faces/component/jsfcl/data/DefaultTreeBeanInfo.java
        Sending
        designtime/src/com/icesoft/faces/component/jsfcl/data/MenuBarBeanBeanInfo.java
        Sending
        designtime/src/com/icesoft/faces/component/jsfcl/data/NodeUserObjectBeanInfo.java
        Sending
        designtime/src/com/icesoft/faces/component/jsfcl/data/SimpleSortableDataListBeanInfo.java
        Deleting
        designtime/src/com/icesoft/faces/component/jsfcl/data/SortableListBeanInfo.java
        Sending designtime/src/com/icesoft/faces/dt/DataTableAddSortHeaderAction.java
        Sending
        designtime/src/com/icesoft/faces/ide/creator2/util/BasicDesignInfo.java
        Transmitting file data ...............
        Committed revision 12778.

        Show
        Frank Ye added a comment - When user drag&drop database component. the preprocess method (back bean) will be updated to call init() method. So the reference to the database connection will be re-initialized. add -N --targets /tmp/targets_add_59737 A /home/frank/netbeans_open/branches/ICEfaces-1.5/tools/vwp-dt/designtime/resources ci --force-log -m update with default init method in preprocess within backbean --username frank --password ******* --non-interactive --config-dir /home/frank/.netbeans/5.5/config/svn/config --targets /tmp/targets_checkin_59738 Adding designtime/resources Sending designtime/src/com/icesoft/faces/component/ext/HtmlDataTableDesignInfo.java Sending designtime/src/com/icesoft/faces/component/jsfcl/data/AutoCompleteBeanInfo.java Sending designtime/src/com/icesoft/faces/component/jsfcl/data/DefaultDataBeanInfo.java Sending designtime/src/com/icesoft/faces/component/jsfcl/data/DefaultGraphicImageBeanInfo.java Sending designtime/src/com/icesoft/faces/component/jsfcl/data/DefaultMenuBeanInfo.java Sending designtime/src/com/icesoft/faces/component/jsfcl/data/DefaultRenderComponentBeanInfo.java Adding designtime/src/com/icesoft/faces/component/jsfcl/data/DefaultSelectedDataBeanInfo.java Deleting designtime/src/com/icesoft/faces/component/jsfcl/data/DefaultSelectedItemBeanInfo.java Sending designtime/src/com/icesoft/faces/component/jsfcl/data/DefaultSelectionItemsBeanInfo.java Sending designtime/src/com/icesoft/faces/component/jsfcl/data/DefaultTableDataModelBeanInfo.java Sending designtime/src/com/icesoft/faces/component/jsfcl/data/DefaultTreeBeanInfo.java Sending designtime/src/com/icesoft/faces/component/jsfcl/data/MenuBarBeanBeanInfo.java Sending designtime/src/com/icesoft/faces/component/jsfcl/data/NodeUserObjectBeanInfo.java Sending designtime/src/com/icesoft/faces/component/jsfcl/data/SimpleSortableDataListBeanInfo.java Deleting designtime/src/com/icesoft/faces/component/jsfcl/data/SortableListBeanInfo.java Sending designtime/src/com/icesoft/faces/dt/DataTableAddSortHeaderAction.java Sending designtime/src/com/icesoft/faces/ide/creator2/util/BasicDesignInfo.java Transmitting file data ............... Committed revision 12778.
        Hide
        Frank Ye added a comment -

        While I was testing with # 1100, this is verified as well.

        Same Procedure to test ...

        Show
        Frank Ye added a comment - While I was testing with # 1100, this is verified as well. Same Procedure to test ...

          People

          • Assignee:
            Frank Ye
            Reporter:
            Frank Ye
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: