ADF Refactoring

Hi
my team started to develope ADF Application , each one of us started to work locally on his project adding entiteis and views and jsp pages , but later we need to integrate our work in a single project , is there any way like refactoring that help integrating ADF components like entities and views from one project into another project.
i need to unify all the work done from different projects into a single project

JDeveloper has integration with CVS (Concurrent Versions System) and Subversion and it is the best way to solve your problem. We are working with CVS more than a year and although not without problems but I am shure it's better than trying manually combining projects.

Similar Messages

  • Refactoring code in ADF

    Hi All,
    I have written an ADF application to help users browse through database records in a friendly manner. However, the underlying database has been tweaked by the DBA recently to remove a referential key. This has a significant impact on my application. How do I go about refactoring it with minimial effort and get it working.
    Thanks

    Does your application need to maintain the referential integrity? If yes, you should be able to get away with no or minimal changes.
    A good starting point for refactoring would be the "Synchronise with Database" option in the BC.

  • GOTCHA's with Setting up ADF Security with JDev 11.1.1.6.0

    If you're getting into ADF security, you're probably going to want to get rid of that ugly default login.html page. I mean, it gets the job done, but we want something a little better. And if you want something a little better and you're using JDev 11.1.1.6.0, it behooves you to read this post!
    First off, get acquainted with these four posts. All good stuff. They'll walk you through the 1st half of what you need to know. Y'know, the non-Gotcha half.
    http://one-size-doesnt-fit-all.blogspot.com/2010/07/adf-security-revisited-again-again.html
    http://myadfnotebook.blogspot.com/2011/11/adf-security-basics.html
    http://andrejusb.blogspot.com/2010/11/things-you-must-know-about-adf-faces.html
    http://java2go.blogspot.com/2010/12/creating-centered-page-layout-using-adf.html
    Are you getting either of the following errors?
    <CodebasePolicyHandler> <migrateDeploymentPolicies> Migration of codebase policy failed. Reason: {0}.
    oracle.security.jps.JpsException: java.lang.IllegalArgumentException: oracle.security.jps.internal.core.principals.JpsAnonymousRoleImpl
    Error 500--Internal Server Error
    java.lang.RuntimeException: Cannot find FacesContextI'll show you where they're coming from. Follow along.
    1) Create a new application.
    2) Create three .jspx pages called login, error, and welcome.
    3) Generate PageDef files for them by right-clicking on the file and selecting "Go To PageDefinition". You'll want these so that you may apply security against them.
    4) Right-Click on your Application and select Secure->Configure ADF Security
    5) ADF Authentication and Authorization -> Form Based Authentication (Use the search symbol to select your created login and error pages. Should be something like "/faces/login.jspx") -> No Automatic Grants -> Finish
    Right-Click your welcome.jspx and select run. You'll get this error before your web page opens up in your browser and then proceeds to wig out.
    <CodebasePolicyHandler> <migrateDeploymentPolicies> Migration of codebase policy failed. Reason: {0}.
    oracle.security.jps.JpsException: java.lang.IllegalArgumentException: oracle.security.jps.internal.core.principals.JpsAnonymousRoleImplThat just won't do. Let's fix it, shall we?
    6) Open your newly JDev created jazn-data.xml file. It's located in the Application Resources panel (usually located by Data Controls and your Projects expandable panels)
    7) Resource Grants -> Resource Type (Web Page dropdown) -> error page should have a key symbol by it. Delete the anonymous role in the "Granted To" column. Now click the green button to add an Application Role. Huh, there's TWO of them? How bout that? Looks like we're going to have to delete some XML code!
    8) Click the Source tab on the bottom of the page to open up the XML View. You'll see the following piece of erroneous code. Erroneous, I say!
      <policy-store>
        <applications>
          <application>
            <name>SecurityError</name>
            <app-roles>
              // Hello, I'm the app role that has sucked away two hours of your life that you can never, ever get back
              <app-role>
                <name>anonymous-role</name>
                <class>oracle.security.jps.internal.core.principals.JpsAnonymousRoleImpl</class>
                <display-name>anonymous-role</display-name>
              </app-role>
             // Whew, the end of that app role
            </app-roles>
            <jazn-policy>
              <grant>9) You're going to want to delete that app role XML
    10) Go back into your jazn-data.xml file and create some users. For example, bob and jane. Create an Enterprise role called "admin". Put bob and jane as members into this Enterprise role. Create an Application role called managers. Map managers to your Enterprise role admin.
    11) Go back to the Resource Grants tab -> Resource Type (Web Page) and delete any "Granted To" authorizations that may assigned to any of the pages. Assigned a "Granted To" application role of "anonymous-role" to the error and login pages. Assign "managers" to welcome.
    12) Run your welcome page. Yay, the error is gone. How sweet it is.
    Now you want to refactor/move your login and error page somewhere else? Great, just right-click and select factor. Refactor to some place like /public_html/jspx/<your login page>.jspx. Re-run your welcome page.
    // You fool!
    Error 404--Not Found
    From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
    10.4.5 404 Not FoundThat's not so good. Let's fix that.
    1) Open up web.xml. It's located at ViewController/WEB-INF/web.xml.
    2) Click the security tab and you'll see Form-Based Authentication with a login page and error page. Click that Search glass and locate your new file. Do the same for the error page. You should see something like "/jspx/login.jspx" come back.
    3) Re-run your welcome page.
    // Suckered AGAIN!
    Error 500--Internal Server Error
    java.lang.RuntimeException: Cannot find FacesContextThis is a tricky one. The search icon brings back a faulty address. Since we're using a .jspx page, it needs to be "/faces/jspx/login.jspx". Repeat for the error page. Re-run your welcome.jspx.
    Ahh!! Now THAT's how we do it in Kingsport!
    Finally, a custom .jspx login works. Now what are you doing here? Shouldn't you be playing some Diablo 3?
    Will

    Ha :-)
    Point being good summaries like yours tend to get lost on the forums because of the volume of posts. With a blog people have the chance to subscribe to your posts so it's just a better vehicle all round for posting content to help others.
    I highly recommend writing blogs even if it's for scratch notes, because you'll learn a lot in structuring your thoughts. It's also a really good way to get noticed in the community because bloggers stand out.
    But your call, no pressure of course ;-)
    CM.

  • JDeveloper, ADF, lack of support and bleak future

    Hi,
    I'm a seasoned Java and .NET developer, used to many environments and frameworks. A happy user of Oracle databases.
    For a very Oracle oriented client I started with a team of developer a project using JDeveloper (no choice). After 4 months of using JDeveloper, ADF to build web sites, here are some thoughts I would like to share. This remarks only focus on that products, because I have a lot of respect for the Oracle databases and had a lot of success with them.
    I am starting to get depressed about the very few blogs (most from Oracle) talking about JDeveloper and ADF, the lack of books, and the Oracle forums.
    Moreover, most of the time you never get an answer to your problems, sometimes untested not working 'solutions', and a very very few times a working solution. Help is sparse, the community is missing.
    If Oracle wants to promote its framework, it has to boost the number of tutorials, examples and support.
    Googling about ADF is most of the time a non sense since you always land on the same 3 blogs and the Oracle forums.
    Proof of non use by the community ?
    If you try on www.indeed.com to find statistics about JDeveloper or ADF jobs you get another frightening proof.
    Sometimes you find a piece of code or a tutorial that may help, but you realize it works only on some specific release of JDeveloper.
    What makes me angry is when you ask why your code works on the x.x.x.x version but not the newest version, and the only answer you get is stay with x.x.x.x version (I won't bother to fix your 10 lines or code or even give you a direction to do it (maybe coz I don't understand myself were the breaking changes are)).
    JDeveloper is damn too slow ? You should have a dual-core and at least 2 Go of memory, you poor thing ! Is Java for rich people ?
    Debuging is a nightmare. Compared to Eclipse or others it is not practical at all.
    I'm happy when I can create a few pages drag and dropping controls. Business components are also a good thing. It speeds up my development. But since development is not just UI and generating business components, I lose a lot of time every time I want to write code, every time I do something "exotic" it becomes a pain in the ass.
    My problem here is that the architecture and JDeveloper constraint the developer a lot. I don't even talk about the fact that everything is only Oracle database oriented (openess ?). Even changing your page layout is a pain. Positioning controls is non trivial. As a whole, I would say that this whole thing imposes you to adapt to it, it doesn't adapt to you and your way of working.
    Most results I saw look like the Oracle websites.
    I could go on about the various bugs and problems that plague JDeveloper. Like the refactoring (when usable) that leave old and annoying stuff in your model XML, like the bugs in the diagrams, like problems related to auto-binding on the page and manually changing controls ID, various synchronization problems between pages and backing beans, adding upload is a mess, OrdDomain types are buggy, regions doesn't work well in the designer, and so on...
    My point is that I feel the whole thing is not mature. And Oracle seems to fix some issues with the release of JHeadStart. Sometimes you fix things by integrating JHeadStart stuff. JHeadStart is probably a great thing and a time saver if you don't do too much "exotic" screens and code, but does it means that JDeveloper+ADF and classic development becomes a second class citizen ?
    This is sad, since the ADF framework and JDeveloper look good and are worth of a more widespread usage. But marketing and support are way way far behind other commercial and open-source solutions. When I see what is planned for JDeveloper 11 and I compare it to others (Java or not). When I look at the developers needs and expectations, I feel we are losing the race.
    Maybe Oracle would like to hand over some of the framework to the community, but my feeling is that the community is already commited on other exciting and less constraining frameworks and tool, and this community may well work in a way that doesn't fit Oracle vision. Future will tell.
    Cheers.

    Hi,
    thanks for the detailed comment. I appreciate the time you spent writing this up as this helps to improve the product. Below is a first - quick and brief response to some of your statements.
    ... for documentation and tutorials
    http://www.oracle.com/technology/products/adf/learnadf.html
    Especially the ADF Developer Guide for 4 GL developers earns a lot of praise among J2EE developers.
    http://download.oracle.com/docs/html/B25947_01/toc.htm
    ... for books
    http://www.oracle.com/technology/tech/java/jsf.html
    Sometimes you find a piece of code or a tutorial that may help, but you realize it works only on some specific release of JDeveloper. What makes me angry is when you ask why your code works on the x.x.x.x version but not the newest version, and the only answer you get is stay with x.x.x.x version
    Of course samples need to be created to some point in time with a specific version. We have SRDemo as our main - maintained - reference demo I suggest you download this sample from OTN using help--> check for updates. Note that SRDemo contains code solutions for most developer cases and also is available in 10.1.3.1
    I'm happy when I can create a few pages drag and dropping controls. Business components are also a good thing. It speeds up my development. But since development is not just UI and generating business components, I lose a lot of time every time I want to write code, every time I do something "exotic" it becomes a pain in the ***.
    What is exotic, and what are the questions you didn't get an answer for ? I see that this is your first posting on OTN, so I am wondering under which account you posted the other questions that did not get an answer.
    Googling about ADF is most of the time a non sense since you always land on the same 3 blogs and the Oracle forums. Proof of non use by the community ?
    Isn't OTN a community ? I don't think that we need another discussion forum and looking at OTN it appears very active.
    I don't even talk about the fact that everything is only Oracle database oriented (openess ?).
    Not true. Please prove your claim.
    Even changing your page layout is a pain. Positioning controls is non trivial. As a whole, I would say that this whole thing imposes you to adapt to it, it doesn't adapt to you and your way of working. Most results I saw look like the Oracle websites.
    Now you are barking up the wrong tree, blaming ADF for what is JavaServer Faces layouting. You don't have to use JSF but can go for JSP /Struts and/or Swing development. What is the view layer technology of your choice that allows you to do better layouting ?
    I could go on about the various bugs and problems that plague JDeveloper
    Yes, please post them all
    ... regions doesn't work well in the designer, and so on...
    Of course, because regions are not officially supported. JDeveloper 11 - I know you don't want to hear future - will have full templating (going far beyound of what facelets do) and region support
    My point is that I feel the whole thing is not mature. And Oracle seems to fix some issues with the release of JHeadStart.
    JHeadstart is a consulting offering and not meant to fix the product.
    ... but does it means that JDeveloper+ADF and classic development becomes a second class citizen ?
    No comment for this statement as it is based on a wrong observation
    This is sad, since the ADF framework and JDeveloper look good and are worth of a more widespread usage. But marketing and support are way way far behind other commercial and open-source solutions. When I see what is planned for JDeveloper 11 and I compare it to others (Java or not).
    Note that only a fraction of new features in JDeveloper 11 leaked out so far or have been mentioned in the recent statement of direction. JDeveloper has many more features that we don't yet promote because the software isn't available.
    Please note that we give ADF to the community. Its just we are not giving it to the open soutce community but the J2EE community (JSR-227)
    Frank

  • ADF-BC 10g - Performance tuning

    Hello,
    I have an application that parse data from a file and insert them to database. From the performance log of my application, it turned out that the 'insert' part of that application is a bottleneck.
    The insert procedure is using ADF-BC, something like this:
    Row row = vo.createRoe();
    row.setAttribute(...);
    vo.insertRow();
    that goes for all row from the file. Now, there's a suggestion from a colleague that has used ADF-BC before that I should refactor the code and use plain JDBC batch insert, something like:
    stmt.set...(...);
    stmt.addBatch();
    Is this suggestion well justified? Or does ADF-BC use batch insert behind the scene, so there's no reason to use plain JDBC?
    Thanks.
    Rgds,
    Rudi Adianto

    You can do this with ADF too.
    Go to the EO which gets the inserts double click it and look for the 'Tuning' tab or section (depends on the jdev version). There you find a filed 'Use Update Batching', set it to any number of row you want to insert as a whole package.
    Timo

  • Refactoring Behavior Problem?

    I have created 2 applications which are deployed as ADF Jar Libraries. Inside these apps are fragment taskflows which I am using in a master application.
    When I run the master app, ADF complains that there are 2 references to "view/DataBindings.cpx" so I changed the package name of one application using REFACTOR-RENAME. When I did this, the name changed in the project but it was still giving me the same error.
    When I looked at the project structure, the new package directory and files are there but the old package directory and files were STILL there. Is this normal behavior for the refactor function ?
    Thanks,
    Mark

    Hi,
    refactoring changes the structure of the sources, but not the compiled content. If you choose Build --> Clean All from the JDeveloper menu and then refactor the sources, does it then reproduce as well ?
    Frank

  • ADF 10.1.3 to ADF 11.1.1.2.0: Migration problem

    Hi all,
    I have an 10.x application built on ADF business component for model layer (no DB, only webservices) and ADF-JSF for view layer.
    I'm now trying to migrate the application to JDeveloper 11, and have got few errors during migration (I used standart wizard comes with JDeveloper 11),
    but most nasty thing that I cannot build Model layer after migration - build process throws such errors:
    "{class name} is already defined in this compilation unit"
    all classes extend oracle.jbo.server.ViewRowImpl.
    I verified and model source structure has not been changed since migration.
    What could be the problem?
    Thanks

    Hi Guys,
    thank you very much for the advices - I reorganized the libraries and had to refactor a bit of Model source code in order to make it compiled:
    basically I had to change *VOImpl classes -  added dependency on Row interface. I'm wondered why there is no a clear Migration guide which enlists such issues.
    Also, if your 10.x project heavily relies on af:region - forget about smooth migration.
    Now I''m trying to use Model in a new View module - will put some notes here.
    Thanks,
    Anton

  • ADF DataControl for WebService with unexpected blank objects

    Hello experts!
    I'm developing for BPM Suite 11.1.1.5 PS4 Feature Pack using JDeveloper 11.1.1.5
    I am currently using Data Controls for web services that interact with SAP; I can retrieve information successfully displaying items in tables and selectOneChoice lists without a problem.
    There are no Java classes for the Data Controls, everything is handled by the XML files created by JDeveloper.
    The issue happens when creating the input parameters for a web service that updates data in the remote system. The web service has complex types with lists of complex types. I am currently using the iterator for the items on the complex types to create rows and add values to those rows. The problem is that for some reason the input for those lists always contain one extra object with no data (this was identified with the help of tcpmon).
    I'll use the example of the Barcodelist list of items; the corresponding iterators are BarcodelistIterator and itemIterator2. There's also an action binding for the creation of a new row.
    The bindings:
    <accessorIterator MasterBinding="ZPostInvoiceAndAttachment_parametersIterator"
    Binds="Barcodelist" RangeSize="25" DataControl="sapPost"
    BeanClass="sapPost.Types.ZPostInvoiceAndAttachment.Barcodelist"
    id="BarcodelistIterator"/>
    <accessorIterator id="itemIterator2" MasterBinding="BarcodelistIterator"
    Binds="item" RangeSize="25" DataControl="sapPost"
    BeanClass="sapPost.Types.ZPostInvoiceAndAttachment.Barcodelist.item"/>
    <action IterBinding="itemIterator2" id="CreateInsert2"
    InstanceName="sapPost.Types.ZPostInvoiceAndAttachment.Barcodelist.item"
    DataControl="sapPost" RequiresUpdateModel="true"
    Action="createRow"/>
    This is the definition for item.xml:
    <?xml version="1.0" encoding="UTF-8" ?>
    <JavaBean xmlns="http://xmlns.oracle.com/adfm/beanmodel" version="11.1.1.60.13"
    id="item"
    Package="sapPost.Types.ZPostInvoiceAndAttachment.Barcodelist"
    BeanClass="sapPost.Types.ZPostInvoiceAndAttachment.Barcodelist.item"
    isJavaBased="false">
    <Attribute Name="Barcode" IsNotNull="true" Type="java.lang.String"/>
    <Attribute Name="BarcodeId" IsNotNull="true" Type="java.lang.String"/>
    <Attribute Name="Contrep" IsNotNull="true" Type="java.lang.String"/>
    <Attribute Name="Docid" IsNotNull="true" Type="java.lang.String"/>
    <Attribute Name="Ardate" IsNotNull="true" Type="java.lang.String"/>
    <Attribute Name="Doctype" IsNotNull="true" Type="java.lang.String"/>
    </JavaBean>
    This is the code to insert a single item in the list. I clear all items for the iterator with a method I will show below
    //Barcode List
    DCIteratorBinding itr4 = ADFUtils.findIterator("itemIterator2");
    ADFUtils.clearAllRowsForIterator(itr4);
    OperationBinding createBarcodeList = ADFUtils.findOperation("CreateInsert2");
    createBarcodeList.execute();
    Row barcodeRow = itr4.getCurrentRow();
    barcodeRow.setAttribute("Barcode", "20120208114025");
    barcodeRow.setAttribute("BarcodeId", "01");
    barcodeRow.setAttribute("Contrep", "ZT"); //ZT for Test Documentum, ZD for Production
    barcodeRow.setAttribute("Docid", "DCTM3701E24080000D9A");
    barcodeRow.setAttribute("Ardate", "2011-09-01");
    barcodeRow.setAttribute("Doctype", "PDF");
    ADFUtils.clearAllRowsForIterator method:
    public static void clearAllRowsForIterator(DCIteratorBinding itr) {
    Row[] allItems = itr.getAllRowsInRange();
    for( int i = 0; i < allItems.length; i++ ) {
    itr.removeCurrentRow();
    The code below is implemented in an ActionListener for a button which calls the web service method:
    public void postToSAP(ActionEvent actionEvent) {
    setPostInput(); //sets all input parameters
    OperationBinding op = ADFUtils.findOperation("ZPostInvoiceAndAttachment");
    Object returned = op.execute();
    When I monitor what is being sent in the SOAP envelop using tcpmon I get 2 items for the barcodelist (and similarly an additional blank item for every list in the input parameters):
         <Barcodelist>
              <item>
                   <Barcode>20120208114025</Barcode>
                   <BarcodeId>01</BarcodeId>
                   <Contrep>ZT</Contrep>
                   <Docid>DCTM3701E24080000D9A</Docid>
                   <Ardate>2011-09-01</Ardate>
                   <Doctype>PDF</Doctype>
              </item>
              <item>
                   <Barcode/><BarcodeId/><Contrep/><Docid/><Ardate/><Doctype/>
              </item>
         </Barcodelist>
    This causes the web service to return an error as there's a blank item in the list.
    I have checked the number of rows in the barcode list before and after the web service call and it is always 1. I can't find where this blank item is coming from. I searched the web but all I found which would address this would be to implement java classes; but the goal here would be to achieve this with as less java programming effort as possible.
    Any help is greatly appreciated.
    Bruno

    user1113055 wrote:
    ... the consequent adaptation of the existing JSPXs based on the previous definition of the view objects was quite painful: i found very hard to reflect the changes to the JSPXs and, in some cases, i had to rewrite the pages from scratch! You will need to be more specific about the issues that you have encountered. Synchronization and refactoring is supported in JDeveloper for the model, the view and the controller. For what it's worth, take a look at these entry-level posts that could provide some additional inside:
    http://jdeveloperfaq.blogspot.com/2010/02/faq-15-how-to-synchronize-adf-entity.html
    http://jdeveloperfaq.blogspot.com/2010/04/faq-20-how-to-refactor-adf-components.html

  • ADF Data module edit major problem

    If I rename a view or link in ADF data module, it breaks the data binding.
    So existing forms crash with the following exceptions:
    Exception in thread "main" JBO-30003: The application pool (net.domain.admin.datalayer.DataModuleLocal) failed to checkout an application module due to the following exception:
    oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.NameClashException, msg=JBO-25001: Name Subways of object type Attribute already exists.
    ## Detail 0 ##
    oracle.jbo.NameClashException: JBO-25001: Name Subways of object type Attribute already exists
         at oracle.jbo.server.EntityDefImpl.getSuperAttrDef(EntityDefImpl.java:2951)
         at oracle.jbo.server.EntityDefImpl.loadAttribute(EntityDefImpl.java:3048)
         at oracle.jbo.server.EntityDefImpl.loadAttributes(EntityDefImpl.java:3023)
         at oracle.jbo.server.EntityDefImpl.loadFromXML(EntityDefImpl.java:2559)
         at oracle.jbo.server.EntityDefImpl.loadFromXML(EntityDefImpl.java:2275)
         at oracle.jbo.server.MetaObjectManager.loadFromXML(MetaObjectManager.java:522)
         at oracle.jbo.mom.DefinitionManager.loadLazyDefinitionObject(DefinitionManager.java:547)
         at oracle.jbo.mom.DefinitionManager.findDefinitionObject(DefinitionManager.java:425)
         at oracle.jbo.mom.DefinitionManager.findDefinitionObject(DefinitionManager.java:358)
         at oracle.jbo.mom.DefinitionManager.findDefinitionObject(DefinitionManager.java:340)
         at oracle.jbo.server.MetaObjectManager.findMetaObject(MetaObjectManager.java:700)
         at oracle.jbo.server.EntityDefImpl.findDefObject(EntityDefImpl.java:339)
         at oracle.jbo.server.ViewDefImpl.doAddEntityUsage(ViewDefImpl.java:2921)
         at oracle.jbo.server.ViewDefImpl.loadEntityReference(ViewDefImpl.java:2991)
         at oracle.jbo.server.ViewDefImpl.loadFromXML(ViewDefImpl.java:2175)
         at oracle.jbo.server.ViewDefImpl.loadFromXML(ViewDefImpl.java:1986)
         at oracle.jbo.server.MetaObjectManager.loadFromXML(MetaObjectManager.java:526)
         at oracle.jbo.mom.DefinitionManager.loadLazyDefinitionObject(DefinitionManager.java:547)
         at oracle.jbo.mom.DefinitionManager.findDefinitionObject(DefinitionManager.java:425)
         at oracle.jbo.mom.DefinitionManager.findDefinitionObject(DefinitionManager.java:358)
         at oracle.jbo.mom.DefinitionManager.findDefinitionObject(DefinitionManager.java:340)
         at oracle.jbo.server.MetaObjectManager.findMetaObject(MetaObjectManager.java:700)
         at oracle.jbo.server.ViewDefImpl.findDefObject(ViewDefImpl.java:395)
         at oracle.jbo.server.ApplicationModuleDefImpl.loadViewObject(ApplicationModuleDefImpl.java:493)
         at oracle.jbo.server.ApplicationModuleDefImpl.loadComponents(ApplicationModuleDefImpl.java:672)
         at oracle.jbo.server.ApplicationModuleImpl.createRootApplicationModule(ApplicationModuleImpl.java:412)
         at oracle.jbo.server.ApplicationModuleHomeImpl.create(ApplicationModuleHomeImpl.java:91)
         at oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(DefaultConnectionStrategy.java:139)
         at oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(DefaultConnectionStrategy.java:80)
         at oracle.jbo.common.ampool.ApplicationPoolImpl.instantiateResource(ApplicationPoolImpl.java:2468)
         at oracle.jbo.pool.ResourcePool.createResource(ResourcePool.java:536)
         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.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:424)
         at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:419)
         at oracle.adf.model.bc4j.DataControlFactoryImpl.createSession(DataControlFactoryImpl.java:271)
         at oracle.adf.model.binding.DCDataControlReference.getDataControl(DCDataControlReference.java:76)
         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:128)
         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.jbo.uicli.jui.JUPanelBinding.setup(JUPanelBinding.java:92)
         at oracle.jbo.uicli.controls.JUTestFrame.createBindingCtxAndSetUpMenu(JUTestFrame.java:168)
         at oracle.jbo.uicli.controls.JUTestFrame.<init>(JUTestFrame.java:121)
         at oracle.jbo.uicli.controls.JUTestFrame.startTestFrame(JUTestFrame.java:84)
         at net.domain.admin.ui.tickets.TicketEditPanelHelper.main(TicketEditPanelHelper.java:445)
    TicketEditPanelHelper.java:445:
    panel.setBindingContext(JUTestFrame.startTestFrame("net.domain.admin.ui.DataBindings.cpx", "null", panel, panel.getPanelBinding(), new Dimension(400,300)));
    Seems to me, the renaming the data module members does not refactor the existing code.
    As for me, it is incredibile to find out the problem in 7 *PanelPageDef xml files.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    Hi,
    the databinding meta data is not synchronized with ADF BC or any other business service. If e.g you used EJB session beans and changed the method signature of a method used in teh View through ADF, then this is not automatically refactored.
    Frank

  • (oracle.jbo.ConfigException) JBO-33001 after refactoring in the Model.

    Guys,
    Can someone please help with this annoying problem...
    I have done some refactoring of application modules in my Model, and now I keep getting the following error when I start up my application, and call the static method Configuration.createRootApplicationModule (...) :-
    (oracle.jbo.ConfigException) JBO-33001: Cannot find the configuration file /uk/co/xxxx/xxxxxx/common/bc4j.xcfg in the classpath
    The above package name ("uk.co.xxxx.xxxxxx") is my old location of the application module. What I want to know is what is, where is JDeveloper still picking this up from?? I have checked my DataBindings.cpx in my View, and it is not getting it from there!
    More info - At startup I have a AppModuleManager which loads a couple of application modules which I will use to call various service methods at startup, to cache reference data. I do this like so : -
    ApplicationModule myAppModule =
    Configuration.createRootApplicationModule(Common.APPLICATION_MODULES_HOME, Common.MY_LOCAL_AM);
    appModules.put (Common.MY_LOCAL_AM, thurbonAppModule);
    Oh, and the Javadoc on the Configuration class desperately needs updating in 10.1.3! The documentation there tells you to do the following :-
    Configuration c = new Configuration( Configuration.buildConfigFileName("package10")); Hashtable env = c.getConfiguration("Oracle8iCorba"); ApplicationModuleHome home = (ApplicationModuleHome)ic.lookup( env.get(Configuration.APPMODULE_JNDI_NAME); ..... .....
    One obvious snag is that there is no constructor that takes a String in the Configuration class....
    F.Y.I> I am using JDeveloper 10.1.3.36.73, with the recent service release.
    I have managed a couple of "work-arounds" to this problem, including deploying the bc4j.xcfg in the "old place", and also using the "loadFromReader" method, passing it a FileReader of my config file, but clearly these are not ideal... Therefore could someone please give me some ideas as to where it is picking up my old bc4j.xcfg from??
    Many thanks.......Dean

    Thankyou for your comments Steve.
    To answer your points :-
    Full ADF Source is available for supported customers by opening a TAR on Metalink and asking for it.I will look into this option... Thanks for the URL to the details.
    2) I did use the inbuilt refactoring in JDeveloper - I would never manually refactor within a IDE because I am aware of the hidden effects this can have on various configuration files. However, as I mentioned above, there is quite a bit of "rubbish" lying around from earlier versions - In particular the 10.1.2 (refactoring here had all sorts of problems), and the 10.1.3 EA release. It was fixing problems caused by unsuccessful project migrations in these versions that also caused me to manually visit project files.
    The Configuration.createRootApplicationModule() is not typically required for any of our > UI clients. Other layers of the framework acquire the AM instance for you as part of > creating the binding context. . 3) I suspected as much, but an awful lot of URL links referred me to this mechanism if you do a search on using service methods via ADF on Google, and it was easy to implement. Incidentally, as I mentioned, I only use this mechanism for loading complex reference data Collections at startup for fast validation later, and when Actions require me to kick off Stored Procedures and complex business logic, which I have implemented via service methods... I think this solution works fine for me but perhaps I need to change the way I call the service methods from the client? Incidnetally, the access required is stateless in these instances. Would you still recommend me to change this to obtain AM access via the binding context, and if so why?
    I
    I shall have a read of your presentation now with interest - Being relatively new to Swing development using ADF / JDeveloper 10.1.3 I have found the business benefits it provides really good, but I have been frustrated in finding good quality relevent documentation for 10.1.3.
    As for my other comments about "bugs" in 10.1.3.. Of course I expect to find a few bugs and annoyances... I can see that 10.1.3 is a big jump from 10.1.2, and it is certainly much better; I am also realistic enough to appreciate the time pressures you would have been under to push to market, and obviously it is definitely the case that many of your competitors initial major software releases are full of bugs (I mention RSA 6 was, and I could have named others). I am confident that each service release of 10.1.3 will iron out the "quirks", for example :-
    i) CVS integration is still not quite right - Delays in picking up new software that has been checked in, which I can pick up if I switch to Tortoise..
    ii) Refactoring problems - Actually, I have not experienced any recently... (I am on SR1)
    iii) Code generation quirks...eg. Why does it generate an implementation for methods in a interface?
    But please keep focus on the (lack of) documentation issues, aka you recent blog posting.
    Best regards......Dean

  • How to refactor managed bean

    Disclaimer: I am very new to ADF.
    I have a fragment that uses a pageFlow scoped managed bean. Everything works fine but now I have to extract a piece of that fragment and use it into another fragment. I would like to extract all parts related to that fragment into a specific managed bean and then use that managed bean into the "parent" managed bean. To clarify what I want to do:
    Current:
    public class BigManagedBean {
    private String classMemberSpecificToA;
    private String classMemberSpecificToB;
    Refactored:
    public class BigManagedBean {
    private SpecificToAManagedBean aBean;
    private SpecificToBManagedBean bBean;
    public SpecificToAManagedBean {
    private String classMemberSpecificToA;
    public SpecificToBManagedBean {
    private String classMemberSpecificToB;
    Q: How to instantiate aBean and bBean? What is the best practice for doing that?
    ADF 11.1.1.6

    Three ways:
    1) instantiate the variable with the bean
    public class BigManagedBean {
    private SpecificToAManagedBean aBean = new SpecificToAManagedBean ();
    private SpecificToBManagedBean bBean = new SpecificToBManagedBean ();
    2) in the constructor of the big bean
    public class BigManagedBean {
    private SpecificToAManagedBean aBean;
    private SpecificToBManagedBean bBean;
      public BigManagedBean()
        aBean = new SpecificToAManagedBean ();
        bBean = new SpecificToBManagedBean ();
    3) in the getter of aBean
    public class BigManagedBean {
    private SpecificToAManagedBean aBean = null;
    private SpecificToBManagedBean bBean = null;
      public SpecificToAManagedBean getABean()
        if (aBean == null)
             aBean = new SpecificToAManagedBean ();
        return aBean;
    Timo

  • Merging Two JSF, ADF BC Web Applications into One web application

    What would be the best way to take two JSF, ADF BC web applications written by two developers and merge them into one web application. Any place to start would be greatly appreciated. I'm using Oracle JDeveloper - 11.1.1.4.0
    Edited by: Sunanda on Jul 26, 2011 4:13 AM

    Take a look at this thread:
    Merging Two JSF, ADF BC Web Applications into One...
    Although the thread is old, but it provides about the types of contents you would need to take into consideration while merging.
    With the knowledge from the above thread, you could use refactor option in the JDeveloper menu to move the contents from one project to another.
    Thanks,
    Navaneeth

  • Adf TaskFlow file management

    hi all,
    according our poject structure, we have a lot of bound taskflow file.
    Then, we want to split into different folder under WEB-INF folder. eg(WEB-INF/POC)
    can we do that way?
    but after i did, i get the following exception.
    <RegistrationConfigurator><handleError> Server Exception during PPR, #1
    oracle.adf.controller.ControllerException: ADFC-02001: The ADF Controller cannot find '/WEB-INF/POC/dyna1-task-flow-definition.xml'.
         at oracle.adfinternal.controller.metadata.provider.MdsMetadataResourceProvider.getMetadataObjects(MdsMetadataResourceProvider.java:460)
         at oracle.adfinternal.controller.metadata.provider.MdsMetadataResourceProvider.loadUnmutalbeMetadataResources(MdsMetadataResourceProvider.java:367)
         at oracle.adfinternal.controller.metadata.provider.MdsMetadataResourceProvider.getResources(MdsMetadataResourceProvider.java:179)
         at oracle.adf.controller.internal.metadata.MetadataService.getTaskFlowDefinition(MetadataService.java:217)
         at oracle.adfinternal.controller.activity.TaskFlowCallActivityLogic.findTaskFlowDefinition(TaskFlowCallActivityLogic.java:1071)
         at oracle.adfinternal.controller.activity.TaskFlowCallActivityLogic.execute(TaskFlowCallActivityLogic.java:162)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.executeActivity(ControlFlowEngine.java:989)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:878)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:777)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.routeFromActivity(ControlFlowEngine.java:551)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.performControlFlow(ControlFlowEngine.java:147)
         at oracle.adfinternal.controller.application.NavigationHandlerImpl.handleAdfcNavigation(NavigationHandlerImpl.java:109)
         at oracle.adfinternal.controller.application.NavigationHandlerImpl.handleNavigation(NavigationHandlerImpl.java:78)
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:130)
         at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
         at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:90)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:309)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:94)
         at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:102)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:90)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:309)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:94)
         at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:96)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:812)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:292)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:177)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:97)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:94)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:138)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:70)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:159)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:326)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: oracle.mds.core.MetadataNotFoundException: MDS-00013: no metadata found for metadata object "/WEB-INF/POC/dyna1-task-flow-definition.xml"
         at oracle.mds.core.MetadataObject.getBaseMO(MetadataObject.java:1036)
         at oracle.mds.core.MDSSession.getBaseMO(MDSSession.java:2769)
         at oracle.mds.core.MDSSession.getMetadataObject(MDSSession.java:1188)
         at oracle.mds.core.MOResolver.getMetadataObjects(MOResolver.java:203)
         at oracle.adfinternal.controller.metadata.provider.MdsMetadataResourceProvider.getMetadataObjects(MdsMetadataResourceProvider.java:414)
         ... 63 more
    With Regards,
    WP

    Hi waiphyo,
    I think you follow this steps when you want to move the boundedTaskflow.xml file in to different folder :
    1- select the file from Application Navigator.
    2- from Refactor (in menu bar) choose move.
    3- create new folder and save the file in this folder.
    if you used this taskflow in bounded/unbounded taskflow you should select this bounded/unbounded taskflow (the container of the moved taskflow) thin in the taskflow definition structure select the moved task flow and check for its path in property Inspector.
    Sameh Nassar
    Edited by: Sameh Nassar on Jan 25, 2010 1:02 PM

  • ADF Appication Module uses RMI or not?

    Anyone know what kind of transport the ADF Application Module uses for remote calls? I know session beans use RMI for call on the remote interfaces (which therefore mandates throwing a RemoteException in every method being exposed to the clients). However I do not see any such mandate to use remote exception for ADF business services. Which leads me to ask the question if ADF uses RMI or not for remote communication?

    Hi,
    the databinding meta data is not synchronized with ADF BC or any other business service. If e.g you used EJB session beans and changed the method signature of a method used in teh View through ADF, then this is not automatically refactored.
    Frank

  • How to Refactor JSF Page

    Hi
    How to refactor the JSF page, how normally we used to refactor java classes.
    My requirement is I want to change the name of the JSF page and as well as i need to move the JSF file to other location.
    thanks in advance

    Hi,
    JSf refactoring is a feature we added to JDeveloper 11. So what you need to do is
    - rename the file using File|rename
    - update the faces-config.xml references
    - if using ADF, edit the adf-bindings.cpx file
    Frank

Maybe you are looking for