JPA persistence and ADF bindings help!!

Environment:
Jdev 10.1.3.1
EJB 3.0 JPA toplink essentials+JSF
I'm usind ADF data control to map persistence action to bindings
I find an example to map "save" button to "merge" method and all work
please anybody knows how to use or where find example about
"persist" method to create a new entity instance and how to mapping to a button?
Thank u in advance
Francesco Galante

Hi,
to persist the information you enter in a form, create a input form based on the object's constructor. There is a spcial constructor node in teh ADF Datacontrol palette. In the form creation dialog, add a submit button ( as checkbox option)
In teh data control palette, select the persist() method optionand drag this node over the submit button. Choose the "bind to existing button" option from the context menu. Thsi will change the button label, which you can change in the button's property
A dialog is shown that asks you to provide a value for the object. When you click into this field, a button [...] show that you use to launch the ExpressionLanguage editor.
in the editor, select the Iterator binding entry and choose the "DataProvider" subelement to bind the input form to the persist method.
As Shay mentioned this is all described in basic TopLink / EJB tutorials on OTN
Frank

Similar Messages

  • Tomahawk and ADF bindings conflict

    Hi, I use Tomahawk components <t:dataTable> and <t:dataScroller> to handle table with large number of rows (I learned from http://wiki.apache.org/myfaces/WorkingWithLargeTables)
    The problem is that after I added ADF bindings to call EJB session bean methods, six navigation image buttons (first, last, previous, next, ff, fr) have been disabled. It seems that ADF does something to disable JavaScript code which activates these buttons (I noticed some changes have been made in faces-config.xml and web.xml). It took me 6 hours to find bugs but I've reached nowhere. :) Pls help me.
    Thanks a lot!

    Hi Frank, I have a method:
    public List <SimpleCar> searchCar(int start, int rows);
    in a session facade bean called CarFacadeBean.
    And the following is the Page Definition.
    <?xml version="1.0" encoding="UTF-8" ?>
    <pageDefinition xmlns="http://xmlns.oracle.com/adfm/uimodel"
    version="10.1.3.40.66" id="carsDataModelPageDef" Package="view.pageDefs">
    <parameters/>
    <executables>
    <variableIterator id="variables"/>
    </executables>
    <bindings>
    <methodAction id="searchCar" InstanceName="CarFacadeLocal.dataProvider"
    DataControl="CarFacadeLocal" MethodName="searchCar"
    RequiresUpdateModel="true" Action="999"
    IsViewObjectMethod="false"
    ReturnName="CarFacadeLocal.methodResults.CarFacadeLocal_dataProvider_searchCar_result">
    <NamedData NDName="start" NDType="int" NDValue="15"/>
    <NamedData NDName="rows" NDType="int" NDValue="15"/>
    </methodAction>
    </bindings>
    </pageDefinition>
    Then in backed beans, I put:
    BindingContainer bindings = this.getBindings();
    OperationBinding operationBinding = (OperationBinding) bindings.getOperationBinding("searchCar");
    List <SimpleCar> cars = (List<SimpleCar>) operationBinding.execute();
    to get the result set from EJB method (searchCar(start, rows)).
    These are all basic things, I believe. The problem occurs only after I dragged the method searchCar from Data Control Pallete to the page (there is only one page in this testing view). May I upload the code to somewhere so that you can take a further look?
    Regards,
    Harry.

  • ADF Bindings Servlet/Filter  not invoking  Faces Servlet

    I'm getting ADF Faces and Facelets working properly with pages written in jspx format, but the Faces Servlet being mapped to jsf format.
    The problem I'm getting is while displaying ADF Tables with data retrieved from the database using Toplink and bindings provided by ADF Databindings.
    The following is the Web.xml mappings for Faces Servlet and ADF bindings filter:
    <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>resources</servlet-name>
    <url-pattern>/adf/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>
    <filter>
    <filter-name>adfBindings</filter-name>
    <filter-class>oracle.adf.model.servlet.ADFBindingFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>adfBindings</filter-name>
    <url-pattern>*.jsp</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>adfBindings</filter-name>
    <url-pattern>*.jspx</url-pattern>
    </filter-mapping>
    I'm getting the ADF tables displayed using ADF Bindings, if the faces servlet is mapped for jspx format;but, at the cost of losing Facelets...Facelets is not working with Faces Servlet mapped to jspx format(though written in jspx format, the faces servlet mappping has to be made for jsf format.On the other hand, if I use faces servlet mapping for jsf pages I'm getting Facelets working but ADF Databindings are not working ,(I guess) and hence ADF Faces Tables are not being displayed(I'm getting Access Denied message).
    I even tried to change the ADF binding filter mappings
    ---- from ---- jsp &jspx---- to ----- jsp and jsf ----
    But I got the same Access denied message.
    I read a similar post on this forum by Mr.Ashish Kumar who said he is using java script and automatic form submission, to refresh the page and that gave him the table working.
    as quoted in the post:
    af:table displays Access Denied
    Why should the page be refreshed at all. I Guess , the Faces Servlet is not being invoked by the ADF Bindings Filter/Servlet, and for this , I suppose , Mr.Ashish is using java script to provide the action required.
    And one more thing which that Automatic Refreshing of page using JavaScript cannot do.
    Suppose,
    I need customised display, rather than just a Table or Form,like:
    public String getEmp() {
    BindingContainer bindings = getBindings();
    OperationBinding operationBinding =
    bindings.getOperationBinding("findAllEmp");
    Object result = operationBinding.execute();
    if (!operationBinding.getErrors().isEmpty()) {
    return null;
    List<Emp> res=(List<Emp>)result;
    for(int i=0;i<res.size();i++)
    Emp myrec=res.get(i);
    System.out.println("Employee ["+myrec.getEname()+"], Salary ["+myrec.getSal()+"]");
    return "";
    where I do some customisation in the backing bean.
    and I call that method binded to a button as below:
    <af:commandButton
    text="findAllEmp"
    disabled="#{!bindings.findAllEmp.enabled}"
    binding="#{backing_Success.commandButton1}"
    id="commandButton1"
    action="#{backing_Success.getEmp}"/>
    What I'm getting is a disabled button.
    Why doesn't ADF bindings servlet invoke the faces Servlet?
    Can't we make ADF Bindings Servlet invoke Faces Servlet by configuring in the web.xml?
    Can't we get ADF Bindings filter mapped to work with jsf pages?
    Won't ADF Bindings work with jsf pages, will they work only with jspx pages?
    ADF Team,
    Please Help me.
    Thanking you,
    Samba

    Hi! Frank,
    Thankyou for your Reply.
    Yes, Mr.Adam Winer has contributed that library, I guess.
    But I already have that adf-facelets.jar in my lib folder ; and with out that the Facelets won't work with ADF faces , in the first place.
    I'm getting Facelets working excellently with ADF Faces but I'm not getting ADF Bindings working with Faceletpages.
    The thing is even in another application which does not have facelets in it, if we use mapping for jsf pages, ADF Bindings are not working.
    I think the ADF bindings filter is configured some where to work with jspx pages only.Could you tell me where to change that entry to make ADF Bindings work with jsf extension?
    Thanking you,
    Samba.

  • Configure persistence unit in adf bindings

    How do i configure which persistence unit should be used when using ejb3 and adf? When using bc4j i can specify the bc4j configuration in DataBindings.cpx, how do i do the same for an ejb3 model?

    bump

  • HELP: include another page in with JDeveloper and ADF

    Hi all,
    I am trying to make a layout page with JDeveloper and ADF. But I just can't make things work. I have the pre-coded header and footer html pages and want to include them in a jspx somehow. I tried panelPage too, but the rendering style is away from our pre-coded header and footer.
    1. Use jsp:include.
    header works fine but footer is rendered before the page content, even if the footer is placed after the page content. Is there a way to customize the position?
    <f:facet name="footerFacet">
    <f:subview id="footerView"
    binding="#{backing_welcomePage.footerView}">
    <jsp:include page="/footer.jspf"/>
    </f:subview>
    </f:facet>
    2. Use frameBorderLayout.
    I followed the doc and use the document tag. But the frame page is rendered but none of included pages are rendered. So I got a blank page.
    <!-- frame page -->
    <f:view>
    <afh:html>
    <afh:head title="my frame page">
    <meta http-equiv="Content-Type"
    content="text/html; charset=windows-1252"/>
    </afh:head>
    <afh:body>
    <afh:frameBorderLayout height="100%" width="100%">
    <f:facet name="center">
    <afh:frame source="topPage.jspx" name="topPage3"/>
    </f:facet>
    <f:facet name="top">
    <afh:frame source="topPage.jspx" height="200" name="topPage2"/>
    </f:facet>
    <f:facet name="bottom">
    <afh:frame source="topPage.jspx" height="200" name="topPage1"/>
    </f:facet>
    </afh:frameBorderLayout>
    </afh:body>
    </afh:html>
    </f:view>
    <!-- top page -->
    <f:view>
    <af:document title="FrameBorderLayout Demo">
    <af:form>
    <af:panelGroup layout="vertical">
    <f:facet name="separator">
    <af:objectSeparator />
    </f:facet>
    <af:outputFormatted styleUsage="instruction" value="&lt;b>A frameBorderLayout&lt;/b>"/>
    </af:panelGroup>
    </af:form>
    </af:document>
    </f:view>

    for #1 have you tried throwing a verbatim tag around your includes like:
    <f:verbatim>
    <jsp:directive.include file="/includes/footer.jsp"/>
    </f:verbatim>
    it's how we got around intermixing html and jsf

  • Jdeveloper and ADF Help

    Hi All ,
    I have a field Airticket , so i need to allow the user Yes or No for that field
    so using redio button i placed , but how to display both side by side
    (Yes Rediobutton No Rediobutton) instead of diplying in 2 lines
    (Yes Rediobutton
    No Rediobutton)
    And how reduce field length of the database item in the JSP page.
    As i'm new to Jdeveloper and ADF need support and also please give any links which will be useful.
    Thanks
    RG

    Place the items in a group layout set to horizontal display to show them side by side.
    Set the width of attributes in the ADF BC-Entity Object-attribute-control hints-width

  • JDev and ADF is difficult

    As a new user to ADF I am finding ADF and JDev a little discouraging and hard to use. I did a search on how to improve jdev's performance and found a lot of useful tips and tricks to use, but I pose the question. Shouldn't it just work out of the box? Coming from a web 2.0 background developing EE applications using Spring, JPA/Hibernate, Extjs, and netbeans I keep thinking to myself wow how in the world should I have known that changing this or that table attribute causes this or that to behave differently. For example I read a thread on multi-selecting table rows and in this article multiselect selectedRowKeys must be removed for multi select to perform correctly. Now I realize this is a simple example, but I find myself asking the same types of questions about dragging and dropping views into jdev or mapping bindings to pages so that I can gain access to data. I can relate to some angry posts by some about how difficult it is to develop anything useful in JDev and ADF because of a series of random problems (things like running OOM, or mapping bindings to a page which then for some reason map incorrectly or they think they are mapped to another page, etc...) Now I can already hear the first response... you are new to this world (yes) and you just need time. What if I told you I've been reading so much documentation over the past month that my eyes are bleeding. I've been through countless tutorials on how to use JDev and ADF. I've successfully created "Sample applications" generating useless tables of data. I've read several books on ADF and how to button click my way to creating EE applications, but I find the memorization of button clicking to be exhausting. I keep telling my boss I want to go back to writing code not dragging and dropping items on a page so that JDev can generate/modify .xml files for me.
    Now that said I know I am new to this world and I'm trying to find some common ground as my job requires me to develop EE applications in ADF, and I must learn this technology. So I ask all of you ADF and JDev advocates prove me wrong here and point me to the documentation that all of you use to navigate this world of yours.
    Thanks for your understand,
    Wraith (Newbie and found wanting)
    Edited by: wraith101 on Aug 14, 2012 3:38 PM
    Edited by: wraith101 on Aug 14, 2012 3:42 PM

    First off thank you for the response Shay!
    >
    Getting used to the way you build applications with JDev and ADF takes time, but think how much time did it took you to learn Spring, JPA, ExtJS etc to a level where you knew every little setting you needed to manually code in a spring XML file, or JPQL query syntax in your JPA or a javascript in ExtJS - My guess was that getting to a situation where you know everything in those technology wasn't exactly a problem less experience.
    >
    It is true it took some time to learn the technologies listed above. I guess If I were arguing for them I would say they were easier to use and learn due to most of them being open source and very popular because of this (i.e tons of examples, books, and documentation). Not sure if ADF is there yet?
    >
    I do like the fact that I can get from 0 to a fully functional page with a few clicks here and there, and then fine tune the results with some property settings in various places.
    And then if I need even further customization I can go to the code level when needed.
    >
    I agree it takes very little time to create something that is at least visually usable. I'm not familiar enough ADF yet to determine now hard it is to actually create a fully functioning application that does more than display data. For example, how would I create a visualization that updates every 10 seconds and allows users to post feedback in a similar manner to this forum?
    >
    The question of whether the declarative and visual development experience is a good thing or not is to some degree a matter of personal preferences.
    I wonder how long would it have taken someone to build something like this: http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/ADF112/ADF112.html
    with the stack you mentioned above. How many lines of code would they have needed to write, how many syntax errors while coding, and would the result be as functional so fast.
    >
    Agree I'm not hear to argue which type of development experience is better or worse. I would point out however that as a JDev/ADF developer in order to develop in the technology it seems you must do most of your development within the JDev environment or have extensive experience in JSF (i.e know which xml files to edit and why I believe there is a reason JSF and JSP are seldom used IMHO because they are difficult. I understand JDev/ADF try to solve this problem) were as in other technologies you as the developer can choose the IDE etc. Another thing I noticed while watching the link you listed was the developer went from place to place to place within jdev making changes. As a newbie it seems that in order to develop ADF in JDev you must just "know things" (ie. for example he pulled in a method in to the task flow so he could invoke some validation or prereq check. As a developer how am I to know how and where and why I can/must do these things? ADF seems to be process based in order to achieve some goal, but the JDev framework gives no clues as to what you should/need to do next. As well as that I needed to create that method within my Application Module in order to do this, which by the way was not mentioned within this video.).
    >
    We often see the reaction of "I don't get what all those XML files that JDev generate are doing" reaction from people who just start up with JDev and ADF.
    But we do try and explain how everything is working in places like the ADF Insider Advanced seminars:
    http://www.oracle.com/technetwork/developer-tools/adf/learnmore/adfinsider-093342.html
    I think the fact that there is a lot of documentation for ADF, and a lot of blog entries, how-to's etc on the web is actually a good thing.
    I often find that if I run into an issue with ADF - a simple google search will show me how someone else solved that issue - and I like this too.
    >
    I guess my biggest gripe here would be yes there is tons of JDev/ADF documentation on OTN and other places, but none of it is complete, and I would also argue that the organization on OTN is half hazard, and makes learning ADF difficult as well. I find myself drilling down through layers and layers of links only to not be able to get back to were I came from to look at another topic/tutorial I was interested in(maybe we need a ADF train to be added to the documentation wikis).
    I would also argue when developing in other frameworks writing the xml is a big part to understanding how your application is tied together. For example, Spring servlet mapping or Spring injection mapping. When JDev does the mapping for me I feel that I know less and less about how my application works and I bet all the advanced ADF developers out there know quite a bit about how ADF xml mapping occurs and why, and I bet they make changes to these xml files manually quite often to get things to work as they desire?
    I want to be clear here I am not trying to flaming here, just trying to make a difference for other developers like myself who come along and need to learn ADF to complete some task. Looking at the OTN site I believe creating documentation for ADF development appears to be a top priority, but due to the complexity of the framework there is just so much and it seems to be everywhere. My suggestion would be to include why we are doing such and such with in jdev approach instead of a drag this here to do this approach. For example, I'd like to see a tutorial where it explains when you drag this item in to the content window it creates this xml bind which is the same as what you would normally do in JSF like this (if anyone knows of such a tutorial plz link).
    Again thanks for the reply, and I encourage others to give feedback and suggestions on how I too can become a better JDev/ADF developer.
    -Wraith

  • Values from event and from bindings are not same in valueChangeListener

    Hi, in a valueChangeListener method of an af:selectOneChoice component I get
    the new value from the event with:
    valueChangeEvent.getNewValue()
    and from bindings with:
    JsfUtils.getExpressionValue("#{bindings.Parflag.inputValue}")
    But the value from bindings is the previous value set in UI.
    Why is this happening? In ADF Page lifecycle manual it is referenced that “update model values” face runs before “invoke application” so why the value in bindings is the previous value?
    Any comment will be helpful,
    Thanks.

    That’s right.
    Could anyone comment why a valueChangeListener is regarder as a
    Validation Process and not an Application Action that commits business changes.
    I mean if I need a validator I can put an f:validator to the component and that’s all.
    The immediate attribute didn’t change the result, the method is run before bindings set.

  • ADF Bindings CRUD with either JDBC or Hibernate

    Does anyone know of an example CRUD application that uses ADF Bindings and either Hibernate or JDBC.
    The site...
    http://technology.amis.nl/blog/index.php?p=765
    uses ADF Bindings and Hibernate, but does not update a database.
    I have attempted to do this myself, but when my add/edit page loads, all of my af:inputtext controls display labels instead of input boxes.
    There are several ADF Biding examples for both Toplink and ADF BC, but if anyone can point me in the direction of examples for JDBC and/or Hibernate, I would appreciate it.

    I have created the target datacontrol for ADF Binding.
    In my DataContorls.dcx file, my datacontrol (a JavaBeanDataControl, not an AdapterDataControl) has its SupportsUpdates attribute = "false".
    When I create a form, the #{bindings.<my_property>.updateable} expression returns false, making it so my af:inputText controls cannot take input data. If I manually set SupportUpdates="true", my #{bindings.<my_property>.updateable} expression still returns false.
    If anyone knows how to set it so I can make it so I can update my java objects, I think I will be set.
    Any help would be appreciated.

  • COMMIT problem in TopLink, Struts, JSP and ADF Databinding sample

    In the sample Developing a J2EE Application using TopLink, Struts, JSP and ADF Databinding,
    I followed all the steps to build a department browse page and a edit page.
    But when I get to Step number 23 in "Create a JSP to Edit Departments" I have a problem with the commit.
    Only after I make a change in the form and click the sumbit button, the commit and rollback buttons become active. And After I click the commit button the data gets commited to the database but the page inofmation changes to the very first department record, not the current one.
    How do I make those buttons active with out the extra click on the submit?
    After I click the commit button, how do I keep the current data on the screen?
    Thanks for you help.

    Shay,
    Thanks for the reply.
    For #1, I was able to do the following and get away with not having to press submit first. I just removed the bindings for disable. I hope that does not cause any problems?
    <input type="submit" name="event_Commit" value="Commit" />
    <input type="submit" name="event_Rollback" value="Rollback" />
    For #2, How I add an action on an HTML button? My UIModel.xml for the edit department page currently has two actions on it. Commit and RollBack. Is it linked through the "name" attribute of the input tag?

  • Why is ADF Bindings node not displayed in Expression Builder window?

    Hello,
    I'm using Oracle JDeveloper Studio Edition Version 11.1.1.1.0, and I've created a Fusion Web Application and I've configured ADF Authentication and Security for my web project, using the provided wizard.
    On a certain page, I've placed a Go Link component, and I'm trying to edit the Text and Destination Property using EL Expressions. When I open the Expression Builder window all I can see are the following nodes: ADF Controller Objects, ADF Managed Beans, JSF Managed Beans and JSP Objects, but no ADF Bindings. I need to access the securityContext properties, and from what I've read in B31974-03, I need ADF Bindings.
    Also, I've tryied using the search field from the Expression Builder windows, without any luck.
    This is probably a newbie problem, but I really can't figure it out. Please help.
    Bogdan.

    Hi,
    maybe your problem is that you don't have created pageDef related with your page. Try right click on your page and Go To Page Definition. It will create the related pageDef if it does not exist.
    Hope this helps
    Joseba

  • Struts and ADF in Portal

    Hello. We have had a TAR going for some time regarding an issue with Struts and ADF in Portal. This is the summary of the TAR:
    Customer followed the following document to create his Struts ADF application:
    Developing an End-to-End Web Application Using the Default Technology Scope
    at
    http://www.oracle.com/technology/obe/obe9051jdev/ADFtoJSP/defaultendtoend.htm
    After following the steps in the documentation, his application worked just fine.
    - After this he decided to portletize his application using the following document:
    OracleAS Portal Developer Kit (PDK)
    How to create a Struts Portlet ?
    at
    http://portalstudio.oracle.com/pls/ops/docs/FOLDER/COMMUNITY/PDK/ARTICLES/pdkstruts/portletize-your-app.html
    When adding his portlet to a page, he basically received a portlet without any data, while the same worked fine outsi
    de of Portal.
    These are examples from the JSP file that do not show up in the portlet:
    <c:out value="${bindings.DepartmentsView1.labels['DepartmentId']}">
    <c:out value="${bindings.DepartmentId.label}"/>
    </c:out>
    We figured out that if we add the following filter mapping then it works fine:
    <filter-mapping>
    <filter-name>ADFBindingFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    This filter mapping would mean that it maps all URLs to the ADFBindingFilter. I suppose this would not be necessary and we're concerned about the implications this might cause and we believe that there should be a better solution for this.
    The final reply from support was that Portal is not yet supported with ADF technology. Does anyone have any comment on the above filter issue and other thoughts on using Struts and ADF in Portal? Another issue we found was that the PDK Struts tags do not support EL expressions. Have a look at this forum post:
    Re: Struts and nested tags in parameters. Possible?

    I am trying to create a portlet with JSF/ADF
    I Developed a Application with Oracle ADF UIX from: http://www.oracle.com/technology/obe/obe_as_1012/j2ee/develop/client/uix/lesson_uix.htm
    and then I followed this link: http://oracle001.cedecra.it/pdk/articles/pdkstruts/portletize-your-app.html
    to portletize the application
    and I am getting the below error message:
    500 Internal Server Error
    java.lang.SecurityException: sealing violation at com.evermind.naming.ContextClassLoader.defineClass(ContextClassLoader.java:1153) at com.evermind.naming.ContextClassLoader.defineClass(ContextClassLoader.java:1065) at com.evermind.naming.ContextClassLoader.findClass(ContextClassLoader.java:404) at com.evermind.naming.ContextClassLoader.loadLocalClassFirst(ContextClassLoader.java:158) at com.evermind.naming.ContextClassLoader.loadClass(ContextClassLoader.java) at java.lang.ClassLoader.loadClass(ClassLoader.java) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java) at com.evermind.util.OC4JSecureClassLoader.defineClassEntry(OC4JSecureClassLoader.java:172) at com.evermind.naming.ContextClassLoader.defineClass(ContextClassLoader.java:1179) at com.evermind.naming.ContextClassLoader.defineClass(ContextClassLoader.java:1065) at com.evermind.naming.ContextClassLoader.findClass(ContextClassLoader.java:404) at com.evermind.naming.ContextClassLoader.loadLocalClassFirst(ContextClassLoader.java:158) at com.evermind.naming.ContextClassLoader.loadClass(ContextClassLoader.java) at java.lang.ClassLoader.loadClass(ClassLoader.java) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java) at com.evermind.util.OC4JSecureClassLoader.defineClassEntry(OC4JSecureClassLoader.java:172) at com.evermind.naming.ContextClassLoader.defineClass(ContextClassLoader.java:1179) at com.evermind.naming.ContextClassLoader.defineClass(ContextClassLoader.java:1065) at com.evermind.naming.ContextClassLoader.findClass(ContextClassLoader.java:404) at com.evermind.naming.ContextClassLoader.loadLocalClassFirst(ContextClassLoader.java:158) at com.evermind.naming.ContextClassLoader.loadClass(ContextClassLoader.java) at java.lang.ClassLoader.loadClass(ClassLoader.java) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java) at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:1655) at java.lang.Class.getMethod0(Class.java:1901) at java.lang.Class.getMethod(Class.java:984) at oracle.portal.utils.xml.v2.DefaultNodeHandler.findMethod(Unknown Source) at oracle.portal.utils.xml.v2.DefaultNodeHandler.setCustomValue(Unknown Source) at oracle.portal.utils.xml.v2.DefaultNodeHandler.handleSimpleElement(Unknown Source) at oracle.portal.utils.xml.v2.DefaultNodeHandler.processNode(Unknown Source) at oracle.portal.utils.xml.v2.DefaultNodeHandler.processNode(Unknown Source) at oracle.portal.provider.v2.http.DefaultProviderLoader.getProviderDefinition(Unknown Source) at oracle.portal.provider.v2.http.DefaultProviderLoader.validate(Unknown Source) at oracle.webdb.provider.v2.adapter.soapV1.ProviderAdapter.validate(Unknown Source) at oracle.webdb.provider.v2.adapter.soapV1.ProviderAdapter.showTestPage(Unknown Source) at oracle.webdb.provider.v2.adapter.soapV1.ProviderAdapter.handleHttp(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java) at oracle.webdb.provider.v2.adapter.SOAPServlet.doHTTPCall(Unknown Source) at oracle.webdb.provider.v2.adapter.SOAPServlet.service(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65) at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source) at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16) at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:239) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:669) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:340) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:285) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:126) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192) at java.lang.Thread.run(Thread.java:534)
    [b]provider.xml
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <?providerDefinition version="3.1"?>
    <provider class="oracle.portal.provider.v2.DefaultProviderDefinition">
    <session>true</session>
    <passAllUrlParams>true</passAllUrlParams>
    <preferenceStore class="oracle.portal.provider.v2.preference.FilePreferenceStore">
    <name>prefStore1</name>
    <useHashing>true</useHashing>
    </preferenceStore>
    <portlet class="oracle.portal.provider.v2.DefaultPortletDefinition">
    <id>1</id>
    <name>MyTest2Portlet</name>
    <title>My Test2 Portlet</title>
    <description>My Test2 Portlet Description</description>
    <timeout>40</timeout>
    <showEditToPublic>false</showEditToPublic>
    <hasAbout>false</hasAbout>
    <showEdit>true</showEdit>
    <hasHelp>false</hasHelp>
    <showEditDefault>false</showEditDefault>
    <showDetails>false</showDetails>
    <renderer class="oracle.portal.provider.v2.render.RenderManager">
    <renderContainer>true</renderContainer>
    <renderCustomize>true</renderCustomize>
    <autoRedirect>true</autoRedirect>
    <contentType>text/html</contentType>
    <showPage class="oracle.portal.provider.v2.render.http.StrutsRenderer">
    <defaultAction>/portal/browseDeptEmp.do</defaultAction>
    </showPage>
    <editPage>/htdocs/mytest2portlet/MyTest2PortletEditPage.jsp</editPage>
    </renderer>
    <personalizationManager class="oracle.portal.provider.v2.personalize.PrefStorePersonalizationManager">
    <dataClass>oracle.portal.provider.v2.personalize.NameValuePersonalizationObject</dataClass>
    </personalizationManager>
    </portlet>
    </provider>
    struts_config.xml
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
    <struts-config>
    <form-beans>
    <form-bean name="DataForm" type="oracle.adf.controller.struts.forms.BindingContainerActionForm"/>
    </form-beans>
    <action-mappings>
    <action path="/portal/browseDeptEmp" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataForwardAction" name="DataForm" parameter="/browseDeptEmp.uix">
    <set-property property="modelReference" value="browseDeptEmpUIModel"/>
    <forward name="formEmpLink" path="/portal/formEmp.do"/>
    <forward name="createEmpLink" path="/portal/createEmpAction.do"/>
    <forward name="searchEmpLink" path="/portal/searchEmp.do"/>
    </action>
    <action path="/portal/formEmp" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataForwardAction" name="DataForm" parameter="/formEmp.uix">
    <set-property property="modelReference" value="formEmpUIModel"/>
    </action>
    <action path="/portal/createEmpAction" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataAction" name="DataForm">
    <set-property property="modelReference" value="formEmpUIModel"/>
    <set-property property="methodName" value="formEmpUIModel.Create"/>
    <set-property property="resultLocation" value="${requestScope.methodResult}"/>
    <set-property property="numParams" value="0"/>
    <forward name="success" path="/portal/formEmp.do"/>
    </action>
    <action path="/portal/searchEmp" className="oracle.adf.controller.struts.actions.DataActionMapping" type="oracle.adf.controller.struts.actions.DataForwardAction" name="DataForm" parameter="/searchEmp.uix">
    <set-property property="modelReference" value="searchEmpUIModel"/>
    </action>
    </action-mappings>
    <message-resources parameter="view.ApplicationResources"/>
    </struts-config>
    web.xml
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    <description>Empty web.xml file for Web Application</description>
    <context-param>
    <param-name>CpxFileName</param-name>
    <param-value>DataBindings</param-value>
    </context-param>
    <context-param>
    <param-name>oracle.portal.log.LogLevel</param-name>
    <param-value>4</param-value>
    </context-param>
    <filter>
    <filter-name>ADFBindingFilter</filter-name>
    <filter-class>oracle.adf.model.servlet.ADFBindingFilter</filter-class>
    <init-param>
    <param-name>encoding</param-name>
    <param-value>windows-1252</param-value>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>ADFBindingFilter</filter-name>
    <url-pattern>*.jsp</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>ADFBindingFilter</filter-name>
    <url-pattern>*.jspx</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>ADFBindingFilter</filter-name>
    <servlet-name>uix</servlet-name>
    </filter-mapping>
    <!-- <filter-mapping>
    <filter-name>ADFBindingFilter</filter-name>
    <servlet-name>action</servlet-name>
    </filter-mapping>
    -->
    <filter-mapping>
    <filter-name>ADFBindingFilter</filter-name>
    <servlet-name>SOAPServlet</servlet-name>
    </filter-mapping>
    <servlet>
    <servlet-name>SOAPServlet</servlet-name>
    <description>Extended Portal SOAP Server</description> <servlet-class>oracle.webdb.provider.v2.adapter.SOAPServlet</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
    <servlet-name>uix</servlet-name>
    <servlet-class>oracle.cabo.servlet.UIXServlet</servlet-class>
    <init-param>
    <param-name>oracle.cabo.servlet.pageBroker</param-name>
    <param-value>oracle.cabo.servlet.xml.UIXPageBroker</param-value>
    </init-param>
    <init-param>
    <param-name>oracle.cabo.servlet.UIXRequestListeners</param-name>
    <param-value>oracle.cabo.adf.rt.InitModelListener</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
    <servlet-name>SOAPServlet</servlet-name>
    <description>Extended Portal SOAP Server</description>
    <servlet-class>oracle.webdb.provider.v2.adapter.SOAPServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>uix</servlet-name>
    <url-pattern>*.uix</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>uix</servlet-name>
    <url-pattern>/uix/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>SOAPServlet</servlet-name>
    <url-pattern>/providers</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>SOAPServlet</servlet-name>
    <url-pattern>/providers/*</url-pattern>
    </servlet-mapping>
    <session-config>
    <session-timeout>35</session-timeout>
    </session-config>
    <mime-mapping>
    <extension>html</extension>
    <mime-type>text/html</mime-type>
    </mime-mapping>
    <mime-mapping>
    <extension>txt</extension>
    <mime-type>text/plain</mime-type>
    </mime-mapping>
    <welcome-file-list>
    <welcome-file>index.uix</welcome-file>
    </welcome-file-list>
    </web-app>
    someone please help me out.
    Thank you so much

  • IllegalStateException in View (using JBOSS and ADF)

    Hi:
    I have a project using JBOSS and ADF. I have a form with the following code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <%@ page contentType="text/html"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <%@ taglib uri="http://xmlns.oracle.com/adf/faces" prefix="af" %>
    <%@ taglib uri="http://xmlns.oracle.com/adf/faces/html" prefix="afh" %>
    <f:view>
    <afh:html id="html">
    <afh:head title="FisaSystem">
    <meta http-equiv="Content-Type"
    content="text/html; charset=windows-1252" />
    <link rel="stylesheet" type="text/css" media="screen" title="screen" href="<%=request.getContextPath()%>/common/skins/fisaClassic/screen.css" />
    </afh:head>
    <afh:body id="body">
    <h:form id="form">
    <af:panelPage>
    <af:showOneTab id="showOneTab" position="above">
    <af:showDetailItem text="" id="showDetailItem">
    <af:panelForm id="panelForm">
    <af:inputText id="clasificationDescription" binding="#{clasificationManager.clasificationDescription}" required="true" />
    </af:panelForm>
    </af:showDetailItem>
    </af:showOneTab>
    <f:verbatim>
    <div class="actions">
    </f:verbatim>
    <af:panelButtonBar>
    <af:commandButton id="saveButton" text="#{internationalizationManager.saveButton}" action="#{clasificationManager.saveClasification}" />
    <af:commandButton id="cancelButton" text="#{internationalizationManager.cancelButton}" action="#{clasificationManager.cancelClasification}" immediate="true" />
    </af:panelButtonBar>
    <f:verbatim>
    </div>
    </f:verbatim>
    </af:panelPage>
    </h:form>
    </afh:body>
    </afh:html>
    </f:view>
    the backing bean for that form i like this:
    package com.fisa.efisa.document.manage.bean;
    import java.util.Collection;
    import oracle.adf.view.faces.component.UIXInput;
    import oracle.adf.view.faces.component.UIXTable;
    import oracle.adf.view.faces.context.AdfFacesContext;
    import oracle.adf.view.faces.event.LaunchEvent;
    import oracle.adf.view.faces.event.ReturnEvent;
    import com.fisa.efisa.document.dto.EFPClasification;
    import com.fisa.efisa.document.manage.common.CommonBackingBean;
    import com.fisa.efisa.process.document.persistence.TdmmClasification;
    import com.fisa.efisa.process.document.service.ServiceClasification;
    import com.fisa.efisa.process.document.service.delegate.ServiceClasificationDelegate;
    import com.fisa.efisa.process.engine.service.ServiceProcessEngine;
    import com.fisa.efisa.process.engine.service.delegate.ServiceProcessEngineDelegate;
    import com.fisa.util.Action;
    import com.fisa.util.message.FTransactionMessage;
    import com.fisa.util.message.Field;
    import com.fisa.util.message.FisaMessage;
    public class ClasificationBackingBean extends CommonBackingBean {
    private final String CLASIFICATION_IDENTIFIER = "clasification";
    ServiceClasification serviceClasification;
    ServiceProcessEngine serviceProcessEngine;
    UIXTable clasificationTable;
    UIXInput clasificationDescription = new UIXInput();
    public ClasificationBackingBean() {
    serviceClasification = new ServiceClasificationDelegate();
    serviceProcessEngine = new ServiceProcessEngineDelegate();
    public Collection getClasificationList() {
    return serviceClasification.findAllClasification(getFisaUserData());
    public String addClasification() {
    return ADD_OUTCOME;
    public String editClasification() {
    TdmmClasification row = (TdmmClasification) this.clasificationTable.getSelectedRowData();
    if (row != null)
    storeObjectInRequest(this.CLASIFICATION_IDENTIFIER, row.getClasificationId());
    else
    return null;
    return EDIT_OUTCOME;
    public String saveClasification() {
    return LIST_OUTCOME;
    public String deleteClasification() {
    if (this.clasificationTable.getSelectedRowData() != null)
    return CONFIRM_DELETE_KEY;
    return null;
    public void handleConfirmDeleteReturn(ReturnEvent event) {
    if (event.getReturnValue() != null) {
    AdfFacesContext.getCurrentInstance().addPartialTarget(this.clasificationTable);
    public void handleConfirmDeleteLaunch(LaunchEvent event) {
    Object row = this.clasificationTable.getSelectedRowData();
    if (row != null)
    event.getDialogParameters().put(DELETE_OBJECT_KEY, row);
    public String cancelClasification() {
    return LIST_OUTCOME;
    public UIXTable getClasificationTable() {
    return clasificationTable;
    public void setClasificationTable(UIXTable clasificationTable) {
    this.clasificationTable = clasificationTable;
    public UIXInput getClasificationDescription() {
    if (this.getClasificationFromRequest() != null)
    clasificationDescription.setValue(this.getClasificationFromRequest().getDescription());
    return clasificationDescription;
    public void setClasificationDescription(UIXInput clasificationDescription) {
    this.clasificationDescription = clasificationDescription;
    private EFPClasification getClasificationFromRequest() {
    Long rowId = null;
    if (retrieveObjectFromRequest(this.CLASIFICATION_IDENTIFIER) != null) {
    rowId = (Long) retrieveObjectFromRequest(this.CLASIFICATION_IDENTIFIER);
    FisaMessage fisaMessage = new FisaMessage();
    fisaMessage.setHeader(getMessageHeader());
    FTransactionMessage transactionMessage = new FTransactionMessage();
    transactionMessage.setFtmApplicationId(getApplicationId());
    transactionMessage.setFtmSourceSystemId(getSystemId());
    transactionMessage.setFtmSubSystemId(getSubsystemId());
    transactionMessage.setFtmBusinessTemplateId(getClasificationBtId());
    EFPClasification efpClasification = new EFPClasification(transactionMessage);
    Field field = new Field();
    field.setValue(rowId.toString());
    transactionMessage.addField(efpClasification.CLASIFICATION_ID, field);
    transactionMessage.setFtmActionId(Action.QUERY_LIVE);
    transactionMessage.setBtDataKey(rowId.toString());
    fisaMessage.getFTransactionMessages().put(getClasificationBtId(), transactionMessage);
    fisaMessage = this.serviceProcessEngine.executeMessage(fisaMessage);
    transactionMessage = fisaMessage.getFTransactionMessages().get(getClasificationBtId());
    efpClasification = new EFPClasification(transactionMessage);
    return efpClasification;
    return null;
    And this is my faces-config
    <?xml version="1.0"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
    <!--param-value>server</param-value-->
    </context-param>
    <context-param>
    <param-name>
    oracle.adf.view.faces.USE_APPLICATION_VIEW_CACHE
    </param-name>
    <param-value>false</param-value>
    </context-param>
    <context-param>
    <param-name>
    oracle.adf.view.faces.ENABLE_DMS_METRICS
    </param-name>
    <param-value>false</param-value>
    </context-param>
    <context-param>
    <param-name>
    oracle.adf.view.faces.CHECK_FILE_MODIFICATION
    </param-name>
    <param-value>true</param-value>
    </context-param>
    <context-param>
    <param-name>
    oracle.adf.view.faces.CHANGE_PERSISTENCE
    </param-name>
    <param-value>session</param-value>
    </context-param>
    <filter>
    <filter-name>adfFaces</filter-name>
    <filter-class>
    oracle.adf.view.faces.webapp.AdfFacesFilter
    </filter-class>
    </filter>
    <filter-mapping>
    <filter-name>adfFaces</filter-name>
    <servlet-name>faces</servlet-name>
    </filter-mapping>
    <!-- Faces Servlet -->
    <servlet>
    <servlet-name>faces</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    </servlet>
    <!-- resource loader servlet -->
    <servlet>
    <servlet-name>resources</servlet-name>
    <servlet-class>
    oracle.adf.view.faces.webapp.ResourceServlet
    </servlet-class>
    </servlet>
    <!-- Faces Servlet Mappings -->
    <servlet-mapping>
    <servlet-name>faces</servlet-name>
    <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>resources</servlet-name>
    <url-pattern>/adf/*</url-pattern>
    </servlet-mapping>
    <!-- Welcome Files -->
    <welcome-file-list>
    <welcome-file>index.jspx</welcome-file>
    </welcome-file-list>
    <!-- ADF Faces Tag Library -->
    <taglib>
    <taglib-uri>http://xmlns.oracle.com/adf/faces</taglib-uri>
    <taglib-location>/WEB-INF/af.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://xmlns.oracle.com/adf/faces/html</taglib-uri>
    <taglib-location>/WEB-INF/afh.tld</taglib-location>
    </taglib>
    <!-- Faces Core Tag Library -->
    <taglib>
    <taglib-uri>http://java.sun.com/jsf/core</taglib-uri>
    <taglib-location>/WEB-INF/jsf_core.tld</taglib-location>
    </taglib>
    <!-- Faces Html Basic Tag Library -->
    <taglib>
    <taglib-uri>http://java.sun.com/jsf/html</taglib-uri>
    <taglib-location>/WEB-INF/html_basic.tld</taglib-location>
    </taglib>
    <login-config>
    <auth-method>BASIC</auth-method>
    </login-config>
    </web-app>
    As you see there's nothing really weird about this at all; if i use this page as displayed, i click on any of the buttons and everything works fine. But, if i add any other property to the clasificationDescription adf:inputText (a label for example), then it crashes with this error:
    java.lang.IllegalStateException: Invalid index
    oracle.adf.view.faces.bean.util.StateUtils.restoreKey(StateUtils.java:57)
    oracle.adf.view.faces.bean.util.StateUtils.restoreState(StateUtils.java:129)
    oracle.adf.view.faces.bean.util.AbstractPropertyMap.restoreState(AbstractPropertyMap.java:94)
    oracle.adf.view.faces.bean.FacesBeanImpl.restoreState(FacesBeanImpl.java:247)
    oracle.adf.view.faces.component.UIXComponentBase.restoreState(UIXComponentBase.java:761)
    oracle.adf.view.faces.component.UIXComponentBase.processRestoreState(UIXComponentBase.java:749)
    oracle.adf.view.faces.component.TreeState.restoreState(TreeState.java:80)
    oracle.adf.view.faces.component.UIXComponentBase.processRestoreState(UIXComponentBase.java:743)
    oracle.adf.view.faces.component.TreeState.restoreState(TreeState.java:80)
    oracle.adf.view.faces.component.UIXComponentBase.processRestoreState(UIXComponentBase.java:743)
    oracle.adf.view.faces.component.TreeState.restoreState(TreeState.java:80)
    oracle.adf.view.faces.component.UIXComponentBase.processRestoreState(UIXComponentBase.java:743)
    oracle.adf.view.faces.component.TreeState.restoreState(TreeState.java:80)
    oracle.adf.view.faces.component.UIXComponentBase.processRestoreState(UIXComponentBase.java:743)
    oracle.adf.view.faces.component.TreeState.restoreState(TreeState.java:80)
    oracle.adf.view.faces.component.UIXComponentBase.processRestoreState(UIXComponentBase.java:743)
    javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1019)
    oracle.adfinternal.view.faces.application.StateManagerImpl.restoreView(StateManagerImpl.java:330)
    com.sun.faces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:228)
    oracle.adfinternal.view.faces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:232)
    com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:157)
    com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
    oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:367)
    oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:336)
    oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:196)
    oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:87)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    What can be happening ???

    This forum is only for questions directly related to the Sun Web Server. I think you should post your questions in the jboss forums. Alternative, you could use one of the sun products and then we would be able to help you ;)

  • Integration of DisplayTag and ADF?

    hi,
    Is it possible to integrate DisplayTag with ADF bindings? What would be the best approach?

    DisplayTag is a popular tag library (implements View Helper design pattern) used in Struts applications (and possibly others frameworks too, not sure about JSF, i.e. it is a component being the JSP tag, but probably not JSF component). It is similar to ADF table but has some features missing from ADF like Export-toExcel etc. I know there are workarounds in ADF for Export-to-Excel, but with DisplayTag no workaround is needed, you just download it and put in project classpath. The tag itself expects certain lists of Value and Label beans in session or request etc. scopes and binds them with GUI attributes. Usually these lists of beans are prepared in Struts "setup" actions before JSP page containing DisplayTag is rendered.
    Would it be possible to have a JSP fragment with display tag in it inside a facet as part of ADF page? The question is how to bind/prepare these lists of beans for display tag? I am not familiar with ADF so I do not know if managed bean can be used or some kind of ADF value binding?

  • JDev 11g TP4: ADF tables and ADF form pop-ups PPR?

    I was hoping somebody could help me with the following please.
    I'm currently having a bit of an issue with ADF tables and ADF forms embedded in a pop-up, where the wrong record is shown in the popup. I suspect it's a PPR problem but am unsure. My scenario:
    1) I have the following table:
    CREATE TABLE "CHRIS_MUIR_DELETE_ME" (
    "ID" NUMBER(5,0)
    "SOME_COLUMN" VARCHAR2(20 BYTE)
    CONSTRAINT "CHRIS_MUIR_DELETE_ME_PK" PRIMARY KEY ("ID"));2) I have a default ADF BC EO/VO combination for this table.
    3) I have an ADF Faces RC page with a read-only table based on this VO:
    <af:table value="#{bindings.ChrisMuirDeleteMeView.collectionModel}" var="row"
       rows="#{bindings.ChrisMuirDeleteMeView.rangeSize}"
       emptyText="#{bindings.ChrisMuirDeleteMeView.viewable ? 'No rows yet.' : 'Access Denied.'}"
       fetchSize="#{bindings.ChrisMuirDeleteMeView.rangeSize}"
       selectedRowKeys="#{bindings.ChrisMuirDeleteMeView.collectionModel.selectedRow}"
       selectionListener="#{bindings.ChrisMuirDeleteMeView.collectionModel.makeCurrent}"
       rowSelection="single" partialTriggers="myDialog">
      <af:column sortProperty="Id" sortable="false"
        headerText="#{bindings.ChrisMuirDeleteMeView.hints.Id.label}">
         <af:outputText value="#{row.Id}">
            <af:convertNumber groupingUsed="false" pattern="#{bindings.ChrisMuirDeleteMeView.hints.Id.format}"/>
         </af:outputText>
      </af:column>
      <af:column sortProperty="SomeColumn" sortable="false"
         headerText="#{bindings.ChrisMuirDeleteMeView.hints.SomeColumn.label}">
        <af:outputText value="#{row.SomeColumn}"/>
      </af:column>
    </af:table>Note that rowSelection is set to "single".
    3) The page also includes a popup-dialog combo that shows the same data from the table (ie. they're based on the same VO) as an ADF Input Form:
    <af:popup id="myPopUp">
      <af:dialog type="okCancel" id="myDialog">
         <af:panelFormLayout>
            <af:inputText value="#{bindings.Id.inputValue}"
                label="#{bindings.Id.hints.label}"
                required="#{bindings.Id.hints.mandatory}">
               <f:validator binding="#{bindings.Id.validator}"/>
               <af:convertNumber groupingUsed="false" pattern="#{bindings.Id.format}"/>
            </af:inputText>
            <af:inputText value="#{bindings.SomeColumn.inputValue}"
                label="#{bindings.SomeColumn.hints.label}"
                required="#{bindings.SomeColumn.hints.mandatory}"/>
            </af:inputText>
         </af:panelFormLayout>
      </af:dialog>
    </af:popup>Note that the table's partialTriggers is set to the id of the dialog. This implies on return from the dialog, the table will update itself to reflect any changes.
    4) I have a data bound Create commandButton, + a simple Edit commandButton. The Edit button includes an <af:showPopupBehavior> to display the popup:
    <af:commandButton
        actionListener="#{bindings.Create.execute}" text="Create"
        disabled="#{!bindings.Create.enabled}"
        partialTriggers="table1"/>
    <af:commandButton text="Edit">
        <af:showPopupBehavior popupId="myPopUp"/>
    </af:commandButton>If you run the form with the following steps, you can reproduce my issue:
    1) Click the create button, this will create a blank record in the <af:table>
    2) Click the edit button and give the 2 fields values, press ok. Note this is reflected back in the table.
    3) Click the create button, you will now see another blank record in the <af:table>. Note that the current row selection highlight is on the new record.
    4) In the table select the original record, then the Edit button. Oddly the input form is showing the blank record, not the original record even though we selected it in the <af:table>
    This implies to me that I have to hook up a PPR event such that the fields on the popup know to update themselves when the user selects a new row in the table.
    I've tried setting the partialTriggers property for the popup, dialog and individual fields on the popup page to the table id, but this doesn't seem to work.
    Does anybody have any suggestions on how I'm meant to hook up the partialTriggers in this case? I'm at a bit of a loss to know what to do to solve this issue. Is it possible the table selectionListener isn't working?
    Thanks for your help in advance.
    Regards,
    CM.

    G'day gang
    This morning I had a chance to play with Pavle's suggestions, specifically the popup contentDelivery option, and it's solved the issue. Specifically changing the contentDelivery option to lazyUncached was the golden solution.
    As the popup component help states, the default functionality is: "lazy -- the default strategy described above. The content isn't loaded until you show the popup once, but then is cached."
    ....cached being the issue I was seeing.....
    While the lazyUncached options states: "lazyUncached -- the content isn't loaded until you show the popup, and then is re-fetched every subsequent time you show the popup. Use this strategy if the popup shows data that can become stale."
    The nasty thing about the lazy option is the fact that in the dialog it can show the previous cached result (even though you've selected a different record), and you can even appear to edit that cached result in the dialog, but when you press okay in the dialog and return to the previous table, it's updated the record you selected, not the cached result.
    Confusing, but not a bug if you understand the popup contentDelivery options.
    Frank, if you'd like it, I have the simple test case available to send you. But as it's not a bug I wont send it to you unless requested.
    Thanks to both of you for your assistance with this one. Once again your help is much appreciated! :)
    I'll take time out to blog about this in the next few weeks to assist others.
    Thanks & regards,
    CM.

Maybe you are looking for

  • How to configure Multiple static NATs

    Hi, I am trying to configure a Cisco 871 router. I have 3 servers on my network that need static public IPs but also still need to communicate on the local network. I have given my WAN interface the first IP in the block and set up PAT for the rest o

  • XML Form Builder - XSL

    Hi, I am modifying the XSL of the application to validate the date field in the form builder. In the save button of the all the applications build through form builder, there are two javascripts .... One is javascript:HrefSubmit under attribute href

  • Yoga 13 - external optical drive?

    Is there an external CD drive for the Yoga 13?  Moderator comment: Subject edited for clarity. Duplicate thread removed.

  • NI-VISA USB Devices

    I am having a couple of problems using a USB RAW device.  I have an interface module that has a PIC18F1450 micro to provide USB communications.  I used the driver wizard to configure it for LabVIEW.  The developer of the module provided a simple VB G

  • What is Adobe Shockwave

    I suddenly keep getting "Adobe Shockwave" folder popping up on my desktop. It pops up at least 3 or 4 times a day. In the folder there is "Shockwave Installer Full Pkg" and "Shockwave Uninstaller app" I don't know where it came from or whether I shou