[
https://jira.jboss.org/jira/browse/JBSEAM-3551?page=com.atlassian.jira.pl...
]
Dan Allen resolved JBSEAM-3551.
-------------------------------
Resolution: Done
Labels: jsf converter (was: )
After I did some thinking, I realized that you are absolutely correct. There is no harm in
providing a default converter since it is easily overridden at the input or page
parameter. I took your sample code and ran with it. By default, it captures a date using
the short pattern according to the locale of the user and the Seam time zone. The defaults
can be overridden using component configuration.
The only downside is that the time is left off. Unfortunately, all Java gives us is Date,
there is no DateTime type. Yes, there are types in java.sql, but my guess is that nobody
uses those. Therefore, we have no way of knowing by default whether the developer wants to
capture a time or simply a date. I guess we can go with this implementation and see how
people react.
I also updated the docs in several places to mention this feature.
Seam can not convert java.util.Date, it ignores
javax.faces.convert.DateTimeConverter
-------------------------------------------------------------------------------------
Key: JBSEAM-3551
URL:
https://jira.jboss.org/jira/browse/JBSEAM-3551
Project: Seam
Issue Type: Feature Request
Components: JSF Integration
Affects Versions: 2.0.2.SP1
Environment: Jdk 1.5. Tomcat 6.0.18, Jboss Tools 2.1.2
Reporter: Francisco Jose Peredo Noguez
Assignee: Dan Allen
Fix For: 2.2.0.CR1
Attachments: SeamTestCase.zip
Create a Seam project using Jboss Tools 2.1.2.
Create a new Seam Form with name "SeamDateForm"
Open the file SeamDateForm.java and change the value from Integer to java.util.Date.
Right-click seamDateForm.xhtml and click Run As... -> Run On Server.
Write something in the form (like for example some random string "dfasdf")
You will get the error: Conversion Error setting value 'dfasdf' for 'null
Converter'.
Now create a Date Converter, as the one included in the attached test case project (BTW
it inherits from javax.faces.convert.DateTimeConverter).
Stop the application (just to be 100% sure everything gets loaded correctly)
Again:
Right-click seamDateForm.xhtml and click Run As... -> Run On Server.
Write something in the form (like for example some random string "dfasdf")
Now you get the right error: value must be a date, eg. 10/13/2008.
Of course it not only fails when you write a random string, even if you write a correct
date, like 01/01/2001, you will get an error that says: Conversion Error setting value
'01/01/2001' for 'null Converter'. But if you write your own converter
(for example inheriting from javax.faces.convert.DateTimeConverter) everything works
fine.
I think Seam should use javax.faces.convert.DateTimeConverter by default, I shouldn't
need to create my own converter.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira