ADF/JClient problem

Hi @all,
I have a problem using bc4j. I have an ADF/JClient application that shows a Master/Detail Log from a database to the user.
But the connection to the database should by dynamic: With a combo box I select the database to connect to
and than I want to see the Master/Detail Log.
Actually, the problem is that the Master/Detail tables (normal JTables with BC4J bindings) do not refresh their views,
so I ever see the same Matser/Detail Log.
The connection to the database is established using my own classes MyConnectionStrategy (derived from DefaultConnectionStrategy)
and MyEnvInfoProvider (derived from DefaultEnvInfoProvider).
Bootstrap code look like this:
JUMetaObjectManager.setBaseErrorHandler(new JUErrorHandlerDlg());
JUMetaObjectManager.getJUMom().setJClientDefFactory(null);
mCtx = new BindingContext();
mCtx.put(DataControlFactory.APP_PARAM_ENV_INFO, new MyEnvInfoProvider(mDBConn));
HashMap map = new HashMap(4);
map.put(DataControlFactory.APP_PARAMS_BINDING_CONTEXT, mCtx);
JUMetaObjectManager.loadCpx("DataBindings.cpx", map);
mDataControl = (DCDataControl)mCtx.get("AppModuleDataControl1");
mDataControl.setClientApp(DCDataControl.JCLIENT);
How can I update (refresh, reinitialize, ...) the bindings between my AppMod and the 2 JTables?
Please help me.
Thanks in advanced,
Dorian.

You may use the 'key' on the row from one VO to find it in another and then set the currency using the found row.

