ADF Faces setParent() method

Hi,
I'm trying to build an ADF Faces component tree dynamically. In particular, I'm trying to add an HtmlRowLayout to an HtmlTableLayout.
Although my code appears to run without throwing errors, the <TABLE> tag that gets generated is empty. I'm not sure, but I think it might have something to do with my mechanism of adding one component to the other.
I've been calling
myHtmlRowLayout.setParent(myHtmlTableLayout);Which sort of looks like it's working. The _parent property of myHtmlRowLayout is indeed getting changed. But it doesn't look like this actually adds the HtmlRowLayout to the HtmlTableLayout's _children list.
Is there some method I have to call to "close up" the tree this way? I'd sort of expected that any process that would make X Y's parent would also make Y X's child.
Edit:
OK, I figured this out. It's not sufficient to call setParent() on the child, you have to explicitly add the child to the parent's list of children:
myHtmlTableLayout.getChildren().add(myHtmlRowLayout);So, question: What does setParent() do? THis makes it look like you could have weird asymmetric parent/child relationships: Where the child of X is Y, but the parent of Y is not X. To be on the safe side, in my code I'm calling both, but is there a use case for calling one but not the other? If not, an ER: Could setParent() do everything required to set up a parent-child relationship between two components?
Message was edited by:
Avrom

setParent() is a method from the JSF UIComponent class; if you want to find out what it does, check the Javadoc for JSF, which says:
Set the parent UIComponent of this UIComponent. This method must never be called by developers; a UIComponent's internal implementation will call it as components are added to or removed from a parent's child List or facet Map.
Always, just call getChildren().add() or getFacets().put(). NEVER call setParent().

