JDev 10.1.3, ADF BC4j and ADF Swing - access programmatically

In JDev 10.1.2 I could access methods in my App modules programmatically from a JClient method using, the following call:
((<your App Module Name>) panelBinding.getApplicationModule()).<your Method>;
In JDev 10.1.3 I cannot get this to work. How do a access a ADF app module method programmatically from JClient?

Hi,
can you try
((<your App Module Name>) panelBinding.getApplication().getDataProvider()).<your method>;
Frank

Similar Messages

  • BC4J and Info swing in JD3.1

    Hi,
    I used JDeveloper 3.0 for now and have developed a small Applet using BC4J with infoSwings accessing the application module. When I try to build the same Applet in JDeveloper 3.1 I get an error message when running. The message says:
    DAC-405: SessionInfo: Application module creation failed;
    Can anyone help me?
    Thanks.

    I imagine that the issue is with the location of your class files. The applet is going to assume that the bc4j class files are under the same root directory as your applet. So if your applet classes are going to [JDev3.1]\myclasses\applet1\, then your bc4j classes should also be under myclasses, for example [JDev3.1]\myclasses\bc4jproj1\. To rectify this, set the "Output root directory" for the bc4j project (using Project->Procect Properties) to the same output root directory of your applet, for example [JDev3.1]\myclasses. Recompile the bc4j project, then try running your applet again. If the problem persists, click on the Details button when the error pops up and let us know this extra information.
    -- Brian

  • Oracle ADF Swing and Postgressql

    Hello,
    We have launched a product development initiative with postgress as database and Oracle Jdeveloper/ADF as development tool. However, we are seeing some basic loss of service with ADF when Postgress is backend. For e.g. when we create an ADF Swing application and in the model , building an ADF business component from table, it does not populate the model classes and table definitions in application module window when back end is postgress. However, if backend is Oracle, then it does populate thus allowing us to drag all attributes on the ADF Swing canvas.
    Have you faced similiar situation?
    Please advise.
    Darsh

    User please tell us your jdev version!
    The certification matrix http://www.oracle.com/technetwork/developer-tools/jdev/documentation/1212-cert-1964670.html#Abrams-SupportInformation-Databases does not show postgres as certified database. So you only get ' limited support', whatever this means.
    Timo

  • Binding in ADF swing & jdev 10.1.3

    Hi
    I my jdev 10.1.3 AE I have a swing panel with a jTable bound to a ADF view object using
    jTable1.setModel((TableModel)panelBinding.bindUIControl("CurrencyRateView2", jTable1));
    in the jbInit() method generated by the wizard
    Later in the code I need the JUTableBinding in the jTable1 and uses:
    JUTableBinding binding = ((JUTableSortModel)jTable1.getModel()).getTableBinding();
    this works fine in jdev 10.1.3 EA but In jdev 10.1.3 I now get a classcastexception. Is there another way I can get the binding info on the table (I need to call the binding.getRangeStart() method?
    :-) johnny
    Denmark

    repost

  • ADF Swing and EL

    Hello,
    I am creating a swing view for my ADF application (quite new for me, swing...) and I'd like to know how I can use localization for items such as frame title, menu item names, etc.
    I'm using JDeveloper 11.1.1.3.0

    Hi,
    you use Java resource bundles and reference the keys in there. In this regard, ADF Swing is not different from any Java Swing example you find using Google
    Frank

  • ADF swing forms and panels developer documentation

    Can anyone recommend me a ADF swing forms and panels documentation or tutorials?
    Thanks in advance.

    Good question cherem.
    Last I heard ... "its not available and still a plan":
    ADF Swing follow-on developer's guide
    regards
    Jan Vervecken

  • ADF Swing and connection pooling

    I am using Java Web Start, ADF Swing, ADF Business Components and Oracle database 10g.
    My application needs to support 300 users.
    Can I use database connection pooling in this configuration?
    Any relevant document about this subject? Thanks.

    Hi,
    only if you would deploy ADF BC as EJB. Otherwise the ADF BC sources are on the client, which means that each client creates its own connection
    Frank

  • ADF/Swing/JClient application migration problem from 10.1.3.5 to 11.1.1.3

    Hi,
    I am migrating an application from JDev 10.1.3.5 to 11.1.1.3 in order to deploy it to a java 1.6 JVM which is only certified with JDev 11.1.1.3
    No matter what I do the DataBindings.cpx file content is emptied by the IDE, the migration was successful => no errors displayed.
    I tried to solve the problem by doing the following but the file stays empty:
    1) the removing the project from the application and adding it again, migration is done again => FILE EMPTY
    2) adding manually the content in the source file then running XML validation => no errors, I close the file, reopen it and EMPTY AGAIN!
    Your is needed and will be appreciated!
    Thanks
    Fred
    Content of file DataBindings.cpx:
    <?xml version='1.0' encoding='UTF-8' ?>
    <Application xmlns="http://xmlns.oracle.com/adfm/application" id="DataBindings"
    Package="" version="10.1.2.18.73" SeparateXMLFiles="false"
    ClientType="JClient">
    <pageMap/>
    <pageDefinitionUsages>
    <page id="PanelWeventEditParamVO1UIModel"
    path="com.xxx.view.web.PanelWeventEditParamVO1UIModel"/>
    <page id="TogglePanelPrintSizeDpiUIModel"
    path="com.xxx.view.lab.TogglePanelPrintSizeDpiUIModel"/>
    <page id="PanelPhotographerLabROfPhotolabVO1UIModel"
    path="com.xxx.view.web.PanelPhotographerLabROfPhotolabVO1UIModel"/>
    <page id="PanelWeventEditStatusVO1UIModel"
    path="com.xxx.view.web.PanelWeventEditStatusVO1UIModel"/>
    <page id="MDDPhotographerGalleryWelcomeUIModel"
    path="com.xxx.view.web.MDDPhotographerGalleryWelcomeUIModel"/>
    <page id="PanelTranslationCountryRegionLangTableVO1UIModel"
    path="com.xxx.view.system.PanelTranslationCountryRegionLangTableVO1UIModel"/>
    <page id="PanelDestGroupDestRTableVO1UIModel"
    path="com.xxx.view.system.PanelDestGroupDestRTableVO1UIModel"/>
    <page id="PanelWeventEditPackageVO1UIModel"
    path="com.xxx.view.web.PanelWeventEditPackageVO1UIModel"/>
    <page id="PanelSiteTariffPaymentTableVO1UIModel"
    path="com.xxx.view.system.PanelSiteTariffPaymentTableVO1UIModel"/>
    <page id="PanelPhotolabClobFreePage1L1VO1UIModel"
    path="com.xxx.view.web.PanelPhotolabClobFreePage1L1VO1UIModel"/>
    <page id="PhotoWebshopDesktopUIModel"
    path="com.xxx.view.start.PhotoWebshopDesktopUIModel"/>
    <page id="PanelItemGiftKitItemGiftTableVO1UIModel"
    path="com.xxx.view.lab.PanelItemGiftKitItemGiftTableVO1UIModel"/>
    <page id="TabbedFormUIModel"
    path="com.xxx.view.system.TabbedFormUIModel"/>
    <page id="PanelEntityPhotolabVO1UIModel"
    path="com.xxx.view.system.PanelEntityPhotolabVO1UIModel"/>
    <page id="PanelAddressVO1UIModel"
    path="com.xxx.view.web.PanelAddressVO1UIModel"/>
    <page id="SiteEventTypesAndTariffsFormUIModel"
    path="com.xxx.view.start.SiteEventTypesAndTariffsFormUIModel"/>
    <page id="PanelSiteVO1UIModel"
    path="com.xxx.view.system.PanelSiteVO1UIModel"/>
    <page id="PanelSiteBonusTypeVO1UIModel"
    path="com.xxx.view.system.PanelSiteBonusTypeVO1UIModel"/>
    <page id="PanelWeventAccountFileUploaderUIModel"
    path="com.xxx.view.web.PanelWeventAccountFileUploaderUIModel"/>
    <page id="PanelLabelWhereVO1UIModel"
    path="com.xxx.view.system.PanelLabelWhereVO1UIModel"/>
    <page id="PanelLabelWhatVO1UIModel"
    path="com.xxx.view.system.PanelLabelWhatVO1UIModel"/>
    <page id="PanelLabelWhoVO1UIModel"
    path="com.xxx.view.system.PanelLabelWhoVO1UIModel"/>
    </pageDefinitionUsages>
    <dataControlUsages>
    <BC4JDataControl Configuration="BaseTablesAMLocal"
    Package="com.xxx.model.system"
    xmlns="http://xmlns.oracle.com/adfm/datacontrol"
    id="BaseTablesAMDataControl"
    FactoryClass="oracle.adf.model.bc4j.DataControlFactoryImpl"
    syncMode="Immediate">
    <Parameters>
    <Parameter name="FactoryClass"
    value="oracle.adf.model.bc4j.DataControlFactoryImpl"/>
    <Parameter name="SupportsFindMode" value="true"/>
    <Parameter name="Configuration" value="BaseTablesAMLocal"/>
    <Parameter name="SupportsTransactions" value="true"/>
    <Parameter name="Package" value="com.xxx.model.system"/>
    <Parameter name="SubType" value="DCBC4J"/>
    <Parameter name="Name" value="BaseTablesAMDataControl"/>
    <Parameter name="id" value="BaseTablesAMDataControl"/>
    </Parameters>
    </BC4JDataControl>
    <BC4JDataControl Configuration="SiteTablesAMLocal"
    Package="com.xxx.model.system"
    xmlns="http://xmlns.oracle.com/adfm/datacontrol"
    id="SiteTablesAMDataControl"
    FactoryClass="oracle.adf.model.bc4j.DataControlFactoryImpl"
    syncMode="Immediate">
    <Parameters>
    <Parameter name="FactoryClass"
    value="oracle.adf.model.bc4j.DataControlFactoryImpl"/>
    <Parameter name="SupportsFindMode" value="true"/>
    <Parameter name="Configuration" value="SiteTablesAMLocal"/>
    <Parameter name="SupportsTransactions" value="true"/>
    <Parameter name="Package" value="com.xxx.model.system"/>
    <Parameter name="SubType" value="DCBC4J"/>
    <Parameter name="Name" value="SiteTablesAMDataControl"/>
    <Parameter name="id" value="SiteTablesAMDataControl"/>
    </Parameters>
    </BC4JDataControl>
    <BC4JDataControl Configuration="SystemViewAMLocal"
    Package="com.xxx.model.system"
    xmlns="http://xmlns.oracle.com/adfm/datacontrol"
    id="SystemViewAMDataControl"
    FactoryClass="oracle.adf.model.bc4j.DataControlFactoryImpl"
    syncMode="Immediate">
    <Parameters>
    <Parameter name="FactoryClass"
    value="oracle.adf.model.bc4j.DataControlFactoryImpl"/>
    <Parameter name="SupportsFindMode" value="true"/>
    <Parameter name="Configuration" value="SystemViewAMLocal"/>
    <Parameter name="SupportsTransactions" value="true"/>
    <Parameter name="Package" value="com.xxx.model.system"/>
    <Parameter name="SubType" value="DCBC4J"/>
    <Parameter name="Name" value="SystemViewAMDataControl"/>
    <Parameter name="id" value="SystemViewAMDataControl"/>
    </Parameters>
    </BC4JDataControl>
    <BC4JDataControl Configuration="PhotolabSetupAMLocal"
    Package="com.xxx.model.lab"
    xmlns="http://xmlns.oracle.com/adfm/datacontrol"
    id="PhotolabSetupAMDataControl"
    FactoryClass="oracle.adf.model.bc4j.DataControlFactoryImpl"
    syncMode="Immediate">
    <Parameters>
    <Parameter name="FactoryClass"
    value="oracle.adf.model.bc4j.DataControlFactoryImpl"/>
    <Parameter name="Configuration" value="PhotolabSetupAMLocal"/>
    <Parameter name="SupportsFindMode" value="true"/>
    <Parameter name="SupportsTransactions" value="true"/>
    <Parameter name="Name" value="PhotolabSetupAMDataControl"/>
    <Parameter name="SubType" value="DCBC4J"/>
    <Parameter name="Package" value="com.xxx.model.lab"/>
    <Parameter name="id" value="PhotolabSetupAMDataControl"/>
    </Parameters>
    </BC4JDataControl>
    <BC4JDataControl Configuration="PhotolabWebAMLocal"
    Package="com.xxx.model.web"
    xmlns="http://xmlns.oracle.com/adfm/datacontrol"
    id="PhotolabWebAMDataControl"
    FactoryClass="oracle.adf.model.bc4j.DataControlFactoryImpl"
    syncMode="Immediate">
    <Parameters>
    <Parameter name="FactoryClass"
    value="oracle.adf.model.bc4j.DataControlFactoryImpl"/>
    <Parameter name="Configuration" value="PhotolabWebAMLocal"/>
    <Parameter name="SupportsFindMode" value="true"/>
    <Parameter name="SupportsTransactions" value="true"/>
    <Parameter name="Name" value="PhotolabWebAMDataControl"/>
    <Parameter name="SubType" value="DCBC4J"/>
    <Parameter name="Package" value="com.xxx.model.web"/>
    <Parameter name="id" value="PhotolabWebAMDataControl"/>
    </Parameters>
    </BC4JDataControl>
    </dataControlUsages>
    </Application>

    Ok it seems I have resolved my problem see end of thread
    Still have following relevant question for an Oracle team member:
    Why is my <pageMap/> empty in my migrated application cpx file?
    => when I create a new ADF Swing application this tag is not empty:
    in new file:
    <pageMap>
    <page path="view.PanelPhotolabVO1" usageId="view_PanelPhotolabVO1PageDef"/>
    </pageMap>
    <pageDefinitionUsages>
    <page id="view_PanelPhotolabVO1PageDef"
    path="view.pageDefs.PanelPhotolabVO1PageDef"/>
    in migrated file:
    <pageMap/>
    <pageDefinitionUsages>
    <page id="PanelWeventEditParamVO1UIModel"
    path="com.photoswing.view.web.PanelWeventEditParamVO1UIModel"/>
    Solution to empty migrated cpx file:
    It seems the migration utility couldn't cope with the BC4JDataControl definitions, so I edited them manually.
    Example of 10.1.3... syntax:
    <dataControlUsages>
    <BC4JDataControl Configuration="BaseTablesAMLocal"
    Package="com.xxx.model.system"
    xmlns="http://xmlns.oracle.com/adfm/datacontrol"
    id="BaseTablesAMDataControl"
    FactoryClass="oracle.adf.model.bc4j.DataControlFactoryImpl"
    syncMode="Immediate">
    <Parameters>
    <Parameter name="FactoryClass"
    value="oracle.adf.model.bc4j.DataControlFactoryImpl"/>
    <Parameter name="SupportsFindMode" value="true"/>
    <Parameter name="Configuration" value="BaseTablesAMLocal"/>
    <Parameter name="SupportsTransactions" value="true"/>
    <Parameter name="Package" value="com.photoswing.model.system"/>
    <Parameter name="SubType" value="DCBC4J"/>
    <Parameter name="Name" value="BaseTablesAMDataControl"/>
    <Parameter name="id" value="BaseTablesAMDataControl"/>
    </Parameters>
    </BC4JDataControl>
    New syntax:
    <BC4JDataControl id="BaseTablesAMDataControl"
    Package="com.xxx.model.system"
    FactoryClass="oracle.adf.model.bc4j.DataControlFactoryImpl"
    SupportsTransactions="true" SupportsFindMode="true"
    SupportsRangesize="true" SupportsResetState="true"
    SupportsSortCollection="true"
    Configuration="BaseTablesAMLocal" syncMode="Immediate"
    ExceptionMode="Immediate"
    xmlns="http://xmlns.oracle.com/adfm/datacontrol"/>
    Tip:
    Do this editing outside JDev with ide closed to avoid crashing it.
    Regards
    Fred

  • Help !! help !! mysql bc4j and jheadstart & uix

    hi please help me
    i make a bc4j project against mysql database server
    i used jdbc connection with the wy as described in the document :How To Use ADF Business Components with MySQL
    url:http://www.oracle.com/technology/products/jdev/howtos/10g/MySql/MySQL_and_BC_HowTo.html
    and i do not forgete to add all parameters to the jdbc connection url
    for example :jdbc:mysql://DESIGNSVR/test?&ultraDevHack=true&capitalizeTypeNames=yes&pedantic=yes&sqlmode=oracle
    so i use the bc4j tester and i navigate into records insert ,update ,delete !! no problems
    but when i moved to ViewController project end enable jheadstart and create new jheadstart application structure file every things go so well !! no problems
    i run the appliction first moved to index.html page as usual with jheadstart then when i start the link Start AppModule:StartAppModule.do
    i find the message 500 internal server error
    why?? please help me
    nieo1977
    30-3-2006

    when i moved to ViewController project open struts page folow diagram
    and put data page and moved to uix editor !!!!
    simple drag and drop operation to data controll unit as read only table
    run the program the browser : ie 6 tell that the page cannot be displayed
    and in Embedded OC4J window i have the folowing:
    Target URL -- http://hussam:8988/mysqljapp-adfonly-context-root/dept.do
    06/04/04 20:23:57 Oracle Application Server Containers for J2EE 10g (10.1.2.0.2) initialized
    04/04/2006 08:24:01 &#1605; org.apache.struts.util.PropertyMessageResources <init>
    INFO: Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true
    04/04/2006 08:24:01 &#1605; org.apache.struts.util.PropertyMessageResources <init>
    INFO: Initializing, config='org.apache.struts.action.ActionResources', returnNull=true
    04/04/2006 08:24:01 &#1605; org.apache.struts.util.PropertyMessageResources <init>
    INFO: Initializing, config='mypackage1.ApplicationResources', returnNull=true
    04/04/2006 08:24:04 &#1605; org.apache.struts.action.RequestProcessor processException
    WARNING: Unhandled Exception thrown: class oracle.jbo.common.ampool.ApplicationPoolException what is the problem ???
    it may somthing about aplicationmodule pool isn't it??????
    my jdeveloper version is 10.1.2.1.0 build(1913)
    and mysql database server version is 5.0 18-nt
    can you sandra help me please
    nieo1977

  • 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 Swing - Moving bound components to another panel (actually JFrame)

    We have an old(er) application developed on ADF Swing connecting to an Oracle Lite database using jdev 10.1.3.5. Everything works fine, but we want to reduce some screen clutter and move some fields off the main panel to be revealed in a separate "window" if the user presses a button. I created a JFrame (obviously not with the jdev designer as it doesn't seem to know what a JFrame is) and a JPanel where I move the "Address" fields (some fields that are only occasionally used). I drop the JPanel into the JFrame, make sure all of the code is in the jbInit section, add a button to do the setVisible and voila! As I scroll through the records in the main screen after a Find Execute, the address information changes along with it. However, if I try to enter Find mode and use one of the Address fields (like City), these fields do NOT become part of the find conditions. And yes, they are query-able in the BC4J component and yes, it did work when they were all on one pane.
    I suspect its the fact that the components don't identify themselves as being part of the panel that is bound to the iterator. So, how SHOULD I have done this so that I can use these fields in a Find AND in the results?

    Hi,
    try
    jTable1.setModel((TableModel)panelBinding.bindUIControl("JobHistoryView1",jTable1));
    jTable1.setColumnSelectionAllowed(true);
    jTable1.setRowSelectionAllowed(true);
    jTable1.getColumnModel().addColumnModelListener(new TableColumnModelListener(){
    public void columnAdded(TableColumnModelEvent e) {}
    public void columnRemoved(TableColumnModelEvent e){}
    public void columnMoved(TableColumnModelEvent e) {}
    public void columnMarginChanged(ChangeEvent e) {}
    public void columnSelectionChanged(ListSelectionEvent e) {
    boolean editMode = jTable1.editCellAt(jTable1.getSelectedRow(),jTable1.getSelectedColumn());
    if (editMode){
    jTable1.changeSelection(jTable1.getSelectedRow(),jTable1.getSelectedColumn(), false, true);
    Note that this works not 100% on row change, so make sure the select boxes are not on the first column
    Frank

  • How to validate in ADF Swing application

    I created an app using ADF Swing:Holiday. My table is Holiday has: HolidayID, Holiday, Reason, Desc. I only want to show Holiday, Reason, Desc. Holiday is Date type. Now I want to validate if user type an ilegal format date?

    Are you using application express?
    For ADF try the JDev discussion forum.
    JDeveloper and ADF

  • ADF Swing Graph Issue

    Hi,
    I am working on ADF Swings where i need to drag and drop the Data controller as Graph. I have Created a Datacontroller and Drap and Drop it as the Graph. I am able to see the Graph (BigGraphDef.xml is created). I am not able to set the o1, y1,y2 axis values for the graph . I am using JDev 11.1.1.3.
    Any Pointers in this regard will be highly helpful.
    TIA

    Can any one reply to the above question?

  • Develop in JDev 10.1.3.5, test and deploy to Oracle Weblogic 11g

    Hi,
    I have run into some important issues when trying to migrate my Jdev 10.1.3.5 applications to JDev 11g for deployment to the latest Oracle Weblogic Application server version, see threads:
    Thread: migration problems ADF/ Struts 10.1.3 -> 11.1.1.3
    migration problems ADF/ Struts 10.1.3 -> 11.1.1.3
    Thread: ADF/Swing/JClient application migration problem from 10.1.3.5 to 11.1.1.3
    Re: ADF/Swing/JClient application migration problem from 10.1.3.5 to 11.1.1.3
    - so using JDev 10.1.3.5 with deployment to Oracle Weblogic 11g is a must for us.
    Questions:
    1) Is there a way to use Oracle WEBLOGIC 10.3 for debugging inside JDev 10.1.3.5?
    2) Can I develop with JDev 10.1.3.5 + JDK 1.5 and create an ear to deploy to Oracle WEBLOGIC 10.3 Application server with JDK 1.6 64bits?
    3) Which version of ADF should I install on Oracle WEBLOGIC 10.3 to run my 10.1.3.5 application?
    Your help will be appreciated
    Fred

    Is there a way to use Oracle WEBLOGIC 10.3 for debugging inside JDev 10.1.3.5?While you can't replace the embedded OC4J - you can use an external WLS server and do remote debugging on it. http://www.oracle.com/technetwork/developer-tools/jdev/remotedebugwls-086628.html
    From inside JDeveloper you can also deploy directly to the WLS server.
    Can I develop with JDev 10.1.3.5 + JDK 1.5 and create an ear to deploy to Oracle WEBLOGIC 10.3 Application server with JDK 1.6 64bits?Yes you can. Note that so far we haven't officially certified ADF 10.1.3 on WLS 10.3 - but from various customers and testings we think it works ok. We might certify this combination in the future.
    Follow these steps to get the deployment working:
    http://www.oracle.com/technetwork/developer-tools/jdev/deployingwls-091640.html
    Which version of ADF should I install on Oracle WEBLOGIC 10.3 to run my 10.1.3.5 application?You always install the version of ADF that matches the one your application was developed and compiled with.

  • Adf/swing binding problem

    Hi all,
    Friends i need your help.
    I was a bit confused as i started developing an adf/swing application. I know that this project is not supported any more but i honestly believe that there are a lot of people still using it.
    I've already faced with a number of problems and successfully solved them but the one is really strange.
    Before describing it let me ask one preliminary question. It’s very important for me, but if it is too much …. skip the first question since the second one is the most important.
    1. I’m creating a multiframe application where I have one main window (with a desktop pane) which does not include any bindings and is used for invoking internal frames only which in their turn have been created by dragging and dropping data controls.
    Since JDeveloper only allows generating skeletons for stand-alone frames and there is lack of information concerned with adf/swing developing I’m trying to fit the automatically generated code for my purpose by myself.
    I obsessively ask some GURU to check my strategy and say whether I’m doing it right.
    First I create the BindingContext object in the main frame:
    BindContext ctx = newBindingContext();
    public MainFrame() {…………      
    try {
    JUMetaObjectManager.setErrorHandler(new JUErrorHandlerDlg());
    JUMetaObjectManager mgr = JUMetaObjectManager.getJUMom();
    mgr.setJClientDefFactory(null);
    ctx.put(DataControlFactory.APP_PARAM_ENV_INFO, new JUEnvInfoProvider());
    ctx.setLocaleContext(new DefLocaleContext(null));
    HashMap map = new HashMap(4);
    map.put(DataControlFactory.APP_PARAMS_BINDING_CONTEXT, ctx);
    mgr.loadCpx("minit.org.view.DataBindings.cpx" , map);
    DCDataControl app = (DCDataControl)ctx.get("AppModule1DataControl");
    app.setClientApp(DCDataControl.JCLIENT);
    } catch (Exception ex) {
    JUMetaObjectManager.reportException(null, ex, true);
    System.exit(1);
    Then I pass the BindingContext object into the internal frames constructors, i.e.
    private void jMenuUnitVoc_actionPerformed(ActionEvent e) {
    this.getJMenuUnitVoc().setEnabled(false);
    FormCreateUnitView1 unitVoc = new FormCreateUnitView1 (ctx);
    unitVoc.setVisible (true);
    this.deskTopPane.add (unitVoc);
    Then I setup the panel binding for a particular JinternalFrame instance through the automatically generated setBindingContext() method:
    public FormCreateUnitView1(BindingContext ctx) {
    try {
    this.setBindingContext(ctx);
    } catch (Exception ex) {
    JUMetaObjectManager.reportException(null, ex, true);
    System.exit(1);
    This predefined setBindingContext () method looks like this:
    public void setBindingContext(BindingContext bindCtx) {
    if (panelBinding.getPanel() == null) {
    panelBinding = panelBinding.setup(bindCtx, this);
    registerProjectGlobalVariables(bindCtx);
    panelBinding.refreshControl();
    try {
    jbInit();
    panelBinding.refreshControl();
    } catch (Exception ex) {
    panelBinding.reportException(ex);
    panelBinding instance variable is declared by default as
    private JUPanelBinding panelBinding = new JUPanelBinding("FormCreateUnitView1PageDef");
    when the internal frame is getting closed the panel binding is released:
    public void doDefaultCloseAction() {
    _popupTransactionDialog();
    panelBinding.releaseDataControl(); statusBar.release();
    MainFrame myFrame = (MainFrame)this.getDesktopPane().getParent().getParent().getParent().getParent();
    myFrame.getJMenuUnitVoc().setEnabled(true);
    super.doDefaultCloseAction();
    Why I’m asking about this is because I met another syntax which is known to be commonly used:
    Something like this:
    this is the code I use to (re)create the panel,
    the setBindingContext method.
    public void setBindingContext(BindingContext bindCtx)
    String detail2BCName = "myName";
    if (bindCtx.get(detail2BCName) == null)
    DCBindingContainerDef bcdef = (DCBindingContainerDef) JUMetaObjectManager.getJUMom() .findLoadedObject("mypackage." + detail2BCName);
    DCBindingContainer bc = bcdef.createBindingContainer(bindCtx);
    bc.setName(detail2BCName);
    bindCtx.put(detail2BCName, bc);
    // ... then calls to jbInit etc.
    this is the code I use to release the binding when
    the window is closed
    getPanelBinding.release();
    getPanelBinding.getBindingContext().remove(superPanelBinding.getName());
    …but this syntax is badly documented, so I’m a bit confused about which is right… my code works pretty fine (all master and detail frames are synchronized and all that…) except for one issue I’m going to describe.
    I’m waiting for your opinions….please help make it clear.
    THE MAIN PROBLEM
    2. I’ve got a master/detail internal frame. When I make any changes in it and then commit them through a navigation bar I get the following exception as I try to close it later through the standard close icon:
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
         at oracle.jbo.uicli.jui.JUSVUpdateableFocusAdapter.focusLost(JUSVUpdateableFocusAdapter.java:71)
         at java.awt.AWTEventMulticaster.focusLost(AWTEventMulticaster.java:172)
         at java.awt.Component.processFocusEvent(Component.java:5380)
         at java.awt.Component.processEvent(Component.java:5244)
         at java.awt.Container.processEvent(Container.java:1966)
         at java.awt.Component.dispatchEventImpl(Component.java:3955)
         at java.awt.Container.dispatchEventImpl(Container.java:2024)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1810)
         at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:840)
         at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:530)
         at java.awt.Component.dispatchEventImpl(Component.java:3841)
         at java.awt.Container.dispatchEventImpl(Container.java:2024)
         at java.awt.Window.dispatchEventImpl(Window.java:1774)
         at java.awt.Component.dispatchEvent(Component.java:3803)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
         at java.awt.SequencedEvent.dispatch(SequencedEvent.java:93)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    … few things
    -1. If I commit a transaction through the popup dialog the exception doesn’t emerge.
    -2. If I remove the “panelBinding.releaseDataControl(); statusBar.release();” from doDefaultCloseAction() method the exception doesn’t emerge but then I get another well-known exception as I try to reopen the internal frame.
    -3. If I debug doDefaultCloseAction() method step by step the exception doesn’t emerge.
    -4. Finally…. the exception doesn’t suspend the application it just goes on as if nothing has happened (the stack is only displayed on the console).
    I learned about one similar problem here:
    JClient Threading Bug in JUCtrlAttrsBinding?
    but the bug described has been fixed in ver 10.1.3.3.
    I'm using Jdeveloper 10.1.3.3
    So, please ...please…please help me overcome it.
    Best regards. Alex.
    Edited by: Timin on Mar 31, 2009 1:52 PM

    Sorry for being a bit annoying...
    But .... no one has answered my question yet......though you promised...
    Eventually I’ve somehow solved the trouble by replacing the “ panelBinding.releaseDataControl ” with
    “ panelBinding.release(DCDataControl.REL_VIEW_REFS)
    panelBinding.getBindingContext().remove(panelBinding.getName());”
    In the doDefaultCloseAction() method
    it seems like it works good now.
    I reconstructed a bit my code
    Now I’m invoking the internal frames this way:
    private void jMenuDeptVoc_actionPerformed(ActionEvent e) {
    FormCreateDeptView deptVoc = new FormCreateDeptView();
    this.getJMenuDeptVoc().setEnabled(false);
    deptVoc.setBindingContext(panelBinding.getBindingContext());
    this.deskTopPane.add(deptVoc);
    I looked through the following how to:
    http://www.oracle.com/technology/products/jdev/howtos/10g/jcmultiform/index.html
    there is an additional method there, which is invoked before creating a new frame where the binding container for the panel binding is created:
    private void createDetailBinding()
    String detailBCName = "DetailFormUIModel";
    if (panelBinding.getBindingContext().get(detailBCName) == null)
    DCBindingContainerDef bcdef = (DCBindingContainerDef)JUMetaObjectManager.getJUMom().findLoadedObject("sample.DetailFormUIModel");
    DCBindingContainer bc = bcdef.createBindingContainer(panelBinding.getBindingContext());
    bc.setName(detailBCName);
    panelBinding.getBindingContext().put(detailBCName, bc);
    But since createBindingContainer(BindingContext) method has been deprecated in 10.1.3 i skipped this step.
    Nevertheless my program is working now I still wonder if the way I’m doing it is right.
    Thanks. Alex.
    Edited by: Timin on Apr 2, 2009 8:28 AM

Maybe you are looking for