Region in declarative component

Hello there,
do I suppose correctly that declarative component cannot contain region? I mean in its declaration not in its facet.
Thanks
Qjeta

Hi,
they can have af:region areas defined, but they can't have task flows in the regions because declarative components don't allow you to define ADF bindings. So if yur question is just about the af:region tag, then yes you should be able to use it
Frank

Similar Messages

  • ADF Faces Declarative Component onLoad event call Backing Bean Method

    Hello.
    We are trying to implement a declarative component, that will be used as Flex Fields for our application, ie, the components will be created dynamically through a database configuration, and who is responsible for organizing and creating the components, is the declarative components, and its own backing bean.
    The declarative component, will receive a List of custom components, and with this list it is possible to create the components dynamically. We want the components to be created as soon as the page is loaded. The developer could place this declarative component in any region of his page, and even in another tab if he wishes. The problem is, that we cannot register a load event in the declarative component, since it doesn't have a document Object, to call the declarative components backing bean method that is responsible for creating components.
    How could we simulate the onLoad (of the declarative components) so that the backing bean method (responsible for creating component, and putting it in the view tree) could be called ?
    I've tried with a RENDER_RESPONSE phaseListener, but the beforePhase has no objects in the tree, and the afterPhase has already rendered to the client.
    Any ideas on how to achieve this ?
    Thanks a lot.
    Regards,
    John

    Hi Frank, thanks for the response.
    I'm curious about the dynamic declarative component. Any place I could check it out ?
    Back to my scenario. I'll try to be more clear to what we need!
    We have to have dynamic creation of components, based on a database configuration. This will allow our customers to have custom flex fields, without the need of us developing custom pages for each customer.
    One solution we are trying out, is the declarative component. Why ? Because the developer (when developing the page), knows that this specific page, is possible of customization by the client (custom flex fields). With this, the developer would choose where on his page the custom flex fields will be placed. Note that at this point (design time), no component (input, buttrons, etc) is created. The idea of the declarative component, is just so the Developer knows where he wants the custom fields placed in his page (a tab, below the form fields, in a another panel group, and so on). The declarative component, has only a container, PanelFormLayout, and no other component.
    What we want, is a way of calling our managed bean (the managed bean of the declarative component, that now I did configure it in the adfc-config.xml file , thanks for the tip) method, that's responsible for creating the custom components. The declarative component, receives a list of all the custom fields that needs to be created, at design time, through an attribute. The developer is responsible for setting this list when he drags the declarative component on his page.
    Now that I've put the declarative components managed bean in the adfc-config.xml file, the @PostConstruct is called correctly, but I still have a problem. At this moment (postContstruct call), my component PanelFormLayout (that is binded to the managed bean), is null. So I cannot add any component to the PanelFormLayout.
    Am I way out of line here Frank ?
    Really appreciate your comments.
    Thanks a lot.
    John

  • Add ViewObjects to Declarative Component

    Hi All
    I'm developing web application using jdeveloper 11.1.2.0
    this is my use case.
    In my jsf page I have to show the prevailing alerts to the user.
    I have Alert_Log table and using a Poll, I'm viewing latest Alerts to the user.So that user will be automatically notified with the alerts.
    My idea is to build this alert behavior as a declarative component so that other modules can also consume this without re-building alerts in each module.
    How can I implement this behavior as a declarative component.
    Please suggest me a solution for this. Any code samples are highly appreciated
    Thanks
    Padma

    Its not a standard to add view objects to a declarative component , it generally has only UI components which dynamically get values for certain attributes.
    You should ideally use Taskflows which can be reused as a region. The UI project which gets the business logic from ADF BC can be packaged as a ADF Jar and reused as mentioned below -
    http://docs.oracle.com/cd/E24382_01/web.1112/e16182/reusing_components.htm#insertedID1
    For Polling you can find examples similar to this - http://mjabr.wordpress.com/2011/05/06/refresh-part-of-the-page-periodically-using-poll-component/

  • 11.1.2: Declarative-component problem!

    Hi!
    We're just evaluating 11.1.2. I converted some declarative components to 11.1.2/Facelets style, but I am running into problems.
    As a test, I created some new components from scratch, confirming the issue.
    I create a declarative component and choose "Facelets" and choose "Use custom component class".
    JDeveloper then creates an entry in the jsf:
            <afc:component>
                <afc:display-name>testComponent</afc:display-name>
                <afc:component-class>component.TestComponent</afc:component-class>
                <afc:facet>
    ....After deployment, I just get an error. Facelets is reporting that there is no tag for "component-class", and examining component.taglib.xml in adf-richclient-impl-11.jar shows: Facelets is right! There is none!
    Now, I cannot just remove the component-class entry. If I do that, then deployment works, but then JDeveloper creates during compilation a wrong "TestComponentComponent" class (which should extend TestComponent but doesn't!).
    It just extends RichDeclarativeComponent, just like my original TestComponent class. All code in TestComponent is not available at runtime.
    RichDeclarativeComponent
       |
       |
    TestComponent    <---- This class is now for the birdsand
    RichDeclarativeComponent
       |
       |
    TestComponentComponent      <----- That class is used by the handlerIf I leave the component-class entry in, then - as expected - I get the correct hierarchy:
    RichDeclarativeComponent
       |
       |
    TestComponent
       |
       |
    TestComponentComponentbut the component doesn't run.
    So, now what? This cannot be the way it's supposed to work, can it. Manually edit the "component-class" stuff out of the jsf in the jar after deployment!?
    Edit: Created SR 3-3856944401: Facelets-based declarative component with custom component class not working
    Sascha
    Edited by: Sascha Herrmann on Jun 17, 2011 6:41 PM

    This is bug 12717940.
    Sascha

  • Error while saving changes of declarative component to MDS

    Hi,
    Using ADF Faces 11gR1PS1.
    I am trying to create a declarative component where user can close a panel box (not just minimize) by setting rendered property to false. It works fine.
    Next I tried to save the attribute change to MDS so that user settings are preserved across sessions. However I got the following error:
    <FilteredPersistenceChangeManager><_getQualifiedTagName> WebAppDesignContext is not available at application scope. Please ensure that your application is built as a 'Fusion Web Application (ADF)', and that taglib.jar and facesconfigmodel.jar are in class path.
    <FilteredPersistenceChangeManager><_isChangeAllowedThroughPersistentChangeManager> Could not obtain tag name for the component being changed. Component ref: RichPanelBox[UIXFacesBeanImpl, id=dc_pb2]
    <FilteredPersistenceChangeManager><_addDocumentChangeImpl> The DocumentChange is not configured to be allowed for the component: RichPanelBox[UIXFacesBeanImpl, id=dc_pb2]Following is the page code:
              <af:panelBox text="#{attrs.p2Header}" id="dc_pb2"
                           rendered="#{attrs.p2Header ne null and dashboardXBean.portletRendered.dc_pb2}"
                           showDisclosure="false">
                <af:componentDragSource discriminant="portlet"/>
                <f:facet name="toolbar">
                  <af:commandImageLink id="p_cil2"
                                       icon="/images/removeselected_dwn.png"
                                       hoverIcon="/images/removeselected_ovr.png"
                                       depressedIcon="/images/removeselected_ena.png"
                                       actionListener="#{dashboardXBean.handleHideEvent}"
                                       rendered="#{attrs.sideNavRendered}">
                    <f:attribute name="portletId" value="dc_pb2"/>
                  </af:commandImageLink>
                </f:facet>
                <af:facetRef facetName="p2"/>
              </af:panelBox>Following is the code in the managed bean to persist changes:
        private void saveShowHideChange(String portletId, boolean isRendered) {
            FacesContext fc = FacesContext.getCurrentInstance();
            ChangeManager cm = RequestContext.getCurrentInstance().getChangeManager();
            //ChangeManager pcm = AdfFacesContext.getCurrentInstance().getPersistentChangeManager();
            UIComponent puc = boundedDashboard.findComponent(portletId);
            ComponentChange pcc = new AttributeComponentChange("rendered", Boolean.toString(isRendered));
            cm.addComponentChange(fc, puc, pcc);
        }I am not really sure if the above code needs to be in the component managed bean or in the bean of the page that uses this declarative component.
    Any pointers are appreciated.
    Thanks,
    Husain

    Thanks for the reply Frank.
    For declarative components do we have separate renderer?
    The [Developers Guide|http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/ad_persist.htm#BABBGCJA] didnt seem very helpful on this topic.
    Can you point me to some reference material if available.
    Thanks,
    Husain

  • 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.

  • 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

  • Error in accessing attributes of a declarative component in BackinBeanScope

    Hello,
    I'm using JDeveloper 11.1.1.4.0.
    For pagination we have created a declarative component. It's bean when in request scope works fine when the dec.comp. is used in page only once.
    In order to use it multiple times in the same page, I changed the scope to BackingBeanScope. It works fine the first time bean's method gets called. However on the next request, I'm getting NullPointerException when it tries to access the dec. comp's attribute.
    Why am I getting this error and how to correct it?
    As an alternative, we can store the attribute value received first time in a hidden form field and retrieve it every subsequent time. But this would be my last alternative.
    Appreciate a reason and a better way to resolve this.
    Regards,
    Amar

    Hi,
    Yes. The bean is declared in the dec. comp.
    Following is the code in my bean's c'tor:
    FacesContext fc                    = FacesContext.getCurrentInstance();
    ELContext elctx                    = fc.getELContext();
    ExpressionFactory elFactory    = fc.getApplication().getExpressionFactory();
    ValueExpression valueExpr      = elFactory.createValueExpression(elctx, "#{component}", UIXDeclarativeComponent.class);
    UIXDeclarativeComponent currDeclarativeComp            = (UIXDeclarativeComponent)   valueExpr.getValue(elctx);
    String currVOObjectName                                         = currDeclarativeComp.getAttributes().get("VOObject").toString();"VOObject" is the attribute name for the dec. comp. It's getting correct value the first time. Every subsequent time,the last line throws null pointer exception.
    Regards,
    Amar

  • Embedding a declarative component written in JSF 1.2 in a jsf page

    Hi ,
    I have a declarative component written in JSF 1.2 . I want to embed this declarative component in an ADF application which is using JSF 2.0.
    On creating a jspx page in JSF 2.0 & embedding decalrative component it just works fine but I have to embed it in a JSF page instead , which is not working.
    Any suggestions ?
    Thanks
    Vinit

    Hi,
    for JDeveloper 11g R2 you will need to know before whether the application you build uses JSPX page documents or Facelets. The technologies are different (introduced with JSF 2) and declarative components thus need to be build for the document type used by teh application
    Frank

  • Creating Declarative Component problem.

    Dear all
    I use Jdeveloper 11.1.1.4.0.
    I am planing to create an ADF declarative Component.The component will be a panel collection layout which contains menu (Action>Export to excel) and command button (Add new record).
    The scenario will be like this:
    1- The developer will drag my new component (myCustomPanel) to his page and will drag the data control inside this comonent to create ADF Read only table.
    2- at runtime the table should appear surrounded by (myCustomPanel) and the user can use the "Action" menu to export the content to Excel, and can click on "Add new Record"to navigate to another page to add record.
    The solution I made is:
    in my "myCustomPanel" I created two attributes , the first one is "tableID" and the second is "targetPage" represents the outcome of the navigation to the "Add new record" page.
    The developer must provide these two attributes when using "myCustomPanel".
    The problem is:
    at runtime when the user click on "Add new record" button an error is raised .
    The error in this line:
    <af:commandToolbarButton text="Add" id="dc_ctb1" action="#{attr.targetPage}"/>
    the action property of the command button expects a managed bean. But i proved it with page attribute.
    I want to dynamicly provides the naviation outcome to the button using attribute name. Is this possible?
    regards

    Thank you so much for you replying.
    Your solution is helpful
    I tried to do the following :
    1- in my "customcomponent" project I removed the attribute "taregtPage"
    2- I added a method attribute
    name: targetPage
    method-signature: java.lang.String method()
    <af:componentDef var="attrs" componentVar="component">
        <af:panelCollection id="collection">
          <f:facet name="menus">
            <af:menu text="Action" id="dc_m1">
              <af:commandMenuItem text="Export To excel" id="dc_cmi1"/>
            </af:menu>
          </f:facet>
          <f:facet name="toolbar">
            <af:toolbar id="dc_t1">
              <af:commandToolbarButton text="Add" id="dc_add"
                                       action="#{attrs.targetPage}"/>
            </af:toolbar>
          </f:facet>
          <f:facet name="statusbar"/>
          <af:facetRef facetName="tableContent"/>
        </af:panelCollection>
        <af:xmlContent>
          <component xmlns="http://xmlns.oracle.com/adf/faces/rich/component">
            <display-name>dhamanTable</display-name>
            <facet>
              <facet-name>tableContent</facet-name>
            </facet>
            <attribute>
              <attribute-name>tableID</attribute-name>
              <attribute-class>java.lang.String</attribute-class>
              <required>true</required>
            </attribute>
            <component-extension>
              <component-tag-namespace>dhaman.custom</component-tag-namespace>
              <component-taglib-uri>/componentLib</component-taglib-uri>
              <method-attribute>
                <attribute-name>targetPage</attribute-name>
                <method-attribute>
                  <attribute-name>targetPage</attribute-name>
                  <method-signature>java.lang.String method()</method-signature>
                </method-attribute>
                <required>false</required>
              </method-attribute>
            </component-extension>
          </component>now My question is how to use it?
    I do not understand this
    action="#{component.handleTargetPage}" Do you mean that i will create amanaged bean "component" and add a methos "handleTargetPage"??
    Edited by: ta**** on Mar 9, 2011 1:58 PM
    Edited by: ta**** on Mar 9, 2011 2:00 PM
    Edited by: ta**** on Mar 9, 2011 2:01 PM

  • Access InputText Value in Declarative Component

    Hi,
    I have created a declarative component that contains an inputText component:
    <af:inputText label="#{attrs.ucitLabelText}" id="dc_it1" contentStyle="text-transform:uppercase;" converter="StringAsUppercase"/>
    When I use the declarative component on a page, is there any way to easily access the value of its inputText through the page backing bean? The declarative component is bound to the page, but what method can I use to access the inputText value?
    Thanks,
    Brad

    Thanks.
    I also figured out that I can simply do the following:
    When creating the declarative component...
    - Add an attribute to the declarative component (let's call it "inputValue")
    - Assign the inputValue attribute to the inputText value.
    When using the declarative component on a page...
    - Create a String property in the page's backing bean
    - Assign that property to the declarative component's inputValue attribute
    Then I can access the backing bean property to get the inputText value.
    Brad

  • ADF:LOV declarative component not working inside table component.

    Hi,
    I have created a custome LOV control,I am using this custom LOV control inside the table component,I am passing the below values as the parameter
    KeyValue="#{row.bindings.Value.inputValue}"
    LovModel="#{row.bindings.Value.listOfValuesModel}"
    Value- is the list of value attribute.
    When i click on the LOV search icon, the popup displays the Query model(it displays the list name at the top in the search page.so it is able to recognise the LOVmodel) but it is not able to retrive the list values.I am getting Query page with no values
    in the jspx page it is giving warning as "reference not found for row.bindings.Value.listOfValuesModel"
    Please can anyone help me on this?
    Thanks,
    Harish

    Hi Frank,
    below is my actual requirement and the solution i tried till now.
    I have a table and it has two columns let’s say “Columns” and “Values”. The first column i.e. “Columns” will be a dropdown and it will have predefined values, the other column “Values” will be a “List of value” control or similar kind of control in which the user can search and select multiple values from the popup list, and that list should dynamically bounded to the first column selected value.
    For Ex: if I select a value “Product” from the dropdown of the first column “Columns” , the control in the other column “Values” should bound to “product” list and I should be able to search and select multiple values from the pop up. And the popup should return the multiple selected values as a comma separated string to the textbox.
    In my requirement I have to use only VO’s to create the list and the control in the “Values” column should switch between these VO’s depending on the value selected in the first column.
    The solution we tried till now.
    I used a LOV switcher to achieve the above requirement. But we have a limitation in this approach as we could not do the multi select. Then we created a declarative LOV component in which we can select multiple values as a comma separated string from the popup.
    I retained the LOV switch model , instead of binding LOV switch model to the basic “Input List of Value” control in the JSPX page ,I used the LOV declarative component. Below is the code snippet which calls the declarative LOV component from JSPX page.
    <af:panelFormLayout id="pfl2">
    <af:selectOneChoice value="#{bindings.Columns.inputValue}"
    label="#{bindings.Columns.label}"
    required="#{bindings.Columns.hints.mandatory}"
    shortDesc="#{bindings.Columns.hints.tooltip}"
    id="soc3" autoSubmit="true">
    <f:selectItems value="#{bindings.Columns.items}" id="si5"/>
    </af:selectOneChoice>
    <mc:OraMultiSelect
    KeyValue="#{bindings.Value.inputValue}"
    LovModel="#{bindings.Value.listOfValuesModel}"
    id="oms2"/>
    </af:panelFormLayout>
    Where Value attribute is having LOVModel.
    The above code perfectly fine as I used it inside the “Form layout” and with the parameters passed as KeyValue="#{bindings.Value.inputValue}"
    LovModel="#{bindings.Value.listOfValuesModel}"
    The problem I am facing:
    The actual problem comes when I use this control inside the table which I required in my implementation.
    I called the declarative LOV control as shown below inside the table as I used to call the basic “Input List of value” control which works fine inside the table.
    . <af:column sortProperty="Value" sortable="false"
    headerText="#{bindings.OpPlanning1.hints.Value.label}"
    id="c1" width="133">
    <mc:OraMultiSelect KeyValue="#{row.bindings.Value.inputValue}"
    LovModel="#{row.bindings.Value.listOfValuesModel}"
    id="oms1"/>
    </af:column>
    Above code doesn’t works fine when I select value from the “Column” dropdown it displays the corresponding list model in the pop up but not able to retrieve the value of the list in the popup .
    If I pass the parameters as
    . <af:column sortProperty="Value" sortable="false"
    headerText="#{bindings.OpPlanning1.hints.Value.label}"
    id="c1" width="133">
    <mc:OraMultiSelect KeyValue="#{bindings.Value.inputValue}" --instead of ="#{row.bindings.Value.inputValue}"
    LovModel="#{bindings.Value.listOfValuesModel}"--}" --instead of ="#{row.bindings.Value.inputValue}"
    id="oms1"/>
    </af:column>
    It works fine for the first row.The subsequent rows refers the value selected in the first row dropdown.
    Thanks For the help,
    Harish
    Edited by: 886523 on Nov 3, 2011 8:04 AM

  • Component level message are not coming up for the declarative component.

    Hie
    i am using ADF faces with jdev 11g.
    i have created a declarative component and dropped it in my web application.
    This component provides an action listener to write some app specific code.
    in the listener i wrote a component level error message.
    on running the app i can see that it is going to that error but it is not showing it up on the ui. same code works for other adf faces components that comes by default in the component pellete.
    I tried setting the clientComponent attribute to true as well but no luck.
    any idea if something wrong with declarative components?

    Frank,
    My declarative component is dropped on my jsff. In this pages i have dropped a af:messages as well.
    There is a small button in my component on which i have bound an action listner.
    In the action listener i have a validation on the failure condition of which i have the code like:
    if(bean == null || bean.isAuthenticated() == false){
    FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, null, "You must be logged in to vote up");
    FacesContext context = FacesContext.getCurrentInstance();
    context.addMessage(getVotingQuesComponent().getClientId(context), msg);
    AdfFacesContext.getCurrentInstance().addPartialTarget(getVotingQuesComponent());
    return;
    So, i m sure my flow is going in this part of code but i dont see the message coming up marking my declarative component.
    However, if i replace this message by a page level error message then that comes up fine.

  • Declarative Component : UploadedFile Isssue for multiple file Upload case.

    Hi,
    I have made one declarative component for the multiple file upload case; where i have add button that dynamically adds af:inputFile component to the popup dialog and similarly delete button to dynamically delete the selected inputFile component. Everything work fine such as:
    1. add button adds the inputfile component properly and delete does the same.
    2. upload of Multiple files also works fine. ( I keep the uploadedFile in the java.util.Map which is the pageFlowScope and once, Dialog box ok/cancel is clicked, i clear everything back).
    IT WORKS GREAT WHEN:
    User hit 5 times add button if they want to upload 5 images. and do upload for all the 5 inputFile components . (Add or Delete button should not be clicked after any upload , but before you can.)..
    THE ONLY PROBLEM IS WHEN:
    1. user uploaded; say 2 images but not yet clicked in the ok/cancel button yet... they are still in the upload dialog ..and hit ADD button again.
    2. After that user uploads say another file/image and now UploadedFile's getInputStream() returns null, length becomes 0 for all the other uploadedFile except this newly uploaded file.
    Now, here is the thing, i wrote my own customUplodedFile class which is just a wrapper and it return getInputStream() from this class and length from this class and it is working.... But i am not sure why does the uploadedFile loses it's value...
    import org.apache.myfaces.trinidad.model.UploadedFile;
    public interface ICustomUploadedFile
      extends Serializable, UploadedFile
      public String getFilename();
      public String getContentType();
      public long getLength();
      public Object getOpaqueData();
      public InputStream getInputStream();
      public void dispose();
    ====================
    public class CustomUploadedFile
      implements ICustomUploadedFile, Serializable
      private transient UploadedFile mUploadedFile;
      private transient InputStream mInputStream;
      private long mLength;
      public CustomUploadedFile()
      public CustomUploadedFile(UploadedFile pUploadedFile)
        this.mUploadedFile = pUploadedFile;
        this.mLength = pUploadedFile.getLength();
        try
          this.mInputStream = pUploadedFile.getInputStream();
        catch (IOException e)
          e.printStackTrace();
      public String getFilename()
        return mUploadedFile.getFilename();
      public String getContentType()
        return mUploadedFile.getContentType();
      public long getLength()
        return mLength;
      public Object getOpaqueData()
        return mUploadedFile.getOpaqueData();
      public InputStream getInputStream()
        return mInputStream;
      public void dispose()
        mUploadedFile.dispose();
    } Now, my questions are:
    1. Is there a way i could follow to not to lose the UploadedFiles's inputStream and length by not using my wrapper class but in a standard way/best way.
    2. I am not happy although it works because it is not making sense to me at all.....Why does the wrapper working though when i have transient variables; like UploadedFiles... and it's transient variables are lost why not mine.
    I am totally confused at this stage.. Need your help.
    Thanks

    any one??

  • Issue invoking Popup as Declarative component on mouseHover

    Hi,
    My use case is to show a popup and display some more details on the Popup on mouseHover on a tree of Links. (Something similar to tooltip but little more advanced)
    Since this Popup is reused in many UIs, I created a Declarative component (DC).
    Unfortunately when I try to link this declarative component to the <af:showPopupBehavior of a link component, id of the DC is not recognized as a valid "popupId"?
    <af:showPopupBehavior popupId="infoPopup" triggerType="mouseHover"/>
    Kindly let me know if there's a work around or any alternate ways to achieve this.
    Thanks in advance,
    Paskal Sanil

    Hi,
    try declarativecompid:popupid
    like
    <af:showPopupBehavior popupId="declarativeCompId:infoPopup" triggerType="mouseHover"/>Else you can use javascript to open popup manually using client listener.
    http://sameh-nassar.blogspot.in/2010/02/javascript-functions-sample.html
    Regards,
    Edited by: Santosh Vaza on Aug 8, 2012 12:36 PM

Maybe you are looking for