ADF 10.1.2 and DBUnit?

Hi,
Has anyone successfully used DBUnit to test his ADF BC components?
I have tried this but run into some issues. The most important one is that DBunit needs a physical JDBC connection to load Excel sheets with data. I've subclassed the ApplicationModuleImpl class so there is a method that returns the current connection (I know, very dangerous but it may only be used by DBUnit). However, it seems that DBunit after loading the data is closing this connection so the ApplicationModuleImpl that is tested is raising an error about the closed connection. Does anyone have an idea how to use DBunit like this in combination with ADF?
All hints and tips are welcome!

Repost.
Anyone?

Similar Messages

  • Expose ADF-BC as ejb and use it in UI from the datacontroller

    Hi Experts.
    Here i am looking forward some experts view and guidelines on this deployment architecture question. Currently i have deploped one ADF Web fusion application which has ADF-BC and web. In that web project datacontroller side i can be able to see the view object instances under each business service. Also the web has some UI bindings too. Now the application is working fine fine on one weblogic instance.
    question1) Can i deploy this above project into two weblogic instances one with ADF-BC model ( if yes how to deploy that alone) and the other web into the another instance. ( If yes can to configure the project)
    question 2) Now can i expose the ADF-BC as ejb and use it in the same way in the web (like drag and drop from the Data controller). ? I tried the option expose the ADF-BC as ejb In this case if the VO instance access methods are not exposed. So how can i access them in the UI? For example, assume if we have 2 view object EmployeeView and DepartmentView in the application module, then after immediately create the AM, the datacontrol shows the view object instances name like EmployeeView1, DepartmentView1 and also in the web we just drag and drop to create appropriate UI. This is fine. Now i create the ejb based on the AM. In the Remote interface i have the
    void removeEntity(Object entityDTO)
    method. If i look at the datacontrol section still the data controls remains same. I think this datacontrol still shows the ADF-BC direct connectivity. If i try to create the new ejb data control which points to the same AM ejb for web, then i couldn't see the above view instance name called EmployeeView1, DepartmentView1, where i can drag and drop in the UI.
    I can only see methods like EJBHome etc.....
    So this means i cannot use the Exposed EJB from the ADF-BC Application Module to drag and drop in UI like the ADF-BC direct unless we explicitly create the view access methods in the interface. Am i correct?
    Or still am i getting the wrong assumption.
    Much appreciated if u point some code to understand this.
    -t

    Thanks for the reply.
    Basically we have found the way to expose the ADFBC as ejb and use it for data binding in the UI. I will update this thread soon about our finding. But now i have an architecture question, can we deploy as 3-tier deployment for ADF-BC using the exposed ejb interface? Because i am worrying we might run into some ADF issue in furture if we move this path. Oracle gurus please share your ideas or thoughts.
    -t

  • ADFS 3.0 WAP and Non-Claims-Aware Relying Party Trusts

    I am attempting to migrating a Windows Claims SharePoint page to ADFS 3.0 (Windows Server 2012 R2) and the WAP (Web Application Proxy) from UAG, but are running into problems when our external users attempt to authenticate.  Users from our external
    domain (call it Domain2.com) have been accessing our SharePoint pages via SAML tokens but when I attempted to move them to the new WAP and off of UAG, they get a http/500 error.  The WAP error log gives the following:
    Warning Event ID 13016 - Web Application Proxy cannot retrieve a Kerberos ticket on behalf of the user because there is no UPN in the edge token or in the access cookie
    Error Event ID 12027 - Web Application Proxy encountered an unexpected error while processing the request. Error: The specified username is invalid. (0x8007089a).
    I presume the Error Event ID 12027 is because there is no UPN in the token and we are using KCD/Kerberos so I need to pass a UPN.
    The ADFS server and WAP are joined to Domain1.com.  Domain1.com is Active Directory and there is an account for every user in Domain2.com that is allowed access to our SharePoint Sites.  These account contain the standard
    info... UPN, Email Address, sAMAccountName, etc.  The UPN, Email, and sAMAccountName do not always match the accounts with the Domain2.com accounts; however, we have been using an Active Directory Field labled employeeNumber that is synchronized
    on both domains and we have been using a custom lookup based on the employeeNumber in AD.
    When login's occur via Domain1.com, no problem, the UPN is pulled from the Active Directory Claim Provider Trust.  When a user attempts to access from Domain2.com, we have configured ADFS to forwards them to an STS that collects the employeeNumber
    from Domain2.com via a Web Auth SAML token.  We are able to use the SAML token if we use the standard Claims-Aware Relying Party Trust (CARPT) and convert our SharePoint sites to use the trusted URN via powershell scripts, but we are trying to retain
    functionality similar to how we are using UAG so we don't want to change every single SharePoint site to the SAML configuration, hence we are trying to use the Non-Claims-Aware Relying Party Trust (NCARPT)
    Problem1: When we are using CARPT we can configure the custom translation for our employeeNumber lookup in AD.  But CARPT uses SAML Tokens not Kerberos Tolkens so we cannot login when SharePoint is configured for Kerberos.
    Problem2: When we are using NCARPT it works great when authenticating via local (Domain1.com) credentials and look's up the user in AD, but when we attempt to authenticate with remote (Domain2.com) credentials we are unable to configure the employeeNumber
    lookup and ADFS doesn't just go out and make that correlation on its own.
    Question1: Can I configure CARPT to use Kerberos?
    Question2: If not, can I configure NCARPT to lookup the AD employeeNumber, match the UPN, and add the UPN to the token?
    Question3: If neither option is available, am I just stuck with UAG or is there something out (not scheduled for EOL) there that can handle the translation between SAML and Kerberos Tokens?
    Let me know if I left something out, I tend to ramble, but not sure of all the info that is needed...

    Hi,
    Based on the description, is there trust between domain 1 and domain 2? If not, we can try to create trust between these two domains to see if it helps.
    Regarding Event ID 13016 and Event ID 12027, the following article can be referred to for more information.
    Web Application Proxy Troubleshooting
    https://technet.microsoft.com/en-us/library/dn770156.aspx
    Besides, for ADFS questions, in order to get more and better help, it's recommended that we ask for suggestions in the following forum.
    Claim based access platform (CBA), code-named Geneva
    https://social.msdn.microsoft.com/Forums/vstudio/en-US/home?forum=Geneva
    Best regards,
    Frank Shen
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact [email protected]

  • Not able to select and copy from adf table in IE and chrome if we enable row selection

    Hi All,
    We have an adf table and user wants to select and copy table cell values.
    We enabled row selection on adf table. Ifrow selection is in place, IE and Chrome are not allowing user to select and copy data. But Firefox is allowing.
    Do we have any solution to this? For our customer IE is the standard browser and they do test app on IE.
    Regards
    PavanKumar

    Hi Timo,
    Sorry forgot to mention versions.
    We are using 11.1.1.7 and IE 9.
    I tried in Google but could not get the solution.
    Kindly let me know solution for this.
    PavanKumar

  • ADF: Problem with List and ListOfValues bindings

    In my page I have panelSplitter.
    In first facet I have panelCollection with ADF tree. For the tree definition I have Iterator binding, which contains the elements with no parent and one accessor, which define a recursive master-detail hierarchy. For the tree node I have specified TragetIterator property, that look up second iterator binding, which containes all tree elements (parents and their children).
    In second facet I have panelForm with input fields, based on second iterator binding. So when the user clicks on any node in the tree, it can see and edit in input fields the data for this node.
    In panelCollection I have placed two buttons to create a new node and to delete current node.
    By creation of new node I do the following:
    1) From currently selected node I get the value of one attribute named Code, which is alternate unique key;
    2) From second iterator binding I get the ViewObject, create a new Row and for the "parent" attribute I set the value derived from step 1.
    3) I rerender through PPR tree component and PanelForm with input fields.
    As result I have a new empty node in the tree and empty input fields in second facet, which must be populated and submitted (commited).
    My problem happens after I populate all fields in panelForm, when I commit changes (press Button with Commit action binding) and rerender page content. The exception, which is trown is listed below.
    I want to make the follwing additional remarks:
    1) My primary key in ViewObject is ROWID. I need this attribute to uniquely identify created new rows.
    2) The problem happens only when in panelForm I have field based on Model driven List or ListOfValues binding (<af:selectOneChoice> or <af:inputListOfValues>).
    When I create a new row the ADF BC assign to it one "dummy" ROWID (for example 317499) and after Commit this ROWID is replaced wtih actual ROWID from database. But I don't understand, why after commit of changes on the page the method findByKey of oracle.jbo.server.ViewObjectImpl is called with initial "dummy" ROWID (317499)?
    When there is no field based on List or ListOfValues binding, then there are no calls of findByKey method and there is no such problem.
    And that is the exception:
    2009-7-29 18:04:54 oracle.adf.controller.faces.lifecycle.FacesPageLifecycle addMessage
    WARNING: ADFc: ORA-01410: невалиден ROWID
    oracle.jbo.SQLStmtException: JBO-27122: SQL error during statement preparation. Statement: SELECT OU.CODE, OU.NAME, OU.ABBREVIATION, OU.ORGUNIT_TYPE, OU.PARENT_UNIT, OU.IS_VALID, OU.ROWID FROM ORG_UNITS OU WHERE (OU.ROWID = :1)
         at oracle.jbo.server.BaseSQLBuilderImpl.processException(BaseSQLBuilderImpl.java:3837)
         at oracle.jbo.server.OracleSQLBuilderImpl.processException(OracleSQLBuilderImpl.java:4621)
         at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:1150)
         at oracle.jbo.server.QueryCollection.executeQuery(QueryCollection.java:762)
         at oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java:5681)
         at nsi.isbs.dmc.common.IsbsViewObjectImpl.executeQueryForCollection(IsbsViewObjectImpl.java:56)
         at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:1005)
         at oracle.jbo.server.ViewRowSetImpl.executeQueryForMasters(ViewRowSetImpl.java:1162)
         at oracle.jbo.server.ViewRowSetImpl.executeQueryForMode(ViewRowSetImpl.java:1082)
         at oracle.jbo.server.ViewRowSetImpl.executeQuery(ViewRowSetImpl.java:1076)
         at oracle.jbo.server.ViewObjectImpl.retrieveByKey(ViewObjectImpl.java:13994)
         at oracle.jbo.server.ViewObjectImpl.retrieveByKey(ViewObjectImpl.java:13758)
         at oracle.jbo.server.ViewObjectImpl.retrieveByKey(ViewObjectImpl.java:13752)
         at oracle.jbo.server.ViewRowSetImpl.findByKey(ViewRowSetImpl.java:4891)
         at oracle.jbo.server.ViewRowSetImpl.findByKey(ViewRowSetImpl.java:4679)
         at oracle.jbo.server.ViewRowSetImpl.findByKey(ViewRowSetImpl.java:4673)
         at oracle.jbo.server.ViewObjectImpl.findByKey(ViewObjectImpl.java:9456)
         at oracle.jbo.server.ApplicationModuleImpl.getListBindingName(ApplicationModuleImpl.java:8421)
         at oracle.adf.model.bc4j.DCJboDataControl.getListBindingName(DCJboDataControl.java:2244)
         at oracle.jbo.uicli.binding.JUCtrlListBinding.initDefFromServerBinding(JUCtrlListBinding.java:2366)
         at oracle.jbo.uicli.binding.JUCtrlListBinding.getAttributeDefs(JUCtrlListBinding.java:2327)
         at oracle.jbo.uicli.binding.JUCtrlValueBinding.getAttributeDef(JUCtrlValueBinding.java:497)
         at oracle.jbo.uicli.binding.JUCtrlValueBinding.getAttributeDef(JUCtrlValueBinding.java:487)
         at oracle.jbo.uicli.binding.JUCtrlValueBinding.isInternalAttributeUpdateable(JUCtrlValueBinding.java:3262)
         at oracle.jbo.uicli.binding.JUCtrlValueBinding.isAttributeUpdateable(JUCtrlValueBinding.java:1617)
         at oracle.jbo.uicli.binding.JUCtrlValueBinding.isAttributeUpdateable(JUCtrlValueBinding.java:1695)
         at oracle.jbo.uicli.binding.JUCtrlValueBinding.isUpdateable(JUCtrlValueBinding.java:2512)
         at oracle.jbo.uicli.binding.JUCtrlListBinding.isUpdateable(JUCtrlListBinding.java:3357)
         at oracle.adfinternal.view.faces.model.AdfELResolver._isReadOnly(AdfELResolver.java:85)
         at oracle.adfinternal.view.faces.model.AdfELResolver.isReadOnly(AdfELResolver.java:101)
         at javax.el.CompositeELResolver.isReadOnly(CompositeELResolver.java:353)
         at com.sun.faces.el.FacesCompositeELResolver.isReadOnly(FacesCompositeELResolver.java:113)
         at com.sun.el.parser.AstValue.isReadOnly(AstValue.java:128)
         at com.sun.el.ValueExpressionImpl.isReadOnly(ValueExpressionImpl.java:230)
         at oracle.adfinternal.view.faces.renderkit.rich.EditableValueRenderer.getReadOnly(EditableValueRenderer.java:400)
         at oracle.adfinternal.view.faces.renderkit.rich.EditableValueRenderer.wasSubmitted(EditableValueRenderer.java:341)
         at oracle.adfinternal.view.faces.renderkit.rich.EditableValueRenderer.decodeInternal(EditableValueRenderer.java:113)
         at oracle.adfinternal.view.faces.renderkit.rich.SimpleInputListOfValuesRendererBase.decodeInternal(SimpleInputListOfValuesRendererBase.java:88)
         at oracle.adfinternal.view.faces.renderkit.rich.LabeledInputRenderer.decodeInternal(LabeledInputRenderer.java:55)
         at oracle.adf.view.rich.render.RichRenderer.decode(RichRenderer.java:236)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.__rendererDecode(UIXComponentBase.java:1089)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decode(UIXComponentBase.java:714)
         at oracle.adf.view.rich.component.UIXInputPopup.processDecodes(UIXInputPopup.java:134)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:970)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:956)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:812)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:970)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:956)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:812)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:970)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:956)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:812)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:970)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:956)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:812)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:970)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:956)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:812)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl$ApplyRequestValuesCallback.invokeContextCallback(LifecycleImpl.java:1113)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:722)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.invokeOnComponent(ContextSwitchingComponent.java:153)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.invokeOnComponent(ContextSwitchingComponent.java:153)
         at oracle.adf.view.rich.component.fragment.UIXPageTemplate.invokeOnComponent(UIXPageTemplate.java:208)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
         at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:664)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:303)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:175)
         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:42)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:181)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:85)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:279)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:239)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:196)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:139)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at oracle.security.jps.wls.JpsWlsFilter$1.run(JpsWlsFilter.java:85)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:257)
         at oracle.security.jps.wls.JpsWlsSubjectResolver.runJaasMode(JpsWlsSubjectResolver.java:250)
         at oracle.security.jps.wls.JpsWlsFilter.doFilter(JpsWlsFilter.java:100)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:65)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(Unknown Source)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: java.sql.SQLException: ORA-01410: невалиден ROWID
         at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
         at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:116)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:177)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1034)
         at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:194)
         at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:947)
         at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:891)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1186)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3381)
         at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3425)
         at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1490)
         at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:1040)
         ... 104 more
    ## Detail 0 ##

    I have resolved my problem. I have changed the type of list binding to be Dynamic List (not Model Driven List).

  • ADF SelectOneList.. objects   and WordWrap

    I need help with word wrapping a SelectOne type object in a table cell
    The text of some of the choices is long and needs 1 wrap/berak
    SelectOneListBox does not warp and the cell of the table becomes very wide to accompdate the few long list texts
    SelectOneChoice acts the same way
    SelectOneRadio does wrap the text but breaks them all at about 30 characters causing all to wrap and some wrap into 3 or 4 lines.
    I would like this to be wide and wrap when the characters reach 100 so at most I get two lines of text but not columns that are to wide. I have tried setting the width of the columns but it was no impact. The table is based on an ADF view object.
    Can you get the text of SelectOneChoice and SelectOneListBox to wrap and if so how to do it and control the size and or how do I control the size of the colum for SelectOneRadio.
    Thanks Chris

    Hi,
    I am also interested in a best-practice note from oracle.
    Currently we store history in seperate history tables for columns that changed. All this implemented in our BaseEoImpl overriding the EntityImpl.prepareForDML().
    Thanks

  • ADF BC - One Master and Two Detail pages How To?

    I have an existing ADF BC .jspx master-detail page that works fine. It shows one product as the master (read-only; no navigation controls) and assocatied customer feedback as the detail (multiple records; read-only.) Now I also want to compute some averages from the same table used to create the detail view object. I have created a second view object because this requires a separate query that calculates aggregate values. I want to take advantage of using view links so that this 2nd view object is automatically linked to the master record via the primary key.
    My question is how can I link this into the existing master-detail data control so that I can drag/drop it to include id on the existing .jspx page and the primary key linkages will be handled automatically?
    Tables
    Product
    Feedback
    View Objects
    ProductView
    FeedbackView
    FeedbackAVGView
    Current ViewLink
    ProductFeedbackViewLink = ProductView + FeedbackView
    Current DataControl
    ProductFeedbackViewLink-Instance
    Data Control is displayed on .jspx page; want to also include 3rd View Object, FeedbackAVGView, in the Master-Detail relationship and display on the .jspx page

    Thanks for the reply. The existing customer feedback view object displays the customer's text feedback (testimonials) - these will be displayed in a read-only table with multiple records.
    The new view object aggregates the ratings score from the customer feedback (same FEEDBACK database table) and will use a form to display the results (not multiple rows.) The PK is included in the aggregate view object query.
    Note there is already an existing viewlink between the PK (Master) and FK (Feedback) - in the data control, this viewlink is an instance of the Master View Object and the Customer Feedback View object. Now that I have created a third view object, should I create another View Link between the Master View Object and the Customer Feedback AVERAGES View Object? If I do this, how do I include it in the existing .jspx page? If I add this new View Link to the Application Module I will have two different Data Controls:
    Data Control #1: Master (Product) View Object + Customer Feedback View Object #1 (implemented as a master-detail read-only form/table on a .jspx page)
    Data Control #2: Master (Product) View Object + Customer Feedback AVG View Object #2
    I'm confused as to how to integrate the second customer feedback view object into the existing Data Control / Master-Detail read-only form/table on my .jspx page?
    thanks

  • 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 Task Flow: Browse and Edit pages

    Hi,
    My application includes two pages, a Browse page and an Edit page. The Browse page provides the list of departments (read-only table) and allows you to select a department from the list to edit the department details (form).
    How can I develop this common scenario using ADF task flows? Important - I need to display Browse and Edit on two different jsf pages.
    Thanks, Al

    It should be pretty easy.
    1) Create your browse and edit page
    2) drop them onto a task flow
    3) Connect the pages with navigation cases.
    4) Set the ACTION property of a button on the browse page to reference the navigation case that goes to the edit page
    5) Hook up the reverse to go back to the browse page
    Done!

  • Issue with ADF table range paging and sorting

    Hello,
    We have a requirement to support pagination in ADF tables. For this, we have made use of Range paging access mode in the view object level. The paging works perfectly fine with this. But we have another requirement of letting the user do a sort on the table (Yes!! The paginated table). The sort should be applied on all rows in the db and the control should return to the first row.
    Applying sort as it is provided by the fwk, sorts the records in the obtained range only. So we have over ridden the Sort listener in Managed bean for this and are able to acheive the sorting of all rows through a AM method call. We are seeing a problem after this. If the sort action is applied to the key attribute then the previous and next range navigation works fine. If the same action is applied to non-key field, then some times (yea!! This is not consistent) the next set is not fetched.
    Here is the code snippet that is called on Next navigation:
    Map<String,Object> pfScope = AdfFacesContext.getCurrentInstance().getPageFlowScope();
    Object objPageNumber = pfScope.get("pageNumber");
    int pageNumber = 0;
    if(null != objPageNumber)
    pageNumber = new Integer(objPageNumber.toString()).intValue();
    BindingContainer bindings = BindingContext.getCurrent().getCurrentBindingsEntry();
    JUCtrlRangeBinding view = (JUCtrlRangeBinding)bindings.getControlBinding("GeDmRequestVO");
    int iRange = getTable().getAutoHeightRows();
    int currentPage = view.getIteratorBinding().getNavigatableRowIterator().getRangeStart()/(iRange + 1);
    System.out.println("Before " + view.getIteratorBinding().getNavigatableRowIterator().getRangeStart());
    System.out.println("Current : " + currentPage);
    System.out.println("Page Number : " + pageNumber);
    System.out.println("Range : " + iRange);
    System.out.println("Value : " + iRange*(currentPage + pageNumber));
    view.getIteratorBinding().getNavigatableRowIterator().scrollRange(iRange*pageNumber);
    System.out.println("After " + view.getIteratorBinding().getNavigatableRowIterator().getRangeStart());
    Although, the new values are not refreshed in the table, the SOPs for before and after print the proper range sizes. And as I mentioned above, the above code works perfectly fine if there is no sort applied or when key attribute is sorted.
    Would appreciate your help on this regard with navigation after non-key attribute sort.
    Thanks,
    Chitra.

    Hi Chitra,
    Can you specify some links to implement RangePaging.....We need to implement pagination.If possible can you share the code or specify the steps how you achieved it.
    Thanks

  • Problems with combination of ADF Faces, Tomahawk, Facelets and MyFaces

    Hello,
    I am trying to combine all things named in the Subject and run into several problems:
    1. ADF Render Kit forces the Tomahawk Components to be rendered in a wrong way or stop there functionality.
    Example 1: The clickable parts of the t:dataScroller Tag can not be accessed because an empty a Tag will be rendered after the outputText.
    Example 2: The t:commandSortHeader Tag can be clicked but the table content will not be sorted anymore.
    The given examples works if i remove the default-render-kit-id element from the faces-config.xml
    2. The ad:table Tag runs into an ClassCastException, only when I put a simple example code snipped into my xhtml file.
    Code snipped:
    <af:table>
    <af:column>
    <f:facet name="header">
    <af:outputText value="Firstname"/>
    </f:facet>
    </af:column>
    <af:column>
    <f:facet name="header">
    <h:outputText value="Lastname"/>
    </f:facet>
    </af:column>
    </af:table>
    The stack trace look like this:
    java.lang.ClassCastException at oracle.adfinternal.view.faces.renderkit.core.xhtml.DesktopTableRenderer._renderRegularColumns(DesktopTableRenderer.java:1029)
         at oracle.adfinternal.view.faces.renderkit.core.xhtml.DesktopTableRenderer.renderSingleRow(DesktopTableRenderer.java:109)
         at oracle.adfinternal.view.faces.renderkit.core.xhtml.TableRenderer.encodeAll(TableRenderer.java:229)
         at oracle.adfinternal.view.faces.renderkit.core.xhtml.DesktopTableRenderer.encodeAll(DesktopTableRenderer.java:79)
         at oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeEnd(CoreRenderer.java:159)
         at oracle.adf.view.faces.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:624)
         at oracle.adf.view.faces.component.UIXCollection.encodeEnd(UIXCollection.java:438)
         at oracle.adfinternal.view.faces.renderkit.RenderUtils.encodeRecursive(RenderUtils.java:54)
         at oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeChild(CoreRenderer.java:232)
         at oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeAllChildren(CoreRenderer.java:255)
         at oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelPartialRootRenderer.renderContent(PanelPartialRootRenderer.java:65)
         at oracle.adfinternal.view.faces.renderkit.core.xhtml.BodyRenderer.renderContent(BodyRenderer.java:117)
         at oracle.adfinternal.view.faces.renderkit.core.xhtml.PanelPartialRootRenderer.encodeAll(PanelPartialRootRenderer.java:147)
         at oracle.adfinternal.view.faces.renderkit.core.xhtml.BodyRenderer.encodeAll(BodyRenderer.java:60)
         at oracle.adfinternal.view.faces.renderkit.core.CoreRenderer.encodeEnd(CoreRenderer.java:159)
         at oracle.adf.view.faces.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:624)
         at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:242)
         at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:239)
         at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:239)
         at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:521)
         at oracle.adfinternal.view.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:157)
         at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:352)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:107)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:367)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:336)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:196)
         at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:87)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
         at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:659)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
         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:186)
         at java.lang.Thread.run(Thread.java:534)
    I followed all steps for the ADF installation and the suggested steps for using ADF with Facelets.
    Used versions:
    - Oracle ADF Faces 10.1.3 Early Access
    - myFaces 1.1.1
    - Facelets 1.1.1
    - oc4j 10.1.2.0.2
    Has somebody try to use these things together, too?
    Thanks,
    Carsten

    Hi,
    Inside our fusion applications(ADF/Webcenter) using combination of JSTL and ADF Faces is good practice or pitfal?
    To suggest a a rule of thumb: Try ADF Faces on-board functionality first before reaching out to JSTL. The difference between JSF in general and JSTL is that the JSTL expressions are evaluated at page compile time wheras JSF expressions are evaluated deferred. This difference may have an impact to PPR refreshes and the data rendering (which in many cases I assume you can fix by setting the ADF Faces component content delivery to immediate instead of deferred). On a training slight I flagged JSTL with a "heads up" alert because of this
    Frank

  • ADF Tree row selection and af:commandLink

    Hello,
    I'm quite new to JDeveloper and ADF. I'm using JDev 11.1.1 and get some issues while trying to set up a "qualifications" selection tree. Here is a summary :
    I'm dealing with "Qualification" objects. A qualification has an id,name and 'selected' attribute. A Qualification can contain a list of subqualifications (same type 'Qualification'), and so on, with no limits of levels. I would like to display this structure as a tree with, for each (sub-)qualification a selectbox showing the status (selected or not) and modifiable by the user.
    The qualifications are exposed to the data controls through a ResourceManager class function getQualifications(), and the datacontrol is dropped as a tree in the jsf page. The tree is bind to a backing bean 'qualificationManagerBean', and i've added an ActionListener to handle node selection (set node as current row and call update action)
    page definition :
    <executables>
    <accessorIterator MasterBinding="ResourceManagerIterator"
    Binds="qualifications" RangeSize="25"
    DataControl="ResourceManager"
    BeanClass="com.mobileit.planning.web.Qualification"
    id="qualificationsIterator"/>
    </executables>
    <bindings>
    <tree IterBinding="qualificationsIterator" id="qualifications">
    <nodeDefinition DefName="com.mobileit.planning.web.Qualification">
    <AttrNames>
    <Item Value="name"/>
    <Item Value="selected"/>
    </AttrNames>
    <Accessors>
    <Item Value="subqualifications"/>
    </Accessors>
    </nodeDefinition>
    </tree>
    </bindings>
    </pageDefinition>
    in the jsf page :
    <af:form>
    <af:tree value="#{bindings.qualifications.treeModel}"
    binding="#{qualificationManagerBean.tree}" var="node">
    <f:facet name="nodeStamp">
    <af:commandLink text="#{node}" id="test"
    actionListener="#{qualificationManagerBean.clickTree}">
    <af:setActionListener from="#{qualificationManagerBean.tree.rowKey}"
    to="#{qualificationManagerBean.clickedNodeRowKey}"/>
    </af:commandLink>
    </f:facet>
    </af:tree>
    </af:form>
    The result is that tree is well displayed, but only the first level of the tree triggers the 'clickedNodeRowKey' and 'clickTree' action. When i click on sub-levels, the page gets submitted but actions are not called.
    I've also tried to map the action to a method in my ResourceManager but the result is the same, action gets never called :
    page def file :
    <methodAction id="qualificationSelector" RequiresUpdateModel="false"
    Action="invokeMethod" MethodName="qualificationSelector"
    IsViewObjectMethod="false" DataControl="ResourceManager"
    InstanceName="ResourceManager.dataProvider">
    <NamedData NDName="ref"
    NDValue="#{node.name}"
    NDType="java.lang.String"/>
    </methodAction>
    Do you have any idea of what I'm doind wrong?
    Thank you for your help
    Stephane

    I finally got this to work by defining the tree model in a managed bean. So there must be something wrong with my iterator binding...

  • Adf-Struts/JSP/BC4J- and setting date fields from jsp

    Hi,
    I'm working with the new ADF Frameworks (JDev 9.0.5.1) and ran into some questions regarding exception handling using BC4J, Struts and JSPs.
    I have a DATE column in database and an entity and VO with a datefield with type oracle.jbo.domain.Date.
    My JSP shows a textfield and the user should enter a valid date. Everything fine, until date is of wrong format or contains illegal characters...
    Problem:
    ADF tries to do a setAttribute on the datefield in VO row which expects a parameter with type oracle.jbo.domain.Date. When the user entered e.g. "NiceWeather" as date, I get an IIlegalArgumentException while converting to the correct Date format. This exception isn't thrown by bc4j as AttrValException and therefore my JSP renders a global error instead of a message directly behind the date field.
    I tried to validate the datefield in my DataForm and in my Action in the validateModelUpdates() method, but with no fitting solution.
    Any ideas how to validate a datefield with adf/struts/jsp/bc4j?
    Thanks for your help!
    Torsten.

    Torsen - In the first instance I'd recommed that you try and handle it declaritively using the Struts Validator Framework . See http://otn.oracle.com/products/jdev/howtos/10g/StrutsValidator/struts_validator_howto.html
    There is a section in there on how to use the validator with ADF databound pages and you can check the format the user enters via generated JavaScript.
    Also check out the matching sample project:
    http://otn.oracle.com/sample_code/products/jdev/10g/ADFandStrutsValidator.zip - this has a data field check on it as well

  • ADF Mobile Error handling and redirect

    I'm stuck on how to handle errors within my ADF Mobile application. My application consumes a number of web services and we have found we often get error messages when phone connections switch from wifi to 3g or lose connection altogether. These are errors such as SSL handshake failure, HTTP500 errors, and also errors where it can't display the binding eh "Unable to get value for the property due to invalid binding iterator" because a WS call has failed. From the little information I can find - and none of it specific to ADF Mobile, I think I need to write an error handler class which I set against ErrorHandlerClass in databinding.cpx - if that correct? Am I able to catch these errors using that method and if so has anyone got any examples at all. Ideally what I'd like to do when I've caught those errors is redirect to another page (showing something like facebooks app does when it loses a connection and says tap to try again), does anyone have any suggestions or examples?
    thanks
    lynsey

    A sample for ADF Mobile Error Handling.
    SDA013
    Error Handling in ADF Mobile
    https://java.net/projects/smuenchadf/pages/ADFMobile#SDA013

  • ADF :Hello world Page and discussion for its deployment with Oracle guys!

    I have written a small article of creating hello world page in ADF with screenshtots,here is the link:
    http://mukx.blogspot.com/2008/03/adf-hello-world-page.html
    This article can help you for a self starter with ADF and some baisc idea of same components in both OAF and ADF.
    Here is the link of recent mail conversation with Oracle guys for ADF project deployment:
    http://mukx.blogspot.com/2008/04/discussion-for-deploying-adf-project-in.html
    --Mukul                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Hi Mukul,
    Thanks for the tute, am new to ADF so this was of great help to me. I had a query, if i want to have my own look and feel web pages and Oracle ADF ones, does the custimzation involve too much of manual coding or can be done easily in ADF. Also is there an equivalent tag to div in ADF Faces

Maybe you are looking for

  • Reports Graphics and OAS 10g

    I made a report with a pie char in developer 10g, it runs OK and i see the char in my desktop. When I execute the report (.rep) in OAS 10g (Forms a Reports Services) via the rwservlet, the resulting PDF file contains everything but the chart doesn't

  • How do I put the music on the shuffle?

    I downloaded 13 songs into a library but how do I get them on the shuffle?

  • Kernel Panic casue not using ext. USB devices etc..

    Just had a kernel panic and wonder what caused it since I used to have them when dealing with usb hubs or MBox soundcard driver but not in this one case .. Interval Since Last Panic Report:  3608350 sec Panics Since Last Report:          3 Anonymous

  • How do I Turn on private browsing ios7.1

    I updated the phone to IOS 7.1. Now I have no button to turn on private browsing. How do I turn it on?

  • Mandatory Links

    I would like for all Mandatory Links to open in a new window. These are all links to external URLs. Do I make this change in NavigationCommonVerticalView after HTMLAnchor url = (HTMLAnchor) mediator.GetEntry();? How do I add target="_blank"or do I ad