JBO-26032: Operation getRow is invalid... - selectOne*, backing bean

Hi,
I'm wondering why the exception JBO-26032 occurs,
I have the following code in backing bean, it executes on valueChangeEvent (on selectOneChoice, selectOne* - always the same problem). Auto-submit is set to true.
             DCIteratorBinding dciter = (DCIteratorBinding)  bindingContainer.get("MyView2Iterator");
             ViewObject myView = dciter.getViewObject();
             ViewCriteria vc =  myView.createViewCriteria();
             ViewCriteriaRow vcRow = vc.createViewCriteriaRow();
             vcRow.setAttribute("date_finished", "IS NOT NULL");
             vc.addElement(vcRow);
             myView.applyViewCriteria(vc);
             dciter.getBindingContainer().findIteratorBinding("MyView2Iterator").setFindMode(true);
             myView.clearCache();
             dciter.getBindingContainer().findIteratorBinding("MyView2Iterator").executeQuery();The exception(JBO-26032) occur somewhere after the above method finishes successfuly.
Strangely, after that i can click Execute button, and adf table displays found results.
(Project is ADF BC, JSF)
What is JBO-26032?
The documentation i found says:
[cite]
Cause: The attempted operation is invalid for a ViewCriteria or ViewCriteriaRow.
Action: Remove code that attempts this operation.
[cite]
But that doesn't help much, since i did not wrote the code that attempts this operation. At least, i think so.
Did I forgot to do something in the backing bean code?

thanks,
I used setFindMode(), because i thought i have to put iterator into find mode if i want criteria to take effect. I was wrong. Now, i removed call to setFindMode() and it is working fine.
I mean, almost fine, everytime selectOne* value changes, i get following warning:
Mar 1, 2007 6:45:47 PM oracle.adfinternal.view.faces.model.binding.FacesCtrlRangeBinding$FacesModel setRowKey
WARNING: row is null for rowKey:oracle.jbo.Key[1 ]Is it safe to ignore this warning?

