Thanks. I basically figured that out last night but I see the email I
started to post back to the list never made it out of my Drafts box.

The DateTimePropertyEditor I ended up creating uses the "date.format"
application property provided by AppFuse, and if that fails it tries
the Joda-Time default format (ISO8601).

Thanks again.

Nathan

On 12/4/08, Fabio Cepeda <[EMAIL PROTECTED]> wrote:
>
> Hi Nathan,
>
> This error usually happens when the form controller is not able to convert a
> string representation of the object to the real object. Property editors are
> used for this and spring doesn't support joda-time out of the box, so you
> have to implement your own.
>
> The error that you have says that the string "2008-12-02T00:00:00.000-08:00"
> cannot be converted to a DateTime object. When you have a request spring
> controllers do a lot magic behind the scenes such as data binding, and it is
> here were the property editors are used.
>
> Do you have a custom property editor for DateTime in the initBinder method?
> You say you can save and update when you run "mvn jetty:run" check the
> format of the string for the lastUpdated field, maybe is just a matter of
> how the string is getting formatted in your test method.
>
> I hope it helps,
>
> Fabio
>
>
>
> melinate wrote:
>>
>> Hi folks,
>>
>> I have an Appfuse 2.0.2 application with Spring MVC and iBatis.  There is
>> going to be a lot of date time math in this app, so I am trying to use
>> Joda-Time for date fields in my POJO's.  I figured out how to make iBatis
>> convert the Timestamp to Joda's DateTime class.  But I have one test that
>> is
>> failing and I'm not sure why and I'm hoping someone here can help.
>>
>> I have a POJO called "Client" with a DateTime property called
>> "lastUpdated".
>>   I get an error when I run ClientFormControllerTest.testSave(), but I can
>> create a new client or update an existing client when  I run "mvn
>> jetty:run".
>>
>> Here's the test method:
>>
>>     public void testSave() throws Exception {
>>         MockHttpServletRequest request = newGet("/clientform.html");
>>         request.setRemoteUser("test");
>>         request.addParameter("id", "1");
>>
>>         ModelAndView mv = controller.handleRequest(request, new
>> MockHttpServletResponse());
>>
>>         Client client = (Client)
>> mv.getModel().get(controller.getCommandName());
>>         assertNotNull(client);
>>
>>         request = newPost("/clientform.html");
>>         super.objectToRequestParameters(client, request);
>>         request.setRemoteUser("test");
>>         request.addParameter("name", "Updated Name");
>>
>>         mv = controller.handleRequest(request, new
>> MockHttpServletResponse());
>>
>>         Errors errors = (Errors)
>> mv.getModel().get(BindException.MODEL_KEY_PREFIX + "client");
>>         if (errors != null ) {
>>             log.error(errors.getAllErrors());
>>         }
>>
>>         assertNull(errors); // <-- this assertion fails
>>
>>
>> assertNotNull(request.getSession().getAttribute("successMessages"));
>>     }
>>
>>
>> And the error message that is being returned:
>>
>> DEBUG - ClientFormControllerTest.testSave(48) | [Field error in object
>> 'client' on field 'lastUpdated': rejected value
>> [2008-12-02T00:00:00.000-08:00]; codes [t
>> ypeMismatch.client.lastUpdated,typeMismatch.lastUpdated,typeMismatch.org.joda.time.DateTime,typeMismatch];
>> arguments [org.springframework.context.support.Defaul
>> tMessageSourceResolvable: codes [client.lastUpdated,lastUpdated];
>> arguments
>> []; default message [lastUpdated]]; default message [Failed to convert
>> property valu
>> e of type [java.lang.String] to required type [org.joda.time.DateTime] for
>> property 'lastUpdated'; nested exception is
>> java.lang.IllegalArgumentException: Canno
>> t convert value of type [java.lang.String] to required type
>> [org.joda.time.DateTime] for property 'lastUpdated': no matching editors
>> or
>> conversion strategy foun
>> d]]
>>
>> Thanks for any help.
>>
>> Nathan
>>
>>
>
> --
> View this message in context:
> http://www.nabble.com/Spring-MVC-test-failure-with-Joda-Time-tp20808213s2369p20837923.html
> Sent from the AppFuse - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to