Editable Table Model

Forgive me if this question has been asked before, but I was wondering if anyone else is experiencing problems with Matisse and Table Models?
After years of building GUIs by hand, I have begun to experiment with Matisse. One of the simple forms I am building contains a couple of JTables; the data for each provided by an instance of a subclass of AbstractTableModel that I already use successfully in an existing application. Running the form sees the model(s) supplying the data correctly but I cannot edit anything. The isCellEditable() method has been overloaded to return true all of the time but it is simply never being called when the user interacts with the form.
Does anyone know if there is an easy - obvious - solution to this that will leave me feeling silly but help no end? Thanks in advance.

Hello Zadok and thanks for the reply.
Yes, it would be easier but I have tried doing that and still experience the same problem. It seems as though the edits are not being posted through the the table model. Does anyone know if I have to explicitly implement editors for each cell? Is there a setting in the list of properties that I should be using - by the way, I have layed around with these options a bit to no effect.

Similar Messages

  • Tabular data model: Query keeps timing out when attempting to Edit Table Properties

    Tabular data model (SSDT)
    Problem: I have a table in tabular data model using a SQL Query for a data source. The query in question requires about 3 minutes to regenerate. When I open Edit Table Properties for this data source the query times out and I get an error (see below): "
    Failed to retrieve data from udvTrainJobReportsData. Reason: Query timeout expired"
    This seems to happen anytime I use a query that takes longer than a couple of minutes to regenerate. Anyone have an idea on how to get around this. Is there a timeout setting somewhere in tabular data model that can be increased?
    Thanks...

    Hi ManikantM,
    According to your description, you query keeps time out when edit table properties. Right?
    In this scenario, this error is thrown when connection or query execution exceeds the time out value. Please try to import this table and then increase the connection time out seconds.
    We can increase to ExternalCommandTimeout in Analysis Server Properties. Please refer to link below:
    http://aniruddhathengadi.blogspot.in/2012/07/ole-db-error-ole-db-or-odbc-error-query.html
    Please also refer to a similar thread below:
    https://social.technet.microsoft.com/Forums/office/en-US/3f83a26b-71c6-462e-8b90-2ce2ce0b9465/powerpivots-2010-query-keeps-timing-out-when-attempting-to-edit-table-properties?forum=excel
    Best Regards,
    Simon Hou
    TechNet Community Support

  • Use ComboBox TableCellEditor  - values are not saved to the table model

    Hi,
    I got a combobox cell editor that uses to edit one of the columns.
    And i got an ok button that uses to collect the data from the table and save it to the db.
    In case i started editing of a cell and the editor is still displayed- if i will click on the button the data that will be colected from the table model will not contained the updated value in the cell editor.
    In this case the user think his changes were saved but the last updated field is not updated.
    Is this a bug i got in the cell editor or this is the normal behaviour?
    Can it be fixed? (So that if the cell is in the middle of editing the value that will be saved is the last value that was selected).
    public class PriorityCellEditor extends StandardComboBox implements TableCellEditor {
        private boolean isEditMode=false;
         * A list of eventlisteners to call when an event is fired
        private EventListenerList listenerList = new EventListenerList();
         * the table model
        public StbAreaClusterPriorityCellEditor(boolean isEditMode) {
            super(StbAreaMapper.clustersPriorities);
            setEditMode(isEditMode);
            setEditable(false);
            this.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
            setAlignmentX(Component.LEFT_ALIGNMENT);
        public boolean isEditMode() {
            return isEditMode;
        public void setEditMode(boolean editMode) {
            isEditMode = editMode;
            setEnabled(editMode);
        public Component getTableCellEditorComponent(JTable table, Object value,boolean isSelecte, int row, int column) {
            int selectedIndex;
            if (isSelecte) {
                setForeground(table.getSelectionForeground());
                setBackground(table.getSelectionBackground());
            } else {
                setForeground(table.getForeground());
                setBackground(table.getBackground());
            if(value instanceof String){
                selectedIndex=StbAreaMapper.mapGuiPriorityDescToGuiCode((String)value);
                setSelectedIndex(selectedIndex);
            return this;
        public void cancelCellEditing() {
            fireEditingCanceled();
        public Object getCellEditorValue() {
            return getSelectedItem();
        public boolean isCellEditable(EventObject anEvent) {
            return isEditMode;
        public boolean shouldSelectCell(EventObject anEvent) {
            return false;
        public boolean stopCellEditing() {
            fireEditingStopped();
            return true;
         * Adds a new cellEditorListener to this cellEditor
        public void addCellEditorListener(CellEditorListener l) {
            listenerList.add(CellEditorListener.class, l);
         * Removes a cellEditorListener from this cellEditor
        public void removeCellEditorListener(CellEditorListener l) {
            listenerList.remove(CellEditorListener.class, l);
         * Notify all listeners that have registered interest for notification on
         * this event type.
         * @see javax.swing.event.EventListenerList
        protected void fireEditingStopped() {
            // Guaranteed to return a non-null array
            Object[] listeners = listenerList.getListenerList();
            // Process the listeners last to first, notifying
            // those that are interested in this event
            for (int i = listeners.length - 2; i >= 0; i -= 2) {
                if (listeners[i] == CellEditorListener.class) {
                    ((CellEditorListener) listeners[i + 1]).editingStopped(
                            new ChangeEvent(this));
         * Notify all listeners that have registered interest for notification on
         * this event type.
         * @see javax.swing.event.EventListenerList
        protected void fireEditingCanceled() {
            // Guaranteed to return a non-null array
            Object[] listeners = listenerList.getListenerList();
            // Process the listeners last to first, notifying those that are interested in this event
            for (int i = listeners.length - 2; i >= 0; i -= 2) {
                if (listeners[i] == CellEditorListener.class) {
                    ((CellEditorListener) listeners[i + 1]).editingCanceled(new ChangeEvent(this));
    }

    Try this
    yourTable.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);

  • A question about table model

    I created a table model and use JTable to display content of a database's table with that model.
    The problem is: when I update a data to data1 in a cell (first column) and hightlight another cell (second column), all cells of first column change content to data1. What 's the problem with my table model?
    import java.util.Vector;
    import java.sql.*;
    import javax.swing.table.AbstractTableModel;
    public class CommonTableModel extends AbstractTableModel {
    String[] columnNames;
    Vector          rows, newRow;
    ResultSetMetaData metaData;
    private boolean editable;
    public CommonTableModel(ResultSet rs, boolean editable) {
    this.editable = editable;
    try {
    metaData = rs.getMetaData();
    int numberOfColumns = metaData.getColumnCount();
    columnNames = new String[numberOfColumns];
    for(int column = 0; column < numberOfColumns; column++) {
    columnNames[column] = metaData.getColumnName(column+1);
    rows = new Vector();
    newRow = new Vector();
    while (rs.next()) {
    for (int i = 1; i <= getColumnCount(); i++) {
         newRow.addElement(rs.getObject(i));
    rows.addElement(newRow);
    } catch (SQLException ex) { System.err.println(ex);}
    public int getColumnCount() { return columnNames.length; }
    public int getRowCount() { return rows.size();}
    public String getColumnName(int column) { return columnNames[column];}
    public Object getValueAt(int row, int column) {
         newRow = (Vector)rows.elementAt(row);
         return newRow.elementAt(column);
    public Class getColumnClass(int column) {
         return getValueAt(0, column).getClass();
    public boolean isCellEditable(int row, int column) {
         if (column == 0) { return false; }
         return editable;
    public void setValueAt(Object value, int row, int column) {
         newRow = (Vector)(rows.elementAt(row));
         newRow.setElementAt(value, column);
         fireTableCellUpdated(row, column);
    }

    Try this :
    rows = new Vector();
    //newRow = new Vector();
    while (rs.next()) {
        newRow = new Vector(); // it must be here
        for (int i = 1; i <= getColumnCount(); i++) {
            newRow.addElement(rs.getObject(i));
        rows.addElement(newRow);
    }Denis

  • ADF Faces Dependent list boxes in an editable table

    Hi,
    I'm working with JDeveloper 10.1.3.1.0.
    I saw the topic "How to build dependent list boxes with ADF II" on F. Nimphius' Blogbuster.
    There it is shown how to handle dependent list boxes in an ADF Faces form. I tried this for an editable table but it doesn't work correctly: If there is more than one row in the resultset of the table, both dependent list boxes have the same content in all the rows though the content in the database is different.
    Can anyone help me?
    Thanks.

    Ok - I will try.
    I built the listboxes like it is described in "ADF Faces: How to built dependent lists boxes with ADF and ADF Faces Part II", Frank Nimphius' Blogbuster July, 2006.
    This is the full code of my ManagedBean:
    package asdb.view.backing;
    import javax.faces.context.FacesContext;
    import javax.faces.el.ValueBinding;
    import javax.faces.event.ValueChangeEvent;
    import javax.faces.model.SelectItem;
    import oracle.adf.model.OperationBinding;
    import oracle.adf.model.binding.DCIteratorBinding;
    import oracle.adf.view.faces.component.core.input.CoreInputText;
    import oracle.binding.BindingContainer;
    import oracle.jbo.Row;
    import oracle.jbo.ViewObject;
    import oracle.jbo.client.Configuration;
    import oracle.jbo.uicli.binding.JUCtrlValueBindingRef;
    public class AktMitFktEdit {
    private BindingContainer bindings;
    public AktMitFktEdit() {
    public void kategorieWechsel(ValueChangeEvent valueChangeEvent) {
    // Add event code here...
    BindingContainer bc = this.getBindings();
    DCIteratorBinding kategorienIter = (DCIteratorBinding)
    bc.get("OrganKategIterator1");
    Row rw =
    kategorienIter.getRowAtRangeIndex(((Integer)valueChangeEvent.getNewValue()).intValue());
    String kategorie = (String)rw.getAttribute("Kategorie");
    OperationBinding opBindingOrganeLovIter = (OperationBinding)bc.get("ExecuteWithParams");
    opBindingOrganeLovIter.getParamsMap().put("kategorieParam",kategorie);
    opBindingOrganeLovIter.execute();
    public void setBindings(BindingContainer bindings)
    this.bindings = bindings;
    public BindingContainer getBindings() {
    return bindings;
    It works fine, when the user only want to update existing rows. But if he had inserted a new row and afterwards want to update existing rows, the listboxes don't show the correct contents. No error messages are displayed.

  • JTable with custom column model and table model not showing table header

    Hello,
    I am creating a JTable with a custom table model and a custom column model. However the table header is not being displayed (yes, it is in a JScrollPane). I've shrunk the problem down into a single compileable example:
    Thanks for your help.
    import javax.swing.*;
    import javax.swing.table.*;
    public class Test1 extends JFrame
         public static void main(String args[])
              JTable table;
              TableColumnModel colModel=createTestColumnModel();
              TestTableModel tableModel=new TestTableModel();
              Test1 frame=new Test1();
              table=new JTable(tableModel, colModel);
              frame.getContentPane().add(new JScrollPane(table));
              frame.setSize(200,200);
              frame.setVisible(true);
         private static DefaultTableColumnModel createTestColumnModel()
              DefaultTableColumnModel columnModel=new DefaultTableColumnModel();
              columnModel.addColumn(new TableColumn(0));
              return columnModel;
         static class TestTableModel extends AbstractTableModel
              public int getColumnCount()
                   return 1;
              public Class<?> getColumnClass(int columnIndex)
                   return String.class;
              public String getColumnName(int column)
                   return "col";
              public int getRowCount()
                   return 1;
              public Object getValueAt(int row, int col)
                   return "test";
              public void setValueAt(Object aValue, int rowIndex, int columnIndex)
    }Edited by: 802416 on 14-Oct-2010 04:29
    added                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        

    Kleopatra wrote:
    jduprez wrote:
    See http://download.oracle.com/javase/6/docs/api/javax/swing/table/TableColumn.html#setHeaderValue(java.lang.Object)
    When the TableColumn is created, the default headerValue  is null
    So, the header ends up rendered as an empty label (probably of size 0 if the JTable computes its header size based on the renderer's preferred size).nitpicking (can't resist - the alternative is a cleanup round in some not so nice code I produced recently <g>):
    - it's not the JTable's business to compute its headers size (and it doesn't, the header's the culprit.) *> - the header should never come up with a zero (or near-to) height: even if there is no title shown, it's still needed as grab to resize/move the columns. So I would consider this sizing behaviour a bug.*
    - furthermore, the "really zero" height is a longstanding issue with MetalBorder.TableHeaderBorder (other LAFs size with the top/bottom of their default header cell border) which extends AbstractBorder incorrectly. That's easy to do because AbstractBorder itself is badly implemented
    http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6459419
    Thanks for the opportunity to have some fun :-)
    JeanetteNo problem, thanks for the insight :)

  • JButton in JTable with custom table model

    Hi!
    I want to include a JButton into a field of a JTable. I do not know why Java does not provide a standard renderer for JButton like it does for JCheckBox, JComboBox and JTextField. I found some previous postings on how to implement custom CellRenderer and CellEditor in order to be able to integrate a button into the table. In my case I am also using a custom table model and I was not able to create a clickable button with any of the resources that I have found. The most comprehensive resource that I have found is this one: http://www.java2s.com/Code/Java/Swing-Components/ButtonTableExample.htm.
    It works fine (rendering and clicking) when I start it. However, as soon as I incorporate it into my code, the clicking does not work anymore (but the buttons are displayed). If I then use a DefaultTableModel instead of my custom one, rendering and clicking works again. Does anyone know how to deal with this issue? Or does anyone have a good pointer to a resource for including buttons into tables? Or does anyone have a pointer to a resource that explains how CellRenderer and CellEditor work and which methods have to be overwritten in order to trigger certain actions (like a button click)?
    thanks

    Yes, you were right, the TableModel was causing the trouble, everything else worked fine. Somehow I had this code (probably copy and pasted from a tutorial - damn copy and pasting) in my TableModel:
            public boolean isCellEditable(int row, int col) {
                //Note that the data/cell address is constant,
                //no matter where the cell appears onscreen.
                if (col < 3) {
                    return false;
                } else {
                    return true;
    }A pretty stupid thing when you want to edit the 3rd column...

  • Issue with UIX Editable Table

    Hi,
    I have created a Master-Detail-Detail page using UIX. I want to make the last detail table editable. I have tried the tip mentioned in the following page to make the table editable.
    http://www.oracle.com/technology/products/jdev/tips/jacobi/edittable/tip_adfuixtable_edit.html
    But, the condition in switcher ${uix.current.EmployeeId.inputValue == bindings.EmployeeId.inputValue is always returning false. This is because, the ${bindings.xxxxx} is returning null for all columns.
    Could anyone help me in resolve this issue Please?
    Here is the uix file I am using:
    <?xml version="1.0" encoding="windows-1252"?>
    <page xmlns="http://xmlns.oracle.com/uix/controller"
    xmlns:ui="http://xmlns.oracle.com/uix/ui"
    xmlns:ctrl="http://xmlns.oracle.com/uix/controller"
    xmlns:html="http://www.w3.org/TR/REC-html40"
    expressionLanguage="el">
    <content>
    <dataScope xmlns="http://xmlns.oracle.com/uix/ui">
    <provider>
    <!-- Add DataProviders (<data> elements) here -->
    </provider>
    <contents>
    <document>
    <metaContainer>
    <!-- Set the page title -->
    <head title=""/>
    </metaContainer>
    <contents>
    <body>
    <contents>
    <form name="form0">
    <contents>
    <pageLayout>
    <about/>
    <copyright/>
    <corporateBranding/>
    <end/>
    <globalButtons/>
    <pageButtons/>
    <pageHeader/>
    <privacy/>
    <productBranding/>
    <start/>
    <tabs/>
    <contents>
    <stackLayout>
    <contents>
    <header text="Master">
    <contents>
    <table model="${bindings.SyPohdrAckView1}" id="SyPohdrAckView17" partialRenderMode="multiple" partialTargets="_uixState">
    <contents>
    <column>
    <columnFormat columnDataFormat="numberFormat"/>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.SyPohdrAckView1,'OfdaFileId')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.OfdaFileId}" columns="10" readOnly="true">
    <onSubmitValidater>
    <decimal/>
    </onSubmitValidater>
    </textInput>
    </contents>
    </column>
    <column>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.SyPohdrAckView1,'AcknowledgmentNumber')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.AcknowledgmentNumber}" columns="10" readOnly="true"/>
    </contents>
    </column>
    <column>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.SyPohdrAckView1,'PoNumber')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.PoNumber}" columns="10" readOnly="true"/>
    </contents>
    </column>
    <column>
    <columnFormat cellNoWrapFormat="true"/>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.SyPohdrAckView1,'PlannedDeliveryDate')}"/>
    </columnHeader>
    <contents>
    <dateField model="${uix.current.PlannedDeliveryDate}" readOnly="true">
    <onSubmitValidater>
    <date pattern="yyyy-MM-dd"/>
    </onSubmitValidater>
    </dateField>
    </contents>
    </column>
    <column>
    <columnFormat columnDataFormat="numberFormat"/>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.SyPohdrAckView1,'PoOrdTotal')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.PoOrdTotal}" columns="10" readOnly="true">
    <onSubmitValidater>
    <decimal/>
    </onSubmitValidater>
    </textInput>
    </contents>
    </column>
    <column>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.SyPohdrAckView1,'AcknowledgeStatus')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.AcknowledgeStatus}" columns="10" readOnly="true"/>
    </contents>
    </column>
    <column>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.SyPohdrAckView1,'AcknowledgeInfo')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.AcknowledgeInfo}" columns="10" readOnly="true"/>
    </contents>
    </column>
    <column>
    <columnFormat cellNoWrapFormat="true"/>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.SyPohdrAckView1,'AcknowledgeDate')}"/>
    </columnHeader>
    <contents>
    <dateField model="${uix.current.AcknowledgeDate}" readOnly="true">
    <onSubmitValidater>
    <date pattern="yyyy-MM-dd"/>
    </onSubmitValidater>
    </dateField>
    </contents>
    </column>
    <column>
    <columnFormat columnDataFormat="numberFormat"/>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.SyPohdrAckView1,'AcknowledgeByCtIdNo')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.AcknowledgeByCtIdNo}" columns="10" readOnly="true">
    <onSubmitValidater>
    <decimal/>
    </onSubmitValidater>
    </textInput>
    </contents>
    </column>
    </contents>
    <tableSelection>
    <singleSelection model="${bindings.SyPohdrAckView1Iterator}" text="Select and ">
    <primaryClientAction>
    <firePartialAction targets="detail6 detail12 _uixState" source="SyPohdrAckView17" event="select"/>
    </primaryClientAction>
    </singleSelection>
    </tableSelection>
    </table>
    </contents>
    </header>
    <header text="Detail" id="detail6">
    <contents>
    <table model="${bindings.SyPolineAckView2}" id="SyPolineAckView28" partialRenderMode="multiple" partialTargets="_uixState">
    <contents>
    <column>
    <columnFormat columnDataFormat="numberFormat"/>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.SyPolineAckView2,'OfdaFileId')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.OfdaFileId}" columns="10" readOnly="true">
    <onSubmitValidater>
    <decimal/>
    </onSubmitValidater>
    </textInput>
    </contents>
    </column>
    <column>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.SyPolineAckView2,'AcknowledgmentNumber')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.AcknowledgmentNumber}" columns="10" readOnly="true"/>
    </contents>
    </column>
    <column>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.SyPolineAckView2,'PoNumber')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.PoNumber}" columns="10" readOnly="true"/>
    </contents>
    </column>
    <column>
    <columnFormat columnDataFormat="numberFormat"/>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.SyPolineAckView2,'LineItemNumber')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.LineItemNumber}" columns="10" readOnly="true">
    <onSubmitValidater>
    <decimal/>
    </onSubmitValidater>
    </textInput>
    </contents>
    </column>
    <column>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.SyPolineAckView2,'SpecItemNo')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.SpecItemNo}" columns="10" readOnly="true"/>
    </contents>
    </column>
    <column>
    <columnFormat columnDataFormat="numberFormat"/>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.SyPolineAckView2,'Quantity')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.Quantity}" columns="10" readOnly="true">
    <onSubmitValidater>
    <decimal/>
    </onSubmitValidater>
    </textInput>
    </contents>
    </column>
    <column>
    <columnFormat columnDataFormat="numberFormat"/>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.SyPolineAckView2,'Cost')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.Cost}" columns="10" readOnly="true">
    <onSubmitValidater>
    <decimal/>
    </onSubmitValidater>
    </textInput>
    </contents>
    </column>
    <column>
    <columnFormat cellNoWrapFormat="true"/>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.SyPolineAckView2,'PlannedDeliveryDate')}"/>
    </columnHeader>
    <contents>
    <dateField model="${uix.current.PlannedDeliveryDate}" readOnly="true">
    <onSubmitValidater>
    <date pattern="yyyy-MM-dd"/>
    </onSubmitValidater>
    </dateField>
    </contents>
    </column>
    <column>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.SyPolineAckView2,'AcknowledgeStatus')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.AcknowledgeStatus}" columns="10" readOnly="true"/>
    </contents>
    </column>
    <column>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.SyPolineAckView2,'AcknowledgeInfo')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.AcknowledgeInfo}" columns="10" readOnly="true"/>
    </contents>
    </column>
    <column>
    <columnFormat cellNoWrapFormat="true"/>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.SyPolineAckView2,'AcknowledgeDate')}"/>
    </columnHeader>
    <contents>
    <dateField model="${uix.current.AcknowledgeDate}" readOnly="true">
    <onSubmitValidater>
    <date pattern="yyyy-MM-dd"/>
    </onSubmitValidater>
    </dateField>
    </contents>
    </column>
    <column>
    <columnFormat columnDataFormat="numberFormat"/>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.SyPolineAckView2,'AcknowledgeByCtIdNo')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.AcknowledgeByCtIdNo}" columns="10" readOnly="true">
    <onSubmitValidater>
    <decimal/>
    </onSubmitValidater>
    </textInput>
    </contents>
    </column>
    <column>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.SyPolineAckView2,'RowID')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.RowID}" columns="10" readOnly="true"/>
    </contents>
    </column>
    </contents>
    <tableSelection>
    <singleSelection model="${bindings.SyPolineAckView2Iterator}" text="Select and ">
    <primaryClientAction>
    <firePartialAction targets="detail12 _uixState" source="SyPolineAckView28" event="select"/>
    </primaryClientAction>
    </singleSelection>
    </tableSelection>
    </table>
    </contents>
    </header>
    </contents>
    </stackLayout>
    <stackLayout>
    <contents>
    <header text="Detail" id="detail12">
    <contents>
    <table nameTransformed="false" model="${bindings.PoLineView2}" id="PoLineView214" partialRenderMode="multiple" partialTargets="_uixState" formSubmitted="true">
    <contents>
    <column>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.PoLineView2,'PoNo')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.PoNo}" columns="10" readOnly="true"/>
    </contents>
    </column>
    <column>
    <columnFormat columnDataFormat="numberFormat"/>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.PoLineView2,'LineNo')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.LineNo}" columns="10" readOnly="true">
    <onSubmitValidater>
    <decimal/>
    </onSubmitValidater>
    </textInput>
    </contents>
    </column>
    <column>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.PoLineView2,'ItemNo')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.ItemNo}" columns="10" readOnly="true"/>
    </contents>
    </column>
    <column>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.PoLineView2,'ItemStyle')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.ItemStyle}" columns="10" readOnly="true"/>
    </contents>
    </column>
    <column>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.PoLineView2,'VendorNo')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.VendorNo}" columns="10" readOnly="true"/>
    </contents>
    </column>
    <column>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.PoLineView2,'VendorItemNo')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.VendorItemNo}" columns="10" readOnly="true"/>
    </contents>
    </column>
    <column>
    <columnFormat columnDataFormat="numberFormat"/>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.PoLineView2,'QtyOrd')}"/>
    </columnHeader>
    <contents>
    <switcher childName="${uix.current.PoNo.inputValue == bindings.PoNo.inputValue ? 'selected' : 'notselected'}">
    <case name="selected">
    <textInput model="${bindings.QtyOrd}" columns="10" readOnly="false">
    <onSubmitValidater>
    <decimal/>
    </onSubmitValidater>
    </textInput>
    </case>
    <case name="notselected">
    <textInput model="${uix.current.QtyOrd}" columns="10" readOnly="true">
    <onSubmitValidater>
    <decimal/>
    </onSubmitValidater>
    </textInput>
    </case>
    </switcher>
    </contents>
    </column>
    <column>
    <columnFormat columnDataFormat="numberFormat"/>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.PoLineView2,'UnitPrice')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.UnitPrice}" columns="10" readOnly="true">
    <onSubmitValidater>
    <decimal/>
    </onSubmitValidater>
    </textInput>
    </contents>
    </column>
    <column>
    <columnFormat columnDataFormat="numberFormat"/>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.PoLineView2,'LineAmt')}"/>
    </columnHeader>
    <contents>
    <textInput model="${uix.current.LineAmt}" columns="10" readOnly="true">
    <onSubmitValidater>
    <decimal/>
    </onSubmitValidater>
    </textInput>
    </contents>
    </column>
    <column>
    <columnFormat cellNoWrapFormat="true"/>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.PoLineView2,'DateCreated')}"/>
    </columnHeader>
    <contents>
    <dateField model="${uix.current.DateCreated}" readOnly="true">
    <onSubmitValidater>
    <date pattern="yyyy-MM-dd"/>
    </onSubmitValidater>
    </dateField>
    </contents>
    </column>
    <column>
    <columnFormat cellNoWrapFormat="true"/>
    <columnHeader>
    <sortableHeader model="${ctrl:createSortableHeaderModel(bindings.PoLineView2,'DueDate')}"/>
    </columnHeader>
    <contents>
    <dateField model="${uix.current.DueDate}" readOnly="true">
    <onSubmitValidater>
    <date pattern="yyyy-MM-dd"/>
    </onSubmitValidater>
    </dateField>
    </contents>
    </column>
    <column>
    <contents>
    <submitButton text="Commit" model="${bindings.Commit}" id="Commit15" event="action" disabled="false"/>
    </contents>
    </column>
    </contents>
    <tableSelection>
    <singleSelection model="${bindings.PoLineView2Iterator}" text="Select and ">
    <primaryClientAction>
    <firePartialAction targets="_uixState PoLineView214" source="PoLineView214" event="select" formSubmitted="true"/>
    </primaryClientAction>
    </singleSelection>
    </tableSelection>
    </table>
    </contents>
    </header>
    </contents>
    </stackLayout>
    </contents>
    </pageLayout>
    <formValue name="${bindings.statetokenid}" value="${bindings.statetoken}" id="_uixState"/>
    </contents>
    </form>
    </contents>
    </body>
    </contents>
    </document>
    </contents>
    </dataScope>
    </content>
    <handlers>
    <!-- Add EventHandlers (<event> elements) here -->
    <event name="goto sort" source="SyPohdrAckView17">
    <invoke method="handleTableUiEvent" javaType="oracle.cabo.adf.rt.AdfUtils">
    <parameters>
    <parameter javaType="oracle.adf.model.binding.DCIteratorBinding" value="${bindings.SyPohdrAckView1Iterator}"/>
    <parameter javaType="oracle.cabo.servlet.expl.ControllerImplicitObject" value="${uix}"/>
    </parameters>
    </invoke>
    </event>
    <event name="select" source="SyPohdrAckView17">
    <set target="${bindings.SyPohdrAckView1Iterator}" property="currentRowIndexInRange" value="${ui:tableSelectedIndex(uix, 'SyPohdrAckView17')}"/>
    </event>
    <event name="goto sort" source="SyPolineAckView28">
    <invoke method="handleTableUiEvent" javaType="oracle.cabo.adf.rt.AdfUtils">
    <parameters>
    <parameter javaType="oracle.adf.model.binding.DCIteratorBinding" value="${bindings.SyPolineAckView2Iterator}"/>
    <parameter javaType="oracle.cabo.servlet.expl.ControllerImplicitObject" value="${uix}"/>
    </parameters>
    </invoke>
    </event>
    <event name="select" source="SyPolineAckView28">
    <set target="${bindings.SyPolineAckView2Iterator}" property="currentRowIndexInRange" value="${ui:tableSelectedIndex(uix, 'SyPolineAckView28')}"/>
    </event>
    <event name="goto sort" source="SyPolineAckView213">
    <invoke method="handleTableUiEvent" javaType="oracle.cabo.adf.rt.AdfUtils">
    <parameters>
    <parameter javaType="oracle.adf.model.binding.DCIteratorBinding" value="${bindings.SyPolineAckView2Iterator}"/>
    <parameter javaType="oracle.cabo.servlet.expl.ControllerImplicitObject" value="${uix}"/>
    </parameters>
    </invoke>
    </event>
    <event name="select" source="SyPolineAckView213">
    <set target="${bindings.SyPolineAckView2Iterator}" property="currentRowIndexInRange" value="${ui:tableSelectedIndex(uix, 'SyPolineAckView213')}"/>
    </event>
    <event name="goto sort" source="PoLineView214">
    <invoke method="handleTableUiEvent" javaType="oracle.cabo.adf.rt.AdfUtils">
    <parameters>
    <parameter javaType="oracle.adf.model.binding.DCIteratorBinding" value="${bindings.PoLineView2Iterator}"/>
    <parameter javaType="oracle.cabo.servlet.expl.ControllerImplicitObject" value="${uix}"/>
    </parameters>
    </invoke>
    </event>
    <event name="select" source="PoLineView214">
    <set target="${bindings.PoLineView2Iterator}" property="currentRowIndexInRange" value="${ui:tableSelectedIndex(uix, 'PoLineView214')}"/>
    </event>
    <event name="action" source="Commit15">
    <invoke method="doIt" javaType="oracle.jbo.uicli.binding.JUCtrlActionBinding" instance="${bindings.Commit}"/>
    </event>
    </handlers>
    </page>

    hi all,
        it looks this where clause not filter with 'N'  data ,Please help me ,how to solve this or help me on this

  • Edit table cells

    i have edited the setValueAt method of the TableModel interface to enable editing of cells in my JTable - in-situ. This works fine. However, i would like it so that when any change is made to the table data, it is automatically sorted depending on how it was sorted before the change was made. i have:
    public void setValueAt(Object aValue, int row, int col) {
            if (col == 0) {
                bookList[row].setBookNumber(Integer.parseInt((String)aValue)); // Populates cell with new book number
                if (lastSort == "number") {
                    listByNumber();
            } else {
                if (col == 1) {
                    bookList[row].setTitle((String)aValue); // Populates cell with new book title
                } else {
                    if (col == 2) {
                        bookList[row].setAuthorPrename((String)aValue); // Populates cell with new author prename
                    } else {
                        bookList[row].setAuthorSurname((String)aValue); // Populates cell with new author surname
        }i would put more if statements in later for different sort methods but at the moment ill just stick with one. My problem is that the array is being sorted correctly, but the table doesn't update automatically to show the change. what DOES happen - is when you click on each row of the table, it changes until it is in the correct order. this leads me to think that the sorting works fine, but somehow my table model isnt reflecting the changes? can any help me update the table in real time?

    no luck :( i tried:
       public void setValueAt(Object aValue, int row, int col) {
            if (col == 0) {
                bookList[row].setBookNumber(Integer.parseInt((String)aValue)); // Populates cell with new book number  
                listByNumber();
                fireTableDataChanged();and extended AstractTableModel but it still didnt work. is there anything else i would need to do?

  • Help! Hit an wierd exception when edit a column in editable table

    I created a view object with 3 entities objects (3 tables) in model project and drag view object into jsf page to create as an edit table in view controller project.
    when I run this jsf page and update the value for a column of one row in the page, hit below exeception?
    I try to find the reason but failed. appreciate if anybody can help. thanks.
    The date string "2013-10-06 01:00:00.0" is for YardFixedSlotRecomm.START_DT and I didn't change this value. it seems that it is using "2013-10-06 01:00:00.0" to set YardFixedSlot.FIXED_SLOT_ID value and no idea about why ADF is doing this and I tested view object and it can work, but when it is used in web app, problem occurred.
    Root cause error code is JBO-25009. Error message parameters are {0=java.lang.Integer, 1=2013-10-06 01:00:00.0, 2=java.sql.Timestamp}
    SQL queries in View objects and row key should contains:  YardFixedSlot.FIXED_SLOT_ID,YardBlock.BLOCK_M AS BLOCK_M1, FxedSlotRecomm.FIXED_SLOT_ID AS FIXED_SLOT_ID1,YardFixedSlotRecomm.START_DT.
    SELECT YardFixedSlot.BLOCK_M,
           YardFixedSlot.BLOCK_N,
           YardFixedSlot.FIXED_SLOT_ID,
           YardFixedSlot.SECTION_N,
           YardFixedSlot.STATUS_C,
           YardFixedSlot.TERMINAL_C,
           YardBlock.BLOCK_M AS BLOCK_M1,
           YardBlock.BLOCK_N AS BLOCK_N1,
           YardBlock.DISPLAY_COLUMN_N,
           YardBlock.DISPLAY_ROW_N,
           YardBlock.DISPLAY_SLOT_OFFSET_N,
           YardBlock.LINEAR_REGION_N,
           YardBlock.LINEAR_SEQ_N,
           YardBlock.MAX_STACK_WEIGHT_Q,
           YardBlock.PATH_DATA_X,
           YardBlock.ROW_FROM_N,
      YardBlock.ROW_NUMBER_DIRECTION_C,
           YardBlock.ROW_TO_N,
      YardBlock.SECTION_N AS SECTION_N1,
           YardBlock.SLOT_FROM_N,
           YardBlock.SLOT_NUMBER_DIRECTION_C,
           YardBlock.SLOT_NUMBER_TYPE_C,
           YardBlock.SLOT_TO_N,
           YardBlock.STATUS_C AS STATUS_C1,
           YardBlock.TERMINAL_C AS TERMINAL_C1,
           YardFixedSlotRecomm.CREATE_DT,
           YardFixedSlotRecomm.END_DT,
           YardFixedSlotRecomm.FIXED_SLOT_ID AS FIXED_SLOT_ID1,
           YardFixedSlotRecomm.RECOMMENDATION_C,
           YardFixedSlotRecomm.START_DT
    FROM  CITOSADMIN.YARD_FIXED_SLOT YardFixedSlot, CITOSADMIN.YARD_BLOCK YardBlock, CITOSADMIN.YARD_FIXED_SLOT_RECOMM YardFixedSlotRecomm
    (YardFixedSlot.BLOCK_M = YardBlock.BLOCK_M(+)) AND (YardFixedSlot.FIXED_SLOT_ID = YardFixedSlotRecomm.FIXED_SLOT_ID(+))
    Exception detail:
    [2013-12-04T10:30:21.873+08:00] [DefaultServer] [ERROR] [] [oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 676653a7-bc31-46c9-ba9c-6a394c0b9ff1-000002d0,0] [APP: YPCApp] [DSID: 0000KAvRxpz5qYWFLzmJOA1IbbbH00000A] ADF_FACES-60096:Server Exception during PPR, #3[[
    oracle.jbo.domain.DataCreationException: JBO-29114 ADFContext is not setup to process messages for this exception. Use the exception stack trace and error code to investigate the root cause of this exception. Root cause error code is JBO-25009. Error message parameters are {0=java.lang.Integer, 1=2013-10-06 01:00:00.0, 2=java.sql.Timestamp}
    at oracle.jbo.domain.TypeFactory.get(TypeFactory.java:933)
    at oracle.jbo.domain.TypeFactory.getInstance(TypeFactory.java:112)
    at oracle.jbo.server.AttributeDefImpl.convertToJava(AttributeDefImpl.java:2515)
    at oracle.jbo.server.ViewRowSetImpl.prepKeyForFind(ViewRowSetImpl.java:5666)
    at oracle.jbo.server.ViewRowSetImpl.findByKey(ViewRowSetImpl.java:5683)
    at oracle.jbo.server.ViewRowSetImpl.findByKey(ViewRowSetImpl.java:5585)
    at oracle.jbo.server.ViewRowSetImpl.findByKey(ViewRowSetImpl.java:5579)
    at oracle.jbo.server.ViewObjectImpl.findByKey(ViewObjectImpl.java:12554)
    at oracle.jbo.uicli.binding.JUCtrlHierBinding.bringNodeToRangeKeyPath(JUCtrlHierBinding.java:846)
    at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding.bringNodeToRangeKeyPath(FacesCtrlHierBinding.java:122)
    at oracle.adfinternal.view.faces.model.binding.RowDataManager.setRowKey(RowDataManager.java:131)
    at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding$FacesModel.setRowKey(FacesCtrlHierBinding.java:951)
    at org.apache.myfaces.trinidad.component.UIXCollection.setRowKey(UIXCollection.java:527)
    at org.apache.myfaces.trinidad.component.UIXTable.setRowKey(UIXTable.java:760)
    at oracle.adfinternal.view.faces.renderkit.rich.TableRendererUtils.isRowAvailable(TableRendererUtils.java:1825)
    at oracle.adfinternal.view.faces.renderkit.rich.TableRendererUtils.processAutoPPRUpdate(TableRendererUtils.java:412)
    at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer.renderModelChanges(TableRenderer.java:1075)
    at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer.encodeAll(TableRenderer.java:627)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1578)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:1085)
    at org.apache.myfaces.trinidad.component.UIXCollection.encodeEnd(UIXCollection.java:650)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1786)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGridLayoutRenderer.encodeCellComponent(PanelGridLayoutRenderer.java:1205)
    at oracle.adfinternal.view.faces.renderkit.rich.grid.CellChildrenEncoderCallback.processComponent(CellChildrenEncoderCallback.java:38)
    at oracle.adfinternal.view.faces.renderkit.rich.grid.CellChildrenEncoderCallback.processComponent(CellChildrenEncoderCallback.java:20)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:195)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:326)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:245)
    at oracle.adfinternal.view.faces.renderkit.rich.grid.CellEncoderCallback.processComponent(CellEncoderCallback.java:271)
    at oracle.adfinternal.view.faces.renderkit.rich.grid.CellEncoderCallback.processComponent(CellEncoderCallback.java:24)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:195)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:326)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:245)
    at oracle.adfinternal.view.faces.renderkit.rich.grid.RowEncoderCallback.processComponent(RowEncoderCallback.java:74)
    at oracle.adfinternal.view.faces.renderkit.rich.grid.RowEncoderCallback.processComponent(RowEncoderCallback.java:22)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:195)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:326)
    at org.apache.myfaces.trinidad.component.UIXComponent.encodeFlattenedChildren(UIXComponent.java:291)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGridLayoutRenderer._encodeAllOrVisitChildrenForEncodingImpl(PanelGridLayoutRenderer.java:1036)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGridLayoutRenderer.encodeAll(PanelGridLayoutRenderer.java:314)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1578)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:1085)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1786)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:641)
    at oracle.adf.view.rich.render.RichRenderer.encodeAllChildrenInContext(RichRenderer.java:3195)
    at oracle.adfinternal.view.faces.renderkit.rich.FormRenderer.encodeAll(FormRenderer.java:275)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1578)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:1085)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1786)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:641)
    at oracle.adf.view.rich.render.RichRenderer.encodeAllChildrenInContext(RichRenderer.java:3195)
    at oracle.adfinternal.view.faces.renderkit.rich.DocumentRenderer.encodeAll(DocumentRenderer.java:1473)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1578)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:1085)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1786)
    at oracle.adfinternal.view.faces.context.PartialViewContextImpl._processRender(PartialViewContextImpl.java:304)
    at oracle.adfinternal.view.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:159)
    at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:981)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
    at oracle.adfinternal.view.faces.component.AdfViewRoot.encodeAll(AdfViewRoot.java:102)
    at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:391)
    at org.apache.myfaces.trinidad.view.ViewDeclarationLanguageWrapper.renderView(ViewDeclarationLanguageWrapper.java:101)
    at org.apache.myfaces.trinidad.view.ViewDeclarationLanguageWrapper.renderView(ViewDeclarationLanguageWrapper.java:101)
    at org.apache.myfaces.trinidadinternal.application.ViewDeclarationLanguageFactoryImpl$ChangeApplyingVDLWrapper.renderView(ViewDeclarationLanguageFactoryImpl.java:338)
    at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:125)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:288)
    at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:170)
    at oracle.adfinternal.view.faces.lifecycle.ResponseRenderManager.runRenderView(ResponseRenderManager.java:52)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:1104)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:389)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:255)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:341)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:192)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:478)
    at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:478)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:303)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:208)
    at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:137)
    at java.security.AccessController.doPrivileged(Native Method)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)
    at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:120)
    at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:217)
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:81)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:225)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3367)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3333)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
    at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2220)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2146)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2124)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1564)
    at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:295)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:254)
    Caused by: java.lang.NumberFormatException: For input string: "2013-10-06 01:00:00.0"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:492)
    at java.lang.Integer.<init>(Integer.java:677)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at oracle.jbo.domain.TypeConvMapEntry.convert(TypeConvMapEntry.java:101)
    at oracle.jbo.domain.TypeFactory.get(TypeFactory.java:883)
    ... 118 more
    ## Detail 0 ##
    java.lang.NumberFormatException: For input string: "2013-10-06 01:00:00.0"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:492)
    at java.lang.Integer.<init>(Integer.java:677)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at oracle.jbo.domain.TypeConvMapEntry.convert(TypeConvMapEntry.java:101)
    at oracle.jbo.domain.TypeFactory.get(TypeFactory.java:883)
    at oracle.jbo.domain.TypeFactory.getInstance(TypeFactory.java:112)
    at oracle.jbo.server.AttributeDefImpl.convertToJava(AttributeDefImpl.java:2515)
    at oracle.jbo.server.ViewRowSetImpl.prepKeyForFind(ViewRowSetImpl.java:5666)
    at oracle.jbo.server.ViewRowSetImpl.findByKey(ViewRowSetImpl.java:5683)
    at oracle.jbo.server.ViewRowSetImpl.findByKey(ViewRowSetImpl.java:5585)
    at oracle.jbo.server.ViewRowSetImpl.findByKey(ViewRowSetImpl.java:5579)
    at oracle.jbo.server.ViewObjectImpl.findByKey(ViewObjectImpl.java:12554)
    at oracle.jbo.uicli.binding.JUCtrlHierBinding.bringNodeToRangeKeyPath(JUCtrlHierBinding.java:846)
    at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding.bringNodeToRangeKeyPath(FacesCtrlHierBinding.java:122)
    at oracle.adfinternal.view.faces.model.binding.RowDataManager.setRowKey(RowDataManager.java:131)
    at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding$FacesModel.setRowKey(FacesCtrlHierBinding.java:951)
    at org.apache.myfaces.trinidad.component.UIXCollection.setRowKey(UIXCollection.java:527)
    at org.apache.myfaces.trinidad.component.UIXTable.setRowKey(UIXTable.java:760)
    at oracle.adfinternal.view.faces.renderkit.rich.TableRendererUtils.isRowAvailable(TableRendererUtils.java:1825)
    at oracle.adfinternal.view.faces.renderkit.rich.TableRendererUtils.processAutoPPRUpdate(TableRendererUtils.java:412)
    at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer.renderModelChanges(TableRenderer.java:1075)
    at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer.encodeAll(TableRenderer.java:627)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1578)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:1085)
    at org.apache.myfaces.trinidad.component.UIXCollection.encodeEnd(UIXCollection.java:650)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1786)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGridLayoutRenderer.encodeCellComponent(PanelGridLayoutRenderer.java:1205)
    at oracle.adfinternal.view.faces.renderkit.rich.grid.CellChildrenEncoderCallback.processComponent(CellChildrenEncoderCallback.java:38)
    at oracle.adfinternal.view.faces.renderkit.rich.grid.CellChildrenEncoderCallback.processComponent(CellChildrenEncoderCallback.java:20)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:195)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:326)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:245)
    at oracle.adfinternal.view.faces.renderkit.rich.grid.CellEncoderCallback.processComponent(CellEncoderCallback.java:271)
    at oracle.adfinternal.view.faces.renderkit.rich.grid.CellEncoderCallback.processComponent(CellEncoderCallback.java:24)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:195)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:326)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:245)
    at oracle.adfinternal.view.faces.renderkit.rich.grid.RowEncoderCallback.processComponent(RowEncoderCallback.java:74)
    at oracle.adfinternal.view.faces.renderkit.rich.grid.RowEncoderCallback.processComponent(RowEncoderCallback.java:22)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:195)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:326)
    at org.apache.myfaces.trinidad.component.UIXComponent.encodeFlattenedChildren(UIXComponent.java:291)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGridLayoutRenderer._encodeAllOrVisitChildrenForEncodingImpl(PanelGridLayoutRenderer.java:1036)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGridLayoutRenderer.encodeAll(PanelGridLayoutRenderer.java:314)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1578)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:1085)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1786)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:641)
    at oracle.adf.view.rich.render.RichRenderer.encodeAllChildrenInContext(RichRenderer.java:3195)
    at oracle.adfinternal.view.faces.renderkit.rich.FormRenderer.encodeAll(FormRenderer.java:275)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1578)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:1085)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1786)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:641)
    at oracle.adf.view.rich.render.RichRenderer.encodeAllChildrenInContext(RichRenderer.java:3195)
    at oracle.adfinternal.view.faces.renderkit.rich.DocumentRenderer.encodeAll(DocumentRenderer.java:1473)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1578)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:511)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:1085)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1786)
    at oracle.adfinternal.view.faces.context.PartialViewContextImpl._processRender(PartialViewContextImpl.java:304)
    at oracle.adfinternal.view.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:159)
    at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:981)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
    at oracle.adfinternal.view.faces.component.AdfViewRoot.encodeAll(AdfViewRoot.java:102)
    at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:391)
    at org.apache.myfaces.trinidad.view.ViewDeclarationLanguageWrapper.renderView(ViewDeclarationLanguageWrapper.java:101)
    at org.apache.myfaces.trinidad.view.ViewDeclarationLanguageWrapper.renderView(ViewDeclarationLanguageWrapper.java:101)
    at org.apache.myfaces.trinidadinternal.application.ViewDeclarationLanguageFactoryImpl$ChangeApplyingVDLWrapper.renderView(ViewDeclarationLanguageFactoryImpl.java:338)
    at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:125)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:288)
    at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:170)
    at oracle.adfinternal.view.faces.lifecycle.ResponseRenderManager.runRenderView(ResponseRenderManager.java:52)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:1104)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:389)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:255)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:341)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:192)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:478)
    at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:478)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:303)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:208)
    at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:137)
    at java.security.AccessController.doPrivileged(Native Method)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)
    at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:120)
    at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:217)
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:81)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:225)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3367)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3333)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
    at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2220)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2146)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2124)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1564)
    at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:295)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:254)

    I am using JDeveloper 12c.
    I want to know why ADF selected input string: "2013-10-06 01:00:00.0"  for parsing? maybe it took wrong value. I just made one column: YardFixedSlot.STATUS_C ediable. input string: "2013-10-06 01:00:00.0" is a value for row key column: YardFixedSlotRecomm.START_DT.
    The row key compose of 4 columns with  respective types: [Interger,String ,Interger, Timestamp]
    YardFixedSlot.FIXED_SLOT_ID
    YardBlock.BLOCK_M AS BLOCK_M1
    FxedSlotRecomm.FIXED_SLOT_ID AS FIXED_SLOT_ID1
    YardFixedSlotRecomm.START_DT
    But error message show 3 parameters:
    Root cause error code is JBO-25009. Error message parameters are {0=java.lang.Integer, 1=2013-10-06 01:00:00.0, 2=java.sql.Timestamp}

  • Unable to uncheck checkbox in UIX editable table

    It seams that in editable table is unable to uncheck checked checkbox. After submit checkbox is stays checked. To check it works fine. To uncheck it in imput form also works fine. Problem is only in editable table. version jdev10.1.2. Thank you. Jara

    this is the UIX code
    <switcher childName="${uix.current.Iid.inputValue == bindings.Iid.inputValue ? 'edit' : 'noEdit'}">
    <case name="edit">
    <checkBox model="${bindings.IsDefault}" readOnly="false"/>
    </case>
    <case name="noEdit">
    <checkBox model="${uix.current.IsDefault}" readOnly="true"/>
    </case>
    </switcher>

  • Help!! UIX Editable Table and RowID

    I Have UIX with Editable Table:
    <switcher childName="${uix.current.PatrRowID.inputValue == bindings.PatrRowID.inputValue ? 'selected' : 'notselected'}">
    <case name="selected">
    <textInput model="${bindings.PatrCode}" columns="10" readOnly="false"/>
    </case>
    <case name="notselected">
    <textInput model="${uix.current.PatrCode}" columns="10" readOnly="true"/>
    </case>
    </switcher>
    whenn i update colum , i have error
    ORA-00904: "PATR_ROW_ID"
    i have EO with RowID column..

    The new "Create" has also another issues - I am not able to use getCurrentRow in ViewObject. Workaround is to use old 40 behaviour but I think that such big change should be much more documented and because developer sometimes needs to use the 40 behaviour it should be shown in the DataControl. Any comments?

  • [JHS 10.1.2.2 build 32] Editting table results in NoSuchElementException

    Hi All,
    hopefully somebody has already encountered and solved this problem.
    We are using jHeadstart 10.1.2.2 build 32 and have generated our application in JSPs. But i'm running into a quite structural problem when using the editable table.
    I execute the following steps:
    - On a few pages we have editable tables that display one empty (new) row at the bottom.
    - The tables (views) have a few mandatory columns (attributes).
    - I do not fill all the required field in the empty row
    - I press the commit button
    The page shows the relevant message (the field is mandatory) in the screen but also dumps a NoSuchElementException in the last line.
    The last line shown is the 'new' row.
    java.util.NoSuchElementException
         at java.util.AbstractList$Itr.next(Unknown Source)
         at org.apache.taglibs.standard.tag.common.core.ForEachSupport$SimpleForEachIterator.next(ForEachSupport.java:143)
         at org.apache.taglibs.standard.tag.common.core.ForEachSupport.next(ForEachSupport.java:165)
         at javax.servlet.jsp.jstl.core.LoopTagSupport.doAfterBody(LoopTagSupport.java:301)
         at _web_2d_inf._page._referentie._TalenTable._jspService(_TalenTable.java:367)
         [SRC:/WEB-INF/page/referentie/TalenTable.jsp:161]
         at com.orionserver[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:349)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:782)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:226)
         at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
         at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:274)
         at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
         at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:320)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
         at oracle.jheadstart.controller.strutsadf.JhsRequestProcessor.process(JhsRequestProcessor.java:385)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
         at oracle.jheadstart.controller.strutsadf.JhsActionServlet.process(JhsActionServlet.java:130)
         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.jheadstart.controller.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:176)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:239)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:617)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:794)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
         at java.lang.Thread.run(Unknown Source)I've tracked the problem down to the RangeSetWrapper class that returns a size of 6 but fills the errorBeans property with only 5 objects. When getting the 6th row (index 5) the errorBeans array throws an IndexOutOfRangeException which in turn results in the NoSuchElement exception.
    Does anybody recognize this problem? Does anybody have a solution? I'm trying to hack into the RangeSetWrapper class, but am not very succesfull at the moment (Well the Exception is gone, but rows get mixed up ;-))
    Regards,
    Robert Willems of Brilman
    Ps. An extract from the JSP page:
    <c:set var="RbsTalenViewNewRows" value="1" scope="request"/>
    <c:forEach var="RbsTalenView" varStatus="status" items="${jhsTableBindings.RbsTalenView.rangeSet}">
       <html:hidden name="RbsTalenView" property="rowKeyStr" indexed="true"/>
       <c:set var="editMode" scope="request" value="${status.index lt bindings.TalenIterator.estimatedRowCount and bindings.TalenIterator.currentRowIndexInRange!=-1}"/>
            <tr class="altRow<c:out value="${status.index % 2 + 1 }"/>">
          <c:set var="rowKeyStr" scope="request" value="${RbsTalenView.rowKeyStr}"/>
       <td nowrap="nowrap">
          <font class="required">*</font>
          <c:if test='${RbsTalenView.TalenUnicode == null}' >
            <html:text name="RbsTalenView" property="TalenUnicode" size="10" maxlength="3" indexed="true"/>
          </c:if>
          <c:if test='${RbsTalenView.TalenUnicode != null}' >
            <html:text name="RbsTalenView" property="TalenUnicode" size="10" maxlength="3" indexed="true" disabled="true"/>
          </c:if>
       </td>
       <td nowrap="nowrap">
          <html:text name="RbsTalenView" property="TalenNaam" size="30" maxlength="64" indexed="true"/>
       </td>
       <td class="fixed">
              <jsp:include page="/common/customDeleteButton.jsp" flush="true">
                <jsp:param name="deleteEvent" value="setCurrentRowWithKey~RbsTalenView"/>
              </jsp:include>
       </td>
            </tr>
          </c:forEach>   The exception is raised during the </c:forEach> (afterBody)

    Problem solved....
    It seems we had overridden some framework method in a subclass of JhsDataAction called clearFormBeanValues(). If you don't call this method you will get the exception stack i encountered. (The comments said the forms were always cleared and it shouldn't do that when errors were encountered.... too bad, not a name ;-))
    Hopefully nothing else will break now i ripped out that code ;-)
    Regards,
    Robert

  • Custom Table Model from Default Table Model

    I'm creating a customised table model to create a table with column header and empty rows.But it is throwing Component paint_imediatly error.If i pass in empty string to the row vector then setNumRows then no problem. If i do like this later it throws me error in my addNewRow method which was working fine before.Can anyone help?I would realy apreaciate it.Thank you.
    Kavitha

    This must be your lucky day :)
    Here is my version of an EditableTableModel which displays an emptyline as the last line
    import java.io.*;
    import java.util.*;
    import javax.swing.table.*;
    import javax.swing.event.*;
    * Custom TableModel, allows addition and removal of records/rows and editting of existing values.
    * it also keeps track over which rows have been altered.
    * column 0 is a boolean indicating wheter or not to keep this row/record
    * @author Maurice Marrink
    * @version 1.0
    public class EditableTableModel extends AbstractTableModel implements Serializable, TableModelListener
         protected ArrayList keep,changed;          //houden bij of een rij gedel moet worden en of ie is veranderd (false = delete)
         protected ArrayList[] DATA;
         protected int emptyLineIndex;
         protected String[] kolomNamen;
         protected Object[] kolomTypen;          // bevat een object van dezelfde class als die kolom
         protected int newRowsIndex;               // houd bij vanaf welke rij niewe regels zijn toegevoegd ivm het opslaan in de db
         protected int[]primecolumns;          //houd bij welke kolommen ingevuld moeten worden voordat de volgende regel getoond wordt (default= kolom 1)
         public EditableTableModel()
              keep = new ArrayList();               //visible
              changed=new ArrayList();               // not visisble
              primecolumns=new int[0];
              DATA=new ArrayList[0];
              kolomNamen =new String[0];
              kolomTypen=new Object[0];
              emptyLineIndex=-1;
              newRowsIndex=-1;
         * the constructor, creates a new EditableTableModel
         *@param data          an array of ArrayLists each arrayList contains the values of an entire column
         *@param names          an array containg the names of the columns
         *@param type          an array containing Objects which correspond to the objects in the columns
         public EditableTableModel(ArrayList[] data, String[] names, Object[] type)
              keep = new ArrayList();               //visible
              changed=new ArrayList();               // not visisble     
              primecolumns=new int[1];
              primecolumns[0]=1;
              DATA=data;
              for(int i=0;i<getRowCount();i++)
                   keep.add(new Boolean(true));
                   changed.add(new Boolean(false));
              kolomNamen=names;
              kolomTypen=type;
              emptyLineIndex=getRowCount()-1;
              addNewLine();
              newRowsIndex=emptyLineIndex;               // nieuwe regels beginnen op de lege regel
              addTableModelListener(this);
         * @return the number of rows/records
         public int getRowCount()
              return DATA[0].size();
         *@return the number of columns
         public int getColumnCount()
              return DATA.length+1;
         * returns the object containing the value for this cell
         * indexes start at 0 (wheter or not to keep this row), but the actual data starts at 1
         *@param row          the row in which the cell resides
         *@param column     the column in which the cell resides
         *@return the value of the cell wrapped in the appropiate Object
         public Object getValueAt(int row, int column)
              if(column==0)
                   return keep.get(row);
              else
                   return DATA[column-1].get(row);
         * allows editing of an existing value
         *@param value          the new value, should be of the same Object Type as the existing one
         *@param row               the row nr of the cell
         *@param col               the column nr of the cell
         public void setValueAt(Object value, int row, int col)
              if(col==0)
                   keep.set(row,value);
              else
                   DATA[col-1].set(row,value);
                   changed.set(row, new Boolean(true));
              fireTableCellUpdated(row, col);
         * adds a new "empty" row after all the PrimeColums of the last row have been filled with an acceptable value
         *@see setPrimeColumns
         protected void addNewLine()
              try
                   for(int i=0;i<DATA.length;i++)
                        if(kolomTypen[i] instanceof Integer)
                             DATA.add(new Integer(-1));
                        else
                        if(kolomTypen[i] instanceof Boolean)
                             DATA[i].add(new Boolean(false));
                        else
                        if(kolomTypen[i] instanceof Long)
                             DATA[i].add(new Long(-1));          //displayed as "" by cellrenderer
                        else
                             DATA[i].add(kolomTypen[i].getClass().newInstance());          //nieuw object aanmaken van het type dat gespecificeerd is, Integers en Booleans moet een waarde meegegeven worden
                   keep.add(new Boolean(true));
                   changed.add(new Boolean(false));
                   emptyLineIndex++;
              catch(Exception e)
                   e.printStackTrace();
         public void tableChanged(TableModelEvent e)
              if(e.getFirstRow()==emptyLineIndex)//alleen als de emptyLine ge?dit wordt een regel toevoegen
                   boolean primesfilled=true;
                   for(int i=0;i<primecolumns.length;i++)
                        if(getValueAt(emptyLineIndex,primecolumns[i]).equals(null) || getValueAt(emptyLineIndex,primecolumns[i]).toString().equals("")|| getValueAt(emptyLineIndex,primecolumns[i]).toString().equals("-1"))
                             primesfilled=false;
                             break;
                   if(primesfilled)     //alleen als de primaire sleutel kolommen ingevuld zijn
                        addNewLine();
         * returns the Class type of the Objects representing the column type
         *@param c     the column nr
         public Class getColumnClass(int c)
              if(c==0)
                   return new Boolean(true).getClass();
              else
                   return kolomTypen[c-1].getClass();
         *@param rowIndex the index of the row
         *@param columnIndex     the index of the column
         *@return true if a cell is Editable,false otherwise (all cells are Editable)
         public boolean isCellEditable(int rowIndex, int columnIndex)
              return true;
         * returns the name of the column
         *@param column     the column index
         *@return a String containing the name of the column
         public String getColumnName(int column)
              if(column==0)
                   return "";
              else
                   return kolomNamen[column-1];
         *@return wheter or not 1 or rows is marked for deletion
         public boolean deletionNeeded()
              Boolean B;
              for(int i=0;i<emptyLineIndex;i++)
                   B=(Boolean)keep.get(i);
                   if(!B.booleanValue())
                        return true;
              return false;
         * Deletes all rows which are marked for deletion
         *@return the number of rows that have been deleted
         public int deleteMarkedRows()          // zou niets uit moeten maken of je eerst deleteMarkedRows() of isSavedToDB(true) aanroept
              int aantalRows=0;
              Boolean B;
              for(int i=0;i<emptyLineIndex;i++)
                   B=(Boolean)keep.get(i);
                   if(!B.booleanValue())
                        if(deleteRow(i))
                             aantalRows++;
                             i--;
              return aantalRows;
         * deletes a single row
         *@param row     the row index
         *@return     true if the row was deleted, false otherwise
         protected boolean deleteRow(int row)
              boolean result=false;
              if(row==emptyLineIndex)               // emptyline kan niet gedelete worden
                   return result;
              try
                   for(int j=0;j<DATA.length;j++)
                        DATA[j].remove(row);
                   changed.remove(row);
                   keep.remove(row);
                   emptyLineIndex--;
                   if(row < newRowsIndex)
                        newRowsIndex--;
                   result=true;
              catch(Exception e)
                   e.printStackTrace();
              return result;
         * returns if the row has changed or not
         *@param row          the row index
         *@return true if 1 or more cells in this row had their value changed or if 1 or more rows were added, false otherwise
         public boolean hasChanged(int row)
              Boolean B=(Boolean)changed.get(row);
              return B.booleanValue();
         * Methode waarmee men kan bepalen of 1 van de originele waarden ook veranderd is.
         * Het geeft dus niet aan of er ook nieuwe rijen zijn toegevoegd.
         public boolean hasChanged()
              Boolean B;
              for(int i=0;i<newRowsIndex;i++)
                   B=(Boolean)changed.get(i);
                   if(B.booleanValue())
                        return true;
              return false;
         * if true it sets all flags indicating a change to false, else nothing
         *@param saved     boolean indicating all changes are now to be considerd to be the original values, or not
         public void isSavedToDB(boolean saved)
              if(saved)
                   for(int i=0; i<changed.size();i++)
                        changed.set(i,new Boolean(false));
                   newRowsIndex=emptyLineIndex;
         * @return the row nr. at which newly added entrys begin, updated after isSavedToDB(true) is called
         public int getNewRowsIndex()
              return newRowsIndex;
         * allows the specification of certain columns that need to be filled in, if not a new row will not be made vissible
         *@param columns     an array containing the column indexes which must be set to a valid value
         public void setPrimeColumns(int[] columns)
              primecolumns=columns;
         * allows retrieval of the PrimeColumns
         *@return an arrayof int containing the column indexes
         public int[] getPrimeColumns()
              return primecolumns;
    Ok some of the comments are in dutch go ahead an blame me :(
    if you have any questions, just ask.
    i also have a TableModel which can use automatic numbering
    Oh numbers (currently only Integer and Long) are initiated wth a value of -1 if you want to display them as blank cells like i wanted to you modify a cellrenderer (or use mine)
    Mr Mean

  • Large editable tables

    I have a datatable with input fields assigned to each column. The user can edit values freely and then submit the changes for update. Because of the size of the list it appears that a huge amount of processing is required even though only a couple of rows are actually modified by the user.
    Is there a "best practices" for handling large editable tables that anyone is aware of?
    Thanks

    Presuming Oracle backend database.....(you didnt say)
    Partitioning would seem a quick (and expensive $$$$) win, if you partition on date, be sure to use the same date key to perform 'partition pruning' , which is to say give the optimizer a chance to throw away all unrequired partitions before it starts going to disk. When you say 'didnt improve performance much' you need to give a partition wise join for the partitioning to become effective at query time - did you do this ? for example a dashboard prompt with a filter on week / month would help (assuming your week / month time dim column is joined on partition key)
    Is your data model a star schema ? Do you have dimension metadata in your database ? I'd be looking at Materialized views and looking for some sort of aggregate rollup query re-write whereby you queries are re-written at run time to the Mview and does not hit your fact table.
    As for caching, OBIEE caching is the last resort after you exhaust every other alternative, its not there to speed up queries and you would be hiding the problem, what when a user drills down or needs to run an ad-hoc report that is not cached ?
    I would start with understanding Oracle execution plans, review your data model (with the view on speedy data extraction) and look at what Oracle DB gives for data warehousing appliances :
    parallelism is your friend!
    star transformation,
    Mviews (table or Cube based)
    OLAP

Maybe you are looking for

  • Camera is not connected.

    How can I make my camera connect for FaceTime and Photo Booth to work? It keeps telling me that the camera is not connected.

  • I need an AS2 button that closes out a pop-up window...

    So, I've constructed a portfolio site with ActionScript 2.0, but I would like the pop-up window that displays the portfolio image to have its own 'X' button that closes the swf movie from the browser.  I'm assuming that the code begins something like

  • HT1338 is it possible to upgrade my imac OS 10.5.8 to OS X Lion via an internet download?

      I am having problems downloading a TV show from itunes.  The tech told me to get the latest version of itunes but I have OS 10.5.8 which is below the requirement for downloading the itunes new version.    How do I upgrade my OS?

  • Z3200 custom paper list vs. OS X Yosemite (10.10.4)

    Hi. Since I did the upgrade  of OS X Yosemite to version 10.10.4, HP Utility is not able to syncronize the paper list already installed at our printers. Is someone experimenting the same issue? I would appreciate to hear from you how to solve this, b

  • Workflow basics

    Hi Experts, I have few basic questions in workflow. 1. What is the exact reason for making a task as general. If we make as general & if the agent resolution fails then workitem is sent to all users in the organisation which is risky. But still I can