JDeveloper 11.1.2.3, ADF Faces: aberrant behavior declarative components

Strange things have been happening with my research into declarative components.
1. declarative component cannot be used the within the same project it is defined. only in a separate project which consumes it as an adflib
2. periodically, in the componentdef property inspector for my declarative component would miss displaying all values I defined for "Facet Definitions, Method Signature, Methods". Closer inspection of the code reveals that somehow, the afc tags disappeared! so the code for something like a method attribute would look like:
<method-attribute>
  <attribute-name>
   commit
  </attribute-name>
<method-signature>
  void method(javax.faces.event.ActionEvent)
</method-signature>
</method-attribute>
...instead of:
<afc:method-attribute>
<afc:attribute-name>
  commit
</afc:attribute-name>
<afc:method-signature>
  void method(javax.faces.event.ActionEvent)
</afc:method-signature>
</afc:method-attribute>
...3. during design time, the ActionListener attribute of a button (in the declarative component definition) shows up under "warning node" and states "Reference comp.nameofactionlistener" not found.
Code will run but there are many warnings similar to this.
anyone else on 11.1.2.3 have similar issues working with declarative components? i'm trying to find steps to reproduce but havent stumbled upon it yet.

Wes,
1) is documented at http://docs.oracle.com/cd/E35521_01/web.111230/e16181/af_reuse.htm#autoId21
2) and 3) I personally have not stumbled upon, but if you have a reproducible test case you should open an SR or make an entry in the ADFEMF issue tracker (http://java.net/jira/browse/ADFEMG side is currently down :()
Timo

Similar Messages

  • 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

  • JDeveloper Visual Editor not rendering ADF Faces

    Hi guys, thanks for read my post.
    I'm working on a MVC application, and using ADF Faces in view. I did any changes, editing my jsf pages sources.
    Now JDeveloper doesn't show the design view of no one jsf pages.
    I followed the steps enumerated by Didier Laurent in:
    http://blogs.oracle.com/Didier/2006/11/22
    (thanks Didier), but it didn't resolve the trouble.
    When i run jdev.exe instead jdevW.exe I watch the following lines:
    (digester.Digester 164) [ConverterRule]{faces-config/converter} Merge(javax.faces.Short,null)
    (digester.Digester 164) [ConverterRule]{faces-config/converter} Merge(null,java.lang.Short)
    (digester.Digester 164) [ConverterRule]{faces-config/converter} Merge(javax.faces.Byte,null)
    (digester.Digester 164) [ConverterRule]{faces-config/converter} Merge(null,java.lang.Byte)
    But I can't see the error cause,
    Have you seen this problem before?
    Thanks in advance

    Hi again, thanks for your reply Shay. I had followed this steps to, but I don't reach to get the misconfiguration or error in my faces pages for showing design time messages in log. Log is empty and if I run JDeveloper from jdev.bin I don't see more than some lines I sent before.
    Thanks

  • 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: need declarative component idea for table

    Some background:
    I'm trying to create a reusable toolbar for standard af:table behavior, see screen shot
    http://wesfang.files.wordpress.com/2013/05/dc.jpg
    I got the idea from the from using documentation Frank has published in the past
    1. http://www.oracle.com/technetwork/developer-tools/adf/learnmore/001-access-declarative-comp-attr-169113.pdf
    2. Adding a new row programatically
    The consuming subsystem's page passes in a "MyPageBean" which is a subclass of a "ArchBean" where all actionlistener operations are defined. The idea here is to minimize developer customization when using this component.
    ... <f:facet name="toolbar">             <af:toolbar id="t2">                 <mskcc:basicTransactionToolbar id="btt1" pageBean="#{MyPageBean}" tableId="t1"/>             </af:toolbar> </f:facet> ...
    The table within the consuming page is by default dropped off as a "editable" table. The developer needs to further modify the "disable" attribute to true for all the input fields and command components within the table. I would like to remove this developer step and instead have it in an architectural component. All ideas are welcome.

    Ok, finally got it working (sort of)
    Using the following method as you suggested:
    public void encodeChildren(FacesContext fc){
            try {          
                super.encodeChildren(fc);
                RichTable table =
                    (RichTable)ADFFacesUtil.findComponentInRoot((String)this.getAttributes().get("tableId"));
                lockUnlockTable(table); //method for toggling disable attribute for all command and input components
            } catch (IOException e) {
                e.printStackTrace();
    }Now the strange problem I encountered is that the encode methods are not called if the declarative component is defined within a panelCollection's f:facet-toolbar like below:
    <f:facet name="toolbar">
                        <mskcc:basicTransactionToolbar id="btt1" tableId="t1" pageBean="#{TestBean}"/>
    </f:facet>Also the above code has to be manually created because the design time editor does not allow me to drop off the dc within the toolbar facet (even though the dc is a toolbar!)
    Instead, If I move the dc outside the panelcollection, then the encode methods are invoked and the desired enable/disable behavior is correctly displayed.

  • ADF Faces: Background color of components?

    Hi,
    In my application I use panelPage component to get a basic layout. From [1] I know that I can use several facets wo place my components on special places.
    I tried this with the "search" facet as well as the "infoSupplemental". Both have a different background color. When I add selectOneChoice or commandButton components, they have a white background box around them. How can I tell the components to match the background color of "surrounding" component.
    Regards,
    Stephan
    [1] http://download.oracle.com/docs/cd/B25221_04/web.1013/b25386/web_getstarted004.htm#CHDCJCGF

    Well, seems like the CSS parser does not expect inherit as a colorvalue :) Is this a known bug?
    oracle.adfinternal.view.faces.style.PropertyParseException: Invalid color: inherit
         at oracle.adfinternal.view.faces.style.util.CSSUtils.parseColor(CSSUtils.java:196)
         at oracle.adfinternal.view.faces.style.CSSStyle.parseProperty(CSSStyle.java:116)
         at oracle.adfinternal.view.faces.style.BaseStyle.getParsedProperty(BaseStyle.java:163)
         at oracle.adfinternal.view.faces.ui.laf.oracle.desktop.TecateRenderer._parseValue(TecateRenderer.java:535)
    <af:commandButton inlineStyle="background-color:inherit;" text="#{bundle.search_action_save_label}" />

  • ADF Faces & BC, JDeveloper 10.1.3.4: Editable af:table question

    Hi all,
    I have a dialog which pops up with an af:table inside, the table is bound to a viewobject which is used to create multiple rows which upon clicking a save button, these records will go into the db. My problem is that lets say I have 3 rows that are created (via programmatic CreateInsert on the AM), when I use the UI to modify a attribute value on the first row, the same value is copied to the rest of the 2 rows.
    See image of UI below:
    [http://i108.photobucket.com/albums/n23/zeoneozero/beforesave.gif]
    I do not wish to use a radio button next to the rows as I want the user to freely edit which ever field directly without clicking around too much. Should I be setting the autosubmit to true and a valuechange listener to set the current row?
    Many thanks,
    Wes
    Edited by: Wes Fang on Mar 13, 2009 8:36 AM

    Fixed. This is a similar problem to:
    JDeveloper 10.1.3.4,ADF Faces & BC: InputText PPR Problem

  • ADF Faces & BC JDeveloper 10.1.3.4: af:menuTab in multiple rows.

    Hi all,
    We have a dynamic menu design in our application that is defined within the faces-config.xml file. The menu tabes are rendered in a single row, are there any ways to split these tabs into multiple rows (as more are necessary)?
    <f:facet name="menu1">
    <af:menuTabs var="menuTab" id="menuTabs11" value="#{menuModel.model}">
    <f:facet name="nodeStamp">
    <af:commandMenuItem text="#{menuTab.label}"
    id="commandMenuItem11"
    action="#{menuTab.doAction}"
    disabled="#{CRDBMenuBean.isEnabledFlag}"
    selected="#{menuItem.isSelected=='true'?true:false}"
    actionListener="#{CRDBMenuBean.menuItemActionListener}"/>
    </f:facet>
    </af:menuTabs>
    </f:facet>
    thanks,
    Wes
    Edited by: Wes Fang on Jul 24, 2009 10:25 AM

    Fixed. This is a similar problem to:
    JDeveloper 10.1.3.4,ADF Faces & BC: InputText PPR Problem

  • Validation messages in JSF (when not using ADF faces)

    I've spent some time with JDeveloper 11 and would like to use it on an upcoming project. I have to target IE 6, so I won't be able to take advantage of ADF Faces. Instead I'd like to use the ADF Business Components with a standard JSF interface so it can be used by people still running IE 6.
    I've created a Business Component from a database table and can bind a JSF HTML Creation Form by dragging the appropriate view from the AppModule in the Data Controls pane. However, when I attempt to submit the page without all the fields being valid I get the following validation error message:
    j_id__ctru2:j_id__ctru6: Validation Error: Value is required. j_id__ctru2:j_id__ctru6: Validation Error: Value is required.
    I've tried making this more descriptive, but editing the error message in the Validation Rules section of the Business Component has no effect. What's the best way to convey a meaningful validation message to the user when not using ADF Faces?
    Also - I'm still very new to JDeveloper. Since I won't be able to rely on my users having Internet Explorer 7, would you recommend I stay with JDeveloper 10? The examples and documentation I've seen so far for JDeveloper 11 appear heavily biased towards using ADF Faces so I'm starting to wonder how much support is there for using plain old JSF.
    Thanks for your time!

    Hi,
    if you are completely new to this then I suggest to use JDeveloper 10.1.3 and ADF Faces in there. Its good to use with IE6 as well. Currently we do have more tutorials available for this release than for 11, which for this reason is a better choice for someone new to this
    Frank

  • Adding ADF faces in Sun studio Creator

    Pls Help me by giving step by step procedure for adding ADF Faces in sun Studio Creator. The version of ADF Faces is EA 17.

    Hi Pablo and Eric,
    Just to calrify things a bit about ADF Faces. ADF Faces are standard JSF components and are fully compatible with any JSF implementation. What you guys are asking for is tools support. Currently Sun Studio Creator is experience difficulties importing any large custom component sets to their IDE. This is due to bugs in their prodcut and the fact that ADF Faces does not come with the Sun specific configuration required to import components to their IDE. We are working with them on a new proposal for design time metadata and a solution to get ADF Faces into to the Sun SC IDE.
    But, this is ultimately a Sun issue, not a JDeveloper nor ADF Faces issue.
    - Jonas
    Jdev team

  • ADF Faces - filtering a selectOneChoice after select from another

    Hi,
    I'm new to ADF faces and I've been experimenting with developing applications using Jdeveloper 10.1.3 and ADF faces. I've run into a little problem.
    I have two selectOnceChoice fields on a page (division and dept.) When user selects a Division I would like to filter the dept. But it seems that the value I get when I try to filter when the div changes is the array index not the value of the division. Basically what I've done is set the valueChangeListener to a function on the backing bean for the Div selectOneChoice and set auto submit to true. If I look at the values on the valueChangeEvent they are the indexes not the actual values. I've tried using ExecuteWithParms in the page def and binding to to #{bindings.div.inputValue} but the results are the same the inputValue at this point contains the array pointer not the actual value. as seem by turning on -Djbo.debugoutput=console.
    Does anybody have any suggestions?
    Thanks
    Chris

    Scott - check out Re: How to do? Save-and-Return with ADF Faces and ADF BC, JDev 10.1.3
    John

  • How do I add ADF Faces Core and ADF Faces Html to the component palette?

    I have an already made jspx page which I wish to work further on but I can´t choose ADF components from the component palette.
    in my older version I added these two lines to the <jsp:root> element when I wanted to make ADF components available.
    xmlns:af="http://xmlns.oracle.com/adf/faces"
    xmlns:afh="http://xmlns.oracle.com/adf/faces/html"
    but in Jdeveloper 11g preview 3 these two lines seem to have no effect.
    I tried to see what other jspx pages that contained ADF components in 11g had that my page didn´t and found out that they had the line
    xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
    but when I add this line instead of the other two lines and press install JSP tag library Jdeveloper freezes completely. Can anyone help me get ADF components show up in the component palette in Jdeveloper 11g preview 3?
    Message was edited by:
    AtlanticViking

    Hello,
    Jdeveloper 11g uses Trinidad not ADF Faces 10g, to add it, uses the following:
    1. Double-click your project to access project properties;
    2. Select JSP Tag Libraries;
    3. Click Add;
    4. Trinidad Component 11-m3
    Regards,
    ~ Simon

  • ADF Faces Release Date?

    Can somebody please indicate what is the scheduled release date for the ADF Faces suite? Also, it would be nice to know the prevailing thought process on the licensing.
    Thanks
    Arjuna

    Due to Sarbens-Oxely regulations we can't give you a more specific date then FY06 (meaning anytime between now and June-06) as a release date for both JDeveloper 10.1.3 and ADF Faces.
    ADF Faces is free if you deploy your application on the Oracle Application Server. If you deploy on another application server there is a runtime cost ($5K per proccessor).
    And just for the record we already know of people using ADF Faces in production applications even though the components are still not officially production.

  • Message bundle, replace default "Required" message in ADF faces

    Hello,
    I hope i can ask some ADF faces questions here,
    I am trying to replace the default msg that adf faces give for different components
    I successfully created a resource properties file which includes 2 msgs, one is to replace the default value given to required msg, and other is just a msg i will use for one of my buttons.
    oracle.adf.view.faces.UIXEditableValue.REQUIRED=Enter number please
    button_name=Submit
    I specify this bundle in my application node in my faces config file.
    I also load it with loadbudle component in the page that i want to use it.
    now i can call my second msg "button_name" fine from with in the page, so I know that I have my file set up correctly,
    but the first msg, which is the key for the required msg, does not work
    em i missing something??
    is there a different setup when trying to override msgs.
    Thank you

    I found a solution,
    I hope there is a better one,
    What i did is a got the source for ADF faces found the XML file where all the msgs are located (MessageBundle.xrts). Then using a tool that comes with the source files XRTSMakeBundle, I compiled the XML file, and it created java files with all the msgs. So I compiled them and replaced the classes in the ADF faces api jar.
    this seems like a long work around, in JSF RI, all you have to do is extend the key in the resource bundle and poof it works, I couldn't get that working here.
    This works, seems like a lot of work for a simple task!!!
    any other solutions out there????

  • 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

Maybe you are looking for