[MGNLUI-8101] Column editing a Long value throws ClassCastException Created: 31/May/23  Updated: 06/Jun/23

Status: Open
Project: Magnolia UI
Component/s: app
Affects Version/s: 6.2.34
Fix Version/s: None

Type: Bug Priority: Neutral
Reporter: Roberto Gaona Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
causality
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Epic Link: AuthorX Support
Team: AuthorX

 Description   

Steps to reproduce

 - Define a field on an app like the following:

 

  detail:
    form:
      properties:
        test:
          $type: textField
          type: java.lang.Long
          converterClass: com.vaadin.data.converter.StringToLongConverter

 

 

 - Define a column from which we will try to edit the field defined before:

subApps:
  browser:
    workbench:
      contentViews:
        tree:
          columns:
            test:
              $type: textField
              expandRatio: 2
              name: test
              type: java.lang.Long
              editable: true

 - Try to edit the value from browser view (tree view for example).

Expected results

You are allowed to edit it without issue.

Actual results

The following error is thrown:

java.lang.ClassCastException: class java.lang.Long cannot be cast to class java.lang.String (java.lang.Long and java.lang.String are in module java.base of loader 'bootstrap')
	at com.vaadin.ui.AbstractTextField.setValue(AbstractTextField.java:47) ~[vaadin-server-8.15.2.jar:8.15.2]
	at com.vaadin.data.Binder$BindingImpl.convertAndSetFieldValue(Binder.java:1352) ~[vaadin-server-8.15.2.jar:8.15.2]
	at com.vaadin.data.Binder$BindingImpl.initFieldValue(Binder.java:1261) ~[vaadin-server-8.15.2.jar:8.15.2]
	at com.vaadin.data.Binder$BindingImpl.access$100(Binder.java:1095) ~[vaadin-server-8.15.2.jar:8.15.2]
	at com.vaadin.data.Binder.lambda$readBean$2(Binder.java:1903) ~[vaadin-server-8.15.2.jar:8.15.2]
	at java.util.ArrayList.forEach(ArrayList.java:1541) ~[?:?]
	at com.vaadin.data.Binder.readBean(Binder.java:1896) ~[vaadin-server-8.15.2.jar:8.15.2]
	at com.vaadin.ui.components.grid.EditorImpl.doEdit(EditorImpl.java:230) ~[vaadin-server-8.15.2.jar:8.15.2]
	at info.magnolia.ui.contentapp.browser.EditableCellFilteringEditor.doEdit(EditableCellFilteringEditor.java:96) ~[magnolia-ui-framework-6.2.32.jar:?]
	at com.vaadin.ui.components.grid.EditorImpl$1.bind(EditorImpl.java:152) ~[vaadin-server-8.15.2.jar:8.15.2]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
	at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:155) ~[vaadin-server-8.15.2.jar:8.15.2]
	... 113 more

Generated at Mon Feb 12 09:52:08 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.