Similar Messages

  • LOV Binding issue in ADF JClient Component Demonstration

    hi
    There seems to be a problem with committing the changes made with the "LOV Binding" in the "ADF JClient Component Demonstration".
    see "ADF JClient Component Demonstration" :
    http://www.oracle.com/technology/sample_code/products/jdev/1012/jclient_guide/adf_jclientcomponentdemo.zip
    scenario (using JDeveloper 10.1.2) :
    (1) run componentdemo.StartFrame
    (2) click the first button to get to the "LOV Binding Demo"
    (3) click in the "State" field and press F3
    (4) select a new value from the "List Of Values", click OK
    (5) notice the value in the "State" field has changed, click "File" > "Exit"
    (6) click on "Commit" when asked "How do you want to close the transaction?"
    (7) run componentdemo.StartFrame again and navigate to the "LOV Binding Demo" again
    (8) notice that the "State" field still has its old value
    How can this be explained?
    thanks
    Jan Vervecken

    thanks for your reply Frank
    To verify what the behavior would be in the JDeveloper version it was built for, I tried to open the Workspace in JDeveloper 9.0.5.2 and got this "Unable to Open File" message:
    "File D:\<path>\ADFJClientComponentDemo.jws was saved in version 10120 file format and cannot be opened with an older version of JDeveloper 10g."
    To make sure, I downloaded this again
    http://www.oracle.com/technology/sample_code/products/jdev/1012/jclient_guide/adf_jclientcomponentdemo.zip
    and I got the same error message.
    Could you please hint to a solution for this (in JDeveloper 10.1.2 if possible).
    greetings
    Jan Vervecken

  • How to create and use custom exceptions with ADF JClient

    Hi
    The forms developed using ADF JClient by default use pessimistic locking and throw an AlreadyLockedException if more than one user tries to modify the same record. I need to customize this exception so as to display the name of the Oracle user who has locked the record. Is this feasible? If yes, how can I achieve this.
    PS: I've already tried creating my own messageBundle to customize the error messages. Even though I can change the message there, I'm unable to find any information in AlreadyLockedException or JboException that directly gives me the user or the oracle session id that has locked the record.

    T A,
    this information is not exposed through the JDBC driver and thus nit available to BC4J. So the answer is that you can't get this information.
    Frank

  • Performance Issues due to Loading of ADF/JClient View Objects

    Hi,
    I developed a two-tier ADF/JClient application.
    When the ADF/JClient application opens for the first time, there's a big delay
    However opening it subsequently, takes less than half of the time to open the screen.
    I think it might the xml files of different view objects which the framework loads for the first time, and thus takes a lot of time. And after that, the time to open the application reduces.
    We have around 200 view objects in our application. Can this be the reason?
    If yes, then can we load the view objects before ahead, or can we just load them at the very time they are requested ?
    Thanks,
    Makrand Pare

    Hi Makrand,
    Check this out:
    "Limiting Fetching of Business Components Attributes in ADF Swing
    http://www.oracle.com/webapps/online-help/jdeveloper/10.1.3/state/content/navId.4/navSetId._/vtTopicFile.developing_jclient_applications%7Cjui_plimitingfetching%7Ehtml/
    Note: In local mode deployment (the client and Business Components reside in the same VM), the fetching of attribute properties is not supported.
    You can optimize startup time for a Business Components client application and the remotely deployed Business Components by specifying the list of view object attributes that your client uses. If you create a project without the metadata, by coding to the API, you will want to add fetchAttributeProperties() to the bootstrap code of the client forms with a list of only the attributes used by the form. Without this method call, your client form would fetch all control hint properties (including the attributes format and label for example) for all the attributes of the named view objects in the application module, in a single network roundtrip.
    For example, when you do not intend to use all the attributes of the ADF Swing form's bound view object, with the fetchAttributeProperties() method, your ADF Swing form fetches only the information required to layout your forms, while ignoring the attributes you do not require.
    Note: In local mode deployment (the client and Business Components reside in the same VM), the fetching of attribute pro
    Calling fetchAttributeProperties() will prevent property methods such as getFormat() or getLabel() from being called on the Business Components attribute definition whenever the form is created."
    Vlad

  • How to filter data in custom ADF JClient lov panel

    hi
    I'm developing with JDev 10.1.2.
    i have a Panel that use custom ADF JClient lov panel and i want to filter the lov data.
    i used setWhereClause() method to do it in lov panel but didn't work.
    Any help will be greatly appreciated.

    This was a lot more involved than I would have estimated (than I actually did estimate with my boss on our project timeline).
    Anyway, here is the solution for those of you trying to do the same thing;
    http://blogs.oracle.com/michaellee/2009/09/pre_filtering_table_data.html
    My personal request, create a Criteria for a VO, then allow me to just drag that over to a jsp page and give me a table/tree option, not just a query/button/link, and then give me a pop up box allowing me to bind variables.
    Edited by: user10419690 on Sep 14, 2009 9:03 AM

  • ADF JClient migration (JDev 9.0.5.2 -- JDev 10.1.3.2)

    Hi all,
    is there anybody out there who could share some experiences in migrating a huge ADF/JClient-based application. Does anybody know a migration guide, or at least a description of a supported migration path?
    Would it be more promising to try it stepwise (9.0.5.2 -> 10.1.2 -> 10.1.3.x)?
    About a year ago we spend a few days to try to migrate from 9.0.5.2 to 10.1.2 but we encountered so many issues that we had to stop in order to keep in time with our release schedule.
    Now we plan to change the Java version from 1.4 to 1.5 and upgrade to JDev 10.1.3.2. Keeping the old ADF libraries everythings seems to work. But I would feel better with a more current version and improved Oracle support. We had to apply a few fixes to the ADF libs on our own. I would love to get rid of them. It's hard to get backports for such an old version.
    We currently use the following JDev related libraries in our project:
    adfjclient.jar, adfm.jar, bc4jct.jar, bc4jdomorcl.jar
    Which of the bunch of ADF-libraries in 10.1.3.2 do we have to add to our project? I would like to include as few JARs as possible.What about:
    bc4jui.jar, adfm.jar, bc4jct.jar, bc4jdomorcl.jar?
    Someone told me that the definition/structure of UIModels has changed between 10.1.2 and 10.1.3. He told me that the ADF code is capable to handle both version via if/else-constructs, but it would be better to use the new XML-layout in order to participate in new features. Is this true?
    As far as I could see JDev 10.1.3 only migrates project files and does not touch any of the ADF definition files. Is there any migration tool or script available in order to convert pre-10.1.3 UIModels?
    Thanks for any hints on that topic!
    Regards,
    Eric

    Hi Steve,
    thanks for your answer and sorry for the late response. Meanwhile I made a few tests on my own. In our application we don't use BC4J, only ADF for data binding.
    We have a lot of issues with 9.0.5.2 which weren't addressed in 10.1.2. In order to save resources we would like to load the ADF binding context (cpx-File) for our whole application only once during application startup. JUMetaObjectManager.getJUMom().loadCpx() and from then on only pass the binding context reference to setup the panel bindings (binding containers). When we close our forms we release the datacontrols. If we open a form for the second time (and try to setup the panel binding) we receive an error. If I recall correctly, the data control is (mistakenly?) removed from the context map inside of the binding context while releasing the datacontrol. But to my understanding the datacontrol has to be released in order to setup a fresh binding container while opening a form. If one removes the code to release the datacontrols one will receive an jbo error, that the binding container is alread there, which seems logically to me.
    In order to test the behavior of different ADF versions I extracted some code and build a simple testcase in JDev 9.0.5.2. Ofcourse the test case didn't work. I then migrated to 10.1.2 and the testcase didn't work. I migrated the testcase to 10.1.3.2 and what? The testcase still didn't work. I observed that the UIModels haven't changed during migration. I then copied all my code to a newly created project in 10.1.3.2 and rebuild the testcase. Now most of the XML files look different. I observed some other JDev design time issues as I did use Java 1.4 style code. After I changed the code to use generics these issues were resolved. Finally the testcase worked, without any code changes (besides the usage of generics in the model class).
    So I came to the conlusion that ADF has some kind of compatibility mode if it finds old XML files from previous versions. Ohter (probably old) code paths are chosen and you potentially suffer the same bugs as in previous versions. So it seems to be best to somehow migrate all XML-files to the new layout. Maybe via some XSL-transformations. That's why I asked for some kind of converter. Unfortunately there seems to be no real migration support from Oracle. This looks like a nightmare for huge projects like ours.
    Steve, your test seems to confirm my observations. Did you try to build the same form in 10.1.3 from scratch? What do you observe if you then compare all XML-Files (binding context definitions, page definitions, bean definitions...)?
    Regards,
    Eric

  • How to configure logins for ADF Jclient based application

    Hi,
    I have an existing Java swings based application and the user authentication in the application uses Oracle (database level) user id/pwd verification. This I achieve through creating a successful JDBC connection. I treat this connection as a global variable and use it through out the user session.
    Now I need to create some new functionality that needs to be developed using ADF Jclient. This functionality would be plugged into the existing swing based application.
    However as per the documentation that I've gone through so far, we need to have a connection created for BC4J project at the development time. This connection is used to create data bindings. If I eliminate the connection information from the project properties/ connection the ADF Jclient form does not launch. The process hangs at:
    mgr.loadCpx("DataBindings.cpx", map);
    Is their some way I can specify the connection attributes for the ADF Jclient forms through my application. I'm fairly new to ADF Jclient and BC4J so I'm assuming that I'm missing something here, but, I'm not sure where to find for this information. Please help.
    Regards

    Hi,
    The following How-To may be helpful.
    http://www.oracle.com/technology/products/jdev/howtos/10g/dynamicjdbchowto.html
    I believe your application user is the same as database user. Dynamic JDBC credential provider seems to be what you are looking for.
    In ADF, we separate application user from JDBC user. You could read more about JAAS and BC4J Security by looking up 'Security' or 'JAAS' in Help.
    Thanks,
    Yvonne

  • Anyone interested in adf swing problems

    adf 11g R1 swing problem
    I test the new JDEV 11g 11.1.1.1.0 releas Juli 01
    I'm using the JClient (Swing) with ADF (BC4J)
    and test a simple app
    JTable with Combobox don't work:
    im set the binding with edit binding in context for JTable
    the combobox has a static viewobject with ID and Text (ID 0,1 Text Yes No)
    The Table with combobox render OK
    but when Click the combobox i see no values in the Combobox
    in Previous Release 11.1.1.0.2 work the sample.
    It this a Bug in Classe from the bindig Definition file pageDef ????
    RTClass="oracle.jbo.uicli.jui.JULOVEditorPropDef"
    DTClass="oracle.adfdtinternal.model.ide.objects.jui.JUDTLOVEditorProp"
    Hello,
    this Bug is not fixed in 11.1.1.2.0
    why ????
    thank you in advance
    Michael
    Edited by: user4796211 on 21.07.2009 12:18
    Edited by: user4796211 on 22.07.2009 00:59
    Edited by: user4796211 on 24.07.2009 09:54
    Edited by: user4796211 on 27.07.2009 09:59
    Edited by: user4796211 on 16.11.2009 10:56

    Hi,
    I installed JDeveloper 11.1.1.3.0 and cracked the nut. The LOV driven ComboBoxes in JTables will remain empty after migrating to the new version, but it seems to be merely a bug in the migration. What you need to do in order to get the ComboBoxes working is the following:
    I found out that in your PageDefs you need to add two attributes to the <combobox> definitions:
    ControlClass="javax.swing.JComboBox" Editable="false"
    This makes the ComboBoxes look like in previous releases. If you skip the "Editable" attribute, the user can type in values, which does not really work in LOVs but in static lists.
    Unfortunately I experienced another bug in the 11.1.1.3.0 release concerning LOVs: When defining the LOV in the ViewDef, JDeveloper wouldn't let you specify any additional columns to be displayed in the LOV ("Display Attributes"). -> The workaround is much easier than I first thought: Just resize the dialog a little bigger and the selection fields that I first missed appear!
    In the moment it looks to me like I could continue development with JDeveloper 11.1.1.3.0.
    Mathias
    Edited by: user7585671 on 05.05.2010 06:26

  • ADF Tutorial: problem with chapter 10 (Deploying the Application)

    Hi!
    I'm learning from ADF Tutorial (http://www.oracle.com/technology/obe/ADFBC_tutorial_1013/index.htm) and I have problem with chapter 10. After deploying finished application on the server (OracleAS10g) I try to test it but I get this error everytime:
    500 Internal Server Error
    Servlet error: An exception occured. The current application deployment descriptors do not allow for including it in this response. Please consult the application log for details.
    I get this error after typing login credentials. I didn't consult the log, because I don't know where to look for it (could you tell me please?). I did everything as described in the Tutorial, but I know there are mistakes (in Tutorial), so I don't know what to do.
    Thanks for any advices.

    Hi,
    I'm running Windows XP, JDeveloper version 10.1.3.4.0, Oracle AS 10g version 10.1.3.4.0 with patch. When I tried to deploy same application on Windows Vista and OC4J, it work perfectly, which really confuses me. I think I found log file so I will post it here. It's long, I'm sorry about that:
    09/01/23 16:07:07.62 SRTutorial: Servlet error
    JBO-30003: Fond aplikace (oracle.srtutorial.datamodel.SRPublicServiceLocal) selhal při odhlášení modulu aplikace z důvodu následující výjimky:
    oracle.jbo.JboException: JBO-29000: JBO-29000: Bad version number in .class file
         Neplatná třída: oracle.srtutorial.datamodel.SRPublicServiceImpl
         Zavaděč: SRTutorial.web.SRTutorial:0.0.0
         Code-Source: /C:/OracleAS/j2ee/home/applications/SRTutorial/SRTutorial/WEB-INF/classes/
         Konfigurace: WEB-INF/classes/ in C:\OracleAS\j2ee\home\applications\SRTutorial\SRTutorial\WEB-INF\classes
         Závislá třída: oracle.jbo.common.java2.JDK2ClassLoader
         Zavaděč: adf.oracle.domain:10.1.3.1
         Code-Source: /C:/OracleAS/BC4J/lib/adfm.jar
         Konfigurace: <code-source> in /C:/OracleAS/j2ee/home/config/server.xml
         at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2002)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2793)
         at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:453)
         at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:233)
         at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:424)
         at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:419)
         at oracle.adf.model.bc4j.DCJboDataControl.rebuildApplicationModule(DCJboDataControl.java:1517)
         at oracle.adf.model.bc4j.DCJboDataControl.beginRequest(DCJboDataControl.java:1381)
         at oracle.adf.model.binding.DCDataControlReference.getDataControl(DCDataControlReference.java:99)
         at oracle.adf.model.BindingContext.get(BindingContext.java:457)
         at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:280)
         at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:248)
         at oracle.adf.model.binding.DCUtil.findContextObject(DCUtil.java:383)
         at oracle.adf.model.binding.DCIteratorBinding.<init>(DCIteratorBinding.java:127)
         at oracle.jbo.uicli.binding.JUIteratorBinding.<init>(JUIteratorBinding.java:60)
         at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding(JUIteratorDef.java:87)
         at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding(JUIteratorDef.java:51)
         at oracle.adf.model.binding.DCIteratorBindingDef.createExecutableBinding(DCIteratorBindingDef.java:277)
         at oracle.adf.model.binding.DCBindingContainerDef.createExecutables(DCBindingContainerDef.java:296)
         at oracle.adf.model.binding.DCBindingContainerDef.createBindingContainer(DCBindingContainerDef.java:425)
         at oracle.adf.model.binding.DCBindingContainerReference.createBindingContainer(DCBindingContainerReference.java:54)
         at oracle.adf.model.binding.DCBindingContainerReference.getBindingContainer(DCBindingContainerReference.java:44)
         at oracle.adf.model.BindingContext.get(BindingContext.java:483)
         at oracle.adf.model.BindingContext.findBindingContainer(BindingContext.java:313)
         at oracle.adf.model.BindingContext.findBindingContainerByPath(BindingContext.java:633)
         at oracle.adf.model.BindingRequestHandler.isPageViewable(BindingRequestHandler.java:268)
         at oracle.adf.model.BindingRequestHandler.beginRequest(BindingRequestHandler.java:169)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:161)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    ## Detail 0 ##
    oracle.jbo.JboException: JBO-29000: Bad version number in .class file
         Neplatná třída: oracle.srtutorial.datamodel.SRPublicServiceImpl
         Zavaděč: SRTutorial.web.SRTutorial:0.0.0
         Code-Source: /C:/OracleAS/j2ee/home/applications/SRTutorial/SRTutorial/WEB-INF/classes/
         Konfigurace: WEB-INF/classes/ in C:\OracleAS\j2ee\home\applications\SRTutorial\SRTutorial\WEB-INF\classes
         Závislá třída: oracle.jbo.common.java2.JDK2ClassLoader
         Zavaděč: adf.oracle.domain:10.1.3.1
         Code-Source: /C:/OracleAS/BC4J/lib/adfm.jar
         Konfigurace: <code-source> in /C:/OracleAS/j2ee/home/config/server.xml
         at oracle.jbo.pool.ResourcePool.createResource(ResourcePool.java:545)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:2094)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1961)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2793)
         at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:453)
         at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:233)
         at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:424)
         at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:419)
         at oracle.adf.model.bc4j.DCJboDataControl.rebuildApplicationModule(DCJboDataControl.java:1517)
         at oracle.adf.model.bc4j.DCJboDataControl.beginRequest(DCJboDataControl.java:1381)
         at oracle.adf.model.binding.DCDataControlReference.getDataControl(DCDataControlReference.java:99)
         at oracle.adf.model.BindingContext.get(BindingContext.java:457)
         at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:280)
         at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:248)
         at oracle.adf.model.binding.DCUtil.findContextObject(DCUtil.java:383)
         at oracle.adf.model.binding.DCIteratorBinding.<init>(DCIteratorBinding.java:127)
         at oracle.jbo.uicli.binding.JUIteratorBinding.<init>(JUIteratorBinding.java:60)
         at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding(JUIteratorDef.java:87)
         at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding(JUIteratorDef.java:51)
         at oracle.adf.model.binding.DCIteratorBindingDef.createExecutableBinding(DCIteratorBindingDef.java:277)
         at oracle.adf.model.binding.DCBindingContainerDef.createExecutables(DCBindingContainerDef.java:296)
         at oracle.adf.model.binding.DCBindingContainerDef.createBindingContainer(DCBindingContainerDef.java:425)
         at oracle.adf.model.binding.DCBindingContainerReference.createBindingContainer(DCBindingContainerReference.java:54)
         at oracle.adf.model.binding.DCBindingContainerReference.getBindingContainer(DCBindingContainerReference.java:44)
         at oracle.adf.model.BindingContext.get(BindingContext.java:483)
         at oracle.adf.model.BindingContext.findBindingContainer(BindingContext.java:313)
         at oracle.adf.model.BindingContext.findBindingContainerByPath(BindingContext.java:633)
         at oracle.adf.model.BindingRequestHandler.isPageViewable(BindingRequestHandler.java:268)
         at oracle.adf.model.BindingRequestHandler.beginRequest(BindingRequestHandler.java:169)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:161)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    ## Detail 0 ##
    oracle.classloader.util.AnnotatedClassFormatError: Bad version number in .class file
         Neplatná třída: oracle.srtutorial.datamodel.SRPublicServiceImpl
         Zavaděč: SRTutorial.web.SRTutorial:0.0.0
         Code-Source: /C:/OracleAS/j2ee/home/applications/SRTutorial/SRTutorial/WEB-INF/classes/
         Konfigurace: WEB-INF/classes/ in C:\OracleAS\j2ee\home\applications\SRTutorial\SRTutorial\WEB-INF\classes
         Závislá třída: oracle.jbo.common.java2.JDK2ClassLoader
         Zavaděč: adf.oracle.domain:10.1.3.1
         Code-Source: /C:/OracleAS/BC4J/lib/adfm.jar
         Konfigurace: <code-source> in /C:/OracleAS/j2ee/home/config/server.xml
         at oracle.classloader.PolicyClassLoader.findLocalClass (PolicyClassLoader.java:1462) [C:/OracleAS/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@12700959]
         at oracle.classloader.SearchPolicy$FindLocal.getClass (SearchPolicy.java:167) [C:/OracleAS/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@12700959]
         at oracle.classloader.SearchSequence.getClass (SearchSequence.java:119) [C:/OracleAS/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@12700959]
         at oracle.classloader.PolicyClassLoader.internalLoadClass (PolicyClassLoader.java:1674) [C:/OracleAS/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@12700959]
         at oracle.classloader.PolicyClassLoader.loadClass (PolicyClassLoader.java:1635) [C:/OracleAS/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@12700959]
         at oracle.classloader.PolicyClassLoader.loadClass (PolicyClassLoader.java:1620) [C:/OracleAS/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@12700959]
         at java.lang.ClassLoader.loadClassInternal (ClassLoader.java:319) [jre bootstrap, by jre.bootstrap:1.5.0_06]
         at java.lang.Class.forName0 (Native method) [unknown, by unknown]
         at java.lang.Class.forName (Class.java:242) [jre bootstrap, by jre.bootstrap:1.5.0_06]
         at oracle.jbo.common.java2.JDK2ClassLoader.loadClassForName (JDK2ClassLoader.java:38) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.common.JBOClass.forName (JBOClass.java:164) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.common.JBOClass.findCustomClass (JBOClass.java:177) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.server.ApplicationModuleDefImpl.loadFromXML (ApplicationModuleDefImpl.java:836) [C:/OracleAS/BC4J/lib/bc4jmt.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.server.ApplicationModuleDefImpl.loadFromXML (ApplicationModuleDefImpl.java:770) [C:/OracleAS/BC4J/lib/bc4jmt.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.server.MetaObjectManager.loadFromXML (MetaObjectManager.java:534) [C:/OracleAS/BC4J/lib/bc4jmt.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.mom.DefinitionManager.loadLazyDefinitionObject (DefinitionManager.java:579) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.mom.DefinitionManager.findDefinitionObject (DefinitionManager.java:441) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.mom.DefinitionManager.findDefinitionObject (DefinitionManager.java:374) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.mom.DefinitionManager.findDefinitionObject (DefinitionManager.java:356) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.server.MetaObjectManager.findMetaObject (MetaObjectManager.java:700) [C:/OracleAS/BC4J/lib/bc4jmt.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.server.ApplicationModuleDefImpl.findDefObject (ApplicationModuleDefImpl.java:232) [C:/OracleAS/BC4J/lib/bc4jmt.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.server.ApplicationModuleImpl.createRootApplicationModule (ApplicationModuleImpl.java:401) [C:/OracleAS/BC4J/lib/bc4jmt.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.server.ApplicationModuleHomeImpl.create (ApplicationModuleHomeImpl.java:91) [C:/OracleAS/BC4J/lib/bc4jmt.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule (DefaultConnectionStrategy.java:139) [C:/OracleAS/BC4J/lib/bc4jct.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule (DefaultConnectionStrategy.java:80) [C:/OracleAS/BC4J/lib/bc4jct.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.common.ampool.ApplicationPoolImpl.instantiateResource (ApplicationPoolImpl.java:2468) [C:/OracleAS/BC4J/lib/bc4jct.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.pool.ResourcePool.createResource (ResourcePool.java:536) [C:/OracleAS/BC4J/lib/bc4jct.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule (ApplicationPoolImpl.java:2094) [C:/OracleAS/BC4J/lib/bc4jct.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout (ApplicationPoolImpl.java:1961) [C:/OracleAS/BC4J/lib/bc4jct.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule (ApplicationPoolImpl.java:2793) [C:/OracleAS/BC4J/lib/bc4jct.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule (SessionCookieImpl.java:453) [C:/OracleAS/BC4J/lib/bc4jct.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule (HttpSessionCookieImpl.java:233) [C:/OracleAS/BC4J/lib/adfmweb.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule (SessionCookieImpl.java:424) [C:/OracleAS/BC4J/lib/bc4jct.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule (SessionCookieImpl.java:419) [C:/OracleAS/BC4J/lib/bc4jct.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.adf.model.bc4j.DCJboDataControl.rebuildApplicationModule (DCJboDataControl.java:1517) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.adf.model.bc4j.DCJboDataControl.beginRequest (DCJboDataControl.java:1381) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.adf.model.binding.DCDataControlReference.getDataControl (DCDataControlReference.java:99) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.adf.model.BindingContext.get (BindingContext.java:457) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.adf.model.binding.DCUtil.findSpelObject (DCUtil.java:280) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.adf.model.binding.DCUtil.findSpelObject (DCUtil.java:248) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.adf.model.binding.DCUtil.findContextObject (DCUtil.java:383) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.adf.model.binding.DCIteratorBinding.<init> (DCIteratorBinding.java:127) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.uicli.binding.JUIteratorBinding.<init> (JUIteratorBinding.java:60) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding (JUIteratorDef.java:87) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding (JUIteratorDef.java:51) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.adf.model.binding.DCIteratorBindingDef.createExecutableBinding (DCIteratorBindingDef.java:277) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.adf.model.binding.DCBindingContainerDef.createExecutables (DCBindingContainerDef.java:296) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.adf.model.binding.DCBindingContainerDef.createBindingContainer (DCBindingContainerDef.java:425) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.adf.model.binding.DCBindingContainerReference.createBindingContainer (DCBindingContainerReference.java:54) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.adf.model.binding.DCBindingContainerReference.getBindingContainer (DCBindingContainerReference.java:44) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.adf.model.BindingContext.get (BindingContext.java:483) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.adf.model.BindingContext.findBindingContainer (BindingContext.java:313) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.adf.model.BindingContext.findBindingContainerByPath (BindingContext.java:633) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.adf.model.BindingRequestHandler.isPageViewable (BindingRequestHandler.java:268) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.adf.model.BindingRequestHandler.beginRequest (BindingRequestHandler.java:169) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter (ADFBindingFilter.java:161) [C:/OracleAS/BC4J/lib/adfm.jar (from <code-source> in /C:/OracleAS/j2ee/home/config/server.xml), by adf.oracle.domain:10.1.3.1]
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.invoke (ServletRequestDispatcher.java:621) [C:/OracleAS/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\OracleAS\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.forwardInternal (ServletRequestDispatcher.java:370) [C:/OracleAS/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\OracleAS\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.doProcessRequest (HttpRequestHandler.java:871) [C:/OracleAS/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\OracleAS\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.processRequest (HttpRequestHandler.java:453) [C:/OracleAS/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\OracleAS\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.serveOneRequest (HttpRequestHandler.java:221) [C:/OracleAS/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\OracleAS\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.run (HttpRequestHandler.java:122) [C:/OracleAS/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\OracleAS\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.run (HttpRequestHandler.java:111) [C:/OracleAS/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\OracleAS\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run (ServerSocketReadHandler.java:260) [C:/OracleAS/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\OracleAS\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run (ReleasableResourcePooledExecutor.java:303) [C:/OracleAS/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\OracleAS\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at java.lang.Thread.run (Thread.java:595) [jre bootstrap, by jre.bootstrap:1.5.0_06]

  • ADF Javascript problem: cannot get id of an component

    hi, am currently reading and executing examples from ADF faces Web UI Developers Guide for jdeveloper 11g.
    i am trying to execute example 3-7
    I have a <af:commandButton> component , whose id i want to display in an alert box.
    However i am unable to display it
    here is the sample code i made up:
    <f:view>
    <af:document title="hello from component" >
    <af:form >
    <af:commandButton text="show id" id="cmdbutton">
    <af:clientListener method="sayHello" type="action"/>
    </af:commandButton>
    </af:form>
    <f:facet name="metaContainer">
    <trh:script>
    <f:verbatim>
    function sayHello(actionEvent)
    var component= actionEvent.getSource();
    //Get the ID for the component
    var id = component.getId ;
    alert("Hello from " + id);
    </f:verbatim>
    </trh:script>
    </f:facet>
    </af:document>
    </f:view>
    Problem 1: when i run it, the alert box displays: Hello from undefined . i was expecting Hello from cmdButton
    Problem 2: in the line var id = component.getId, if i modify it as var id = component.getId() (just added the parentheses after method getId)
    no alert box is displayed. in javascript when a method accepts no parameters, its ok to call it with or without parentheses. why no alert
    box displayed when i add parentheses to getId.

    in javascript calling a method with or without parentheses is OK , then why the alert box in one case and no alert box in another?
    Because your assumption is wrong. Calling a function can only be done with the parenthesis. When you're not using them then you get a pointer on the function. For example:
    MyNamespace = new Object();
    MyNamespace.myUtilFunction = function()
        return "Hello world";
    alert(MyNamespace.myUtilFunction);
    alert(MyNamespace.myUtilFunction());The first alert will show something like
    "function()
    return "Hello world";
    While the second will print "Hello world". Furthermore, if a function does not exists, like "MyNamespace.myUnexistingFunction" then the first alert would show "undefined" while the second would never even pop as there would be an "MyNamespace.myUnexistingFunction is undefined" error. Consequently, if the alert is not showing with the parenthesis then I guess getId is not a valid function on UIComponent which is possible, I assumed there would be one because there's an id property, but then again, that id would not be very useful on the client side compared to the client id.
    Regards,
    ~ Simon

  • ADF Login problem

    Hi,
    I have implemented ADF Security along with a login bean and a home managed bean according to Frank Nimphius's article in the Oracle Magazine.
    Problems:
    1. In design view the login link is visible, but not in the browser (Firefox vers. 19).
    2. Only the logout link is visible
    3. When trying to logout the current page only refreshes
    Login bean
    package demo.view;
    import java.io.IOException;
    import java.util.Map;
    import javax.faces.application.FacesMessage;
    import javax.faces.context.ExternalContext;
    import javax.faces.context.FacesContext;
    import javax.security.auth.Subject;
    import javax.security.auth.callback.CallbackHandler;
    import javax.security.auth.login.FailedLoginException;
    import javax.security.auth.login.LoginException;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import oracle.adf.share.ADFContext;
    import oracle.adf.view.rich.event.DialogEvent;
    import weblogic.security.SimpleCallbackHandler;
    import weblogic.security.URLCallbackHandler;
    import weblogic.security.services.Authentication;
    import weblogic.servlet.security.ServletAuthentication;
    public class LoginBean {
        String _username = null;
        String _password = null;
        public static String USERNAMETOKEN = "_____demoOnlyUsernameAttrString___________";
        public static String PASSWORDTOKEN = "_____demoOnlyPasswordAttrString___________";
        public LoginBean() {
            super();
        public void setUsername(String _username) {
            this._username = _username;
        public String getUsername() {
            return _username;
        public void setPassword(String _password) {
            this._password = _password;
        public String getPassword() {
            return _password;
      public void onLoginAction(DialogEvent dialogEvent) {
          if (dialogEvent.getOutcome()== DialogEvent.Outcome.ok ){
            doLogin();
          else{
            //cancel, do nothing
      private String doLogin() {
          String un = _username;
          byte[] pw = _password.getBytes();
          FacesContext ctx = FacesContext.getCurrentInstance();
          HttpServletRequest request = (HttpServletRequest)ctx.getExternalContext().getRequest();
          try {         
              CallbackHandler handler = new URLCallbackHandler(un,pw);
              Subject mySubject = weblogic.security.services.Authentication.login(handler);
              weblogic.servlet.security.ServletAuthentication.runAs(mySubject, request);
              ServletAuthentication.generateNewSessionID(request);
              //save username and password. Note that in a real application this is
              //*NOT* what you should do unencrypted. Note that this is a demo
              //Store username , password in session for later use
              //when connecting to Twitter
              ADFContext adfctx = ADFContext.getCurrent();
              Map sessionScope = adfctx.getSessionScope();
              sessionScope.put(this.USERNAMETOKEN, un);
              sessionScope.put(this.PASSWORDTOKEN, new String(pw));
                String loginUrl;
                loginUrl = "/adfAuthentication?success_url=/faces" + ctx.getViewRoot().getViewId();
              HttpServletResponse response = (HttpServletResponse)ctx.getExternalContext().getResponse();
              sendForward(request, response, loginUrl);
          } catch (FailedLoginException fle) {
              FacesMessage msg =
                  new FacesMessage(FacesMessage.SEVERITY_ERROR, "Incorrect Username or Password",
                                   "An incorrect Username or Password" +
                                   " was specified");
              ctx.addMessage("d2:it35", msg);
          } catch (LoginException le) {
              reportUnexpectedLoginError("LoginException", le);
          return null;
      private void sendForward(HttpServletRequest request,
                               HttpServletResponse response, String forwardUrl) {
          FacesContext ctx = FacesContext.getCurrentInstance();
          RequestDispatcher dispatcher = request.getRequestDispatcher(forwardUrl);
          try {
              dispatcher.forward(request, response);
          } catch (ServletException se) {
              reportUnexpectedLoginError("ServletException", se);
          } catch (IOException ie) {
              reportUnexpectedLoginError("IOException", ie);
          ctx.responseComplete();
      private void reportUnexpectedLoginError(String errType, Exception e) {
          FacesMessage msg =
              new FacesMessage(FacesMessage.SEVERITY_ERROR, "Unexpected error during login",
                               "Unexpected error during login (" + errType +
                               "), please consult logs for detail");
          FacesContext.getCurrentInstance().addMessage("d2:it35", msg);
          e.printStackTrace();
        public String logout() {
            FacesContext ctx = FacesContext.getCurrentInstance(); 
            ExternalContext ectx = ctx.getExternalContext();
            String logoutUrl = "faces" + ctx.getViewRoot().getViewId();
            ((HttpServletRequest)ectx.getRequest()).getSession().invalidate();
            try {
                ectx.redirect(logoutUrl);
            } catch (IOException e) {
                e.printStackTrace();
            return null;
    }Home managed bean
    package demo.view;
    import java.io.IOException;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map;
    import javax.el.ELContext;
    import javax.el.ExpressionFactory;
    import javax.el.ValueExpression;
    import javax.faces.context.ExternalContext;
    import javax.faces.context.FacesContext;
    import javax.faces.event.ActionEvent;
    import oracle.adf.model.binding.DCIteratorBinding;
    import oracle.adf.view.rich.component.rich.RichPopup;
    import oracle.adf.view.rich.component.rich.data.RichTree;
    import oracle.adf.view.rich.component.rich.layout.RichPanelGroupLayout;
    import oracle.adf.view.rich.component.rich.nav.RichCommandImageLink;
    import oracle.adf.view.rich.context.AdfFacesContext;
    import oracle.jbo.Key;
    import oracle.jbo.uicli.binding.JUCtrlHierBinding;
    import oracle.jbo.uicli.binding.JUCtrlHierNodeBinding;
    import oracle.jbo.uicli.binding.JUCtrlHierTypeBinding;
    import oracle.jbo.uicli.binding.JUIteratorBinding;
    import org.apache.myfaces.trinidad.component.UIXSwitcher;
    import org.apache.myfaces.trinidad.event.SelectionEvent;
    import org.apache.myfaces.trinidad.model.CollectionModel;
    import org.apache.myfaces.trinidad.model.RowKeySet;
    public class HomeManagedBean {
        private RichTree locationsTree;
        private UIXSwitcher formSwitcher;
        private RichPanelGroupLayout formPanelGroup;
        private RichPopup popupP1;
        public HomeManagedBean() {
        public void setLocationsTree(RichTree locationsTree) {
            this.locationsTree = locationsTree;
        public RichTree getLocationsTree() {
            return locationsTree;
       * Custom managed bean method that takes a SelectEvent input argument to generically
       * set the current row corresponding to the selected row in the tree. Note that this
       * method is a way to replace the "makeCurrent" EL expression (#{bindings.<tree binding>.
       * treeModel.makeCurrent}that Oracle JDeveloper adds to the tree component SelectionListener
       * property when dragging a collection from the Data Controls panel. Using this custom
       * selection listener allows developers to add pre- and post processing instructions. For
       * example, you may want to enforce PPR on a specific item after a new tree node has been
       * selected. This methods performs the following steps
       * i.   get access to the tree component
       * ii.  get access to the ADF tree binding
       * iii. set the current row on the ADF binding
       * iv.  get the information about target iterators to synchronize
       * v.   synchronize target iterator
       * @param selectionEvent object passed in by ADF Faces when configuring this method to
       * become the selection listener
       * @author Frank Nimphius
      public void onTreeSelect(SelectionEvent selectionEvent) {
        /* REPLACES */
        //#{bindings.allLocations.treeModel.makeCurrent}
       /* custom pre processing goes here */
      //get the tree information from the event object
      RichTree tree1 = (RichTree) selectionEvent.getSource();
      //in a single selection case ( a setting on the tree component ) the added set only
      //has a single entry. If there are more then using this method may not be desirable.
      //Implicitly we turn the multi select in a single select later, ignoring all set
      //entries than the first
      RowKeySet rks2 = selectionEvent.getAddedSet();
      //iterate over the contained keys. Though for a single selection use case we only expect
      //one entry in here
      Iterator rksIterator = rks2.iterator();
      //support single row selection case
      if (rksIterator.hasNext()){
        //get the tree node key, which is a List of path entries describing the
        //location of the node in the tree including its parents nodes
        List key = (List)rksIterator.next();
       //get the ADF tree  binding to work with
        JUCtrlHierBinding treeBinding = null;
        //The Trinidad CollectionModel is used to provide data to trees and tables. In the
        //ADF binding case, it contains the tree binding as wrapped data
        treeBinding = (JUCtrlHierBinding) ((CollectionModel)tree1.getValue()).getWrappedData();
        //find the node identified by the node path from the ADF binding layer. Note that
        //we don't need to know about the name of the tree binding in the PageDef file because
        //all information is provided
        JUCtrlHierNodeBinding nodeBinding = nodeBinding = treeBinding.findNodeByKeyPath(key);
        //the current row is set on the iterator binding. Because all bindings have an internal
        //reference to their iterator usage, the iterator can be queried from the ADF binding
        //object
        DCIteratorBinding _treeIteratorBinding = null;
        _treeIteratorBinding = treeBinding.getDCIteratorBinding();
        Key rowKey = nodeBinding.getRowKey();
        JUIteratorBinding iterator = nodeBinding.getIteratorBinding();
        iterator.setCurrentRowWithKey(rowKey.toStringFormat(true));
        //get selected node type information
        JUCtrlHierTypeBinding typeBinding =  nodeBinding.getHierTypeBinding();
        // The tree node rule may have a target iterator defined. Target iterators are
        // configured using the Target Data Source entry in the tree node edit dialog
        // and allow developers to declaratively synchronize an independent iterator
        // binding with the node selection in the tree.
        String targetIteratorSpelString = typeBinding.getTargetIterator();     
        //chances are that the target iterator option is not configured. We avoid
        //NPE by checking this condition
        if (targetIteratorSpelString != null && !targetIteratorSpelString.isEmpty()) {
          //resolve SPEL string for target iterator
          DCIteratorBinding targetIterator = resolveTargetIterWithSpel(targetIteratorSpelString);
          //synchronize the row in the target iterator
          targetIterator.setCurrentRowWithKey(rowKey.toStringFormat(true));
        /********************* DISPLAY INPUT FORM FOR SELECTED NODE **********************/
        //get the name of the selectected tree node object. In this sample the value is
        //adf.sample.model.DepartmentsView,adf.sample.model.EmployeesView or
        //adf.sample.model.LocationsView
        String selectedNodeObjectRef = typeBinding.getStructureDefName();
        //write selected node object reference to session
        AdfFacesContext adfFacesCtx = AdfFacesContext.getCurrentInstance();
        Map viewScope = adfFacesCtx.getViewScope();
        viewScope.put("nodeRef",selectedNodeObjectRef);
        //refresh form display
        adfFacesCtx.addPartialTarget(this.getFormPanelGroup());
       * Helper method to resolve EL expression into DCIteratorBinding instance
       * @param spelExpr the SPEL expression starting with ${...}
       * @return DCIteratorBinding instance
      private DCIteratorBinding resolveTargetIterWithSpel(String spelExpr){
       FacesContext fctx = FacesContext.getCurrentInstance();
       ELContext elctx = fctx.getELContext();
       ExpressionFactory elFactory = fctx.getApplication().getExpressionFactory();
       ValueExpression valueExpr = elFactory.createValueExpression(elctx, spelExpr,Object.class);
       DCIteratorBinding dciter = (DCIteratorBinding) valueExpr.getValue(elctx);  
       return dciter;
        public void setFormPanelGroup(RichPanelGroupLayout formPanelGroup) {
            this.formPanelGroup = formPanelGroup;
        public RichPanelGroupLayout getFormPanelGroup() {
            return formPanelGroup;
        //based on the current state of the login link,
        //log user in or out
        public void onLoginLogout(ActionEvent actionEvent) {
            RichCommandImageLink rcil = (RichCommandImageLink) actionEvent.getComponent();
            String commandLinkIcon = rcil.getIcon();
            if (commandLinkIcon.indexOf("glbl_login_msg.gif") >0){
              //login
              RichPopup.PopupHints hints = new RichPopup.PopupHints();
              popupP1.show(hints);
            else{
              //logout        
              FacesContext fctx = FacesContext.getCurrentInstance();
              ExternalContext ectx = fctx.getExternalContext();
                try {
                    ectx.redirect("/adfAuthentication?logout=true&end_url=/faces/home.jspx");
                } catch (IOException e) {
                    e.printStackTrace();
        public void setPopupP1(RichPopup popupP1) {
            this.popupP1 = popupP1;
        public RichPopup getPopupP1() {
            return popupP1;
    }Source code in home page
    <af:commandImageLink text="Logout" id="commandImageLink1"
                                                              icon="#{resource['images:glbl_logout.gif']}"
                                                         rendered="#{securityContext.authenticated}" partialSubmit="true"
                                                         immediate="false"
                                                              inlineStyle="font-family:Arial, Helvetica, sans-serif; font-size:11px; color:White;"
                                                                 action="#{LoginBean.logout}"/>
                                         <af:commandImageLink text="Login" id="cil1"
                                                              icon="#{resource['images:glbl_login_msg.gif']}"
                                                         rendered="#{!securityContext.authenticated}"
                                                              inlineStyle="font-family:Arial, Helvetica, sans-serif; font-size:11px; color:White;"
                                                              action="#{LoginBean.toString}">
                                        <af:showPopupBehavior popupId="p1" triggerType="action" align="startAfter"
                                                              alignId="cil1"/>
                                    </af:commandImageLink>
                                    <af:popup id="p1" binding="#{HomeManagedBean.popupP1}">
                                        <af:dialog id="d2" title="Please Login" type="okCancel" closeIconVisible="false"
                                                   modal="true" stretchChildren="none"
                                                   dialogListener="#{LoginBean.onLoginAction}">
                                            <af:panelFormLayout id="pfl5">
                                                <af:inputText label="Username" id="it34" columns="20"
                                                              value="#{LoginBean.username}"/>
                                                <af:inputText label="Password" id="it35" secret="true" columns="20"
                                                              value="#{LoginBean.password}"/>
                                                <af:message id="m2" for="it35" messageType="error"/>
                                            </af:panelFormLayout>
                                        </af:dialog>
                                    </af:popup>Other settings:
    1. No welcome page set in web.xml
    2. No redirect page set in jazn-data.xml
    3. Users, Enterprise and application roles set in ADF Security
    4. Managed Beans registered in adfc-config.xml
    Help greatly appreciated!

    Without going through all the code:
    the visibility of the links depends on
    logout:
    rendered="#{securityContext.authenticated}"
    login:
    rendered="#{!securityContext.authenticated}"This means, if you see the logout link, but not the loging link, the framework assumes that you are logged in already.
    Investigate in this direction.
    Timo

  • JDeveloper ADF Faces Problem: Expression language

    Error(): Expression Language not supported in compile time attribute test
    I have followed an ADF Faces example from the Oracle Website. Concerning a database + ADF Faces
    http://www.oracle.com/technology/pub/articles/cioroianu_jsfadf_v4.html
    I followed the tutorial correct but everytime i try to run it. I get following error:
    Error(): Expression Language not supported in compile time attribute test
    It has something to do with following line of code
    <c:if test="${subscriber == null || !subscriber.loggedIn}">
    The error appears on every page where "<c:" appears.
    I have imported the right class library
    <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
    Does anybody have any idea what i can do?

    Dear Tim,
    What a chance!!! I've got the same problem as you?!
    I've tried almost everything, but still haven't succeeded to solve it!
    Hopefully someone can help us.
    Greetings

  • ADF BC problem

    Hi,
    I just got the Oracle Jdeveloper 10g Handbook by Oracle Press. When trying the first example I run into some problem. I am supposed to create a JSP page based on ADF BC. The problem is I cant find the wizard for setting up this. The book says I should find business components under the project technologies when choosing a new gallery.
    Is there some thing I have to do to enable ADF BC. I'm using developer preview 10.1.3.
    Please help
    /Stefan

    The book is about the production version of Oracle JDeveloper which is 10.1.2. - the 10.1.3 version you are using is still not in production, and the preview that you have doesn't have the ADF BC parts in it.
    So download 10.1.2 from http://otn.oracle.com/products/jdev

  • ADF Styling Problem,

    Hello everybody ,
    i have a problem styling an ADF Application , i followed this example
    http://technology.amis.nl/blog/5722/using-adf-faces-11g-skinning-for-setting-the-styles-of-specific-component-instances-or-groups-of-instances
    and i created the following Css in my customskin.css
    af|inputText::label
    color:Blue;
    but it doesn't change anything , the labels of the inputtexts are still brown according to blafplus-rich theme of oracle .
    The project doesn't apply the blue color to the labels of the inputText boxes
    Second thing , in the above article the author told that the CSS editor will autocomplete code with you whereas it recognize neither inputText nor Label element . How can i solve this problem too ?
    How can i solve this problem ?
    Please help me urgently !

    Hi,
    Second thing , in the above article the author told that the CSS editor will autocomplete code with you whereas it recognize neither inputText nor Label element . How can i solve this problem too ?
    Tools --> Preferences --> CSS
    Enable ADF CSS
    Frank

  • ADF valuechangeListener Problem

    Hi,
    I am facing problem with ADF selectonechoice valuechangeListener.
    Problem is i have four valuechangeListeners. those are dependent List Boxes. If i perform action on one valuechangeListener all other VC 's also calling. due to this i am facing problems. how to prevent calling other VCs. why it is calling other VCS also. please reply me very urgent
    Thanks
    Jyothi

    Hi,
    a value change listener fires for any value that has been changed in a form (assuming the component has a ValueChangeListener applied). So obviously in your case more than one field has been changed, which shouldn't be the case if autosubmit=true is used
    Frank

Maybe you are looking for