Where should backing bean for bounded-task-flow be declared?

I have a bounded-task-flow that is used inside a dynamic region.
I declared a managed bean to be used by activities (method/view) using the "backingBean" scope managed bean.
There are two possible places that I can register the managed bean:
1. adfc-config.xml
2. the bounded-task-flow-definition.xml
What are the differences between declaring the "backingBean" scope bean in "adfc-config.xml" and in the bounded-task-flow definition?
What is the best practice for registering "backingBean" scope bean?
If I understand correctly, registering the bean in adfc-config.xml is for one or more bounded-task-flow that use the same Bean class for instantiating their own backing bean. If the backing bean java class is only use by specific bounded-task-flow then it should make no difference to register the bean in either xml files.
Am I correct?

It should be registered within the bounded task flow for a couple reasons:
1) Help maintain the encapsulation of the bounded task flow for reuse
2) Managed bean definition metadata residing in adfc-config.xml or bootstrap configuration file will be preloaded when the ADF application is started. The actual managed beans will be instantiated the first time they are referenced. Therefore, to avoid the preload place them in the bounded task flow.
thanks.

Similar Messages

  • Menu for bounded task flow

    Hi experts,
    can we create menu for bounded task flow?.....we can do it in a unbounded task flow by using "create or update menu"......
    PMS
    Edited by: pms on Jan 6, 2012 5:31 AM

    Hi,
    well, if you want a menu that is owned by the bounded task flow, then you can use trains, as explained in this article
    http://www.oracle.com/technetwork/developer-tools/adf/learnmore/93-differentuifortrainstops-1413952.pdf
    Just bind a menu to the train model (which afaik, extends the menu model)
    Frank

  • Master-detail table where detail is in a bounded task flow

    Dear all,
    Iam pretty much new to ADF 11g. I have the following question.
    I have a search form(using af:query) created from the View Criteria of a view. The search results are displayed in a master-detail table, since my view has the following form in the data control:
    MasterView ->DetailView
    I would like that the detail table be part of a page fragment of a region of a bounded task flow. And of course, the detail table should be refreshed every time another row is selected in the master table.
    Is this feasible? Because I find difficulties in the following areas:
    1. How to pass a parameter to the bounded task flow that will display the detail table?
    (I suppose that I will need to build a new view to display the DetailView. In the WHERE clause I will have to pass the id of the row clicked in the master table.
    2.How passing the variable to the bounded task flow of the detail table be implemented when clicking the row of the master table? In similar examples I have seen, e.g. in the ADF Code Corner, there is always a submit button that sets a pageFlowScope variable.
    Is my approach feasible or it needs a lot of ADF twisting?
    Edited by: dimitris74 on Sep 12, 2011 6:20 AM

    Hi,
    If you have two different regions in your page for master and details and you want to refresh the child table based on your master row selection then you can use the contextual actions. Raise an event whenever you select a row and send your master-table id as the payload. Have a handler method at the detail page and execute some logic to get the rows for the selected master record.
    I hope it helps you.
    Thanks,
    Lakshman

  • How to create a page-definition for bounded task-flow?

    I should be able to create a page definition which declare all bindings required for a bounded task flow.
    How do I do it in JDeveloper 11.1.1.2?
    How do I navigate to the page definition when I am in the bounded task flow "Diagram tab"?

    I found out the following:
    1. To create a page-definition file for a bounded task flow
    Right click on the "Default" activity (not a view activity) of the bounded task flow, select "Create Page Definition" from the context menu.
    2. To go the page-definition file for a bounded task flow
    Right click on the "Default" activity (not a view activity) of the bounded task flow, select "Go to Page Definition" from the context menu.
    My new question is:
    In JDeveloper 11.1.1.2, how do I create page-definition for a bounded-task-flow if all activities are view activities (page fragments) ?
    How does JDeveloper I want to create page-definition for the task-flow instead of create page-definition of the page fragment or the page?

  • How to make bean for embedded task flow stay in scope when calling TF?

    I have a bounded task flow with page fragments: ManageRecommendationRuleTF.xml that defines a single managed bean with pageFlowScope: ManageRecommendationRuleBean.java
    This task flow has one page ManageRecommendationRule.jsff that embeds two other bounded task flows as regions: ManageRuleTF.xml and ManageRuleConditionsTF.xml
    Each of these task flows defines a single manage bean with pageFlowScope: ManageRuleBean.java and ManageRuleConditionsBean.java
    From the ManageRecommendationRuleTF I call a bounded task flow: SelectTargetProductsTF.xml. When this task flow returns, the ManageRuleBean.java and ManageRuleConditionsBean.java are re-created. Why? I want the state of the beans before the SelectTargetProductTF is called. I do not want to resort to making this a session bean.
    Build JDEVADF_11.1.1.5.0_GENERIC_110409.0025.6013

    Hi,
    the calling task flow is stacked when calling another task flow (using task flow call activity). When the called task flow is returning to the caller then the expected behavior is that the caller task flow is re-established. If this is not what you see, please provide a test case and file a Service Request with support to investigate why this is not working for you. You could e.g. add log messages to the task flow finalizers to see if when navigating off to the called task flow the two region task flows are finalized. If the regions are dynamic regions with the bean in view scope, try and change this to pageFlowScope
    Frank

  • Best practice question for Bounded task flows

    We are new to Jdeveloper/ADF and I was wondering if we should always try to use a bounded task flow for our applications... is this considered the best way to develop an app? even the small single page ones?
    Thanks in advance.

    Hi,
    let me turn teh question around: How many tools do you have at home beside of a hammer ? In other words, its the problem you need to solve (and use cases are problems) that should determine the use of bounded task flows and its granularity. Note that for each use case the bounded task flow makes a good candidate for delivering it. Doesn't mean that every single page needs to go into its own task flow. For general bounded best practices have a look here
    http://www.oracle.com/technetwork/developer-tools/jdev/adf-task-flow-design-132904.pdf
    Frank

  • Any example for (bounded task flow) popup return value

    I need to know what is the type of popup RETURN VALUE
    any example will be great

    I want to get parameter form popup bounded task flow with NO page fragment (task flow 1) to jsff page from another task flow with page fragment(task flow 2)
    I applied the scenario exist in URL's in first replay and it didn't work
    when I select task flow 1 from inside task flow 2 diagram I found in its inspector page filed called "Dialog Return Value"
    how can I use this field

  • How to use a managed bean in a bounded task flow without definig it in adfc-config

    Dear all
    I create a bounded task flow without page fragments (the pages are jspx), i created a jspx page with a button that its action has bounded to a managed bean function.
    i defined the managed bean on the corresponding bounded task flow, but it does not work.
    But there is no problem when i define the managed bean in adfc-config.xml.
    can anybody help me with this problem.
    is it possible to use jspx page with backing bean in bounded task flows, without defining the beans on adfc-config?
    Thank you very much

    Dear Timo
    I use jDev 11.1.1.6 and the scope is Request.Although when i use task flow page fragment and create jsff pages, there is no problem.

  • ADF Bounded Task Flow

    I have created a bounded task flow which has the following activities: Method Call (default activity and it calls a custom method in a request scoped backing bean), a controlFlow to a jsf page, a controlFlow to a Task Flow Return.
    Here is the xml code for the Bounded Task Flow:
    <?xml version="1.0" encoding="windows-1252" ?>
    <adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
    <task-flow-definition id="fromviewprojlist-task-flow">
    <default-activity>retrieveProjInfo</default-activity>
    <managed-bean id="__5">
    <managed-bean-name>backing_ViewProjList</managed-bean-name>
    <managed-bean-class>com.dairynet.pts.controller.backing_ViewProjList</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    <method-call id="retrieveProjInfo">
    <method>#{backing_ViewProjList.retrieveSingleProjData}</method>
    <outcome>
    <fixed-outcome>toSummary</fixed-outcome>
    </outcome>
    </method-call>
    <view id="summary">
    <page>/projectRequest/projSummary.jsf</page>
    </view>
    <task-flow-return id="tfrViewProjList">
    <outcome>
    <name>tfrViewProjList</name>
    </outcome>
    </task-flow-return>
    <control-flow-rule id="__1">
    <from-activity-id>retrieveProjInfo</from-activity-id>
    <control-flow-case id="__2">
    <from-outcome>toSummary</from-outcome>
    <to-activity-id>summary</to-activity-id>
    </control-flow-case>
    </control-flow-rule>
    <control-flow-rule id="__3">
    <from-activity-id>summary</from-activity-id>
    <control-flow-case id="__4">
    <from-outcome>toViewProjList</from-outcome>
    <to-activity-id>tfrViewProjList</to-activity-id>
    </control-flow-case>
    </control-flow-rule>
    </task-flow-definition>
    </adfc-config>
    I am calling this bounded task flow from a commandLink that is in an ADF table (partial code of the jsf page that has the commandLink):
    <af:table value="#{bindings.VProjectlistQryVO1.collectionModel}" var="row"
    rows="#{bindings.VProjectlistQryVO1.rangeSize}"
    emptyText="#{bindings.VProjectlistQryVO1.viewable ? 'No data to display.' : 'Access Denied.'}"
    fetchSize="#{bindings.VProjectlistQryVO1.rangeSize}" rowBandingInterval="0"
    filterModel="#{bindings.ImplicitViewCriteriaQuery.queryDescriptor}"
    queryListener="#{bindings.ImplicitViewCriteriaQuery.processQuery}"
    filterVisible="true" varStatus="vs"
    selectedRowKeys="#{bindings.VProjectlistQryVO1.collectionModel.selectedRow}"
    selectionListener="#{bindings.VProjectlistQryVO1.collectionModel.makeCurrent}"
    id="resId1" width="100%">
    <af:column sortProperty="#{bindings.VProjectlistQryVO1.hints.ProjShortDesc.name}"
    filterable="true" sortable="true" width="169"
    headerText="#{bindings.VProjectlistQryVO1.hints.ProjShortDesc.label}"
    id="resId1c1">
    <af:commandLink action="fromviewprojlist-task-flow" id="cl1"
    text="#{row.ProjShortDesc}"/>
    Here is my code in the adfc-config.xml file related to the page calling the bounded task flow and the bounded task flow:
    <control-flow-rule id="__7">
    <from-activity-id>masterList</from-activity-id>
    <control-flow-case id="__5">
    <from-outcome>fromviewprojlist-task-flow</from-outcome>
    <to-activity-id>fromviewprojlist-task-flow</to-activity-id>
    </control-flow-case>
    </control-flow-rule>
    <control-flow-rule id="__6">
    <from-activity-id>fromviewprojlist-task-flow</from-activity-id>
    <control-flow-case id="__9">
    <from-outcome>tfrViewProjList</from-outcome>
    <to-activity-id>masterList</to-activity-id>
    </control-flow-case>
    </control-flow-rule>
    When I click the commandLink where the action is the bounded task flow (fromviewprojlist-task-flow), it does not go into the method I am specifying in the Method Call activitiy (the default activity) within the task flow. It does not error out, but it does not go anywhere. My objective is to go to the custom backing bean method so I can get some value of the row in the table I clicked on, then use this value to successfully load the projSummary.jsf page
    I am new to this, and I can't figure out what I'm missing. I appreciate any ideas you may have to help me resolve this.
    Thanks!

    I did as you suggested, but I see nothing in the console that indicates it's trying to run the bounded task flow. It's like it ignores it. No error, just redisplays the page I'm calling the bounded task flow from.
    Previously, in another application, I created a bounded task flow with the default activity which was a Method Call activity, but I dragged and dropped a createInsert operation onto the Method Call activity from the Data Control. This worked fine (for creating an inputForm).
    With this bounded task flow that is giving me problems, I'm not referencing the Data Control at all, I'm just referencing the method in the request-scoped backing bean. Is there something I don't have "wired up" correctly so that it's not even finding the bounded task flow the action attribute of my commandLink is referencing?
    I'm not referencing the model (or an application module) at all, but should this matter? It seems like it should just find my backing bean method, run it, and carry on!

  • Call adf bounded task flow library programatically

    I have a master application where I have one page with a region where all the task flows are going to be aggregated as tabs. Each task flow represents a module and is in a separate application. I add the adf library to the master application for bounded task flow "Module1".
    This is my code that works if the bounded task flow is in the master application:
    TaskFlowBindingAttributes tfAttr = new TaskFlowBindingAttributes();
    tfAttr.setId("Module1");
    tfAttr.setTaskFlowId(new TaskFlowId("/WEB-INF/module1.xml","module1"));
    taskFlowList.add(0, tfAttr);
    List<UIComponent> tabs = this.getPanelTab().getChildren();
    for (int i = 0; i < tabs.size(); i++) {
    RichShowDetailItem tab = (RichShowDetailItem)tabs.get(i);
    tab.setDisclosed(false);
    RichShowDetailItem tab = (RichShowDetailItem)tabs.get(index);
    tab.setDisclosed(true);
    But if bounded tak flow is in separate application the code doesn't work, it shows a blank page and i have defined a page with some panel boxes. So how shoud i call the bounded task flow programatically??.
    I am working with Jdeveloper 11.1.2.3.0, thank you
    Edited by: Miguel Angel on 19/12/2012 05:22 PM
    Edited by: Miguel Angel on 19/12/2012 07:29 PM
    Edited by: Miguel Angel on 19/12/2012 07:43 PM

    Yes I see it in the component palette. I found the problem, I see in the task-flow-registry.xml that the path for the bounded task flow is: "module1.xml" and not "WEB-INF/module1.xml". What sould be the correct path?.

  • Call a jsff page in an bounded task flow.

    Hi,
    Am using jdeveloper 11.1.1.6.0
    I have a bounded task flow named welcomeTF.xml which calls another bounded task flow named LeadsTF. The LeadsTF bounded task flow contains 3 jsff pages(named lv.jsff, lv1.jsff, lv2.jsff).
    WelcomeTF(Bounded TaskFlow)------------------------------------>LeadsTF(Bounded Task Flow).
    When my user runs the jspx page the Welcome page(from WelcomeTF) renders which has 3 buttons (named Button1,Button2,Button3). These 3 buttons should call the LeadsTF Bounded task flow but with different jsff pages.
    Button1  ------------------------------->  LeadsTF(lv.jsff)
    Button2  ------------------------------->  LeadsTF(lv1.jsff)
    Button3  ------------------------------->  LeadsTF(lv2.jsff)
    How can i achieve this? Please help me with the samples.
    Regards,
    Prasad K T.

    You can define a TF parameter for the LeadsTF and use this parameter to route the navigation to either lv.jsff, lv1.jsff or lv2.jsff when entering this TF:
    Add a TF parameter (e.g. call it "InitialTarget" and map it to #{pageFlowScope.initialTarget})
    Add an ADF Router activity as a default activity in LeadsTF
    Configure the router activity to navigate to the appropriate JSF fragment depending on the value of #{pageFlowScope.initalTarget}
    Make the buttons in the parent TF set different values of the TF parameter when calling the LeadsTF
    Dimitar

  • Can I reference page-flow bean from a bounded-task-flow page-fragment?

    I have a view activity implemented as page fragment in my bounded task flow.
    I declare a page-flow scope managed-bean in adfc-config.xml to do some initialization for the bounded-task-flow:
    <managed-bean id="__23">
    <managed-bean-name id="__22">TaskFlowBean</managed-bean-name>
    <managed-bean-class id="__21">view.backing.TaskFlowBackingBean</managed-bean-class>
    <managed-bean-scope id="__20">pageFlow</managed-bean-scope>
    </managed-bean>
    In my bounded task flow, the default activity is a method-call activity which call the page-flow bean method
    <method-call id="initFlow">
    <method>#{pageFlowScope.TaskFlowBean.initFlow}</method>
    <outcome id="__27">
    <fixed-outcome>showPanel</fixed-outcome>
    </outcome>
    </method-call>
    But JDeveloper (11.1.1.2) show a warning "Refereneed pageFlowScope not found" at the "Diagram" view of the flow definition.
    The fixed outcome of the default activity is to render a page-fragment which also reference the page-flow scope bean method getPanelTitle():
    <af:panelBox text="#{pageFlowScope.TaskFlowBean.panelTitle}" id="pb1">
    <f:facet name="toolbar"/>
    </af:panelBox>
    At runtime, the page fragment was rendered properly except the panel box title is missing. No other error is reported
    When I debugged the application, the bean methods initFlow() and getPanelTitle() didn't get call as the program didn't stop at the breakpoint set in the bean methods.
    The page fragment was rendered properly except the panel box title is missing.
    When I change the scope to backing bean, both initFlow() and getPanelTitle() get called but under a different backing bean.
    As the bean attributes set by initFlow() were not no longer set when getPanelTitle() was invoked even though the methods were invoked in the correct order.
    Why can't I use a page-flow scope bean within the bounded task flow?
    On further debugging, I noticed the bean was not created when it is set to be page-flow scope. I put a debug message in the constructor... never get called.
    When should a page-flow scope bean be created to be accessible on entry to a bounded task flow?
    Edited by: Pricilla on Apr 29, 2010 3:16 PM

    Please check the scope of the pageFlow from the manual.
    pageFlowScope is only available for the pages/views in that taskflow and not in the included taskflows.

  • Call bounded task flow from managed bean

    Hi experts,
    can we call a bounded task flow from a managed bean?
    if yes , please explain.....
    Thankz in advance
    PMS

    Hi john,
    Thankz for ur reply........sorry if im asking stupid questions.
    this is my tree selection handler
    public void treeSelectionHandler(SelectionEvent selectionEvent) {
    RichTree tree1 = (RichTree) selectionEvent.getSource();
    RowKeySet rks2 = selectionEvent.getAddedSet();
    Iterator rksIterator = rks2.iterator();
    if (rksIterator.hasNext())
    List key = (List)rksIterator.next();
    JUCtrlHierBinding treeBinding = null;
    treeBinding = (JUCtrlHierBinding) ((CollectionModel)tree1.getValue()).getWrappedData();
    JUCtrlHierNodeBinding nodeBinding = nodeBinding = treeBinding.findNodeByKeyPath(key);
    DCIteratorBinding _treeIteratorBinding = null;
    _treeIteratorBinding = treeBinding.getDCIteratorBinding();
    JUIteratorBinding iterator = nodeBinding.getIteratorBinding();
    String keyStr = nodeBinding.getRowKey().toStringFormat(true);
    iterator.setCurrentRowWithKey(keyStr);
    JUCtrlHierTypeBinding typeBinding = nodeBinding.getHierTypeBinding();
    String targetIteratorSpelString = typeBinding.getTargetIterator();
    if (targetIteratorSpelString.equals("${bindings.Iascat1View1Iterator}"))
    System.out.println("Tree Selected*************"+targetIteratorSpelString);*
    else
    if(targetIteratorSpelString.equals("${bindings.Iascat2View1Iterator}"))
    *System.out.println("Tree Selected**************"+targetIteratorSpelString);*
    else
    *System.out.println("Tree Selected**************"+targetIteratorSpelString);*
    I hav bounded task flow for each iterator for creating new record......i hav to replace code for calling bounded task flow instead of printing statement
    PMS

  • Data Source for reused bounded task flow

    Hi,
    I am using JDeveloper 11.1.2.4.0.
    I have a project from which I exported a bounded task flow to be used in other projects.
    When I include that bounded task flow in a separate project, its data source does not appear in the Databindings.cpx of the project in which it is reused.
    How will the data source for the reused task flow be set in the separate project?

    I have a project from which I exported a bounded task flow to be used in other projects
    By that you mean that you have crated a adfLibrary from the the task flow?
    When I include that bounded task flow in a separate project
    By that you mean you have added the adfLib created above to the other project from the resource palette, right click and 'add to project'?
    How will the data source for the reused task flow be set in the separate project?
    Once you have added the project you refresh the data control and the other task flow should show up.
    Timo

  • Nested AM for Imported Bounded Task Flows - jdev 11.1.2.3 redhat 5.8

    Hello:
    Examples below all are Fusion ADF Web Apps.
    subsystem1 = ss1 creates adflib1 with bounded task flow = tf1
    subsystem2 = ss2 creates adflib2 with bounded task flow = tf2
    Master system imports adflib1 and adflib2
    In Master how can I create a app module that nests app modules from adflib1 and adflib2?
    In Master, on a single page with splitter, I drop tf1 on one side and tf2 on the other side. I make a data change to tf1 and data change to tf2 and then commit. Changes are not commited on tf2. How can I make it to commit on both task flows 1 and 2?
    I tried to create an app module in master and nest app module from ss1 and ss2 under that, but still changes are not committed on tf2.
    Any ideas?
    Thanks much.

    Hi,
    use shared data controls in your task flows so that a single transaction is created.
    You want to read the following blog entries
    http://bit.ly/MOVC1S
    http://bit.ly/KOv5NY
    http://bit.ly/KBCx0P
    Frank

Maybe you are looking for

  • Problem with  getLayout() on a JFrame

    Hello, Thank you for reading my post and trying to help me. Something is a bit unclear to me. I create a JFrame object and give it a GridLayout as in the following:         JFrame frame = new JFrame();         frame.setLayout(new GridLayout(3, 2, 15,

  • Is Windows 8.1 system image backup an ISO image

    I ran out of space on my windows partition, so I created a system image backup of that partition (windows 8.1) and then removed the partition via bootcamp assistant. My intent was to reinstall a new, resized partition and use the system image backup

  • Connecting to other computers

    I'm sure this has already been covered, but I couldn't find anything about it. Is there any way to connect my Ipod to a different computer. I have some music on my desktop that I would like to put on my Ipod but I'm afraid it would wipe out my entire

  • XMLType in Oracle 9i and WLS 8.1

    Hello, Is there any sample code on how to insert large xml data using Weblogic platform 8.1 SP2 . I'm using Oracle 9i, Weblogic connection pool with oracle thin driver. I'm able to insert less than 4k but I'm looking for information on how to insert

  • Changing field staus group for multiple accounts

    Hi, Is it possible to change the FSG for multiple accounts at the same time, or does it have to be done one by one through FS00? Thanks and Regards