Skip to Main Content

Java Development Tools

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ADF table: filter on date/timestamp columns which have specific format in UI Hints

hoanvuphanAug 1 2014 — edited Aug 11 2014

Hi all,

I have problem when filtering on timestamp column of af:table.

I have a table with historic information (created_on and modified_on), it's mapped to entity:

     Type="oracle.jbo.domain.Date"

     ColumnType="DATE"

I have view object mapped from this entity.

I want to display created_on and modified_on with timestamp (hour and minute), so I add the UI hints of these 2 column:

- Format type: Simple Date

- Format: dd/MM/yyyy HH:mm

I create a table base on this view. The table is filterable.

The column likes this:

               <af:column sortProperty="#{bindings.View.hints.CreatedOn.name}" filterable="true"

                           sortable="true" headerText="#{bindings.View.hints.CreatedOn.label}" id="c6">

                    <f:facet name="filter">

                        <af:inputDate value="#{bindings.ViewQuery.queryDescriptor.filterConjunctionCriterion.criterionMap.CreatedOn.value}"

                                      id="id2">

                            <af:convertDateTime pattern="#{bindings.View.hints.CreatedOn.format}"/>

                        </af:inputDate>

                    </f:facet>

                    <af:outputText value="#{row.CreatedOn}"

                                   shortDesc="#{bindings.VIew.hints.CreatedOn.tooltip}" id="ot6">

                        <af:convertDateTime pattern="#{bindings.View.hints.CreatedOn.format}">

                    </af:outputText>

                </af:column>

When I filter on 2 columns (created_on, modified_on) I got an error: " java.lang.IllegalArgumentException: ADFv: Could not convert instance: 30/07/2014 09:51 of type: class java.lang.String into type class oracle.jbo.domain.Date null."

Do you have any clue for me?

Thanks in advance.

Here is the stacktrace:

Caused By: java.lang.IllegalArgumentException: ADFv: Could not convert instance: 30/07/2014 09:51 of type: class java.lang.String into type class oracle.jbo.domain.Date null.

  at oracle.adfinternal.view.faces.convert.DomainConverter._throw(DomainConverter.java:155)

  at oracle.adfinternal.view.faces.convert.DomainConverter.convert(DomainConverter.java:120)

  at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding$AdfFilterAttributeCriterion.getValue(FacesCtrlSearchBinding.java:5127)

  at sun.reflect.GeneratedMethodAccessor448.invoke(Unknown Source)

  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

  at java.lang.reflect.Method.invoke(Method.java:601)

  at javax.el.BeanELResolver.getValue(BeanELResolver.java:305)

  at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)

  at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)

  at com.sun.el.parser.AstValue.getValue(AstValue.java:138)

  at com.sun.el.parser.AstValue.getValue(AstValue.java:183)

  at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:224)

  at org.apache.myfaces.trinidad.bean.FacesBeanImpl.getProperty(FacesBeanImpl.java:73)

  at oracle.adfinternal.view.faces.renderkit.rich.ValueRenderer.getValue(ValueRenderer.java:195)

  at oracle.adfinternal.view.faces.renderkit.rich.SimpleInputBaseRenderer.renderContentStyleAttributes(SimpleInputBaseRenderer.java:524)

  at oracle.adfinternal.view.faces.renderkit.rich.FormInputRenderer.renderAllContentAttributes(FormInputRenderer.java:480)

  at oracle.adfinternal.view.faces.renderkit.rich.SimpleInputBaseRenderer.renderAllContentAttributes(SimpleInputBaseRenderer.java:230)

  at oracle.adfinternal.view.faces.renderkit.rich.SimpleInputDateRenderer.renderAllContentAttributes(SimpleInputDateRenderer.java:712)

  at oracle.adfinternal.view.faces.renderkit.rich.SimpleInputDateRenderer.renderElementContent(SimpleInputDateRenderer.java:592)

  at oracle.adfinternal.view.faces.renderkit.rich.FormInputRenderer.encodeAllAsElement(FormInputRenderer.java:169)

  at oracle.adfinternal.view.faces.renderkit.rich.FormElementRenderer.encodeAll(FormElementRenderer.java:165)

  at oracle.adf.view.rich.render.RichRenderer.delegateRenderer(RichRenderer.java:1828)

  at oracle.adfinternal.view.faces.renderkit.rich.LabeledInputRenderer.renderFieldCellContents(LabeledInputRenderer.java:244)

  at oracle.adfinternal.view.faces.renderkit.rich.LabelLayoutRenderer.encodeAll(LabelLayoutRenderer.java:254)

  at oracle.adfinternal.view.faces.renderkit.rich.LabeledInputRenderer.encodeAll(LabeledInputRenderer.java:231)

  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 oracle.adfinternal.view.faces.renderkit.rich.table.BaseColumnRenderer$UIXColumnFilterWrapper._encodeChild(BaseColumnRenderer.java:2486)

  at oracle.adfinternal.view.faces.renderkit.rich.table.BaseColumnRenderer$UIXColumnFilterWrapper.encodeChildren(BaseColumnRenderer.java:2454)

  at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)

  at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:624)

  at oracle.adf.view.rich.render.RichRenderer.encodeChildInContext(RichRenderer.java:3251)

  at oracle.adfinternal.view.faces.renderkit.rich.table.BaseColumnRenderer._renderOrVisitFilterFacet(BaseColumnRenderer.java:1938)

  at oracle.adfinternal.view.faces.renderkit.rich.table.BaseColumnRenderer.renderColumnFilterCell(BaseColumnRenderer.java:1324)

  at oracle.adfinternal.view.faces.renderkit.rich.table.BaseColumnRenderer.encodeAll(BaseColumnRenderer.java:168)

  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 oracle.adfinternal.view.faces.renderkit.rich.table.BaseTableRenderer.access$2900(BaseTableRenderer.java:78)

  at oracle.adfinternal.view.faces.renderkit.rich.table.BaseTableRenderer$FlattenedColumnEncoder.processComponent(BaseTableRenderer.java:3155)

  at oracle.adfinternal.view.faces.renderkit.rich.table.BaseTableRenderer$FlattenedColumnEncoder.processComponent(BaseTableRenderer.java:3129)

  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.table.BaseTableRenderer.encodeFlattenedColumn(BaseTableRenderer.java:2928)

  at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer._renderFilterRow(TableRenderer.java:2508)

  at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer._renderColumnHeaderTable(TableRenderer.java:2113)

  at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer._renderColumnHeader(TableRenderer.java:1899)

  at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer.encodeAll(TableRenderer.java:727)

This post has been answered by Sébastien on Aug 11 2014
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Sep 8 2014
Added on Aug 1 2014
11 comments
2,204 views