Similar Messages

  • JDeveloper 10g, ADF Faces & BC: setVar method on CoreTable is not working

    Hi all,
    I am in the process of creating a custom tag library for our organization. I seem to be having problems with the setVar method on the CoreTable component. I created a simple reproducible example using the scott/tiger schema. Within my tabletest.jsp, I have a af:table which was created via dragging from the datacontrol pallet. Next, I add my custom tag and set the same value attribute. When I run the page, #{row.Deptno} does not evaluate to anything! However, I know that the value is set properly due to the same number of rows appearing within my custom table tag.
    Suggestions are appreciated.
    thanks,
    Wes
    Here is the screen shot of my example:
    http://www.flickr.com/photos/54652784@N03/5062690216
    jsp code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@ 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"%>
    <%@ taglib uri="http://acme.customtag" prefix="customtag"%>
    <f:view>
    <afh:html>
    <afh:head title="tabletest">
    <meta http-equiv="Content-Type"
    content="text/html; charset=windows-1252"/>
    </afh:head>
    <afh:body>
    <af:messages/>
    <h:form>
    <af:outputText value="below is the adf table"/>
    <af:table value="#{bindings.ViewObj1.collectionModel}" var="row">
    <af:column sortProperty="Deptno" sortable="false"
    headerText="#{bindings.ViewObj1.labels.Deptno}">
    <af:outputText value="#{row.Deptno}"/>
    </af:column>
    <af:column sortProperty="Dname" sortable="false"
    headerText="#{bindings.ViewObj1.labels.Dname}">
    <af:outputText value="#{row.Dname}"/>
    </af:column>
    </af:table>
    <af:objectSpacer width="10" height="50"/>
    <af:outputText value="Below is the custom table"/>
    </h:form>
    <customtag:customtable value="#{bindings.ViewObj1.collectionModel}"
    disabled="false"/>
    </afh:body>
    </afh:html>
    </f:view>
    CustomTable.java code:
    package customtag;
    import java.io.IOException;
    import javax.faces.application.Application;
    import javax.faces.component.UIComponentBase;
    import javax.faces.context.FacesContext;
    import javax.faces.el.ValueBinding;
    import oracle.adf.view.faces.component.core.data.CoreColumn;
    import oracle.adf.view.faces.component.core.data.CoreTable;
    import oracle.adf.view.faces.component.core.output.CoreOutputText;
    public class CustomTable extends UIComponentBase {
    public static final String COMPONENT_TYPE = "customtag.customtable";
    public static final String RENDERER_TYPE = null;
    private CoreTable table = new CoreTable();
    public CustomTable() {
    public void encodeChildren(FacesContext context) throws IOException {
    // Encode the top most component
    Application apps = context.getApplication();
    table.setVar("row");
    Object value = getAttributes().get("value");
    CoreColumn column = new CoreColumn();
    CoreOutputText cout = new CoreOutputText();
    if (value != null) {
    table.setValue(value);
    ValueBinding rowValueBinding =
    apps.createValueBinding("#{row.Deptno}");
    Object rowValue = resolveExpression("#{row.Deptno}");
    if (rowValue != null) {
    System.out.println("rowValue is reconized. " + rowValue);
    cout.setValue(rowValue);
    } else if (rowValueBinding.getValue(context) != null) {
    System.out.println("rowValueBinding is reconized." +
    rowValueBinding.getValue(context));
    cout.setValueBinding("Value", rowValueBinding);
    } else {
    System.out.println("row is not reconized.");
    cout.setValue("this is a hard coded row attribute value");
    column.getChildren().add(cout);
    table.getChildren().add(column);
    table.encodeAll(context);
    public static Object resolveExpression(String expression) {
    FacesContext ctx = FacesContext.getCurrentInstance();
    Application app = ctx.getApplication();
    ValueBinding bind = app.createValueBinding(expression);
    return bind.getValue(ctx);
    public boolean getRendersChildren() {
    return true;
    public String getFamily() {
    return COMPONENT_TYPE;
    }

    Hi,
    you don't mention a JDeveloper version. If you are not on a recent version, can you try one. If it reproduces, please provide steps required for a reproducible test case
    Frank

  • OnPageRender method Issue in ADF Faces

    Hi,
    We are using onPageRender method to get user details to use in the page. onPageRender method is working and getting values when we run the page from jDeveloper. The same application when deployed in OC4J, onPageRender method is not working values are not getting from that method.
    is there any other way to implement the same.
    What method we need to use in ADF to get some details in onPage load?
    Thanks

    Hi,
    IE and FF have different browser implementations of keyboard support. While FF works with keycode, e.g. IE works with keychar etc. I don't think that ADF Faces is the problem but your custom JavaScript. Also note that on af:form you can define the ID of a default button that is executed when the user presses "enter". So no need for custom JavaScript
    Frank

  • ADF Faces: state saving method questions

    Please, could somebody elaborate implementation of state saving in ADF Faces? What specially interests me is a way on which it is improved in comparison with RI. Will be current implementation further improved regarding size of state which is stored in session or on client?
    Further, is it possible to make a read only page stateless? I tried naively to implement restore view phase listener which sets up transient property of view root to true. Page was rendered fine, but when I try to post something from that page NullPointerException was thrown from UIXComponentBase._getRendererImpl() method.
    Tnx

    Could you elaborate on the back button support?
    I'm trying to do something very simple right now with two JSF pages using ADF BC/Faces. One page is a simple table allowing the user to select a row. The second page allows the user to view details on the selected row. This is view only at this point. I've found however, that if I select a row and go to the detail page and then hit the back button to return to the first page and then select another row and attempt to go to the detail page I get an error message like so:
    1. validation - JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-35007: Row currency has changed since the user interface was rendered. The expected row key was oracle.jbo.Key[1246992000 ]
    2. validation - JBO-35007: Row currency has changed since the user interface was rendered. The expected row key was oracle.jbo.Key[1246992000 ]
    I'm at a loss as to how to resolve this issue.
    Thanks,
    Corey

  • ADF FACES (10.1.3)---How to create custom service methods?

    Hi,
    I need to put some custom service method in my ADF Faces App. Tried the ways for 9.0.5 but in 10.1.3, there is no Data Action (Servlet, I believe). I was able to expose the method to the client interface, which means I can see the method in the Data Control Palette. When I try to add it to a JSP, it appeas to be either a link or a button.
    Can I bind service methods to a submit button? How to do it? Thank you so much for the help.
    Annie

    hi,
    first of all thank you vry much.its nice to see yours replies.Actually,that was my first post. Well, i got your steps.But still m having a some doubts.
    i'l tell u the scenario.
    i'm using one java class object called CD as complex datatype.i have created ths in separete class from my main class whc i m gng to expose as web service.
    Ths CD complex type has three elements(Basic datatypes)
    label(string),artist(string),price(int)
    i have created xsd file for ths CD data type as u told.
    Now While creating Web Service from java class,in third step of custom mapping
    it asks for three things.
    First is Java class
    (Whc one i should specify...My main java class whc contains methods
    or whc contains jst defination for CD type)
    Second thing is XML qualified name - here i'l specify my schema whc i created
    and Wht is tht third thing
    Serializer Class ????
    Thank you vry much.
    -mishit

  • Customizing ADF Faces Look & Feel. Some questions & suggestions

    Hi everybody,
    We are developing an application with ADF Faces using JHeadStart. For the moment, I am studying the way we must modify the JHS templates to adapt each element to our needs.
    As it's told in the JHeadStart Developer's Guide, there are two ways to customize Look & Feel:
    1) Modifying the templates
    2) ADF Skinning
    I'm using both methods, but I feel that thay are not good enough to adapt the L&F to our customer requirements.
    My main problem now is in the ADF Table customization. I want to use ADF Table because it offers us a lot of features that are not in the jsf table (the selection column, the table overflow...), and is very usefull combined with the generated JHS code. But at the same time, it doesn't offer a lot of functionality in the look & feel customization. Using JSF Table, I can set the CSS style for headers, rows, columns, the table, I can set the border, cellspacing and cellpadding. But I cannot do
    any of these thing (or at least, I don't see how) with the ADF Table.
    Our customer (a government) have a strict definition of the look & feel of his web applications. They want we use their CSS styles definition file, so they can modify at once the Look & Feel of all their applications. Modifying the L&F through skinning generate other styles, not use the style classes in our CSS (o so I think).
    So, the questions:
    1) There is any way to set the suitable styles for the ADF Table components (headers, rows)?
    1bis) Why, If I have defined a new skin, with only just a few selectors, some styles from oracle are applied? Maybe because the render kit in the 'adf-skins.xml' is "oracle.adf.desktop"? If it is true, how can I make that they are not used, I must implement a render kit or can I use another existent?
    2) Can I decide how looks the select column (for example a button instead of a radio button)? Can I decide where does it goes (right or left)?
    3) There is any way to hidden the text Show/Hide of the showDetail in the table (the tableOverflow), as I can change the icons through skinning? If it is not possible, How can I overwrite the text. I need it in Catalan, but it is shown in English for this locale. Where is the message bundle I should overwrite?
    4) There is any way to force a tree to start fully expanded?
    5) There is anywhere documentation about the javascript functions used in ADF and their meaning? I think for example in the previous question. If I knew which javascript function I should call for expand the tree and its parameters, I could put the call in the onload event of the body.
    6) I use a selectInputDate. I have skinned the launch-icon, and I would like to do a similar thing in the chooseDate that is opened in a new window. But It seems not to be affected for my skinning directives (if I put a chooseDate in the same page, its L&F follow the skinning rules I've defined). I don't know if this dialog is an ADF feature or a JHS generated feature.
    7) There is any way to keep unmodified the id I've choosed for a component? (I mean, an inputText with id="hello" in a form with id="form" will have in the HTML an id = "form:hello", but I would like it to be simply 'hello')
    8) How can I control the position and the size of a dialog (the chooseDate dialog or a dialog I've created)? In the cases I've been testing, it seems the dialog is forced to resize depending on the content. I would like to know if I can establish a fixed size.
    9) There is any way to open a non-modal dialog? (which I could keep open at the same time that another instance of the same dialog)
    For the moment, I think I have no more question. But give me time.... :-D
    The suggestion I've to do is basically more flexible components for a better customization (for example, the styles settings I've talked about previously). ADF components are nice and powerful, but I think they should generate pages that follow the tendencies in the web development: tableless pages (I cannot understand the utility of the objectSpacer existing the margins), use of CSS for layout...
    Any answer, comment or suggestion will be welcome.
    Carles.
    Message was edited by:
    cbios

    I have been able to make the UIX 2.2 and ADF Faces LAF look near identical by updating the oracle-desktop.xss file within UIX 2.2 as follows
    <!-- Change the accent color ramp to tan -->
    <style name="DarkAccentBackground">
    <!--<property name="background-color">#cccc99</property>-->
    <property name="background-color">#d2d8b0</property>
    </style>
    There are still some differences:
    1) A black line appears on the ADF Faces on the 'menu1' facet selected tab below the text. DON'T KNOW HOW TO REMOVE THIS FROM ADF Faces or add it to UIX 2.2!!!
    2) In UIX 2.2 a bulleted list uses the HTML <li> tag. In ADF Faces it doesn't use the HTML <li> tag rather it constructs the bulleted list using lower level HTML tags with the 'bullet' becoming an image, in my browser this means the disc is smaller in Faces. The motivation for this change I think is explained via this post. Since I have no control over how this specific HTML tag is rendered it forces me to replace the /adf/images/bltdscn.gif file in adf-faces-impl.jar with a larger disc!
    http://www.thescripts.com/forum/thread96839.html
    May update this again if there are other things I notice.

  • MyFaces not rendering, ADF faces IS rendering

    I'm installing my app on the websphere application server, Version 6.1 After having issues of both adf and myfaces not working, I came accross this link which helped me somewhat. http://wiki.apache.org/myfaces/Websphere_Installation .
    By "not working" I mean that my jsp would have <h:commandLink>'s and <af:commandButton/> however the html was never actually generated. (You could view the pages source and the resulting html page was blank).
    After following those instructions, ADF components are correctly rendered, and the html works. However, I can not use any <h:> or <h:> components.
    Keep in mind, every single part of this used to work while using Tomcat (I think it was 5.5, not 6).
    faces-config-app.xml (our replacement for faces-config).
    <?xml version="1.0"?>
    <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
      "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
    <faces-config>
         <!-- ************ Application wide settings **************** -->
         <application>
              <!-- Spring resolve allows access to spring managed beans from <managed-bean> tags -->
              <variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-resolver>
              <!-- Local setup -->
              <locale-config>
                   <default-locale>en</default-locale>
                   <supported-locale>en</supported-locale>
              </locale-config>
              <!-- Message bundle base name -->
              <message-bundle>messages</message-bundle>
              <!-- Use the ADF Faces render kit -->
              <default-render-kit-id>oracle.adf.core</default-render-kit-id>
         </application>
         <lifecycle>
                <phase-listener id="responseHeaderController">com.unyric.cias.cm.web.util.HttpResponseHeaderController</phase-listener>
         </lifecycle>
    </faces-config>web.xml (Yes there is a lot of extra things in there such as application context params, but I wanted to paste the whole thing. Please bear with me).
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
         <display-name>CIAS Case Management Web</display-name>
         <context-param>
              <description>JSF state setting: Keep state of views on client</description>
             <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
             <param-value>client</param-value>
         </context-param>
         <context-param>
              <description>JSF configuration files</description>
             <param-name>javax.faces.CONFIG_FILES</param-name>
             <!-- faces-config.xml contains applicaiton level configuration
                   faces-config-nav.xml contains screen flow configuration
                   faces-config-beans.xml contains managed bean definitions -->
             <param-value>/WEB-INF/faces-config-app.xml,/WEB-INF/faces-config-nav.xml,/WEB-INF/faces-config-beans.xml</param-value>
         </context-param>
         <context-param>
              <description>Spring configuration files</description>
              <param-name>contextConfigLocation</param-name>
              <!-- presentationContext.xml contains presentation tier object configuration
                         applicationContext.xml contains Service & Dao object configuration as well as transaction demarcation
                         securityContext.xml contains Acegi Security configuration
                         hibernate.cfg.xml contains Hibernate specific configuration -->
                <param-value>/WEB-INF/presentationContext.xml classpath*:spring/applicationContext.xml classpath*:spring/validationContext.xml classpath*:spring/securityContext.xml classpath*:spring/hibernate.cfg.xml</param-value>
         </context-param>
         <context-param>
              <description>Validates JSF configuration files on startup</description>
             <param-name>org.apache.myfaces.validate</param-name>
             <param-value>true</param-value>
            </context-param>  
         <context-param>
              <description>Timmer Setting for Case Queue screen</description>
                 <param-name>pollingTimer</param-name>
                 <!-- Units are milliseconds -->
                 <param-value>60000</param-value>
         </context-param>
         <context-param>
              <description>Maximum number of rows shown in tables.</description>
                 <param-name>tableRowsPerPage</param-name>
                 <param-value>25</param-value>
         </context-param>
         <servlet>
              <description>JSF controller</description>
                 <servlet-name>FacesServlet</servlet-name>
                 <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
                 <load-on-startup>1</load-on-startup>
         </servlet>
         <!-- Requests handled by JSF -->      
         <servlet-mapping>
               <servlet-name>FacesServlet</servlet-name>
                <url-pattern>*.do</url-pattern>
         </servlet-mapping>
         <servlet>
                <description>Serves up ADF Faces resources</description>
                <servlet-name>AdfResourceServlet</servlet-name>
                <servlet-class>oracle.adf.view.faces.webapp.ResourceServlet</servlet-class>
         </servlet>
         <servlet-mapping>
             <servlet-name>AdfResourceServlet</servlet-name>
             <url-pattern>/adf/*</url-pattern>
         </servlet-mapping>
         <listener>
              <description>Initializes Spring on application startup.</description>
              <display-name>Spring context loader</display-name>
              <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
         </listener>
         <filter>
              <description>Enables Acegi Security framework integration. Acegi is used to secure services.
              Standard J2EE is used to secure web requests.</description>
              <filter-name>AcegiFilterChainProxy</filter-name>
              <filter-class>org.acegisecurity.util.FilterToBeanProxy</filter-class>
              <init-param>
                   <param-name>targetClass</param-name>
                   <param-value>org.acegisecurity.util.FilterChainProxy</param-value>
              </init-param>
         </filter>
         <filter-mapping>
              <filter-name>AcegiFilterChainProxy</filter-name>
              <servlet-name>FacesServlet</servlet-name>
         </filter-mapping>
         <filter>
                <description>Pre-processes requests to enable MyFaces extensions</description>
              <filter-name>MyFacesExtensionsFilter</filter-name>
              <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
             <init-param>
             <!-- Set the size limit for uploaded files.
               Format: 10 - 10 bytes
                       10k - 10 KB
                       10m - 10 MB
                       1g - 1 GB
               -->
                   <param-name>uploadMaxFileSize</param-name>
                    <param-value>6m</param-value>
             </init-param>
             <init-param>
                   <param-name>uploadThresholdSize</param-name>
                    <param-value>100k</param-value>
             </init-param>        
         </filter>
         <!-- MyFaces extension mapping for adding <script/>, <link/>, and other resource tags to JSF-pages  -->
           <filter-mapping>
                <filter-name>MyFacesExtensionsFilter</filter-name>
             <servlet-name>FacesServlet</servlet-name>
         </filter-mapping>
         <!-- MyFaces extension mapping for serving page-independent resources (javascript, stylesheets, images, etc.)  -->
         <filter-mapping>
             <filter-name>MyFacesExtensionsFilter</filter-name>
             <url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
         </filter-mapping>
         <filter>
              <description>Pre-processes requests to enable ADF Faces functionality</description>
              <filter-name>AdfFacesFilter</filter-name>
              <filter-class>oracle.adf.view.faces.webapp.AdfFacesFilter</filter-class>
         </filter>
           <filter-mapping>
                <filter-name>AdfFacesFilter</filter-name>
             <servlet-name>FacesServlet</servlet-name>
         </filter-mapping>
         <!-- Sitemesh Template Filter --> 
         <filter>
              <filter-name>sitemesh</filter-name>
              <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
         </filter>
         <filter-mapping>
              <filter-name>sitemesh</filter-name>
              <url-pattern>/*</url-pattern>
         </filter-mapping>     
         <!-- Keep Hibernate sessions open until request completes. This allows lazy loading
              of data in all tiers. -->
         <filter>
              <filter-name>OpenSessionInViewFilter</filter-name>
              <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
              <init-param>
                   <param-name>sessionFactoryBeanName</param-name>
                   <param-value>ciasSessionFactory</param-value>
              </init-param>
              <init-param>
                   <param-name>singleSession</param-name>
                   <param-value>false</param-value>
              </init-param>
         </filter>
         <filter-mapping>
              <filter-name>OpenSessionInViewFilter</filter-name>
              <servlet-name>FacesServlet</servlet-name>
         </filter-mapping>
         <!-- The application automatically sends requests at timed intervals. This causes
                    the standard J2EE session to be refreshed at the timed intervals and thus it will
                    never timeout. This filter is used to distinguish between user prompted and
                    automatic requests. -->
         <filter>
              <filter-name>SessionTimeout Filter</filter-name>
              <filter-class>com.unyric.cias.cm.web.filter.SessionTimeoutFilter</filter-class>
              <init-param>
                   <!-- URL to be displayed after session timeout -->
                   <param-name>redirectUrl</param-name>
                   <param-value>timeOut.jsp</param-value>
              </init-param>
              <init-param>
                   <param-name>sessionTimeout</param-name>
                   <!-- Units are in minutes -->
                   <param-value>20</param-value>
              </init-param>
         </filter>
         <filter-mapping>
              <filter-name>SessionTimeout Filter</filter-name>
              <url-pattern>/secure/*</url-pattern>
         </filter-mapping>
         <!-- Session Timeout (in minutes)
              We are essentially disabling container session
              handling in favor of SessionTimout Filter -->
           <session-config>
                <session-timeout>99</session-timeout>
           </session-config>
           <!-- Security Configuration -->
           <security-constraint>
                <web-resource-collection>
                     <web-resource-name>FacesServlet security</web-resource-name>
                     <url-pattern>*.do</url-pattern>
                     <!-- No <http-method> tag implies all methods -->
                </web-resource-collection>
                <web-resource-collection>
                     <web-resource-name>View security</web-resource-name>
                     <url-pattern>/secure/*</url-pattern>
                     <!-- No <http-method> tag implies all methods -->
                </web-resource-collection>
                <auth-constraint>
                     <description>Allow any authenticated user</description>
                     <role-name>*</role-name>
                </auth-constraint>
          </security-constraint>
           <login-config>
                <auth-method>BASIC</auth-method>
                <realm-name>CIAS-CM</realm-name>
           </login-config>
           <security-role>
                <!-- Roles recognized by Case Management. -->
                <!-- EXACT NAMES MUST BE COORDINATED WITH CHOICEPOINT -->
                 <role-name>case</role-name>
         </security-role>
         <welcome-file-list>
              <welcome-file>index.jsp</welcome-file>
         </welcome-file-list>
         <!--  CIAS CM Database -->
         <resource-ref>
              <res-ref-name>jdbc/cias</res-ref-name>
                <res-type>javax.sql.DataSource</res-type>
                <res-auth>Container</res-auth>
                <res-sharing-scope>Shareable</res-sharing-scope>
            </resource-ref>
         <!--  CIAS Error Handling   -->
           <error-page>
                 <error-code>500</error-code>
                 <location>/secure/errorPage.jsp</location>
           </error-page>
           <error-page>
              <exception-type>javax.faces.FacesException</exception-type>
              <location>/secure/errorPage.jsp</location>
           </error-page>     
    </web-app>Does anyone have any suggestions? Telling websphere to load the web-inf\lib directory before the AppServer\lib directory seems to have somewhat worked, but not completely.
    On a side note, if I have a page such as (ignoring the extra h, f and t declarations)
    <%@ taglib prefix="h"uri="http://java.sun.com/jsf/html" %>
    <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
    <%@ taglib prefix="t" uri="http://myfaces.apache.org/tomahawk" %>
    <%@ taglib prefix="af" uri="http://xmlns.oracle.com/adf/faces" %>
    <f:view>
         <af:document>
              <af:form>
                   <af:outputText value="hello2"/>
                   <af:commandLink id="button" action="#{exploreCaseListAction.promptPersonalQueue}" text="Login"/>
              </af:form>
         </af:document>
    </f:view>When I click on the commandLink button, I receive an error that states
    java.lang.ClassCastException: org.apache.xalan.processor.TransformerFactoryImpl incompatible with javax.xml.transform.TransformerFactory
    at javax.xml.transform.TransformerFactory.newInstance(Unknown Source)
    at com.ibm.ws.jsp.translator.visitor.validator.PageDataImpl._getInputStream(PageDataImpl.java:125)
    at com.ibm.ws.jsp.translator.visitor.validator.PageDataImpl.getInputStream(PageDataImpl.java:117)
    at org.apache.taglibs.standard.tlv.JstlBaseTLV.validate(JstlBaseTLV.java:156)
    at org.apache.taglibs.standard.tlv.JstlCoreTLV.validate(JstlCoreTLV.java:96)
    at com.ibm.ws.jsp.translator.visitor.validator.ValidateVisitor.validateTagLib(ValidateVisitor.java:988)
    at com.ibm.ws.jsp.translator.visitor.validator.ValidateVisitor.visitJspRootStart(ValidateVisitor.java:467)
    at com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java:138)
    at com.ibm.ws.jsp.translator.visitor.JspVisitor.visit(JspVisitor.java:121)
    at com.ibm.ws.jsp.translator.JspTranslator.processVisitors(JspTranslator.java:121)
    at com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJsp(JspTranslatorUtil.java:181)
    at com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJspAndCompile(JspTranslatorUtil.java:83)
    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.translateJsp(AbstractJSPExtensionServletWrapper.java:349)
    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper._checkForTranslation(AbstractJSPExtensionServletWrapper.java:317)
    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.checkForTranslation(AbstractJSPExtensionServletWrapper.java:226)
    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:131)
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:308)
    at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:416)
    at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:234)
    at oracle.adfinternal.view.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:157)
    at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:907)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
    at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
    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.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
    at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
    at com.unyric.cias.cm.web.filter.ThreadContextSessionIntegrationFilter.doFilter(ThreadContextSessionIntegrationFilter.java:46)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
    at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    at com.unyric.cias.cm.web.filter.CiasIntegrationFilter.doFilter(CiasIntegrationFilter.java:112)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:193)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
    at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)I believe they are related, though I can't 100% say for sure. Any thoughts?

    I'm having the same problem, did you get any luck with this ?
    Thanks

  • CreateRow increases memory and cpu. Tomcat+ADF Faces+BC4J in JDev 10.1.3.0

    CreateRow increases memory and cpu. Tomcat+ADF Faces+BC4J in JDev 10.1.3.0.4
    My old problem is this Ineffectiveness/Inconsistency BC4J createrow in tomcat, CPU = 100%,Mem=2.2G
    I have tested my Adf Faces application with jmx in server and, in my machine, jconsole and mc4j.
    When cpu=100% and memory increases, jconsole constantly returned similar trace:
    In all trace, I see that common is:
    oracle.jbo.server.QueryCollection.populateRow(QueryCollection.java:2203)
    oracle.jbo.server.QueryCollection.fetch(QueryCollection.java:2088)
    Therefore, I believe that function populateRow make infinity loop (or fuction fech make infinity loop, called populateRow), but I don’t know populteRow or fetch code.
    tomcat Version: 5.5.16
    Jdeveloper Version: 10.1.3.0.4
    Adf Business component Version: 10.1.3.36.73
    Java version: 1.5.0_05
    Please, any oracle ACE could help me?
    When cpu=100% and memory increases, jconsole constantly returned any of these trace:
    First trace
    java.net.SocketOutputStream.socketWrite0(Native Method)
    java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
    java.net.SocketOutputStream.write(SocketOutputStream.java:136)
    oracle.net.ns.DataPacket.send(Unknown Source)
    oracle.net.ns.NetOutputStream.flush(Unknown Source)
    oracle.net.ns.NetInputStream.getNextPacket(Unknown Source)
    oracle.net.ns.NetInputStream.read(Unknown Source)
    oracle.net.ns.NetInputStream.read(Unknown Source)
    oracle.net.ns.NetInputStream.read(Unknown Source)
    oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:979)
    oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:951)
    oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:448)
    oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:185)
    oracle.jdbc.driver.T4CPreparedStatement.fetch(T4CPreparedStatement.java:692)
    oracle.jdbc.driver.OracleResultSetImpl.close_or_fetch_from_next(OracleResultSetImpl.java:258)
    oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:193)
    oracle.jbo.server.QueryCollection.hasNextInResultSet(QueryCollection.java:3014)
    oracle.jbo.server.ViewObjectImpl.hasNextForCollection(ViewObjectImpl.java:3650)
    oracle.jbo.server.QueryCollection.hasNext(QueryCollection.java:2992)
    oracle.jbo.server.QueryCollection.populateRow(QueryCollection.java:2207)
    oracle.jbo.server.QueryCollection.fetch(QueryCollection.java:2088)
    oracle.jbo.server.QueryCollection.get(QueryCollection.java:1468)
    oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:3650)
    oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:2612)
    oracle.jbo.server.ViewObjectImpl.activateCurrentRow(ViewObjectImpl.java:12360)
    oracle.jbo.server.ViewRowSetIteratorImpl.activateIteratorState(ViewRowSetIteratorImpl.java:3768)
    oracle.jbo.server.ViewRowSetImpl.activateIteratorState(ViewRowSetImpl.java:4960)
    oracle.jbo.server.ViewRowSetImpl.doCreateAndInitRow(ViewRowSetImpl.java:1901)
    oracle.jbo.server.ViewRowSetImpl.createRow(ViewRowSetImpl.java:1891)
    oracle.jbo.server.ViewObjectImpl.createRow(ViewObjectImpl.java:6555)
    com.samesi.segestion.view.backing.app.Clientes.devoluciones_action(Clientes.java:1845)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:585)
    com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:146)
    com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:92)
    oracle.adf.view.faces.component.UIXCommand.broadcast(UIXCommand.java:211)
    oracle.adf.view.faces.component.UIXCollection.broadcast(UIXCollection.java:94)
    oracle.adf.view.faces.component.UIXTable.broadcast(UIXTable.java:205)
    javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
    javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
    com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:95)
    com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
    javax.faces.webapp.FacesServlet._service_79(FacesServlet.java:197)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    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.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:332)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    java.lang.Thread.run(Thread.java:595)
    Second trace
    java.net.SocketInputStream.socketRead0(Native Method)
    java.net.SocketInputStream.read(SocketInputStream.java:129)
    oracle.net.ns.Packet.receive(Unknown Source)
    oracle.net.ns.DataPacket.receive(Unknown Source)
    oracle.net.ns.NetInputStream.getNextPacket(Unknown Source)
    oracle.net.ns.NetInputStream.read(Unknown Source)
    oracle.net.ns.NetInputStream.read(Unknown Source)
    oracle.net.ns.NetInputStream.read(Unknown Source)
    oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:979)
    oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:951)
    oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:448)
    oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:185)
    oracle.jdbc.driver.T4CPreparedStatement.fetch(T4CPreparedStatement.java:692)
    oracle.jdbc.driver.OracleResultSetImpl.close_or_fetch_from_next(OracleResultSetImpl.java:258)
    oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:193)
    oracle.jbo.server.QueryCollection.hasNextInResultSet(QueryCollection.java:3014)
    oracle.jbo.server.ViewObjectImpl.hasNextForCollection(ViewObjectImpl.java:3650)
    oracle.jbo.server.QueryCollection.hasNext(QueryCollection.java:2992)
    oracle.jbo.server.QueryCollection.populateRow(QueryCollection.java:2207)
    oracle.jbo.server.QueryCollection.fetch(QueryCollection.java:2088)
    oracle.jbo.server.QueryCollection.get(QueryCollection.java:1468)
    oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:3650)
    oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:2612)
    oracle.jbo.server.ViewObjectImpl.activateCurrentRow(ViewObjectImpl.java:12360)
    oracle.jbo.server.ViewRowSetIteratorImpl.activateIteratorState(ViewRowSetIteratorImpl.java:3768)
    oracle.jbo.server.ViewRowSetImpl.activateIteratorState(ViewRowSetImpl.java:4960)
    oracle.jbo.server.ViewRowSetImpl.doCreateAndInitRow(ViewRowSetImpl.java:1901)
    oracle.jbo.server.ViewRowSetImpl.createRow(ViewRowSetImpl.java:1891)
    oracle.jbo.server.ViewObjectImpl.createRow(ViewObjectImpl.java:6555)
    com.samesi.segestion.view.backing.app.Clientes.devoluciones_action(Clientes.java:1845)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:585)
    com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:146)
    com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:92)
    oracle.adf.view.faces.component.UIXCommand.broadcast(UIXCommand.java:211)
    oracle.adf.view.faces.component.UIXCollection.broadcast(UIXCollection.java:94)
    oracle.adf.view.faces.component.UIXTable.broadcast(UIXTable.java:205)
    javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
    javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
    com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:95)
    com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
    javax.faces.webapp.FacesServlet._service_79(FacesServlet.java:197)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    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.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:332)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    java.lang.Thread.run(Thread.java:595)
    Third trace
    java.lang.System.arraycopy(Native Method)
    com.sun.java.util.collections.ArrayList.toArray(ArrayList.java:287)
    oracle.jbo.server.ViewDefImpl.getEntityReferences(ViewDefImpl.java:547)
    oracle.jbo.server.ViewRowStorage.entityCacheAdd(ViewRowStorage.java:1730)
    oracle.jbo.server.ViewRowImpl.entityCacheAdd(ViewRowImpl.java:2151)
    oracle.jbo.server.ViewDefImpl.createInstanceFromResultSet(ViewDefImpl.java:1070)
    oracle.jbo.server.ViewObjectImpl.createRowFromResultSet(ViewObjectImpl.java:2943)
    oracle.jbo.server.ViewObjectImpl.createInstanceFromResultSet(ViewObjectImpl.java:2841)
    oracle.jbo.server.QueryCollection.populateRow(QueryCollection.java:2203)
    oracle.jbo.server.QueryCollection.fetch(QueryCollection.java:2088)
    oracle.jbo.server.QueryCollection.get(QueryCollection.java:1468)
    oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:3650)
    oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:2594)
    oracle.jbo.server.ViewObjectImpl.activateCurrentRow(ViewObjectImpl.java:12360)
    oracle.jbo.server.ViewRowSetIteratorImpl.activateIteratorState(ViewRowSetIteratorImpl.java:3768)
    oracle.jbo.server.ViewRowSetImpl.activateIteratorState(ViewRowSetImpl.java:4960)
    oracle.jbo.server.ViewRowSetImpl.doCreateAndInitRow(ViewRowSetImpl.java:1901)
    oracle.jbo.server.ViewRowSetImpl.createRow(ViewRowSetImpl.java:1891)
    oracle.jbo.server.ViewObjectImpl.createRow(ViewObjectImpl.java:6555)
    com.samesi.segestion.view.backing.app.Clientes.devoluciones_action(Clientes.java:1845)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:585)
    com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:146)
    com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:92)
    oracle.adf.view.faces.component.UIXCommand.broadcast(UIXCommand.java:211)
    oracle.adf.view.faces.component.UIXCollection.broadcast(UIXCollection.java:94)
    oracle.adf.view.faces.component.UIXTable.broadcast(UIXTable.java:205)
    javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
    javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
    com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:95)
    com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
    javax.faces.webapp.FacesServlet._service_79(FacesServlet.java:197)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    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.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:332)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    java.lang.Thread.run(Thread.java:595)
    Fourth (and end) trace
    oracle.sql.NUMBER.toBigDecimal(NUMBER.java:715)
    oracle.sql.NUMBER.bigDecimalValue(NUMBER.java:2080)
    oracle.jbo.domain.Number.bigDecimalValue(Number.java:551)
    oracle.jbo.domain.Number.hashCode(Number.java:431)
    oracle.jbo.Key.hashCode(Key.java:384)
    oracle.jbo.common.WeakHashtableImpl.get(WeakHashtableImpl.java:195)
    oracle.jbo.common.WeakHashtable.get(WeakHashtable.java:98)
    oracle.jbo.server.EntityCache.add(EntityCache.java:327)
    oracle.jbo.server.ViewRowStorage.entityCacheAdd(ViewRowStorage.java:1762)
    oracle.jbo.server.ViewRowImpl.entityCacheAdd(ViewRowImpl.java:2151)
    oracle.jbo.server.ViewDefImpl.createInstanceFromResultSet(ViewDefImpl.java:1070)
    oracle.jbo.server.ViewObjectImpl.createRowFromResultSet(ViewObjectImpl.java:2943)
    oracle.jbo.server.ViewObjectImpl.createInstanceFromResultSet(ViewObjectImpl.java:2841)
    oracle.jbo.server.QueryCollection.populateRow(QueryCollection.java:2203)
    oracle.jbo.server.QueryCollection.fetch(QueryCollection.java:2088)
    oracle.jbo.server.QueryCollection.get(QueryCollection.java:1468)
    oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:3650)
    oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:2594)
    oracle.jbo.server.ViewObjectImpl.activateCurrentRow(ViewObjectImpl.java:12360)
    oracle.jbo.server.ViewRowSetIteratorImpl.activateIteratorState(ViewRowSetIteratorImpl.java:3768)
    oracle.jbo.server.ViewRowSetImpl.activateIteratorState(ViewRowSetImpl.java:4960)
    oracle.jbo.server.ViewRowSetImpl.doCreateAndInitRow(ViewRowSetImpl.java:1901)
    oracle.jbo.server.ViewRowSetImpl.createRow(ViewRowSetImpl.java:1891)
    oracle.jbo.server.ViewObjectImpl.createRow(ViewObjectImpl.java:6555)
    com.samesi.segestion.view.backing.app.Clientes.devoluciones_action(Clientes.java:1845)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:585)
    com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:146)
    com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:92)
    oracle.adf.view.faces.component.UIXCommand.broadcast(UIXCommand.java:211)
    oracle.adf.view.faces.component.UIXCollection.broadcast(UIXCollection.java:94)
    oracle.adf.view.faces.component.UIXTable.broadcast(UIXTable.java:205)
    javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
    javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
    com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:95)
    com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
    javax.faces.webapp.FacesServlet._service_79(FacesServlet.java:197)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    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.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:332)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    java.lang.Thread.run(Thread.java:595)Tranks,

    I continued researching. When my server gain cpu and memory in Catalina.out, I can to see this output:
    Feb 28, 2008 10:25:53 AM oracle.adf.view.faces.webcache.component.UICache encodeBegin
    INFO: fragment is Facturacion.jspx:_id3
    Feb 28, 2008 10:25:53 AM oracle.adf.view.faces.webcache.component.UICache getFragmentFromCache
    INFO: fragment (Facturacion.jspx:_id3) fetch: cache miss
    Feb 28, 2008 10:25:53 AM oracle.adf.view.faces.webcache.component.UICache insertFragmentInCache
    INFO: fragment (Facturacion.jspx:_id3) insert: cached for 864000 secs
    Feb 28, 2008 10:25:53 AM oracle.adf.view.faces.webcache.component.UICache encodeBegin
    INFO: fragment is Facturacion.jspx:_id4
    Feb 28, 2008 10:25:53 AM oracle.adf.view.faces.webcache.component.UICache getFragmentFromCache
    INFO: fragment (Facturacion.jspx:_id4) fetch: cache missIn this example, I belive that user is resuming the Facturacion.jspx page. In my code I have this line:
    It’s corresponding to menu.
    I have looking this documentation:
    http://download.oracle.com/docs/html/B25947_01/web_cache002.htm
    In this documentation, first access, the cache miss, but the following times the cache could hit. . When my server gain cpu and memory I look that the following times the cache always miss in all pages. Subsequently tomcat no reply and the malicious thread, execute Armageddon trace. This behavior of the cache is strange, right?
    I’m sure that I’m making anything that fetch in queryCollection make big loop.
    I have redefining getRangeSize and CurrentRow of my CustomViewObject (all viewOjects about my applications extends CustomViewObject and CustomViewObject extends viewObject) and I looked correct rangesize (not -1). I got system.out.println(getFetchedRowCount()) in createRow and obtain 13 or 15. I belive that It’s correct.
    Another example of problematic trace is (in this case is in preparemodel):
    com.sun.java.util.collections.ArrayList.indexOf(ArrayList.java:201)
    com.sun.java.util.collections.ArrayList.contains(ArrayList.java:183)
    oracle.jbo.server.ViewRowCache.addWithCheck(ViewRowCache.java:351)
    oracle.jbo.server.ViewRowCache.add(ViewRowCache.java:409)
    oracle.jbo.server.QueryCollection.addRowToColl(QueryCollection.java:2069)
    oracle.jbo.server.QueryCollection.fetch(QueryCollection.java:2111)
    oracle.jbo.server.QueryCollection.get(QueryCollection.java:1468)
    oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:3650)
    oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:2612)
    oracle.jbo.server.ViewObjectImpl.activateCurrentRow(ViewObjectImpl.java:12360)
    oracle.jbo.server.ViewRowSetIteratorImpl.activateIteratorState(ViewRowSetIteratorImpl.java:3768)
    oracle.jbo.server.ViewRowSetIteratorImpl.getRangeSize(ViewRowSetIteratorImpl.java:627)
    oracle.jbo.server.ViewRowSetImpl.getRangeSize(ViewRowSetImpl.java:2251)
    oracle.jbo.server.ViewObjectImpl.getRangeSize(ViewObjectImpl.java:6065)
    oracle.adf.model.binding.DCIteratorBinding.initSourceRSI(DCIteratorBinding.java:1549)
    oracle.adf.model.binding.DCIteratorBinding.callInitSourceRSI(DCIteratorBinding.java:1420)
    oracle.adf.model.binding.DCIteratorBinding.getRowSetIterator(DCIteratorBinding.java:1403)
    oracle.adf.model.binding.DCIteratorBinding.setRangeSize(DCIteratorBinding.java:2641)
    oracle.adf.model.binding.DCBindingContainer.internalRefreshControl(DCBindingContainer.java:2484)
    oracle.adf.model.binding.DCBindingContainer.refresh(DCBindingContainer.java:2257)
    oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.prepareModel(PageLifecycleImpl.java:104)
    com.samesi.segestion.view.frameworkExt.SegestionPageLifecycle.prepareModel(SegestionPageLifecycle.java:354)
    oracle.adf.controller.v2.lifecycle.Lifecycle$8.execute(Lifecycle.java:210)
    oracle.adf.controller.v2.lifecycle.Lifecycle.executePhase(Lifecycle.java:116)
    oracle.adf.controller.faces.lifecycle.ADFPhaseListener.mav$executePhase(ADFPhaseListener.java)
    oracle.adf.controller.faces.lifecycle.ADFPhaseListener$4.after(ADFPhaseListener.java:331)
    oracle.adf.controller.faces.lifecycle.ADFPhaseListener.afterPhase(ADFPhaseListener.java:97)
    com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:254)
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    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.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:332)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    java.lang.Thread.run(Thread.java:595)Thanks,

  • EJB 3.0 / Data control binding / ADF Faces

    We have a great and very useful tool to generate rich client web application. Generate web component from a data structure is easy but manage the full life cycle is a little bit more complex. This complexity is dramatically increased when tool/platform are offering many models to solve the problem.
    In JDev we have three major choices:
    1) adf business components
    2) top link pojo
    3) ejb3.0
    From the client side and in my point of view (at my current understanding) the first and second choice are the easiest way to manage the persistence because they are what i say "bidirectional", that mean i will use the same data structure to persist and synchronize the database. I may only calll a method from the object to put my changes from the midle-tier into the database.
    EJB 3.0 seem to be more cormplex due essentially to the presence of the session bean that acts like conversational api. I like this architecture because it is the most flexible but from my client i have to manage these api's instead of one data structure. This mean for me to catch/detect every updates, new insert or deletes in my business object and to write the corresponding code to apply to correct entity bean methods from my session bean.
    Why not manage this logic in the data control framework by declaring which methods are to use as finder to get the data and which methods are to used to manage the persistence (persist, merge, remove) at object level.

    Exactly what i mean
    Actually Data Control architecture seem to be business object oriented with native method called from the same object to retrieve (the most part done)/synchronize the data with the database.
    This is fine than your architectue don't provide a service layer like session facade.
    With session facade you will access different business method to retrieve data and synchronize you data with the database not different method from the same object like application module do in adf bc.
    I see two solution, the best is that you extend the data control framework to offer standard crud operation and a tools to map these with one or many methods in the same (has to be the same?this is a question of architecture, i think it has to be the same but the framework may have to permit to use an another one for flexibility) session bean. This may be the same from adf bc or top link but the method may be selected automatically by the tool (wizard).
    The second solution is to build specialized sesssion bean with mandatory standardized methods and map this directly in the framework. The advantage i see is that the updates may be collected only once by the session bean by passing a specialized object manipulated by a specialized method.
    In fact the best solution is something that combines mapping in the data control and a specialized set of methods in the session bean to execute a transaction in a whole at the server level.
    What is to be decided if the framework (data control part) has to maintain a status for attribute (or set of attribute that correspond to a data control node) that are new inserted, updated or deleted and to synchronize only the changes.
    I'm very surprising that something like that it is not already in the framework ?
    How do I have to take care of changes made in a data control node object when i have used it to generate an adf faces by example in master / detail pages with an edit form like in otn examples. I see that the detail list in the detail table is updated so the data control is updated correctly by the edit form when i submit the changes but how to finally get this changes and synchronize with the database ?
    ps i reply previously by mistake by email sorry ... not that the email is not exactly the same as the post here
    Michel

  • Creation of object with sub-objects in ADF Faces

    I am trying to create an object that has associated sub-objects (header/detail) using ADF Faces. The user enters the header information in an ADF Form, then he creates detail data. Example: If the object is a PO, user creates the PO header info and, in an ADF table, he creates the PO lines.
    The problem is I am not able to figure how to bind the ADF table to the object that is being created. In a normal master-detail form, you drag the associated list from the Data Control palette and JDev automatically creates an accessor iterator that "feeds off" the master iterator. But, in this case, the associated list does not appear in the data control palette. Nor am I certain that is the right thing to do, anyway.
    Help! This seems like it would be a common pattern.
    Ara

    Sorry. Here is some more information:
    1. The project is for tracking duplication jobs requests.
    2. Data Model--DocumentTicket and JobDocument objects are EJB 3.0 JPA objects. DocumentTicket has a getter (getJobDocuments) to retrieve a List<JobDocument> of related job documents. JobTicketManager is the session bean that encapsulates most business methods.
    3. I am using ADF Faces bindings to "publish" the data model to the GUI.
    4. In the GUI, I dragged/dropped the DocumentTicket constructor from the data control palette to create the document ticket. This created the appropriate method action bindings, as well as the DocumentTicketIter iterator to iterate over the constructor result.
    5. Of course, the user also needs to specify the related job documents. In the GUI, I would like to have an ADF table that displays the current job documents, and a button labeled "Add Document" that is wired to a pop-up dialog. The idea is that the user clicks on the "Add Document" button, enters the information about the new JobDocument object. The object is then created and the table is updated with a new row. The table is also used to manipulate the list of job documents (chiefly, it allows the user to change their listed order).
    Step 5 is where I am having trouble. I can see how to create the pop-up dialog, how to wire it to the JobDocument constructor, how to update the data model. The problem is: I do not know to which object I should wire the JobDocument table. Logically, I should be able to wire it to the jobDocumentList property. However, that is not displayed in the data control palette under the constructor results (it is displayed elsewhere; for example, under the result of the findAllDocumentTickets method).
    I suppose I could create a separate finder method in the session bean, but then how do I connect it to the object being constructed (i.e., to the JobDocumentIter iterator)?
    Either I am missing something here or I am hitting some limitation of the ADF binding framework.
    Ara

  • How to populate ADF Faces Drop Down without Errors?

    Hi,
    I have a drop down in ADF Faces which gets populated when a value is selected in another drop down. And its mandatory that we need to select both the values from the drop down. Hence i have used the attribute 'required' and set it to 'true'. The code snippet is here.
    <af:selectOneChoice styleClass="selectOneClass" unselectedLabel="Pick One" inlineStyle="width:250px" accessKey="S" label="Site" id="siteDrop" disabled="false" rendered="true" required="true"
    requiredMessageDetail="Select a Value" value="#{QualityEvalBean.sites}"
    valueChangeListener="#{QualityEvalBean.siteValueChange}" autoSubmit="true" immediate="true">
    <f:selectItems value="#{QualityEvalBean.siteslist}"/>
    <!--f:selectItem itemLabel="White Field" itemValue="LEVEL4"/-->
    </af:selectOneChoice>
    <af:selectOneChoice inlineStyle="width:250px" unselectedLabel="Pick One" accessKey="T" label="Transaction Type" id="transDrop" rendered="true"
    partialTriggers="siteDrop" immediate="true" required="true" value="#{QualityEvalBean.transactionType}">
    <f:selectItems value="#{QualityEvalBean.transactionTypeList}"/>
    </af:selectOneChoice>
    While picking the value from the first drop down the second drop down is also getting validated and its giving a red colored icon beside the second drop down. There are absolutely no issues in case of populating the values in the second drop down.
    Please help me in this regard.
    Thanks
    Rahul Uday

    you can create a method to populate the context attribute that you are using to map to your dropdown box.
    DATA: node_info TYPE REF TO if_wd_context_node_info.
    DATA: it_table TYPE wdr_context_attr_value_list.
    ** select your dropdown data into it_table and pass it to your context attribute.
    ** here, mine is call PROJ_TYPE - the values should appear in your dropdown.
      node_info->set_attribute_value_set(
         name      = 'PROJ_TYPE'
         value_set = it_table ).

  • JDeveloper 11.1.2.3, ADF Faces, JQuery Integration via ADF Library

    I cannot seem to get a consuming application to execute jquery's ready() function defined within a adflib application. Here is my setup
    directory structure of where my javascript files are:
    CommonApp
    -ViewController
    --public_html
    ---resources
    ----js
    -----jquery-1.6.2.min.js
    -----acme.js
    The above structure created by default by jdev when creating a new javascript file. Now the test code (also within CommonApp) which works looks like the following:
    test.jsf
    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <f:view xmlns:f="http://java.sun.com/jsf/core" xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
        <af:document title="test.jsf" id="d1">
            <af:group id="g1">
                <af:resource type="javascript" source="/resources/js/jquery-1.6.2.min.js"/>
                <af:resource type="javascript" source="/resources/js/acme.js"/>
            </af:group>
            <af:form id="f1">
             </af:form>
        </af:document>
    </f:view>Contents of acme.js
    $(document).ready(function () {
        // do jQuery
        alert('jquery ready called')
    });OK so far so good, test.jsf runs and an alert dialog pops up. Moving on... CommonApp is deployed as an ADF Library and consumed by a ChildApp.
    There is a single .jsf file within the ChildApp and the code is exactly identical to the above test.jsf. Upon runtime there is no alert dialog! What am I missing?

    A bit more fiddling around:
    I have added the following code to acme.js
    function test() {
        alert('test');
    }redeployed the adflib
    Within my ChildApp I have added the following code to test.jsf:
    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <f:view xmlns:f="http://java.sun.com/jsf/core" xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
        <af:document title="test.jsf" id="d1">
            <af:group id="g1">
                <af:resource type="javascript" source="/resources/js/jquery-1.6.2.min.js"/>
                <af:resource type="javascript" source="/resources/js/acme.js"/>
            </af:group>
            <af:form id="f1">
                <af:commandButton text="commandButton 1" id="cb1">
                    <af:clientListener method="test" type="click"/>
                </af:commandButton>
            </af:form>
        </af:document>When the code is ran, I clicked the button and the alert dialog is invoked.
    </f:view>

  • JDeveloper 11.1.2.3, ADF Faces: declarative component does not support af:clientListener?

    I am trying to create a declarative component with the following code:
    <?xml version='1.0' encoding='UTF-8'?>
    <af:componentDef xmlns:af="http://xmlns.oracle.com/adf/faces/rich" var="attrs" componentVar="comp" definition="private"
                     xmlns:afc="http://xmlns.oracle.com/adf/faces/rich/component">
        <af:xmlContent>
            <afc:component>
                <afc:display-name>DoubleClickTableDialogClientServerListener</afc:display-name>
                <afc:component-extension>
                    <afc:component-tag-namespace>org.mskcc.crdb.common.declarativecomponent</afc:component-tag-namespace>
                    <afc:component-taglib-uri>http://www.mskcc.org</afc:component-taglib-uri>
                </afc:component-extension>
            </afc:component>
                <af:clientAttribute name="serverListenerType" value="TableDoubleClickEvent"/>
                <af:clientListener method="handleTableDoubleClick" type="dblClick"/>
                <af:serverListener type="TableDoubleClickEvent"
                                   method="#{EditAddDialogTemplateBean.handleTableDoubleClick}"/>
        </af:xmlContent>
    </af:componentDef>
    At runtime I recieve the following error:
    javax.faces.view.facelets.FaceletException: ADF_FACES-60023:Component: DoubleClickTableDialogClientServerListenerComponent[oracle.adf.view.rich.component.fragment.UIXInclude$ContextualFacesBeanWrapper@7170a7, id=dctdcsl1] does not support client listeners.
      at oracle.adfinternal.view.faces.facelets.rich.BaseClientListenerHandler.apply(BaseClientListenerHandler.java:53)
    This component was intended to be dropped off within an af:table component. I would like to hear suggestions on workarounds, one other way I thought about was to create a code template for the three tags, however, the con to this approach is each developer would need to configure this template within jdeveloper. Ideas are appreciated.
    Also a side question, how can I embed code properly with the new forum? [code] tag does not seem to work now.

    Wes, can't help with the real question, but can tell you how to format code
    Change to the advanced editor (top right over the editor field), then you get more options. The one you are looking for is behind the blue '>>'. Here you select the language you want to insert and you get nice code formatting and color.
    Timo

  • An extra column of a query in an ADF Faces Table?

    Hi to all OTN Community...
    I use ADF Faces, Toplink and EJB 3.0 in JDevelooper 10.1.3.1.0, and i have a question...
    I need to show in an adf faces table, the result of a query like this
    SELECT COLUMN1, COLUMN2, COUNT(*)
    FROM TABLEX
    GROUP BY COLUMN1, COLUMN2
    I do this query in the TableX named queryes...and then i have acces to this named query in the dataControl, but, when i drag and drop the dataControl to a jsf page, this only shows the columns of the tableX. Then, i want to know, ¿How can i show the count(*) column in the page in a dataControl?
    PD: i want to show in the adf faces table the same result if i execute that query in an sql client.
    Thanx in advance...
    Darklorddany

    Darklorddany,
    The solution to this is to add an additional method on your EJB 3.0 session-bean that exposes an dynamic TopLink report (projection) query.
    The TopLink code within the method would leverage your existing TopLink mappings to do the query like:
            ReportQuery rq = new ReportQuery(Employee.class, new ExpressionBuilder());
            rq.addAttribute("firstName");
            rq.addAttribute("lastName");
            rq.addCount();
            rq.addGrouping("firstName");
            rq.addGrouping("lastName");
            List<ReportQueryResult> results = (List<ReportQueryResult>)session.executeQuery(rq);The ReportQueryResult objects are very generic map/row type containers that will not work well in your ADF binding layer. With JPA you can specify and ad-hoc Java class to contain such projection results that make them a little easier to use in clients. This functionality will be available in the next release of TopLink. Until then you will need to write some code to convert to your own result class for this query.
    In my case I'll create a simple POJO like:
        public class EmployeeNameCount {
            private String firstName;
            private String lastName;
            private int count;
            public EmployeeNameCount(String firstName, String lastName, int count) {
                this.firstName = firstName;
                this.lastName = lastName;
                this.count = count;
            public String getFirstName() {
                return this.firstName;
            public String getLastName() {
                return this.lastName;
            public int getCount() {
                return this.count;
        }Now I combine the previous report query code into an EJB 3.0 session bean method:
        @TransactionAttribute(TransactionAttributeType.SUPPORTS)
        public List<EmployeeNameCount> findEmployeeNamesWithCount() {
            Session session = getSessionFactory().acquireSession();
            ReportQuery rq = new ReportQuery(Employee.class, new ExpressionBuilder());
            rq.addAttribute("firstName");
            rq.addAttribute("lastName");
            rq.addCount();
            rq.addGrouping("firstName");
            rq.addGrouping("lastName");
            List<ReportQueryResult> results = (List<ReportQueryResult>)session.executeQuery(rq);
            session.release();
            List<EmployeeNameCount> empNameCounts = new ArrayList<EmployeeNameCount>(results.size());
            for (ReportQueryResult rqr: results) {
                String fname = (String)rqr.getByIndex(0);
                String lname = (String)rqr.getByIndex(1);
                int count = ((Number) rqr.getByIndex(2)).intValue();
                empNameCounts.add(new EmployeeNameCount(fname, lname, count));   
            return empNameCounts;
        }You will also need to make sure the method exists on your EJB 3.0 session bean's interface as well. Then regenerate the data control for your session bean and you should have access to drag and drop this query with its results into your JSF pages.
    As mentioned this use case will be much simpler and declarative in the next release.
    Doug

  • ADF Faces - indenting text in table column.

    Is there a way to indent text in an ADF Faces coreColumn component? I'm trying to represent a recursive tree structure in a CoreTable. I've tried inserting object spacers depending on the depth of each node in the tree, but Faces then wraps the text after the spacers, even when I specify no wrap for the column.
    Better yet, is there a way I could do this with a tree component? I've tried separating the different levels into different collections with separate custom methods, but I don't know how to specify the master/detail relationships between them.
    Any suggestions gratefully received.
    Brian Spear.

    Thanks, Frank. I don't think a tree table is the answer; it has the same requirements as the tree (or so I understand) with regards to populating each level from a different collection, and foreign key relationships. Not suitable for recursive relationships. Furthermore it only shows a small part of the tree at a time. I've got as far as returning a list of nodes within a structure, and I can display the structure, with icons for expanding and collapsing the nodes. All I need now is a way to indent the levels so the structure is more visible. The best I've managed so far is by inserting ". . ." in the text itself on each lower level, to make the left-justified text look indented. Obviously, I'd like a better way, that can be implemented in the view layer.
    Is there maybe a way of nesting objects within an outputText component so that it doesn't wrap? Must look into that.
    Thanks again.
    Brian Spear.

Maybe you are looking for

  • Starting over with Time machine - as I have been doing it incorrectly

    Hello all, Got some great advice from other posts in this discussion, but I want to clarify a few things. I started using Time Machine without really setting anything up, and have quickly gotten to about 128 gigs of backup (in a little over a week).

  • XMP basics - Creating custom file for catalogue

    Hi, I have read other discussions, but fall at the first herdle. From what I undersand XMP can embed custom data int your images. This is great for me. I have a database of rugs (excel format), and unnassociated images. I would like to find a way to

  • OracleXMLSQLException: Closed Statement: getMetaData

    When querying the database with nested cursors like select a, cursor(...) as b from c... and creating an OracleXMLQuery I get an exception when the first row of the resultset contains no data for the inner cursor statement. If I insert a dummy entry

  • Drag and drop problems in 10.7.2

    Hello! I´ve a MacBook pro 13" with stock 10.7.2, when I drag and drop several files, the shadow of the files freeze on the screen, and there´s no way to remove them other than force quit the Finder. It´s quite annoying. Any idea on this? Best Regards

  • MathJax in WebView.

    I'd like to use MathJax in WebView. It's possible to show math expression, but too slow and throws a lot of NPEs. Also, I can't use MathJax by loadContent(). Thank you in advance. h3. MathJaxTest.java import javafx.application.Application; import jav