Nested dataTable bug?

I�m having a problem with nested dataTables. The complete source code is attached.
My backing bean has properties keys and map. Keys is an array of strings. Map is a map keyed off keys with string array values.
The faces jsp creates a table with one row per key. The key is displayed in the first column and the second column holds another table displaying the elements of the corresponding map entry.
Various command links with nested <f:param> elements are in the cells and footers of the nested table. The parameter values reference the var property of either the inner or outer tables. All command links reference the same action listener which prints the value of the parameter to stdout.
Clicking on outer var always works.
Clicking on inner var yields the correct result only if you are in the last row of the outer table.
Clicking once on any of the footer link command links causes the action listener to be invoked once for each row of the outer table.
Have I found a bug, am I doing something wrong, or is this functionality not supported?
Any help appreciated.
Nick
Backing Bean Source:
package test;
import java.util.*;
import javax.faces.component.UIParameter;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
public class NestedTableBean {
     private Map map;
     private String[] keys;
     public NestedTableBean() {
          keys = new String[]{"1", "2", "3"};
          map = new HashMap();
          map.put(keys[0], new String[]{"1a", "1b", "1c"});
          map.put(keys[1], new String[]{"2a", "2b", "2c"});
          map.put(keys[2], new String[]{"3a", "3b", "3c"});
     public Map getMap() {
          return map;
     public String[] getKeys() {
          return keys;
     public void doIt(ActionEvent actionEvent) {
          String param = null;
         List children = actionEvent.getComponent().getChildren();
         for (int i = 0; i < children.size(); i++) {
           if (children.get(i) instanceof UIParameter) {
             UIParameter currentParam = (UIParameter) children.get(i);
             if (currentParam.getName().equals("param") &&
                 currentParam.getValue() != null) {
               param = currentParam.getValue().toString();
               break;
         FacesContext context = FacesContext.getCurrentInstance();
         String id = actionEvent.getComponent().getClientId(context);
         System.out.println("In doIt(), component id: "+id+", param: "+param);
}Faces JSP Source:
<h:dataTable border="2" value="#{nestedTable.keys}" var="outerVar">
<h:column>
  <h:outputText value="#{outerVar}"/>
</h:column>
<h:column>
  <h:dataTable  border="1" value="#{nestedTable.map[outerVar]}" var="innerVar">
   <h:column>
    <h:panelGrid columns="3">
     <h:outputText value="#{innerVar}"/>
     <h:commandLink actionListener="#{nestedTable.doIt}">
      <h:outputText value="outerVar"/>
      <f:param name="param" value="#{outerVar}"/>
     </h:commandLink>
     <h:commandLink actionListener="#{nestedTable.doIt}">
      <h:outputText value="innerVar"/>
      <f:param name="param" value="#{innerVar}"/>
     </h:commandLink>
    </h:panelGrid>
   </h:column>
   <f:facet name="footer">
    <h:panelGrid columns="2">
     <h:commandLink actionListener="#{nestedTable.doIt}">
      <h:outputText value="footer link"/>
      <f:param name="param" value="#{outerVar}"/>
     </h:commandLink>
    </h:panelGrid>
   </f:facet>
  </h:dataTable>
</h:column>
</h:dataTable>

Hello,
I have the same problem, when I use an nested dataTable the ActionEvent of the Second dataTable get always the Last Row of the First dataTable.
The complete code :
-=-=-=-=-=-=-=-=-=-=-=-=- PAGE.JSP -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
<h:dataTable id="categorias" var="categoria" value="#{UserBean.allCategorias}">
    <h:column>
        <h:dataTable id="items" var="item" value="#{categoria.items}">
           <f:facet name="header">
               <h:outputText value="#{categoria.nome}" />
           </f:facet>
           <h:column>
               <f:facet name="header">
                   <h:outputText value="Item" />
               </f:facet>
               <h:outputText value="#{item.nome}" />
           </h:column>
           <h:column>
               <f:facet name="header">
                   <h:outputText value="Qtd Solicitada" />
               </f:facet>
                <h:outputText value="#{item.qtdSolicitada}" />
            </h:column>
        <h:column>
            <f:facet name="header">
                <h:outputText value="Qtd Recebida" />
            </f:facet>
            <h:outputText value="#{item.qtdEfetivada}" />
         </h:column>
          <h:column>
              <h:panelGrid columns="2">
                  <h:inputText id="selected" size="5" />
                  <h:commandButton id="confirmar" immediate="true" image="images/confirmar_1.gif" actionListener="#{UserBean.processAction}">
                      <f:param id="itemId" name="id" value="#{item.nome}" />
                  </h:commandButton>
              </h:panelGrid>
         </h:column>
     </h:dataTable>
</h:column>
</h:dataTable>-=-=-=-=-=-=-=-=-=-=-=-=- UserBean.java -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
public void processAction(ActionEvent event) throws AbortProcessingException {
    /* Find the UIParameter component by expression */
   UIParameter component = (UIParameter) event.getComponent().findComponent("itemId");
   /* param itemId - Wrong (use Debug to see) */
}

Similar Messages

  • Command link from nested datatables

    I have nested datatables that work, but I need to be able execute an actionListener from a h:commandLink and reference the item that is being clicked. The example below works except that it always returns the items in the last category. So that if the 2nd item in the first category is clicked, the 2nd item of the last category is returned. I tried binding my dataTables to UIData objects on my managed bean so that I could call getRowData() but I cannot find a way to bind the embedded h:dataTable when I don't know how many to expect.
    Here is the code (stripped down for simplicity):
    <h:dataTable value="#{bean.categories}" var="category">
        <h:column>
            <h:outputText value="#{category.name}" styleClass="txtTitle"/>
            <h:dataTable value="#{category.items}" var="item">
                <h:column>
                    <h:commandLink actionListener="#{bean.activate}">
                        <h:outputText value="#{item.name}"/>
                        <f:param name="activate" value="#{item}"/>
                    </h:commandLink>
                </h:column>
            </h:dataTable>
        </h:column>
    </h:dataTable>
    =====================================================
    public class ManagedBean {
        private List categories;
        private Item activeItem;
        public void activate(ActionEvent e) {
            UICommand command = (UICommand)e.getComponent();
            List children = command.getChildren();
            for (Iterator i = children.iterator(); i.hasNext(); ) {
                UIComponent child = (UIComponent) i.next();
                if (child instanceof UIParameter) {
                    UIParameter param = (UIParameter)child;
                    if (param.getName().equals("activate")) {
                        this.activeItem = (Item)param.getValue();
                        break;
        public List getCategories() {
            return categories;
        public void setCategories(List categories) {
                this.categories = categories;
        public Item getActiveItem() {
            return activeItem;
        public void setActiveItem(item activeItem) {
                this.activeItem = activeItem;
    }

    bump

  • Jsf 2 nested datatable rerender issue

    Hi All,
    I'm struggling with a nested datatable rerender issue, which I can't seem to solve.
    Here's the situation: I have this datatable which iterates over serverinstances. For each serverinstance, I then iterate over it's urls. This all works fine.
    Now I want to add a new url for that serverinstance, so under the datatable, there's an input form.
    When submitted, the url is added to the serverinstance and updated (via backing bean).
    The only problem is, that the (nested) datatable is not rerendered. I can see the update working fine, because the url is added in the database.
    If I do the same thing in a one-level, unnested datatable, it works fine. I suppose the nesting is the problem here.
    Here's the (simplified) code:
              <h:form id="appurlform">
    <h:dataTable var="serverinstance" value="#{_AddUrls.app.sortedServerInstance}" >
    <h:column>
    <h:dataTable var="_appurl" value="#{serverinstance.appUrl}">
    <h:column><h:outputText value="#{_appurl.appurl}"/></h:column>
    </h:dataTable>
    </h:column>
    </h:dataTable>
    </h:form>
    <h:form id="newappurlform" prependId="false">
    <h3><h:outputText value="New Monitored Url"/></h3>
    <table>
    <tr>
    <td>Url: </td>
    <td>
    <h:inputText id="newappurl_url" value="#{_AddUrls.newAppUrl.appurl}"/>
    </td>
    </tr>
    </table>
    <h:commandButton id="submitappurl" value="Add Url"
    onclick="jsf.ajax.request(this, event,
    {execute:'newappurl_url',
    render:'appurlform'}); return false;"
    actionListener="#{_AddUrls.addAppUrl}">
    </h:commandButton>
    </h:form>

    Hi All,
    I'm struggling with a nested datatable rerender issue, which I can't seem to solve.
    Here's the situation: I have this datatable which iterates over serverinstances. For each serverinstance, I then iterate over it's urls. This all works fine.
    Now I want to add a new url for that serverinstance, so under the datatable, there's an input form.
    When submitted, the url is added to the serverinstance and updated (via backing bean).
    The only problem is, that the (nested) datatable is not rerendered. I can see the update working fine, because the url is added in the database.
    If I do the same thing in a one-level, unnested datatable, it works fine. I suppose the nesting is the problem here.
    Here's the (simplified) code:
              <h:form id="appurlform">
    <h:dataTable var="serverinstance" value="#{_AddUrls.app.sortedServerInstance}" >
    <h:column>
    <h:dataTable var="_appurl" value="#{serverinstance.appUrl}">
    <h:column><h:outputText value="#{_appurl.appurl}"/></h:column>
    </h:dataTable>
    </h:column>
    </h:dataTable>
    </h:form>
    <h:form id="newappurlform" prependId="false">
    <h3><h:outputText value="New Monitored Url"/></h3>
    <table>
    <tr>
    <td>Url: </td>
    <td>
    <h:inputText id="newappurl_url" value="#{_AddUrls.newAppUrl.appurl}"/>
    </td>
    </tr>
    </table>
    <h:commandButton id="submitappurl" value="Add Url"
    onclick="jsf.ajax.request(this, event,
    {execute:'newappurl_url',
    render:'appurlform'}); return false;"
    actionListener="#{_AddUrls.addAppUrl}">
    </h:commandButton>
    </h:form>

  • Nested Sequences Bug is finally fixed?

    I just noticed that Apple seems to have patched a significant bug in FCP with the last update.
    According to my own tests, Nested Sequences now update automatically and consistently without having to be re-added or refreshed in the timeline.
    Nesting is when a sequence is placed into another sequence. Complex projects may involve several layers deep of nesting, but FCP users have been wise to avoid this useful technique because it just didn't work right.
    For example, if I were to build a neat animated logo sequence, then nest it inside a standard footage sequence, the animation would play through and be scalable like any other footage. This allows for a simpler "master track" timeline based workflow where everything is not placed into the same huge sequence.
    In the past, the sequence containing a nested sequence would not get updated if one made a change to the nested sequence after placing it. So if I were to change the animated logo sequence mentioned above, the change would not show up in the footage sequence that hosts it. I believe this has finally been fixed in 5.04
    The nested sequence bug is a very old issue that dates back to version 1 of FCP and has been a real problem for me because of my high-volume workflow. I've been reporting the problem at Apple's feedback site and it appears they finally listened.
    Why nest? Nesting is also very useful when format converting or adding letterbox, etc. I mostly use nesting because I have 100's of TV commercials that are identical but use different phone #'s. For this I nest the nearly completed spot into new sequence where the phone number is added. I can then have 100's of sequences that only contain the stuff that changes. I don't have time to explain why this works better than just rendering the master track for me, but it does.
    Has anybody else noticed this fix, or am I just dreaming here? I really am excited about this.

    It was fixed as I described until about a month ago, when I noticed the problem was back. This could have coincided with an OSX update. It also might have been the update to QuickTime or Pro Applications Support as well. I don't know. But the problem is back and I noticed it "the hard way" during a dub. Sorry for not amending my post when I noticed this.
    This is a problem that Premiere and Avid users NEVER experience, FYI. It is a critical bug in my opinion. I believe Apple could fix this with just a few lines of code, but it seems like it just isn't on the priority list. We need to get busy with the Apple Feedback forum requesting the a fix (again). Please everybody that reads this should post a request at that forum for a fix. Thanks!

  • JSF Nested Datatable , ValueExpression

    Hi, I'm working on an application which is going to use a nested datatable.
    basically I generate 1 datatable which consist of 7 columns , 5 rowsItems and for each column I generate a datatable to handle the data.
    I make a List from RowItems and bind it to my datatable by wrapping it in a datamodel
    the rowItem class consist of 7 List for each column which will be binded to each nested datatable using ValueExpression
    So now the problem is:
    I couldnt get the name for each display, I'm getting error message could not find property "name" for class String.
    output_name.setValueExpression("value", createValueExpression("#{displaycolVar.name}", String.class));but I can get the working unit displayed correctly
    output_workingunit.setValueExpression("value", createValueExpression("#{RowItemsVar.workingtime}", String.class));can someone help me on this problem?
    Thanks in advance
    my code
    calendar.java
    package demo;
    import java.util.ArrayList;
    import javax.el.ValueExpression;
    import javax.faces.component.UIOutput;
    import javax.faces.component.html.HtmlOutputText;
    import javax.faces.context.FacesContext;
    import javax.faces.model.ListDataModel;
    import org.ajax4jsf.org.w3c.tidy.TagTable;
    import org.richfaces.component.*;
    import org.richfaces.component.html.HtmlDataTable;
    import org.richfaces.component.html.HtmlColumn;
    public class Calendar
         // Table Properties
         private String[] days = {"Working Time","Monday","Tuesday","Wednesday","Thursday","Freiday","Saturday","Sunday"};
         private String[] workingunit = {"8:00-8:45","8:45-9:30","9:30-10:15","10:15-11:00","11:00-11:45"};
         private int column; // number of columns
         private int row; // number of rows
         // Main List to store the values
         private ArrayList<RowItems> RowItemList;
         // Datatable backing bean Component
         private UIDataTable calendarDatatable;
         // Constructor
         public Calendar()
              // Initializing row and column
              column = 7;
              row = 5;
              // Initializing Datatable
              calendarDatatable = new HtmlDataTable();
              calendarDatatable.setVar("RowItemsVar");
              calendarDatatable.setRendered(true);
              // Creating List of RowItems
              RowItemList = new ArrayList<RowItems>();
              // Adding rows to the List
              for(int i = 0;i<row;i++)
                   RowItemList.add(new RowItems(workingunit,column,i));
              // Creating creating 7 columns for each day + name column
              for(int i = 0; i <column+1; i++)
                   UIColumn column = new HtmlColumn();
                   UIOutput header = new HtmlOutputText();
                   // Initializing column and header
                   header.setValue(days[i]);
                   column.setHeader(header);
                   // the first column doesn't need a datatable
                   if(i == 0)
                        // Display data
                        HtmlOutputText output_workingunit = new HtmlOutputText();
                        output_workingunit.setValueExpression("value", createValueExpression("#{RowItemsVar.workingtime}", String.class));
                        column.getChildren().add(output_workingunit);
                        System.out.println("\n"+output_workingunit.getValueExpression("value"));
                   else      
                        // Create datatable for each column
                        UIDataTable datatable_nested = new HtmlDataTable();
                        datatable_nested.setVar("displaycolVar");               
                        datatable_nested.setRendered(true);
                        UIColumn column_for_nestedDT = new HtmlColumn();
                        // Display data
                        HtmlOutputText output_name = new HtmlOutputText();
                        output_name.setValueExpression("value", createValueExpression("#{displaycolVar.name}", String.class)); // <- it wont just find the property
                        // add outputtext for each column in nested datatable
                        column_for_nestedDT.getChildren().add(output_name);
                        // Add a column for each nested datatable
                        datatable_nested.getChildren().add(column_for_nestedDT);
                        * the expression value is correct I checked through println
                        switch(i)
                             case 1: datatable_nested.setValueExpression("value", createValueExpression("#{RowItemsVar.displaylist_col1}", String.class));
                                       break;
                             case 2:     datatable_nested.setValueExpression("value", createValueExpression("#{RowItemsVar.displaylist_col2}", String.class));
                                       break;
                             case 3:     datatable_nested.setValueExpression("value", createValueExpression("#{RowItemsVar.displaylist_col3}", String.class));
                                       break;               
                             case 4:     datatable_nested.setValueExpression("value", createValueExpression("#{RowItemsVar.displaylist_col4}", String.class));
                                       break;
                             case 5:     datatable_nested.setValueExpression("value", createValueExpression("#{RowItemsVar.displaylist_col5}", String.class));
                                       break;
                             case 6: datatable_nested.setValueExpression("value", createValueExpression("#{RowItemsVar.displaylist_col6}", String.class));
                                       break;
                             case 7:     datatable_nested.setValueExpression("value", createValueExpression("#{RowItemsVar.displaylist_col7}", String.class));
                                       break;                    
                        // Add the nested datatable to each column
                        column.getChildren().add(datatable_nested);
                   // Adding each column to highest entity of datatable
                   // 7 column will be added because there is 7 datatable
                   calendarDatatable.getChildren().add(column);
              // Test data
              RowItemList.get(0).getDisplaylist_col1().add(new Display("danny",1,1));
              // Datamodel for the highest entity of datatable
              ListDataModel<RowItems>RowItemsDM = new ListDataModel<RowItems>();
              // Wrapp the data from ArrayList into DataModel object
              RowItemsDM.setWrappedData(RowItemList);
              // Adding datamodel to highest entity of datatable
              calendarDatatable.setValue(RowItemsDM);
         public UIDataTable getCalendarDatatable() {
              return calendarDatatable;
         public void setCalendarDatatable(UIDataTable calendarDatatable) {
              this.calendarDatatable = calendarDatatable;
    // Methode to create a ValueExpression
    private ValueExpression createValueExpression(String valueExpression, Class<?> valueType)
    FacesContext facesContext = FacesContext.getCurrentInstance();
    return facesContext.getApplication().getExpressionFactory().createValueExpression(
    facesContext.getELContext(), valueExpression, valueType);

    RowItems.java
    package demo;
    import java.util.ArrayList;
    * Class to represent each column
    public class RowItems
         private String workingtime;
         private int col;
         private int index;
         // List of list for each column     
         private ArrayList<Display> displaylist_col1 = new ArrayList<Display>();
         private ArrayList<Display> displaylist_col2 = new ArrayList<Display>();
         private ArrayList<Display> displaylist_col3 = new ArrayList<Display>();
         private ArrayList<Display> displaylist_col4 = new ArrayList<Display>();
         private ArrayList<Display> displaylist_col5 = new ArrayList<Display>();
         private ArrayList<Display> displaylist_col6 = new ArrayList<Display>();
         private ArrayList<Display> displaylist_col7 = new ArrayList<Display>();
         // Constructor
         public RowItems (String workingtime, int col, int index)
              this.workingtime = workingtime;
              this.col = col;
              this.index = index;
         // Getter & Setter
         public String getWorkingtime() {
              return workingtime;
         public void setWorkingtime(String workingtime) {
              this.workingtime = workingtime;
         public int getCol() {
              return col;
         public void setCol(int col) {
              this.col = col;
         public void setIndex(int index) {
              this.index = index;
         public int getIndex() {
              return index;
         public ArrayList<Display> getDisplaylist_col1() {
              return displaylist_col1;
         public void setDisplaylist_col1(ArrayList<Display> displaylist_col1) {
              this.displaylist_col1 = displaylist_col1;
         public ArrayList<Display> getDisplaylist_col2() {
              return displaylist_col2;
         public void setDisplaylist_col2(ArrayList<Display> displaylist_col2) {
              this.displaylist_col2 = displaylist_col2;
         public ArrayList<Display> getDisplaylist_col3() {
              return displaylist_col3;
         public void setDisplaylist_col3(ArrayList<Display> displaylist_col3) {
              this.displaylist_col3 = displaylist_col3;
         public ArrayList<Display> getDisplaylist_col4() {
              return displaylist_col4;
         public void setDisplaylist_col4(ArrayList<Display> displaylist_col4) {
              this.displaylist_col4 = displaylist_col4;
         public ArrayList<Display> getDisplaylist_col5() {
              return displaylist_col5;
         public void setDisplaylist_col5(ArrayList<Display> displaylist_col5) {
              this.displaylist_col5 = displaylist_col5;
         public ArrayList<Display> getDisplaylist_col6() {
              return displaylist_col6;
         public void setDisplaylist_col6(ArrayList<Display> displaylist_col6) {
              this.displaylist_col6 = displaylist_col6;
         public ArrayList<Display> getDisplaylist_col7() {
              return displaylist_col7;
         public void setDisplaylist_col7(ArrayList<Display> displaylist_col7) {
              this.displaylist_col7 = displaylist_col7;
    }display.java
    package demo;
    public class Display
         private Person person;
         private String name;
         private int x;
         private int y;
         public Display(String name, int x, int y)
              this.person = new Person(name);
              this.name = name;
              this.x = x;
              this.y = y;
         public String getName() {
              return name;
         public void setName(String name) {
              this.name = name;
         public Person getPerson() {
              return person;
         public void setPerson(Person person) {
              this.person = person;
         public int getX() {
              return x;
         public void setX(int x) {
              this.x = x;
         public int getY() {
              return y;
         public void setY(int y) {
              this.y = y;
    }

  • Nesting DataTable

    hello everyone
    i have problem in printing table in the following format
    student has taken many courses
    1.id name
    course1
    course2
    course2
    2.id name
    course1
    course2
    i am using nested datatable but it displays all the courses for every record
    any one could help me
    thanks in advance

    hi ramu use this code that will help u
    <t:dataTable id="Table" rowIndexVar="row"
                   value="#{Bean.list}" var="p" border="1"
                   cellpadding="1" cellspacing="1" first="0" rows="5">
                   <f:facet name="header">
                        <h:outputText value="View Details" />
                   </f:facet>
                   <t:column>
                        <f:facet name="header">
                             <t:outputText value="description" />
                        </f:facet>
                        <t:outputText value="#{p.description}" />
                   </t:column>
                   <t:column>
                        <f:facet name="header">
                             <t:outputText value="location" />
                        </f:facet>
                        <t:outputText value="#{p.location}" />
                   </t:column>
                   <t:column>
                        <tr>
                             <td colspan="2">
                                  <t:dataTable id="subTable" value="#{p.subList}" var="sub"
                                       border="2" cellpadding="2" cellspacing="2" first="0" rows="5">
                                       <t:column>
                                            <t:outputText value="Title" />
                                       </t:column>                                   
                                  </td>
                        </tr>
                   </t:column>
              </t:dataTable>
              <t:dataScroller id="scroller2" for="Table" paginator="true"
                   fastStep="2" paginatorMaxPages="5"
                   paginatorActiveColumnStyle="fontsize:10px;font-weight:bold;"
                   immediate="true">
                   <f:facet name="first">
                        <t:outputLabel value="first" />
                   </f:facet>
                   <f:facet name="last">
                        <t:outputLabel value="last" />
                   </f:facet>
                   <f:facet name="previous">
                        <t:outputLabel value="previous" />
                   </f:facet>
                   <f:facet name="next">
                        <t:outputLabel value="next" />
                   </f:facet>
              </t:dataScroller>

  • Validator in dataTable - bug?

    Hi,
    I am using validators in a dataTable, and it works, but in some cases the behaviour is not adequate.
    Some code first :
    <h:dataTable value='#{apps}' var='app'>
         <h:column>
              <f:facet name='header'>
                    <h:outputText value='#{msgs.name}' />
                 </f:facet>
              <h:message for='appname' style='color:red;'/>
           <h:inputText value='#{app.name}' id='appname' required='true' >
               <f:validator .... />
           </h:inputText>
         </h:column>
    As I said - the validation works fine. What is strange is that if a validator is used outside a dataTable, and validation fails, then any new values in the dataTable are lost!! UNLESS (as is here) there is a validator on some field in the dataTable - then if validation fails in the dataTable (regardless if validation outside fails or not) values in the table are preserved, but     then when correct values are entered in the table and validation inside the dataTable succeeds, but fails outside - the validated values on the row in question of the dataTable disappear!!!!! (they are not displayed when the page is reloaded).
    Seams like a bug?
    Is there any way to correct that behaviour, e.g. to force the values in the table that are still not in the model to be kept on the page after outside validation fails and page reloads?
    Thanks for any suggestions!
    Message was edited by:
    ing-uk

    i nee to get the IDs of the component in the Datable
    how can i achieve thatJust get the Object reference itself by getRowData(). Also see http://balusc.xs4all.nl/srv/dev-jep-dat.html how to use datatables.

  • Nested datatable

    Hello!
    I want to display data table with nested loops using EL.
    My backing bean is a controller for the parent hibernate entity, lets call it UserGroup (and it has User childs), then I want to display UserGroups with User list for each UserGroup.
    I like that I can access directly to domain classes using EL, like this - #{userGroupController.userGroup.user.login}.
    And I like using entites nested collections as nested loops in my datatable.
    But the problem is that collection of Users is a Set and I can't use Set in datatable.
    As I know datatable works only with Lists.
    What will be the best solution? Use <list> instead of <set> in hibernate mapping file, or leave <set> and use some converter or something else? Do you have any ideas?
    Your help and suggestions are hightly appreciated.

    Generally I would advise against changing the structure of your data model beans because of a limitation in the view technology. I.e., I would keep it as a set.
    In which case what you need is an implementation of javax.faces.model.DataModel which can handle a Set. Note that the dataTable is really looking for a DataModel; when you give it a List it uses ListDataModel automatically.
    Edited by: RaymondDeCampo on Oct 10, 2007 8:56 AM

  • CS4.2 - Nested Sequence bug!...

    I seem to have stumbled upon a bug in Premiere CS4.2 (it is probably present in all versions of CS4)
    I am trying to build some professional looking transitions, but to accomplish them I am having to nest sequences (though it would be nicer if I could add effects to transitions themselves to avoid nesting [cough] Adobe[cough], or be able to use transparent video clips as adjustment layers)
    Anyhow, 2 things: One, On my main timeline I have the Push Transition between two clips set to go from Top to Bottom (doesn't have an issue when going side to side)
    Second, I have a photoshop file being used  elsewhere on the timeline with a scale effect to use as a transition (going from 600% to 100% with no other motion).
    (Both are having the same issue - below)
    I have the Photoshop file and the Push transition on my main sequence which is then nested into another sequence so I could add a blur effect to the transitions, and then I have that sequence nested into a third sequence that is set to square pixels so I can output a quicktime to Youtube (the original 2 Sequences have a 1.21 widescreen aspect in case I want to go to dvd)
    My issue is that on the Square Pixel Sequence both the Top/Bottom Push Trans and The Photoshop file seem to get pushed over revealing either a black edge or the track below it. (which only happens at these points in the timeline, the rest is fine)
    But everything is fine in the other two sequences! So I'm not sure what's causing this issue other than a bug in Premiere.
    Just FYI, I did also try turning all the effects off (except the Push transition), but that didn't change anything.
    Thanks all for any help, (or a new CS4 update - wink, wink)
    I hope this is clear enough.
    Aza

    There's a point that I don't understand, shouldn't a un-optimul workflow (using clips that require a lot of rendering power from the cpu and disk access) cause things to slow down or frames to drop?
    Why would such a situation cause every frame to be played with cpu and disk access to spare but cause frames to be played in the wrong order? I've never encountered anything like this before.
    There are no stuttering or gaps between frames, just frames being played as if the clips were in the wrong order.
    Example:
    Sequence A contains Sequence B then C
    Sequence B: Clip 1, 2, 3, 4
    Sequence C: Clip 5, 6, 7, 8
    Playing from Sequence A: Clip 1, 3, 2, 4, 5, 6, 7, 8
    Playing from Sequence B: Clip 1, 2, 3, 4
    Playing from Sequence C: Clip 5, 6, 7, 8
    Playing from Sequence A (again): Clip 1, 2, 3, 4, 5, 6, 7, 8
    *Wait a while, do something else*
    Playing from Sequence A: Clip 1, 3, 3, 3, 5, 6, 8, 7
    (Different order happens)
    No clips or frames were ever dropped.

  • Nested freezeframe bug?

    I have a G5 Quad with 6.5 GB of RAM, and I get the "not enough memory, can't perform that" error, along with the sequence being made unopen-able, when I have a nested sequence that contain freeze frames at either the start or end of the nest, and I need to do a transition from those areas to another clip in my timeline. If I remove the freeze frames, then no error messages. Or if I substitute the freeze frames with a Quicktime of the freeze frames, then no problem. But nested freezeframes have a bug or problem when trying to apply a transition to the nest that they are contained in.
    Anyone have a solution so I can use freezeframes instead of having to create Quicktime files of those freezframes?

    I don't see this error message. Here's what I did. I created a new sequence. I edited a clip into the timeline, I added a few seconds of a freeze frame of the first frame at the head of the shot and a few seconds of a freeze frame at the end of the shot. I selected all and nested. I duplicated the nest immediately after the nest and then trimmed back on the out of the first nest and trimmed forward on the second nest and added a dissolve. Worked fine. Does this seem like it would cause the same error on your system? Or are you doing something different. Do you want to send me a fcp project of just a sequence ready to do the disssolve and I'll see if I can find anything obvious. Be sure and archive the project before attaching to an email. My email is in my profile.
    Oh and what version of fcp are you working with?

  • DataTable bug?

    I cant seem to get this working and have no idea why.
    <%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
    <%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <html>
    <head>
    <title>evidence</title>
    </head>
    <body>
          <f:view> 
          <h:outputText value="#{bean.evidence.evidenceid}" />
            <h:form>
                <rich:datascroller align="left"  for="evidenceList" maxPages="20" />
                <rich:spacer height="30" />
                <rich:dataTable  rows="10" id="evidenceList" value="#{bean.allEvidence}" var="ev">
                   <h:column>
                        <f:facet name="header">
                             <h:outputText value="EvidenceId" />
                        </f:facet>
                        <h:outputText value="#{ev.evidenceid}" />
                   </h:column>
                   </rich:dataTable>
            </h:form>
    </f:view>
    </body>
    </html>
    <h:outputText value="#{ev}" /> works and I see the bracketed toString output of the object e.g. [[1],[1]]
    Bean -:
    package uk.ac.ukoln.impact.bean;
    import java.util.ArrayList;
    import java.util.List;
    import javax.persistence.EntityManager;
    import javax.persistence.EntityManagerFactory;
    import javax.persistence.Persistence;
    import uk.ac.ukoln.impact.entity.Evidence;
    public class Bean {
         String text;
         public Bean() {
         public String getText() {
         return text;
         public void setText(String text) {
         this.text = text;
         public Evidence getEvidence() {
              Evidence e = new Evidence();
              e.setEvidenceid(100);
              e.setMsginid(100);
              return e;
         public List<Evidence> getAllEvidence() {
              EntityManagerFactory emf = Persistence.createEntityManagerFactory("example");     
            EntityManager  em = emf.createEntityManager();
            List<Evidence> evidences = null;
            try {
                em.getTransaction().begin();
                return em.createNativeQuery("SELECT * FROM evidence").getResultList();
            } catch(Exception ex) {
                em.getTransaction().rollback();
            } finally {
                em.close();
              return null;
    }Entity -:
    package uk.ac.ukoln.impact.entity;
    import java.io.Serializable;
    import java.util.Set;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.JoinColumn;
    import javax.persistence.JoinTable;
    import javax.persistence.ManyToMany;
    import javax.persistence.OneToOne;
    @Entity
    public class Evidence implements Serializable {
         @Id
         private int evidenceid;
         private int msginid;
         @OneToOne
         @JoinTable(name="report_evidence",
              joinColumns=@JoinColumn(name="evidenceId"),
              inverseJoinColumns=@JoinColumn(name="reportId"))
         private Set<Report> reportCollection;
         private static final long serialVersionUID = 1L;
         public Evidence() {
              super();
         public int getEvidenceid() {
              return this.evidenceid;
         public void setEvidenceid(int evidenceid) {
              this.evidenceid = evidenceid;
         public String getEid() {
              return "jggf";
         public void setEid(String Eid) {
         public int getMsginid() {
              return this.msginid;
         public void setMsginid(int msginid) {
              this.msginid = msginid;
         public Set<Report> getReportCollection() {
              return this.reportCollection;
         public void setReportCollection(Set<Report> reportCollection) {
              this.reportCollection = reportCollection;
    }I am using tomcat 6, jsf1.2 latest and richfaces - the problem is still there with h:dataTable and all standard taglibs.
    I am sure I must be missing something easy but cant figure this one out. Any help appreciated.

    Forgot the stack
    SEVERE: Servlet.service() for servlet Faces Servlet threw exception
    java.lang.NumberFormatException: For input string: "evidenceid"
         at java.lang.NumberFormatException.forInputString(Unknown Source)
         at java.lang.Integer.parseInt(Unknown Source)
         at java.lang.Integer.parseInt(Unknown Source)
         at javax.el.ListELResolver.coerce(ListELResolver.java:166)
         at javax.el.ListELResolver.getValue(ListELResolver.java:51)
         at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
         at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:73)
         at org.apache.el.parser.AstValue.getValue(AstValue.java:97)
         at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
         at org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101)
         at javax.faces.component.UIOutput.getValue(UIOutput.java:184)
         at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:201)
         at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:284)
         at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:154)
         at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:850)
         at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:286)
         at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262)
         at org.richfaces.renderkit.AbstractTableRenderer.encodeOneRow(AbstractTableRenderer.java:246)
         at org.richfaces.renderkit.AbstractRowsRenderer.process(AbstractRowsRenderer.java:87)
         at org.ajax4jsf.model.SequenceDataModel.walk(SequenceDataModel.java:101)
         at org.ajax4jsf.component.UIDataAdaptor.walk(UIDataAdaptor.java:994)
         at org.richfaces.renderkit.AbstractRowsRenderer.encodeRows(AbstractRowsRenderer.java:107)
         at org.richfaces.renderkit.AbstractRowsRenderer.encodeRows(AbstractRowsRenderer.java:92)
         at org.richfaces.renderkit.AbstractRowsRenderer.encodeChildren(AbstractRowsRenderer.java:139)
         at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:826)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:936)
         at javax.faces.render.Renderer.encodeChildren(Renderer.java:148)
         at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:826)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:936)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:942)
         at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:273)
         at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:204)
         at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
         at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:216)
         at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
         at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
         at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
         at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
         at java.lang.Thread.run(Unknown Source)

  • Nested Datatables and checkbox trouble

    Hi,
    i am having a datatable with 3 rows mapping to a column in the database table..now i have another datatable inside the previous datatable mapping to another column in the database.... i am able to fetch the values from the database and populate in the 2 datatables.my first datatable has one column and it is a component label.my second datatable has 4 columns..a select many checkboxes,a component label,and 2 text fields.
    Now the problem comes when i need to save the values that are being entered in the datatable..how do i get the values of the checkbox and the textfields and update in the database.and remember i need to get the values of all the components in both the datatables and update in the database...my JSP code and the backing bean codes are as follows.......pls help me with this problem
    JSP Code:
    <h:dataTable binding="#{AttributeSelection.uiTable2}" id="dataTable2" rowClasses="form"
    value="#{AttributeSelection.arrayDataModel}" var="currentRow1">
    <h:column binding="#{AttributeSelection.column5}" id="column5">
    <h:outputText binding="#{AttributeSelection.outputText1}" id="outputText1" value=""/>
    <f:facet name="header"/>
    <h:dataTable binding="#{AttributeSelection.uiTable1}" border="1" headerClass="form_bold"
    id="dataTable1" rowClasses="form" value="#{currentRow1['attributes']}" var="currentRow">
    <h:column binding="#{AttributeSelection.column1}" id="column1">
    <h:selectBooleanCheckbox binding="#{AttributeSelection.checkbox1}" id="checkbox1" value="#{currentRow.checkbox1}"/>
    <f:facet name="header"/>
    </h:column>
    <h:column binding="#{AttributeSelection.column2}" id="column2">
    <h:outputText binding="#{AttributeSelection.outputText3}" id="outputText3" value="#{currentRow['name']}"/>
    <f:facet name="header">
    <h:outputText binding="#{AttributeSelection.outputText4}" id="outputText4"
    style="height: 23px; width: 50%" styleClass="form_bold" value="#{currentRow1['category']}"/>
    </f:facet>
    </h:column>
    <h:column binding="#{AttributeSelection.column3}" id="column3">
    <h:inputText binding="#{AttributeSelection.textField1}" id="textField1"
    style="height: 24px; width: 65%" styleClass="input" value="#{currentRow['defaultMin']}"/>
    <f:facet name="header">
    <h:outputText binding="#{AttributeSelection.outputText8}" id="outputText8" value="Min"/>
    </f:facet>
    </h:column>
    <h:column binding="#{AttributeSelection.column4}" id="column4">
    <h:inputText binding="#{AttributeSelection.textField2}" id="textField2"
    style="height: 24px; width: 65%" styleClass="input" value="#{currentRow['defaultMax']}"/>
    <f:facet name="header">
    <h:outputText binding="#{AttributeSelection.outputText9}" id="outputText9" style="" value="Max"/>
    </f:facet>
    </h:column>
    </h:dataTable>
    </h:column>
    </h:dataTable>
    Backing Bean Code:
    * AttributeSelection1.java
    * Created on January 23, 2006, 10:46 AM
    * Copyright Sidharth_Mohan
    package tpalt;
    import com.equifax.ems.tpalt.order.dao.OrderDataDAO;
    import javax.faces.*;
    import com.sun.jsfcl.app.*;
    import javax.faces.component.html.*;
    import com.sun.jsfcl.data.*;
    import java.util.ArrayList;
    import javax.faces.component.*;
    import javax.faces.model.ArrayDataModel;
    import com.equifax.ems.tpalt.order.model.OrderAttribute;
    import com.equifax.ems.tpalt.order.model.OrderCategory;
    import com.sun.faces.el.MethodBindingImpl;
    import java.util.Iterator;
    import java.util.Map;
    import javax.faces.application.Application;
    import javax.faces.context.FacesContext;
    import javax.faces.el.MethodBinding;
    public class AttributeSelection extends AbstractPageBean {
    * Bean initialization.
    // </editor-fold>
    public AttributeSelection() {
    // <editor-fold defaultstate="collapsed" desc="Creator-managed Component Initialization">
    try {
    } catch (Exception e) {
    log("AttributeSelection Initialization Failure", e);
    throw e instanceof javax.faces.FacesException ? (FacesException) e : new FacesException(e);
    // </editor-fold>
    // Additional user provided initialization code
    protected tpalt.ApplicationBean1 getApplicationBean1() {
    return (tpalt.ApplicationBean1)getBean("ApplicationBean1");
    protected tpalt.SessionBean1 getSessionBean1() {
    return (tpalt.SessionBean1)getBean("SessionBean1");
    // </editor-fold>
    * Bean cleanup.
    protected void afterRenderResponse() {
    }private int __placeholder;
    private HtmlForm form1 = new HtmlForm();
    public HtmlForm getForm1() {
    return form1;
    public void setForm1(HtmlForm hf) {
    this.form1 = hf;
    public UIData uiTable1 = new UIData();
    * Getter for property uiTable.
    * @return Value of property uiTable.
    public UIData getUiTable1() {
    return uiTable1;
    * Setter for property uiTable.
    * @param uiTable New value of property uiTable.
    public void setUiTable1(UIData uiTable1) {
    this.uiTable1 = uiTable1;
    private UIColumn column1 = new UIColumn();
    public UIColumn getColumn1() {
    return column1;
    public void setColumn1(UIColumn uic) {
    this.column1 = uic;
    private UIColumn column5 = new UIColumn();
    public UIColumn getColumn5() {
    return column5;
    public void setColumn5(UIColumn uic) {
    this.column5 = uic;
    private HtmlOutputText outputText1 = new HtmlOutputText();
    public HtmlOutputText getOutputText1() {
    return outputText1;
    public void setOutputText1(HtmlOutputText hot) {
    this.outputText1 = hot;
    public UIData uiTable2 = new UIData();
    * Getter for property uiTable.
    * @return Value of property uiTable.
    public UIData getUiTable2() {
    return uiTable2;
    * Setter for property uiTable.
    * @param uiTable New value of property uiTable.
    public void setUiTable2(UIData uiTable2) {
    this.uiTable2 = uiTable2;
    private ArrayDataModel arrayDataModel = new ArrayDataModel();
    public ArrayDataModel getArrayDataModel() {
    ArrayList orderList =new ArrayList();
    OrderDataDAO orderData =new OrderDataDAO();
    ArrayList orderCategories = new ArrayList();
    try
    orderList = (ArrayList) orderData.getAllAttributes();
    for (int i =0;i<orderList.size();i++)
    OrderAttribute or =(OrderAttribute)orderList.get(i);
    //or.setCheckbox1(true);
    String category = (String)or.getCategory();
    OrderCategory orderCategory = new OrderCategory();
    ArrayList attributesforCategory = new ArrayList();
    for (int j = i;j<orderList.size();j++){
    OrderAttribute ora =(OrderAttribute)orderList.get(j);
    if (category.equals(ora.getCategory())){
    attributesforCategory.add(ora);
    orderList.remove(j);
    j = i;
    orderCategory.setCategory(category);
    orderCategory.setAttributes(attributesforCategory);
    orderCategories.add(orderCategory);
    //dataTable2Model.setWrappedData(orderCategories);
    arrayDataModel = new ArrayDataModel(orderCategories.toArray());
    catch (Exception ex) {
    return arrayDataModel;
    public void setArrayDataModel(ArrayDataModel dtdm) {
    this.arrayDataModel = dtdm;
    private UIColumn column2 = new UIColumn();
    public UIColumn getColumn2() {
    return column2;
    public void setColumn2(UIColumn uic) {
    this.column2 = uic;
    private HtmlOutputText outputText3 = new HtmlOutputText();
    public HtmlOutputText getOutputText3() {
    return outputText3;
    public void setOutputText3(HtmlOutputText hot) {
    this.outputText3 = hot;
    private UIColumn column3 = new UIColumn();
    public UIColumn getColumn3() {
    return column3;
    public void setColumn3(UIColumn uic) {
    this.column3 = uic;
    private HtmlOutputText outputText4 = new HtmlOutputText();
    public HtmlOutputText getOutputText4() {
    return outputText4;
    public void setOutputText4(HtmlOutputText hot) {
    this.outputText4 = hot;
    private UIColumn column4 = new UIColumn();
    public UIColumn getColumn4() {
    return column4;
    public void setColumn4(UIColumn uic) {
    this.column4 = uic;
    private HtmlOutputText outputText8 = new HtmlOutputText();
    public HtmlOutputText getOutputText8() {
    return outputText8;
    public void setOutputText8(HtmlOutputText hot) {
    this.outputText8 = hot;
    private HtmlOutputText outputText9 = new HtmlOutputText();
    public HtmlOutputText getOutputText9() {
    return outputText9;
    public void setOutputText9(HtmlOutputText hot) {
    this.outputText9 = hot;
    public UIInput textField1 = new UIInput();
    public UIInput getTextField1() {
    return textField1;
    public void setTextField1(UIInput hit) {
    this.textField1 = hit;
    public UIInput textField2 = new UIInput();
    public UIInput getTextField2() {
    return textField2;
    public void setTextField2(UIInput hit) {
    this.textField2 = hit;
    public UISelectBoolean checkbox1 = new UISelectBoolean();
    public UISelectBoolean getCheckbox1() {
    return checkbox1;
    public void setCheckbox1(UISelectBoolean hsbc) {
    this.checkbox1 = hsbc;
    public String save_action() {
    try{
    java.lang.System.out.println("><<<<<<<<<<<<<<<Button Came><<<<<<<<<<<<<<<<<<>>>>>>>");
    java.lang.System.out.println("====================Welcome to the Button action======================");
    int firstIndex = uiTable2.getFirst();
    int rows = uiTable2.getRowCount();
    java.lang.System.out.println("----------------------FIRST INDEX-----------------------"+firstIndex);
    java.lang.System.out.println("----------------------ROWS-----------------------"+rows);
    ArrayList orderAttribs = orderCat.getAttributes();
    Iterator it = orderAttribs.iterator();
    while(it.hasNext())
    OrderAttribute currentAttribute = (OrderAttribute) it.next();
    java.lang.System.out.println("==================String Value===================" + currentAttribute.getCheckbox1());
    java.lang.System.out.println("==================String Value===================" + currentAttribute.getName());
    java.lang.System.out.println("==================String Value===================" + currentAttribute.getDefaultMin());
    java.lang.System.out.println("==================String Value===================" + currentAttribute.getDefaultMax());
    catch (Exception e) {
    e.printStackTrace();
    return "Test";
    private HtmlCommandButton save = new HtmlCommandButton();
    public HtmlCommandButton getSave() {
    return save;
    public void setSave(HtmlCommandButton hcb) {
    this.save = hcb;
    Please Reply me with this solution soon.............
    Thanx
    }

    Hi Tabitha,
    You have mentioned extraction of data from two database tables. Can those two tables be joined to put the data in one single table component?
    Cheers
    Giri

  • DataTable in dataTable fix details (JSF 1.1)

    I posted a message yesterday indicating that some of the problems with nested dataTables had not been fixed in the JSF 1.1 release. Since that posting, I have done some more research, and have more specific information regarding the remaining problems and a way to fix them. The remaining problems are:
    1) Values from inputText fields in the inner dataTable are ignored on submit (except for the last row of the table). The problem is that processDecodes is called on the inner table component multiple times (once per row of the outer table), and the "saved = new HashMap();" statement effectively wipes out any values that were decoded from the previous row, so that at the end of the process, the only decoded values that remain are those from the last row. My suggested fix for that problem is:
    a) to create a "boolean isOuterTable()" method on UIData that determines whether or not this table is the outermost table (i.e. go up through the parent chain and see if there are any UIData ancestors).
    b) create a "clearSaved" method on UIData as follows:
    protected void clearSaved() {
        saved = new HashMap();
    }c) create a "clearDescendants" method on UIData that goes visits all of the UIData's descendants (i.e. facets and children, and their facets and children, recursively), and calls clearSaved on any UIData components that are found
    d) in the processDecodes method for UIData, replace:
    saved = new HashMap();with
    if (isOuterTable()) {
        clearSaved();
        clearDescendants();
    }2) When a commandButton in the inner dataTable is clicked, actions are fired for all rows of the outer dataTable. This is one case of a larger problem. The implementation of getClientId in UIComponentBase uses a cached value, if the ID has been computed previously. For components within dataTables, this is a problem because these components are referenced multiple times for different rows of the outer table, and the row number of the outer table is part of the client ID. To fix this, I suggest the following (maybe overkill, but it works):
    a) Create a "clearCachedValues" method on UIData, which visits all of the UIData's descendants, and sets their clientId to null. A hack to do this is:
    descendant.setId(descendant.getId())It would be better to have a method on UIComponent for this. NOTE: I have also found that if I come across a descendant that is a UIData, I also need to set that component's "model" attribute to null, because the calculation of this model refers to that dataTable's value valueBinding, which may be defined in terms of the current row of the outer table.
    b) Add a call to clearCachedValues to the end of the setRowIndex method on UIData.
    There may be other, better ways to fix these problems, but I thought it might be helpful to describe my fixes in detail, so that whoever is responsible for fixing the reference implementation can at least have the benefit of my research.
    I would like to see a bug opened for these problems, and I would like to be able to see the descriptions of known JSF bugs. Before JSF 1.1 came out I was worried that the nested dataTables bug (C026) description (which I was unable to find) might not be complete, and that as a result, the problems with nested dataTables would not be completely fixed in JSF 1.1. As it turned out my worries were not unfounded.

    JD> 2) When a commandButton in the inner dataTable is clicked, actions
    JD> are fired for all rows of the outer dataTable. This is one case of a
    JD> larger problem. The implementation of getClientId in UIComponentBase
    JD> uses a cached value, if the ID has been computed previously. For
    JD> components within dataTables, this is a problem because these
    JD> components are referenced multiple times for different rows of the
    JD> outer table, and the row number of the outer table is part of the
    JD> client ID. To fix this, I suggest the following (maybe overkill, but
    JD> it works):
    I've fixed part 1). I've essentially done as you suggested.
    I can't reproduce part 2). I've posted the webapp where I try to do
    this at
    http://blogs.sun.com/roller/resources/edburns/jsf-nested-datatables.war
    Please put the JSF 1.1 jars in common lib, or WEB-INF/lib in this war
    and then visit
    http://host:port/jsf-nested-datatables/faces/test2.jsp
    Click on the outer buttons, you'll see that the outer listener fires
    once.
    Click on the inner buttons, you'll see that the inner listener once.
    Can you please help me reproduce this?
    Ed

  • [Patch 정보] TRACKING BUG FOR CUMULATIVE MLR#6 ON TOP OF BPEL PM 10.1.3.3.1

    최근에 출시된 BPEL PM 10.1.3.3.1의 통합패치입니다.
    아래는 readme.txt에 포함된 patch list입니다.
    # WARNING: Failure to carefully read and understand these requirements may
    # result in your applying a patch that can cause your Oracle Server to
    # malfunction, including interruption of service and/or loss of data.
    # If you do not meet all of the following requirements, please log an
    # iTAR, so that an Oracle Support Analyst may review your situation. The
    # Oracle analyst will help you determine if this patch is suitable for you
    # to apply to your system. We recommend that you avoid applying any
    # temporary patch unless directed by an Oracle Support Analyst who has
    # reviewed your system and determined that it is applicable.
    # Requirements:
    # - You must have located this patch via a Bug Database entry
    # and have the exact symptoms described in the bug entry.
    # - Your system configuration (Oracle Server version and patch
    # level, OS Version) must exactly match those in the bug
    # database entry - You must have NO OTHER PATCHES installed on
    # your Oracle Server since the latest patch set (or base release
    # x.y.z if you have no patch sets installed).
    # - [Oracle 9.0.4.1 & above] You must have Perl 5.00503 (or later)
    # installed under the ORACLE_HOME, or elsewhere within the host
    # environment.
    # Refer to the following link for details on Perl and OPatch:
    # http://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=189489.1
    # If you do NOT meet these requirements, or are not certain that you meet
    # these requirements, please log an iTAR requesting assistance with this
    # patch and Support will make a determination about whether you should
    # apply this patch.
    # 10.1.3.3.1 Bundle Patch 6823628
    # DATE: March 14, 2008
    # Platform Patch for : Generic
    # Product Version # : 10.1.3.3.1
    # Product Patched : Oracle(R) SOA
    # Bugs Fixed by 10.1.3.3.1 Initial patch 6492514 :
    # Bug 5473225 - PATCH01GENESIS HOT UNABLE TO CATCH AN EXCEPTION DURING A
    # TRANSFORM
    # Bug 5699423 - PARTNERLINK PROPERTY THAT SET BPELXPROPERTY FUNCTION DOESN'T
    # WORK
    # Bug 5848272 - STATEFUL WEBSERVICES DEMO ON OTN DOES NOT WORK 10.1.3.1
    # Bug 5872799 - ANT DEPLOY BPEL TEST FAILS/RUNS ON DEFAULT DOMAIN NOT
    # SPECIFIED TARGET DOMAIN
    # Bug 5883401 - ALLOW A WAY TO CREATE EMPTY NODES - AND USE FOR REQUIRED
    # NODES
    # Bug 5919412 - SAMPLE DEMO BPEL PROCESSES MIMESERVICE MIMEREQUESTER AXIS
    # JAVA EXAMPLE ERROR
    # Bug 5924483 - ESB SHOULD SUPPORT SOAP EDNPOINT LOCATION DYNAMIC UDDI LOOKUP
    # Bug 5926809 - ORAPARSEESCAPEDXML XPATH EXPRESSION FAILED TO EXECUTE
    # FOTY0001 TYPE ERROR
    # Bug 5937320 - STRANGE BEHAVIOUR CALLING FROM BPEL TO BPEL GETTING
    # NULLPOINTEREXCEPTION.
    # Bug 5944641 - BPA BLUEPRINT NOT AVAIALBLE IN JDEVELOPER
    # Bug 5945059 - JAVA.LANG.NULLPOINTEREXCEPTION SENDING EMAILS WITH PAYLOADS
    # LARGER THAT 1MB
    # Bug 5962677 - WS RESPONSE IS EMPTY SOAP BODY IN ONE-WAY CALL
    # Bug 5963425 - WHEN THE OUTCOMES FOR A HT CHANGED & IMPORTED - UPDATE
    # CONNECTION ROLES IN BPEL
    # Bug 5964097 - AQ ADAPTER DEPLOYMENT CAUSES OPMN TO PERFORM A FORCEFUL
    # SHUTDOWN IN SOA
    # Bug 5971534 - CANNOT GRANT USER TASK VIEWS TO GROUPS, ONLY TO USERS.
    # Bug 5989367 - REFER TO SR 6252219.993 BPEL 10.1.3 ONLY COPIES IN ASSIGN,
    # IN 10.1.2 IT CREATES
    # Bug 5989527 - ENHANCEMENT WARNING SHOULD BE GIVEN UPON UPLOAD IF BPEL
    # PROCESS IS OPEN IN ARIS
    # Bug 5997936 - ESB FAULT DOES NOT GET PROPAGATED TO BPEL
    # Bug 6000575 - PERF NEED ESB PURGE SCRIPT TO PURGE BY DATE AND PROCESS
    # Bug 6001796 - POSTING OF DATE RECEIVED FROM XML GATEWAY TO BPEL FAILED IN
    # ESB
    # Bug 6005407 - BPEL PROCESS DOESN'T PROPOGATE FAULT THROWN BY BPEL
    # SUB-PROCESS
    # Bug 6017846 - MIMETYPE OF EMAIL NOTIFICATION IS NOT SET THROUGH HUMAN TASK
    # Bug 6027734 - DECISION SERVICE IMPORT - LOCATING DECISION SERVICE IN .DECS
    # FILE IMPROPER
    # Bug 6028985 - EXCEEDED MAXIMUM NUMBER OF SUBSCRIBERS FOR QUEUE
    # ORAESB.ESB_CONTROL
    # Bug 6041508 - CREATING/UPDATING DVM CAUSE EXCEPTION
    # Bug 6053708 - FTP ADAPTER DOES NOT SUPPORT ENCRYPTED PASSWORD IN
    # OC4J-RA.XML
    # Bug 6054034 - INDEX4,INDEX5 AND INDEX6 CANNOT BE USED IN BPEL CONSOLE
    # Bug 6068801 - BACKPORT OF BPEL ON WEBLOGIC - VERSION 10.1.3.3
    # Bug 6070991 - HT EXPORT DOES NOT EXPORT PARAMETERS, ALLOW PARTICIPANTS TO
    # INVITE OTHERS
    # Bug 6071001 - WSIF HTTP BINDING NOT WORKING FROM ESB
    # Bug 6073311 - STRESS SCOPE NOT FOUND ON CALLBACK - WRONG (DUPE)
    # SUBSCRIPTION IN TABLE
    # Bug 6081070 - JMS ADAPTER REJECTION HANDLER CREATE 0 BYTE FILES
    # Bug 6083419 - DECISION SERVICE SCOPE NEED TO HAVE A SPECIAL INDICATOR
    # Bug 6085799 - HUMAN TASK ADDED IN SCOPE IN JDEV IS NOT UPDATED TO BPA
    # SERVER
    # Bug 6085933 - EXPORT AND EXPLORE SHOULD USE USER LANGUAGE AND NOT ENGLISH
    # ALWAYS
    # Bug 6086281 - STRING INDEX OUT OF RANGE ERROR FOR COBOL COPYBOOK WITH PIC
    # CLAUSE HAVING S
    # Bug 6086453 - DOMAINS CREATED IN A CLUSTER GETS NOT PROPAGATED TO NEW OR
    # EXISTING NODES
    # Bug 6087484 - MULTIPLE HEADER SETTING CAUSES ESB EXCEPTION
    # Bug 6087645 - ESB SHOULD ALLOW USER PICK RUNTIME PROTOCOL (HTTP/HTTPS)
    # Bug 6110231 - TRANSLATION NOT BASED ON MQ CCSID CHARSET
    # Bug 6120226 - BPEL IS NOT SETTING THE APPS CONTEXT CORRECTLY
    # Bug 6120323 - COMPLETIONPERSISTPOLICY ON DOMAIN LEVEL HAS DISAPPEARED
    # Bug 6125184 - ESB JMS SESSION ROLLBACK ORACLE.JMS.AQJMSEXCEPTION
    # Bug 6127824 - [AIA2.0] CURRENT XREF IMPLEMENTATION IS MISSING REQUIRED
    # INDEXES ON XREF SCHEMA
    # Bug 6128247 - HTTPCONNECTOR POST() METHOD SHOULD RAISE EXCEPTION FOR ALL
    # STATUS CODES EXCEPT 2
    # Bug 6131159 - ENABLE USERS TO CHOOSE XSD WHEN CREATING A BPEL PROCESS FROM
    # BLUE PRINT
    # Bug 6132141 - PROCESS_DEFAULT TABLE STILL CONTAINS INFORMATION FROM
    # UNDEPLOYED PROCESSES
    # Bug 6133190 - ENABLING ESB CONSOLE HTTP/S IS MAKING THE CONSOLE TO COME UP
    # BLANK.
    # Bug 6139681 - BPEL WSDL LINK IN CLUSTERED RUNTIME POINTS TO A SINGLE NODE
    # Bug 6141259 - BASICHEADERS NOT PUTTING WWW-AUTHENTICATE HEADERS FOR HTTP
    # BINDING IN BPEL
    # Bug 6148021 - BPEL NATIVE SCHEMA FOR COBOL COPYBOOK WITH IMPLIED DECIMAL
    # LOSES DIGIT IN OUTPUT
    # Bug 6149672 - XOR DATA - CONDITION EXPRESSION SPECIFICATION IS NOT
    # INTUITIVE IN BPMN MODELS
    # Bug 6152830 - LOSING CONDITIONAL EXPRESSIONS CREATED IN JDEV UPON MERGE
    # Bug 6158128 - BASICHEADERS NOT PUTTING WWW-AUTHENTICATE HEADERS FOR HTTP
    # BINDING
    # Bug 6166991 - WHEN STARTING SOA SUITE,, PROCESSES FAIL DUE TO UNDEFINED
    # WSDL
    # Bug 6168226 - LOCATION-RESOLVER EXCEPTION THROWN IN OPMN LOGS
    # Bug 6187883 - CHANGES FOR BPEL RELEASE ON JBOSS- VERSION 10.1.3.3
    # Bug 6206148 - [AIA2.0] NEW FUNCTION REQUEST, XREFLOOKUPPOPULATEDCOLUMNS()
    # Bug 6210481 - BPEL PROCESS WORKS INCORRECTLY WHEN AN ACTIVITY HAS MULTIPLE
    # TRANSITIONCONDITION
    # Bug 6240028 - WEBSERVICE THAT DOES NOT CHALLENGE FOR BASIC CREDENTIALS
    # CANNOT BE INVOKED
    # Bug 6257116 - MULTIPLE HEADER SETTING CAUSES ESB EXCEPTION
    # Bug 6258925 - MESSAGE RECEIVED BY THE TARGET ENDPOINT VIA HTTP POST IS
    # MISSING THE XML HEADER
    # Bug 6259686 - TOO MANY UNNECESSARY WORKFLOW E-MAIL NOTIFICATIONS GENERATED
    # Bug 6267726 - 10.1.3.3 ORACLE APPLICATIONS ADAPTER - NOT ABLE TO CAPTURE
    # BUSINESS EVENT
    # Bug 6272427 - WEBSPHERE BPEL FAILS FOR DATA RETRIEVAL OF SIZE 500+ KB
    # Bug 6276995 - MERGE SCOPE NAME IS NOT UPDATED WHEN CHANGED IN THE SERVER
    # Bug 6280570 - XPATH EXPRESSION ERROR IN MEDIATOR FOR ASSIGNING USER-DEFINED
    # CONTEXT VALUES
    # Bug 6282339 - RETRYCOUNT DOES NOT WORK PROPERLY
    # Bug 6311039 - ONE RECORD IS INSERTED TO SYNC_STORE IF
    # COMPLETIONPERSISTPOLICY SET TO FAULTED
    # Bug 6311809 - [AIA2.0] NON-RETRYABLE ERRORS ARE NOT POSTED ON ESB_ERROR
    # TOPIC
    # Bug 6314784 - THE PRIORITY DEFINED IN THE BPA SUITE IS NOT TRANSFERRED TO
    # THE JDEV CORRECTLY
    # Bug 6314982 - THREADPOOL RACE CONDITION IN ADAPTER INITIALIZATION MESSAGES
    # NOT PROCESSED
    # Bug 6315104 - (SET)CLASSNAME MISSING IN TSENSOR JAXB OBJECTS
    # Bug 6316554 - CONSUME FUNCTIONALITY OF JMS ADAPTER FOR BEA WEBLOGIC DOES
    # NOT WORK
    # Bug 6316950 - FILEADAPTER HARPER ENHANCEMENTS SYNC WRITE AND CHUNKED
    # INTERACTION SPEC
    # Bug 6317398 - THE ICON FOR COMPUTING DIFFERENCE IS MISSING IN JDEV REFRESH
    # FROM SERVER DIALOG
    # Bug 6320506 - IMPORT FAILS WHEN THERE IS AN UNNAMED CASE
    # Bug 6321011 - CANNOT PROCESS 0 BYTE FILE USING FTP ADAPTER
    # Bug 6325749 - TRACKING BUG FOR TRACKING ADDITIONAL CHANGES TO BUG #6032044
    # Bug 6328584 - NEED A NEW XPATH EXPRESSION TO GET ATTACHMENT CONTENT VIA
    # SOAP INVOKATION
    # Bug 6333788 - COLLAPSING OF CONSECUTIVE ASSIGN TASKS BREAKS BAM SENSOR
    # Bug 6335773 - BUILD.XML CONTAINS DO NOT EDIT .. - WHILE <CUSTOMIZE> TASK
    # MUST BE IN <BPELC>
    # Bug 6335805 - AQ ADAPTER OUTBOUND DOESN'T RECONNECT AFTER FAILURE
    # Bug 6335822 - [AIA2.0] PSRPERFESB - RUNTIME DVM PERFORMANCE OVERHEAD IN ABS
    # USE CASE
    # Bug 6339126 - CHECKPOINT BPEL JAVA METHOD DOESN'T WORK IN BPEL 10.1.3.3
    # Bug 6342899 - OUTLINECHANGE.XML NOT UPDATE WITH ACTIVITY FROM NEW BRANCH
    # Bug 6343299 - ESB CONCRETE WSDL NAMESPACE SHOULD BE DIFFERENT FROM IMPORTED
    # WSDL NAMESPACE
    # Bug 6372741 - DEHYDRATION DATABASE KEEPS GROWING IN 10.1.3.3
    # Bug 6401295 - NXSD SHOULD SUPPORT ESCAPING THE TERMINATED/QUOTED/SURROUNDED
    # DELIMITERS
    # Bug 6458691 - DIST DIRECTORY FOR 10.1.3.3.1 NEEDS UPDATE
    # Bug 6461516 - BPEL CONSOLE CHANGES FOR DISPLAYING RELEASE 10.1.3.3.1
    # Bug 6470742 - CHANGE THE VERSION NUMBER AND BUILD INFO IN ABOUT DIALOG IN
    # ESB
    # BUG ADDED IN MLR#1, 6671813 :
    # Bug 6494921 - ORABPEL-02154 IF LONG DOMAIN AND SUITECASE NAMES IN USE
    # BUGS ADDED IN MLR#2, 6671831 :
    # Bug 6456519 - ERROR IN BPEL CONSOLE THREADS TAB:SERVLETEXCEPTION CANNOT GET
    # DISPATCHER TRACE
    # Bug 6354719 - WHICH JGROUP CONFIGURATION PARAMETER IMPACTS BPEL CLUSTER
    # ACTIVITY
    # Bug 6216169 - SCOPE NOT FOUND ERROR WHILE DELIVERING EXPIRATION MESSAGE OF
    # ONALARM
    # Bug 6395060 - ORA-01704 ON INSERTING A FAULTED INVOKE ACTIVITY_SENSOR
    # Bug 6501312 - DEHYDRATION DATABASE KEEPS GROWING IN 10.1.3.3 #2
    # Bug 6601020 - SEARCHBASE WHICH INCLUDES PARENTHESIS IN THE NAMES DOES NOT
    # WORK
    # Bug 6182023 - WAIT ACTIVITY FAILS TO CONTINUE IN CLUSTER WHEN PROCESSING
    # NODE GOES DOWN
    # BUGS ADDED IN MLR#3, 6723162 :
    # Bug 6725374 - INSTANCE NOT FOUND IN DATASOURCE
    # Bug 4964824 - TIMED OUT IF SET CORRELATIONSET INITIATE YES IN REPLY
    # ACTIVITY
    # Bug 6443218 - [AIA2.0]BPEL PROCESS THAT REPLIES A CAUGHT FAULT AND THEN
    # RETHROWS IT IS STUCK
    # Bug 6235180 - BPPEL XPATH FUNCTION XP20 CURRENT-DATETIME() IS RETURNING AN
    # INCORRET TIME
    # Bug 6011665 - BPEL RESTART CAUSES ORABPEL-08003 FAILED TO READ WSDL
    # Bug 6731179 - INCREASED REQUESTS CAUSE OUTOFMEMORY ERRORS IN OC4J_SOA WHICH
    # REQUIRES A RESTART
    # Bug 6745591 - SYNC PROCESS <REPLY> FOLLOWED BY <THROW> CASE CAUSING
    # OUTOFMEMORY ERRORS
    # Bug 6396308 - UNABLE TO SEARCH FOR HUMAN TASK THAT INCLUDES TASK HISTORY
    # FROM PREVIOUS TASK
    # Bug 6455812 - DIRECT INVOCATION FROM ESB ROUTING SERVICE FAILS WHEN CALLED
    # BPEL PROCESS
    # Bug 6273370 - ESBLISTENERIMPL.ONFATALERROR GENERATING NPE ON CUSTOM ADAPTER
    # Bug 6030243 - WORKFLOW NOTIFICATIONS FAILING WITHOUT BPELADMIN USER
    # Bug 6473280 - INVOKING A .NET 3.0 SOAP SERVICE EXPOSED BY A ESB ENDPOINT
    # GIVES A NPE
    # BUGS ADDED IN MLR#4, 6748706 :
    # Bug 6336442 - RESETTING ESB REPOSITORY DOES NOT CLEAR DB SLIDE REPOSITORY
    # Bug 6316613 - MIDPROCESS ACTIVATION AGENT DOES NOT ACTIVATED FOR RETIRED
    # BPEL PROCESS
    # Bug 6368420 - SYSTEM IS NOT ASSIGNING TASK FOR REAPPROVAL AFTER REQUEST
    # MORE INFO SUBMITTED
    # Bug 6133670 - JDEV: UNABLE TO CREATE AN INTEGRATION SERVER CONNETION WHEN
    # ESB IS ON HTTPS
    # Bug 6681055 - TEXT ATTACHMENT CONTENT IS CORRUPTED
    # Bug 6638648 - REQUEST HEADERS ARE NOT PASSED THROUGH TO THE OUTBOUND HEADER
    # Bug 5521385 - [HA]PATCH01:ESB WILL LOSE TRACKING DATA WHEN JMS PROVIDER IS
    # DOWN
    # Bug 6759068 - WORKLIST APPLICATION PERFORMANCE DEGRADATION W/ SSL ENABLED
    # FOR BPEL TO OVD
    # BUGS ADDED IN MLR#5, 6782254 :
    # Bug 6502310 - AUTOMATED RETRY ON FAILED INVOKE WITH CORRELATIONSET INIT
    # FAILS
    # Bug 6454795 - FAULT POLICY CHANGE NEEDS RESTART OF BPEL SERVER
    # Bug 6732064 - FAILED TO READ WSDL ERROR ON THE CALLBACK ON RESTARTING BPEL
    # OC4J CONTAINER
    # Bug 6694313 - ZERO BYTE FILE WHEN REJECTEDMESSAGEHANDLERS FAILS
    # Bug 6686528 - LINK IN APPLICATION.XML FILES CHANGED TO HARD LINKS WHEN MORE
    # THAN 1 HT PRESENT
    # Bug 6083024 - TEXT AND HTML DOC THAT RECEIVED AS ATTACHMENTS WERE EITHER
    # BLANK OR GARBLED
    # Bug 6638648 - REQUEST HEADERS ARE NOT PASSED THROUGH TO THE OUTBOUND HEADER
    # Bug 6267726 - 10.1.3.3 ORACLE APPLICATIONS ADAPTER - NOT ABLE TO CAPTURE
    # BUSINESS EVENT
    # Bug 6774981 - NON-RETRYABLE ERRORS ARE NOT POSTED ON ESB_ERROR TOPIC
    # Bug 6789177 - SFTP ADAPTER DOES NOT SUPPORT RENAMING FILES
    # Bug 6809593 - BPEL UPGRADE TO 10.1.3.3.1 WITH ESB CALLS FAILS DUE TO
    # CACHING OF PLNK - SERVICE
    # BUGS ADDED IN MLR#6, 6823628 :
    # Bug 6412909 - <BPELX:RENAME> DOES NOT ADD XMLNS DECLARATION AUTOMATICALLY
    # Bug 6753116 - OUTPUT FROM HUMAN TASK IS NOT IS NOT CONSISTENT WITH
    # SCHEMA
    # ORDERING
    # Bug 6832205 - BAD VERIFICATIONSERVICE PERFORMANCE IF LDAP SERVICE HAS HUGE
    # DATA
    # Bug 6189268 - CALLING BPEL PROCESS VIA SOAP FROM ESB FAILS WITH
    # NAMENOTFOUNDEXCEPTION
    # Bug 6834402 - JMS ADAPTER IMPROPERLY CASTS XAQUEUESESSION TO QUEUESESSION
    # Bug 6073117 - TASK SERVICE DOESN'T RENDER THE TASK ACTIONS
    # Bug 6054263 - REUSING SOAP WSDL IN RS CAUSES SOAP ACTION'S NS TO BE
    # STRIPPED
    # AWAY
    # Bug 6489703 - ESB: NUMBER OF LISTENERS > 1 GIVES JMS EXCEPTION UNDER STRESS
    # Bug 5679542 - FTP ADAPTER: COULD NOT PARSE TIME:
    # JAVA.LANG.STRINGINDEXOUTOFBOUNDSEXCEPTION
    # Bug 6770198 - AQ ACTIVATIONINSTANCES >1 DOESN'T WORK IN ESB
    # Bug 6798779 - ESB ROUTING RULES CORRUPTED ON RE-REGISTERING WITH ROUTING
    # ORDER
    # IN WSDL CHANGED
    # Bug 6617974 - BACKPORT REQUEST FOR MOVING FILES FUNCTION OF FTP ADAPTER
    # Bug 6705707 - VALIDATION ON ESB CAN'T HANDLE NESTED SCHEMAS
    # Bug 6414848 - FTP ADAPTER ARCHIVE FILENAME FOR BPEL IS BEING SCRAMBLED
    # AFTER
    # THE 10.1.3.3 UPGR
    # Bug 5990764 - INFORMATION ARE LOST WHEN BPEL PROCESS IS POLLING FOR MAILS
    # WITH
    # ATTACHEMENTS
    # Bug 6802070 - ORA-12899 SUBSCRIBER_ID/RES_SUBSCRIBER COLUMN SMALL FOR LONG
    # DOMAIN AND PROCESS
    # Bug 6753524 - WRONG SERVICE ENDPOINT OPEN WHEN TEST WEB SERVICE OF ESB
    # Bug 6086434 - PROBLEM IN BPEL FILE ADAPTER WHILE READING A FIXED LENGTH
    # FILE
    # Bug 6823374 - BPEL 10.1.3.3.1 BAM SENSOR ACTION FAILS WITH BAM 11
    # Bug 6819677 - HTTS STATUS 202 RETURNED INSTEAD OF SOAP FAULT
    # Bug 6853301 - MQ ADAPTER REJECTED MESSAGES IS NOT REMOVED FROM THE RECOVERY
    # QUEUE
    # Bug 6847200 - 10.1.3.3.1 PATCH (#6748706) HAS STOPPED FTP ADAPTER POLLING
    # IN
    # SFTP MODE
    # Bug 6895795 - AQ OUTBOUND DOESN'T WORK WITH MLR#6
    업무에 참고하시기 바랍니다.

    David,
    You are right, theer are some changes incorporated in the latest MLR # 16 on the configurations files and on the dehydration store metrics(such as performance, fields,..).
    However, I would not suggest to continue working on olite, even for Development/Test purposes as you might get stuck with strange errors...and the only solution would be to re-install SOA Suite if your olite gets corrupted. There might be ways to gets your olite back to position, but trust me..its not so simple.
    Also, when you develop and stress test all your testcase scenarios in an TEST Adv installation, its simple to mimic the same in actual production box, as you exactly know its behavior.
    So, go for a brand new SOA 10.1.3.4 MLR # 5 (or) 10.1.3.3.1 MLR # 16 SOA Suite Advanced installation with Oracle DB 10.2.0.3 as its dehydration store.
    Hope this helps!
    Cheers
    Anirudh Pucha

  • Show HashMap in Datatable. UIColumn with embedded Datatable. Help Needed

    Hi,
    I am trying to display a HashMap in a datatable where the values for each key is an ArrayList e.g.
            ArrayList al = new ArrayList();
            al.add("AA");
            al.add("BB");
            al.add("CC");
            HashMap hm = new HashMap();
            hm.put("ONE", al);
            ArrayList al2 = new ArrayList();
            al2.add("AA2");
            al2.add("BB2");
            al2.add("CC2");
            hm.put("TWO", al2);Now I have a Datatable with two columns. First column shows the key and the second column I again have
    a datatable to show the ArrayList. So I will have one row with a key and the values again shown in a
    datatable. So far I no luck and need some help on how to achieve this. Here is the index2.jsp code I have:
    <!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"%>
    <f:view>
      <html>
        <head>
          <meta http-equiv="Content-Type"
                content="text/html; charset=windows-1252"/>
          <title>index2</title>
        </head>
        <body><h:form binding="#{backing_index2.form1}" id="form1">
        <h:dataTable value="#{backing_index2.entrySet}" var="var1"
                         binding="#{backing_index2.dataTable1}" id="dataTable1" border="1">         
              <h:column>
                <f:facet name="header">
                  <h:outputText value="Keys"/>
                </f:facet>
                <h:outputText value="#{var1.key}"/>
              </h:column>
              <h:column>
                  <f:facet name="header">
                      <h:outputText value="Values"/>
                    </f:facet>
                  <h:dataTable value="#{backing_index2.entrySet}" var="var2"
                             binding="#{backing_index2.dataTable2}" id="dataTable2">             
                      <h:column id="col2">
                        <h:outputText id="out3" value="#{var2.value}"/>
                      </h:column>
                </h:dataTable>
              </h:column>
            </h:dataTable>
        </h:form></body>
      </html>
    </f:view>And here is the backing bean Index2.java I have:
    package project1.backing;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import javax.faces.component.html.HtmlDataTable;
    import javax.faces.component.html.HtmlForm;
    public class Index2 {
        private HtmlForm form1;
        private HtmlDataTable dataTable1;
        private HtmlDataTable dataTable2;
        private List entrySet;
        private HashMap hm;
        public Index2() {
            ArrayList al = new ArrayList();
            al.add("AA");
            al.add("BB");
            al.add("CC");
            hm = new HashMap();
            hm.put("ONE", al);
            ArrayList al2 = new ArrayList();
            al2.add("AA2");
            al2.add("BB2");
            al2.add("CC2");
            hm.put("TWO", al2);
            entrySet = new java.util.ArrayList(hm.entrySet());
         //here it only prints two rows as i have two keys but on the output it
         //does not come up fine
            for (int i = 0; i < entrySet.size(); i++) {
                System.out.println("==== " + entrySet.get(i));
        public void setForm1(HtmlForm form1) {
            this.form1 = form1;
        public HtmlForm getForm1() {
            return form1;
        public void setDataTable1(HtmlDataTable dataTable1) {
            this.dataTable1 = dataTable1;
        public HtmlDataTable getDataTable1() {
            return dataTable1;
        public void setDataTable2(HtmlDataTable dataTable2) {
            this.dataTable2 = dataTable2;
        public HtmlDataTable getDataTable2() {
            return dataTable2;
        public void setEntrySet(List entrySet) {
            this.entrySet = entrySet;
        public List getEntrySet() {
            return entrySet;
        public void setHm(HashMap hm) {
            this.hm = hm;
        public HashMap getHm() {
            return hm;
    }Now when I run this application the keys are shown in the respective column but values are coming up as
    [AA2, BB2, CC2] in one row rather in a separate Row as I am using a Datatable inside UIColumn to show the values.
    Here is what I see in the output:
    keys        Values
    TWO         [AA2, BB2, CC2]
                [AA, BB, CC]
    ONE         [AA2, BB2, CC2]
                [AA, BB, CC] As above output is not correct as it shows both list values in front of each key rather than what those
    keys are tied to. I wanted the following output:
    keys        Values
    ONE         AA
                BB
             CC
    TWO         AA2
                BB2
             CC2So I can do sorting pagination on the values datatable. But currently the output is not shown correctly. Any help
    is really appreciated. My hashmap will be populated dynamically so wants to show the key and values in separate column
    but also need to show the values in an embedded datatable as the list can be huge.

    Rather use a Collection of DTO's. See http://balusc.xs4all.nl/srv/dev-jep-dat.html for some insights. There is also a section "Nesting datatables".

Maybe you are looking for