Similar Messages

  • JBO-25048: Operation getAllRowsInRange is invalid for a working set view ob

    I'm new to JDeveloper, so please forgive my ignorance...but I'm having a problem creating a list binding in LOV mode. After placing the list of values attribute on the jsp and making changes in the List Binding Editor, I receive the following error when I try testing the page.
    JBO-25048: Operation getAllRowsInRange is invalid for a working set view object.
    Any suggestions or hints to help me on my way would be greatly appreciated. Thanks.

    You should consider switching your application to Immediate Mode. You typically should never need to manually call the sync() method.
    Here is some advice on Batch Mode versus Immediate Mode.
    http://www.oracle.com/technology/products/jdev/collateral/papers/10g/adftoystore/readme.html#batchmode
    Usually this error occurs if you attempt to work with an iterator binding before the prepareModel() method has been invoked in the DataAction lifecycle.
    When batch mode is being used, the prepareModel() method internally batches up all the calls to execute the view objects referred to by iterator bindings in the current binding container and then syncs the operations in a single round-trip with the (either logically- or physically- separated) middle-tier application module.

  • Operation hasNext is invalid for a working set view object

    Can someone point me to soem documentation to why I'm getting this error? I'm obviously misunderstanding something fundamental.
    Thanks

    I have an application module with a client method as follows:
    public void setUserCredentials(String username, String password)
    UserAccountViewImpl vo = getUserAccountView1();
    vo.setWhereClauseParam(0, username);
    vo.setWhereClauseParam(1, password);
    vo.executeQuery();
    if (vo.hasNext()) (BREAK POINT TWO)
    vo.next();
    I have a struts action that is based on the BasicADFAction class in the tech paper "Oracle ADF Data Binding Primer and ADF/Struts Overview"
    by Steve Muench.
    public class IsLoginValidAction extends BasicADFAction
    protected ActionForward performActionLogic(ActionMapping mapping,
    ActionForm form, HttpServletRequest request, HttpServletResponse response)
    throws Exception
    .... other code that gets username and password from form
    DatamartModule am = (DatamartModule)getApplicationModule("DatamartModuleDataControl", request);
    am.setUserCredentials(username, password);
    ViewObject vo = am.findViewObject("UserAccountView1");
    if (vo.getCurrentRow() == null) -- BREAK POINT ONE
    ae.add("InvalidDetails", new ActionError("error.IsLoginValidAction.InvalidDetails"));
    return mapping.findForward("LoginError");
    UserAccountViewRowClient vr = (UserAccountViewRowClient)vo.getCurrentRow();
    .... do some other checks with the user account
    As you can see the above Action calls setUserCredentials(). What is driving me mad is the following. If I enter a valid username and password in the login page and reach break point one the method vo.getCurrentRow() returns null which is not what I expect!
    If I re-submit my login details again, when I reach break point one for the second time vo.getCurrentRow() is not null??
    I have also set a break point two just to make sure setUserCredentials is working and it always brings back a row when I enter the correct details. So why in the action when I select the same view object the current row is not available to me but is available the second time round?? I'm I missing something fundamental??
    I had some feedback on metalink where oracle support set check that the vo.isExecuted() == true and if it isn't then re-execute the query. I couldn't see why I should do this but I did. I found that vo.isExecuted is false the first time round but true the second time. It appears the first time round I am implicitly getting the query to execute for the first time even though I believe I have already done this in the setUserCredentials method.
    After adding a vo.executeQuery() I obviously needed to add code that obtained the row. As soon as vo.hasNext() is called I get:
    oracle.jbo.InvalidOperException: JBO-25048: Operation hasNext is invalid for a working set view object.
         at oracle.jbo.common.ws.WSObject.invalidOperation(WSObject.java:44)
         at oracle.jbo.common.ws.WSRowSetIteratorBase.hasNext(WSRowSetIteratorBase.java:381)
         at view.IsLoginValidAction.performActionLogic(IsLoginValidAction.java:66)
         at view.BasicADFAction.handleLifecycle(BasicADFAction.java:64)
         at view.BasicADFAction.execute(BasicADFAction.java:46)
         at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:228)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:600)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:317)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
         at java.lang.Thread.run(Thread.java:534)
    I must misunderstand something fundamental. Any help would be really appreciated. Basically in my client code (The struts action) I want to access a single record that is based on a view. I prepare the view object by calling a custom service level method to set the username and password and execute the query.

  • I want to reinstall my operating system,How can I back up all my add ons, extensions and personas for reinstallation when Im done?

    I want to reinstall my operating system,How can I back up all my add ons, extensions and personas for reinstallation when Im done?
    Im using fire ftp,downthem all,wot , antiporn pro,and various personas.
    I dont want to renstall them all one at a time, rather I would like to ireinstall a back up like I do with my bookmarks,
    Is this possible??

    See this support article. <br />
    https://support.mozilla.com/en-US/kb/Backing+up+your+information

  • JBO-27122 java.sql.SQLException: Invalid column type

    Dear All
    I extended an standard LOV view object and added 2 where clauses. Where clauses are working very good but problem is when I submit any criteria fist time and press GO button its working if I put 2nd time criteria or just press GO Button it showing me error.
    JBO-27122 java.sql.SQLException: Invalid column type
    I guse if any error in sql then it should display error at first GO button, but displaying error when changing criteria it showing error
    Please help.

    Thank you Guyan
    Here is the automatically putted where clause
    Initial
    WHERE (current_organization_id = :2)
    First Go click
    WHERE (current_organization_id = :2
    AND (UPPER (INSTANCE_NUMBER) LIKE UPPER (:3)
    AND (INSTANCE_NUMBER LIKE :4
    OR INSTANCE_NUMBER LIKE :5
    OR INSTANCE_NUMBER LIKE :6
    OR INSTANCE_NUMBER LIKE :7)))
    Second Go click when displaying error
    WHERE (current_organization_id = :2
    AND (UPPER (INSTANCE_NUMBER) LIKE UPPER (:3)
    AND (INSTANCE_NUMBER LIKE :4
    OR INSTANCE_NUMBER LIKE :5
    OR INSTANCE_NUMBER LIKE :6
    OR INSTANCE_NUMBER LIKE :7)))
    There is not difference in fist run and second run.
    Edited by: Aamir Mughal on Mar 2, 2011 9:01 PM

  • Feedback requested: in backing bean, use AM svc method or operation binding

    Hello all,
    I'm posting this here to solicit feedback from both Oracle and from the community at large. The basic question is around what is the best/better practice for calling Application Module service methods from a backing bean. One choice is to call the service method directly on the application module; the other is to put an operation binding in the page definition and to execute that binding. The basic code for the two methods:
    ((MyAppModule) getBindings().getDataControl.getApplicationModule()).serviceMethod();or
    getBindings().getOperationBinding("serviceMethod").execute();My question comes up specifically because of differences in how the default error handling works. For testing, we created a simple AM with a single service method that throws a JboException (a kind of RuntimeException). Then, we created a simple ADF Faces page with an af:messages (to see how error handling works) and four af:commandButtons. The four command buttons are as follows (the code is in the backing bean for each of them):
    1). partialSubmit=false, calls application module service method directly
    2). partialSubmit=false, executes service method via operationBinding
    3). partialSubmit=true, calls application module service method directly
    4). partialSubmit=true, executes service method via operationBinding
    None of the backing bean methods catch any exceptions. Note that #2 and #4 could be bound directly to the methodBinding in the pagedef, but we did it via code in the backing bean to more accurately mimic some of the code in our application; in any case, the results were the same using either method for #2 and #4.
    The results when clicking each button:
    1). ugly stack trace in the browser window (yuck!)
    2). the af:messages component displays the JboException (nice)
    3). No stack trace, no error message (even worse than #1, user thinks "success," even though exception occurred)
    4). the af:messages component displays the JboException (nice)
    This leads me to think that perhaps calling via the binding container is the preferred method because the default error handling gives acceptable behaviour, whereas using the AM directly gives unacceptable behaviour.
    Another "benefit" of calling through the binding container is that the technology in the model layer could be changed without having to change the view layer. I say "benefit" in quotes because I personally believe that one should write applications to take full advantage of the technology they choose, not try to strive for technology/database independence (no flames on this one please - that's not the main point here ;).
    Having made the preliminary conclusion that the binding container is the preferred way to go for service methods - that could then ostensibly be extended to view objects as well. Should the view layer use iteratorBindings instead of dealing with view objects directly as well? This is a bit more shaky ground because there are some points in the view/controller layer (namely managed beans not associated with any page) where there is no binding container available. However, in backing beans, for re-executing queries we could make the "best practices" statement to always use iteratorBindings instead of accessing the AM/VO. I just completed a test comparing view object usage vs iterator binding usage (vo.executeQuery() vs myIter.executeQuery()) with similar results to the AM testing - the binding container route gives acceptable error handling, whereas the VO route forces me to implement my own error/exception trapping and message display.
    I am aware of one drawback to using the binding container instead of the AM directly - that is that each page that needs the service method must have something in it's pageDef for that method. Originally, we had some code in a superclass of some backing beans that called the AM directly, and we didn't need to touch the pageDefs of approximately 20 JSF pages - when changing to use the operation binding - we had to add it to a lot of page defs.
    I'm very interested in feedback from the community at large on my conclusions. If the discussion gets to be too big/complicated for here, we can change venues to perhaps the oracle wiki or another forum. I did do a quick review of SRDemo ADFBC and noted that all of the service method calls are done through operation bindings - I never noticed that before! Most of the discussion we see in the forums shows people calling them directly, which is why I thought it important to post here.
    Best regards,
    John

    What we did in our project was that we create a "Headless" pagedefinition, (that was how it was described in SRDemo documentation or in JDeveloper help, its on the latter part about Security).
    You have to create that pagedef manually. and it only has an
    <page id="yourPageDef_Id" path="..."> entry in your Databindings and no
    <page path=".../yourPageDef_id" usageId=".../???.jsp">And then in your faces_config and your managed bean name is backingSystemStateBean and is located at path.to.bean.SystemState add a Session scope bean entry like this:
      <managed-bean>
        <managed-bean-name>backingSystemStateBean</managed-bean-name>
        <managed-bean-class>path.to.bean.SystemState</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
        <managed-property>
          <property-name>bindings</property-name>
          <value>#{data.yourPageDef_Id}</value>
        </managed-property>

  • JBO-25063: Operation getAllRowsInRange cannot be performed because the work

    hi
    i am working with ADF BC,i create a read only form to retrieval of data and i add an input form to add new record ,when i run my application ,following errors has been occured.
    JBO-29000: Unexpected exception caught: java.lang.NullPointerException, msg=null
    null
    JBO-25063: Operation getAllRowsInRange cannot be performed because the working set object is not bound.

    I have been getting his error message recently. 
    I purchased a standalone Outlook 2013 last year, which runs on my Windows 7 64 bit PC. 
    In July my wife bought a laptop, which is on our LAN, and Office 365. 
    Maybe the messages started then, I cannot be sure.  It displays during conditions mentioned by the other people posting here. 
    Today I got the message after reading an e-mail and attempting to store it directly in an Outlook folder before closing it – no replying, no editing, no extended delay. 
    I did click on a link in it to view a commercial web page. 
    I then closed the message and attempted to store it with the result being the display of the error message. 
    I always have the latest updates installed automatically.
    The above was on 9/9/2014.  On 9/10/2014 I opened a commercial e-mail and clicked to have the graphics downloaded. 
    I then closed the e-mail and was prompted if I wanted to keep the changes. 
    I selected yes and then the message displayed that says the e-mail could not be saved because it had been changed. 
    I opened the e-mail again to get the wording of the first prompt and found that the graphics had been saved and there was no prompt. 
    I then closed the e-mail and noticed that now there were two copies of it in the inbox. 
    I believe this is not the designed behavior of Outlook. 
    A fix is needed. 

  • IOS Sockets: Error #2002: Operation attempted on invalid socket.

    Hey All,
    If anyone has a fix for this it would be greatly appreciated, or just let me know if I'm missing something, but I can't seem to get a port open while running on iOS. I've read a lot of reasons for this is that the port is still in-use from a previous session of the application that failed to close the port properly, but that is simply not there case here. To test this, I've tried looping through a variety of different port ranges on application start, and this error occurs on every port attempted...
    import flash.net.ServerSocket;
    import flash.net.Socket;
    for (var port:Number = 1000; port <=1020; port++){
        var serverSocket:ServerSocket = new ServerSocket();
        serverSocket.addEventListener(Event.CONNECT, socketConnectHandler);
        serverSocket.bind(port);
        serverSocket.listen();   
    it breaks every time on serverSocket.bind(port) with "Error #2002: Operation attempted on invalid socket.";
    Any help would be greatly appreciated. Also, I'm using Flash Builder 4.6 compiling to Flex 4.6.0 SDK.
    Thanks!

    Docs for ServerSocket:
    http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/ServerSocket. html
    Note: This feature is supported on all desktop operating systems, but is not supported on mobile devices or AIR for TV devices.
    You should trace ServerSocket.isSupported and you'll see it's not supported on iOS devices.
    Believe me, I frikin wish they'd support that and SecureSocket.

  • How to validate values from selectInputDate in backing bean

    I have two selectInputDate fields, arrivalDate and departureDate.
    I want to validate that arrivalDate cannot be greater than departureDate.
    java.lang.ClassCastException is raised at below line in the backing bean:
    Timestamp newArrivalDate = (Timestamp)newValue;
    I tried to use below in the backing bean for arrivalDate validation.
    import java.sql.Timestamp;
    public void arrivalDateValidator(FacesContext facesContext,
    UIComponent uiComponent, Object newValue) {
    //The new value is passed into us
    try {
    Timestamp newArrivalDate = (Timestamp)newValue; --> java.lang.ClassCastException raised at this line.
    //Get the Departure Date which is already bound on this screen
    Timestamp departureDate =
    (Timestamp)ADFUtils.getBoundAttributeValue("departureDate");
    // Now compare and raise an error if the rule is broken
    if (newArrivalDate.compareTo(departureDate) > 0)
    throw new ValidatorException(JSFUtils.getMessageFromBundle
    ("Arrival Date cannot be greater than Departure Date", FacesMessage.SEVERITY_ERROR));
    } catch(Exception e) {
    System.out.println("Some exception raised");
    e.printStackTrace();
    08/12/26 13:30:08 Some exception raised
    08/12/26 13:30:08 java.lang.ClassCastException
    08/12/26 13:30:08      at opera.activity.view.backing.app.TestApp.arrivalDateValidator(ActivityMain.java:1524)
    08/12/26 13:30:08      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    08/12/26 13:30:08      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    08/12/26 13:30:08      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    08/12/26 13:30:08      at java.lang.reflect.Method.invoke(Method.java:324)
    08/12/26 13:30:08      at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:146)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXEditableValue.validateValue(UIXEditableValue.java:400)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXEditableValue.validate(UIXEditableValue.java:206)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXEditableValue._executeValidate(UIXEditableValue.java:522)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXEditableValue.processValidators(UIXEditableValue.java:302)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:855)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.validateChildren(UIXComponentBase.java:839)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.processValidators(UIXComponentBase.java:689)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:855)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.validateChildren(UIXComponentBase.java:839)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.processValidators(UIXComponentBase.java:689)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:855)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.validateChildren(UIXComponentBase.java:839)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.processValidators(UIXComponentBase.java:689)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:855)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.validateChildren(UIXComponentBase.java:839)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.processValidators(UIXComponentBase.java:689)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:855)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.validateChildren(UIXComponentBase.java:839)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.processValidators(UIXComponentBase.java:689)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:855)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.validateChildren(UIXComponentBase.java:839)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.processValidators(UIXComponentBase.java:689)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXShowDetail.processValidators(UIXShowDetail.java:86)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:855)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.validateChildren(UIXComponentBase.java:839)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.processValidators(UIXComponentBase.java:689)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:855)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.validateChildren(UIXComponentBase.java:839)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.processValidators(UIXComponentBase.java:689)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:855)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.validateChildren(UIXComponentBase.java:839)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.processValidators(UIXComponentBase.java:689)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:855)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.validateChildren(UIXComponentBase.java:839)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.processValidators(UIXComponentBase.java:689)
    08/12/26 13:30:08      at javax.faces.component.UIForm.processValidators(UIForm.java:190)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:855)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.validateChildren(UIXComponentBase.java:839)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.processValidators(UIXComponentBase.java:689)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:855)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.validateChildren(UIXComponentBase.java:839)
    08/12/26 13:30:08      at oracle.adf.view.faces.component.UIXComponentBase.processValidators(UIXComponentBase.java:689)
    08/12/26 13:30:08      at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:932)
    08/12/26 13:30:08      at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:362)
    08/12/26 13:30:08      at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:98)
    08/12/26 13:30:08      at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
    08/12/26 13:30:08      at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
    08/12/26 13:30:08      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:213)
    08/12/26 13:30:08      at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    08/12/26 13:30:08      at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:228)
    08/12/26 13:30:08      at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:197)
    08/12/26 13:30:08      at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:123)
    08/12/26 13:30:08      at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:103)
    08/12/26 13:30:08      at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
    08/12/26 13:30:08      at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:162)
    08/12/26 13:30:08      at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
    08/12/26 13:30:08      at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
    08/12/26 13:30:08      at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
    08/12/26 13:30:08      at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
    08/12/26 13:30:08      at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
    08/12/26 13:30:08      at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
    08/12/26 13:30:08      at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
    08/12/26 13:30:08      at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    08/12/26 13:30:08      at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
    08/12/26 13:30:08      at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
    08/12/26 13:30:08      at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
    08/12/26 13:30:08      at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    08/12/26 13:30:08      at java.lang.Thread.run(Thread.java:534)
    Can someone suggest a solution?
    Thanks in advance.

    Hi user:
    Use the class oracle.jbo.domain.Date in the date component then is very easy using the compareTo Method (Returns -1 if DATE is less than date, 0 if DATE and date are equal (==), 1 if DATE is greater than date).
    Good Luck.

  • ADF BC/Faces - Order of validation / backing bean action problem

    Hello,
    I want the user to enter the same "operation date" into all adf faces table rows created in one batch (one transaction).
    So I removed operation date field from the table and added "unbound" date field above the table. The date field value is then copied into all new rows in background. This process is invoked from backing bean from Commit button actionListener method.
    The problem is the validation of the operation date in entity is executed before a new date value is copied into the date attribute (validation of model is in JSF lifecycle executed prior invoking actions in backing beans).
    It means the user can enter dead lock when he enters invalid date (for example date higher then a valid value).
    Then after commit:
    1. First validation is ok (wrong date value haven't been copied into model yet)
    2. backing bean copy action is executed - model now contains wrong date value
    3. Validation before commit isn't successfult - error message is displayed
    4. User corrects the date value and presses commit again but:
    5. First validation is not successful - model still contains recent wrong date value - error message is displayed again
    6.There is no way out from this situation
    I'm going to override lifecycle to be able to invoke copy method before validation cycle. Is this solution acceptable? Do you have any other suggestion?
    Thank you.
    Rado

    hi Rado
    Would it make sense to design your ADF BC View Objects in some kind of master-detail shape that fits your data?
    View Object : OperationMaster (OperationDateAttr, ...)
    View Object : OperationDetail (OperationAttr1, OperationAttr2, ...)
    View Link : OperationDetailForMasterVL (based on some attribute that keeps the detail rows together)
    You would need some Application Module method that does the "row batch setup", but it look like your already have something like this.
    A change to OperationMaster.OperationDateAttr could update all its detail rows date attribute.
    I think that building a UI on this would be less "view layer dependant".
    Just a suggestion.
    regards
    Jan Vervecken

  • How to call a query from the backing bean ?

    Hi all,
    Another question for you guys :
    I made a jspx page with an input form and a submit button.
    When I click the submit button, the action my_action in my backing bean is executed.
    This is the code :
    public BindingContainer getBindings() {
    return BindingContext.getCurrent().getCurrentBindingsEntry();
    public String my_action() {
    BindingContainer bindings = getBindings();
    OperationBinding operationBinding = bindings.getOperationBinding("EmployeesView");
    Object result = operationBinding.execute();
    if (!operationBinding.getErrors().isEmpty()) {
    return null;
    I hoped that the query 'EmployeesView' was executed in this way, but I get the following exception :
    java.lang.ClassCastException: oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding cannot be cast to oracle.binding.OperationBinding
    So how should I execute the query EmployeesView ?
    Second part of the question : What if I typed the name an employee in my form, and I want to
    execute a query that selects all the Employees with that name ?
    How do I make a query with a variable as input in the WHERE clause ?
    Thanks in advance.
    Edited by: Facehugger on 7-apr-2010 11:15

    I'm still trying all the stuff you guys says, but still no result.
    This is my backing bean :
    +// the button action+
    +public String my_action()  {+ 
    +// get the selected rows from the multiselect table and store the objectid's in an String array+
    RowKeySet rks = graph_table.getSelectedRowKeys();
    Iterator itr = rks.iterator();
    Object key;
    int nbr_objects = 0 , i = 0;
    if (rks.size()>0)  nbr_objects = rks.size();
    +String[] objectid = new String[nbr_objects];+
    while(itr.hasNext())
    +{+
    key = itr.next();
    graph_table.setRowKey(key);
    Object o = graph_table.getRowData();
    JUCtrlHierNodeBinding rowData = (JUCtrlHierNodeBinding) o;
    Row row = rowData.getRow();
    +objectid[i] = row.getAttribute("Objectid").toString();+
    i+;+
    +}+
    +// now get all the x and y values for these objectid's from the database out of the table history.+
    BindingContainer bc = BindingContext.getCurrent().getCurrentBindingsEntry();
    for (int j=0 ; j<nbr_objects; j+){+
    +// get X and Y values for object number j+
    DataPoints history = new DataPoints();
    OperationBinding operationBinding = bc.getOperationBinding("retrieveHistory");   ===> operationBinding stays NULL ???+
    +operationBinding.getParamsMap().put("OBJECTID", objectid[j]);+
    Object retVal = operationBinding.execute();
    +// ==> retVal should contain a List of all X and Y values for the provided objectid.+
    +// while (retVal has values)+
    +// {+
    +// List_of_x_values.add(retVal.valueX);+
    +// List_of_y_values.add(retVal.valueY);+
    +// }+
    history.add(List_of_x_values);
    history.add(List_of_y_values):
    +// call the soap method to do some calculations+
    methodname.forecast(history);
    +}+
    +}+
    In my application module :
    public void retrieveHistory(String objectid) {
    getHistory().setWhereClause("OBJECTID = '" + objectid + "'");
    System.out.println("current query : "+getHistory().getQuery());
    getHistory().executeQuery();
    public ViewObjectImpl getHistory() {+
    return (ViewObjectImpl)findViewObject("History");+
    The query for the VO History : SELECT * FROM HISTORY
    Please anyone ?
    Edited by: Facehugger on 9-apr-2010 14:19

  • How i can display data from backing bean from jsf adf page

    Hi all
    I am creating a adf bc jsf application i am referring hr schema employee table
    in my jsf page i have a inputtext with label employee number if i enter employee number and press tab i should get employee name and jobid and salary for this purpose i am doing like as follows
    my view object query is as follows
    SELECT EMPLOYEE_ID,FIRST_NAME,JOB_ID,SALARY
    FROM EMPLOYEES
    WHERE EMPLOYEE_ID=:EMP_NO
    and my backing bean for my jsf page is as follows
    package view.backing;
    import javax.faces.component.html.HtmlForm;
    import javax.faces.event.ValueChangeEvent;
    import oracle.adf.view.faces.component.core.input.CoreInputText;
    import oracle.adf.view.faces.component.core.output.CoreOutputText;
    import oracle.adf.view.faces.component.html.HtmlBody;
    import oracle.adf.view.faces.component.html.HtmlHead;
    import oracle.adf.view.faces.component.html.HtmlHtml;
    import oracle.jbo.ApplicationModule;
    import oracle.jbo.Row;
    import oracle.jbo.ViewObject;
    import oracle.jbo.client.Configuration;
    public class BindTest3
    private HtmlHtml html1;
    private HtmlHead head1;
    private HtmlBody body1;
    private HtmlForm testForm;
    private CoreInputText employeeId;
    private CoreOutputText firstName;
    private CoreOutputText jobId;
    private CoreOutputText salary;
    public void setHtml1(HtmlHtml html1)
    this.html1 = html1;
    public HtmlHtml getHtml1()
    return html1;
    public void setHead1(HtmlHead head1)
    this.head1 = head1;
    public HtmlHead getHead1()
    return head1;
    public void setBody1(HtmlBody body1)
    this.body1 = body1;
    public HtmlBody getBody1()
    return body1;
    public void setTestForm(HtmlForm form1)
    this.testForm = form1;
    public HtmlForm getTestForm()
    return testForm;
    public void setEmployeeId(CoreInputText inputText1)
    this.employeeId = inputText1;
    public CoreInputText getEmployeeId()
    return employeeId;
    public void changeMethod(ValueChangeEvent event)
    String EmployeeId=(String)event.getNewValue();
    CheckForBind check=new CheckForBind();
    System.out.println(check.getEmployeeNo());
    String amDef = "model.AppModule";
    String config = "AppModuleLocal";
    ApplicationModule am =
    Configuration.createRootApplicationModule(amDef,config);
    ViewObject vo = am.findViewObject("EmployeeBindViewObj1");
    vo.setNamedWhereClauseParam("EMP_NO",EmployeeId);
    System.out.println("Query will return "+
    vo.getEstimatedRowCount()+" rows...");
    vo.executeQuery();
    while (vo.hasNext()) {
    Row curUser = vo.next();
    System.out.println(vo.getCurrentRowIndex()+" "+
    curUser.getAttribute("EmployeeId")+" "+
    curUser.getAttribute("FirstName")+" " curUser.getAttribute("JobId")" "+curUser.getAttribute("Salary"));
    //firstName =(String)curUser.getAttribute("EmployeeId");
    //setFirstName(curUser.getAttribute("EmployeeId"));
    firstName.setValue((String)curUser.getAttribute("FirstName"));
    //jobId.setValue((CoreOutputText) curUser.getAttribute("FirstName"));
    // salary.setValue((CoreOutputText)curUser.getAttribute("Salary"));
    // values.setJobId((CoreOutputText)curUser.getAttribute("JobId"));
    // values.setFirstName((CoreOutputText) curUser.getAttribute("FirstName"));
    //values.setSalary((CoreOutputText)curUser.getAttribute("Salary"));
    Configuration.releaseRootApplicationModule(am,true);
    public void setFirstName(CoreOutputText outputText1)
    this.firstName = outputText1;
    public CoreOutputText getFirstName()
    return firstName;
    public void setJobId(CoreOutputText outputText2)
    this.jobId = outputText2;
    public CoreOutputText getJobId()
    return jobId;
    public void setSalary(CoreOutputText outputText3)
    this.salary = outputText3;
    public CoreOutputText getSalary()
    return salary;
    and my jsf page is as follows
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://xmlns.oracle.com/adf/faces" prefix="af"%>
    <%@ taglib uri="http://xmlns.oracle.com/adf/faces/html" prefix="afh"%>
    <f:view>
    <afh:html binding="#{backing_BindTest3.html1}" id="html1">
    <afh:head title="Home" binding="#{backing_BindTest2.head1}" id="head1">
    <meta http-equiv="Content-Type"
    content="text/html; charset=windows-1252"/>
    <style type="text/css">
    body {
    background-color: #f7f7f7;
    </style>
    </afh:head>
    <afh:body binding="#{backing_BindTest3.body1}" id="body1">
    <h:form binding="#{backing_BindTest3.testForm}" id="testForm">
    <af:inputText label="Employee No" binding="#{backing_BindTest3.employeeId}"
    id="employeeId" valueChangeListener="#{backing_BindTest3.changeMethod}" autoSubmit="true"/>
    <af:outputText value="#{backing_BindTest3.firstName.value}"
    binding="#{backing_BindTest3.firstName}"
    id="firstName"/>
    <af:outputText value="outputText2"
    binding="#{backing_BindTest3.jobId}"
    id="jobId"/>
    <af:outputText value="outputText3"
    binding="#{backing_BindTest3.salary}"
    id="salary"/>
    </h:form>
    </afh:body>
    </afh:html>
    </f:view>
    <%-- oracle-jdev-comment:auto-binding-backing-bean-name:backing_BindTest2--%>
    but i am getting result in console but i cant get the value of firstname into my jsf page
    can any one can tell me for get the value to jsf page what i can do
    and what are the changes i can do in my jsf page

    hi,
    i tried to set value like as follows
    name=(CoreOutputText)curUser.getAttribute("FirstName");
    but that time i getting exception like as follows
    ec 22, 2007 2:17:27 PM com.sun.faces.lifecycle.ProcessValidationsPhase execute
    SEVERE: java.lang.ClassCastException: java.lang.String
    javax.faces.el.EvaluationException: java.lang.ClassCastException: java.lang.String
         at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:150)
         at oracle.adf.view.faces.component.UIXComponentBase.__broadcast(UIXComponentBase.java:1087)
         at oracle.adf.view.faces.component.UIXEditableValue.broadcast(UIXEditableValue.java:247)
         at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:269)
         at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:363)
         at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:98)
         at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
         at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:213)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:228)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:197)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:123)
         at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:103)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:162)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
         at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
         at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
         at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: java.lang.ClassCastException: java.lang.String
         at view.backing.ChangeValue.changeMethod(ChangeValue.java:49)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:146)
    What will be the resion please help it is very critical for me

  • How to get current db value in backing bean

    Hi,
    I'm using jdeveloper 11.1.2.3.0
    I would like to know how could I access the old value of an attribute in backing bean.
    I know I can get it in the EntityImpl level with getPostedAttribute function,
    but as I see I don't have permission to access this function in the ViewImpl.
    I get this error:
    Error(151,33): getPostedAttribute(int) has protected access in oracle.jbo.server.EntityImpl.
    Could you help?
    What is the correct way to get the current value on db in backing bean?
    Thanks a lot!

    You can add a transient attribute to the Entity object to hold the old value of the desired attribute, then you can add this attribute to the view object.
    check [url http://www.youtube.com/watch?v=iKVIiK0FBXI]Retrieving the previous value of an ADF BC attribute 

  • ADF-BC/JSF How to display acustom error message from a backing bean

    Hi all
    Can anybody provide an example of how to manipulate the list of error messages from a JSF backing bean.
    In my code I use a different navigation case and this directs the user to the page displaying the error message but I am sure that there must be a more elegant way.
    Thanks in advance
    Thanassis

    Thanks Kris
    I think you 've put me on the right track here, it's just that in my case what I really want to do is prevent my users from editing records not belonging to their own group. This is done via a selectOne table component and then the backing bean code tests if the value #{row.UserGroup} matches the #{bindings.LoggedOnUserGroup.inputValue}. If the values are equal then the beans returns the navigation case to the edit page. Otherwise it returns the navigation case for the "cannot edit" page.
    So what I am thinking is to return null and somehow raise the right kind of exception in order to display the error in the af:messages tag.
    Thanassis

  • Error when I call a method of AppModule from a backing bean.

    I use Jdeveloper 10.1.3.0.3 EA.
    In my application I have created ApplModule and UsrView(for my table USR).
    I have a login page (login.jsp and the backing login.java) with 2 fields userName and password and an ADF Faces Core command button (cmdCheckPass) and the method cmdCheckPass _action() for the click event .
    The problem is that I can’t call method testPassword(userName, password) which is written in AppModule. (I get error:
    javax.faces.FacesException: #{backing_login.cmdCheckPass_action}: javax.faces.el.EvaluationException: java.lang.NullPointerException) from line:
    answer = app.testPass(st1,st2);
    The code is as follows:
    public String cmdCheckPass_action() {
    String answer="";
    String mes = "";
    String st1=this.getInputText1().getValue().toString();
    String st2=this.getInputText2().getValue().toString();
    AppModuleImpl app = new AppModuleImpl();
    answer = app.testPass(st1,st2);
    if (answer == "OK") {
    return "toMain";
    } else {
    answer = "";
    mes="Invalid username, password !!!";
    FacesContext.getCurrentInstance().addMessage(null,new FacesMessage(mes));
    return answer;}
    I don’t know if theoretically is right to call, from a backing bean, a custom method of AppModule.
    Can I have any help on this?
    Thanks in advance,
    Panos

    Some quick ideas:
    Is the clip the same NTSC/PAL standard as the project you are importing it to?
    Have you tried to rename the offending clip (do NOT rename any clips inside the iMovie /Media folder!!).
    How much free space do you have on the iMovie project volume -- what is the size of the imported clip?

Maybe you are looking for