>> Consider placing the SimpleDateFormat as a local variable
exactly right

or, consider using a ThreadLocal
or, consider using commons-lang's FastDateFormat

http://commons.apache.org/lang/api-release/org/apache/commons/lang/time/
FastDateFormat.html

Brad Cupit
Louisiana State University - UIS
e-mail: [EMAIL PROTECTED]
office: 225.578.4774


-----Original Message-----
From: Alberto A. Flores [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, April 09, 2008 7:48 AM
To: Struts Users Mailing List
Subject: Re: date conversion

Consider placing the SimpleDateFormat as a local variable (within the 
method) to avoid non-thread safe operations (guaranteed by the jvm
spec).


Brad A Cupit wrote:
> the static SimpleDateFormat (assuming this code is in an S2 Action
that
> is instantiated per request) is not thread safe.
> 
>
http://java.sun.com/javase/6/docs/api/java/text/SimpleDateFormat.html#sy
> nchronization
> 
> Brad Cupit
> Louisiana State University - UIS
> 
> -----Original Message-----
> From: Zoran Avtarovski [mailto:[EMAIL PROTECTED] 
> Sent: Tuesday, April 08, 2008 7:30 PM
> To: Struts Users Mailing List
> Subject: Re: date conversion
> 
> We had the same issue and went with writing a new converter (shown
> below).
> And then created a xwork-conversion.properties file pointing to it.
> 
> Z.
> 
>     private final static SimpleDateFormat DATE_FORMAT = new
> SimpleDateFormat("dd/MM/yyyy");     @Override    public Object
> convertFromString(Map context, String[] values, Class toType) throws
> TypeConversionException {            try {                return
> DATE_FORMAT.parse( values[0]);            } catch (ParseException e) {
> e.printStackTrace();                throw new
> TypeConversionException("xwork.default.invalid.fieldvalue");
> }
> return null;    }     @Override    public String convertToString(Map
> context, Object object) {        Calendar cal =
Calendar.getInstance();
> cal.setTime((Date) object);                try {             return
> DATE_FORMAT.format(object);                } catch (Exception e) {
> throw new TypeConversionException("xwork.default.invalid.fieldvalue");
> }    } 
> 
> 
>> Can you patch a whole class?
>>
>> What would be useful is parameterizable type converters, to specify
> the date
>> format in this case. (they're not parameterizable, are they?)
>>
>> Dave Newton on 08/04/08 22:13, wrote:
>>>> --- Adam Hardy <[EMAIL PROTECTED]> wrote:
>>>>>> One area where S1 actually had the upper hand :(
>>>> Submit a patch :)
>>>>
>>>> Dave
>>>>
>>>>>> Dave Newton on 08/04/08 18:36, wrote:
>>>>>>>> The built-in type converter uses "uses the SHORT format for the
> Locale
>>>>>>>> associated with the current request" according to the type
> conversion
>>>>>> docs,
>>>>>>>> so yes, you'll need to do your own if you're using a different
> input
>>>>>> format.
>>>>>>>> Looking through the XWork conversion code it's hard for me to
> tell what
>>>>>> it's
>>>>>>>> *actually* doing, though :/
>>>>>>>>
>>>>>>>> Dave
>>>>>>>>
>>>>>>>> --- Brad A Cupit <[EMAIL PROTECTED]> wrote:
>>>>>>>>
>>>>>>>>>> JSTL has the <fmt:formatDate> tag. If you want to do it in
> Java,
>>>>>> rather
>>>>>>>>>> than your JSP, you can use SimpleDateFormat.
>>>>>>>>>>
>>>>>>>>>> Be aware that SimpleDataFormat is not thread safe, so don't
> assign it
> to
>>>>>> a
>>>>>>>>>> static field or use it in a singleton. If you use it as an
> instance
>>>>>> field
>>>>>>>>>> on an Action you'll be safe, since Actions are created per
> request.
>>>>>>>>>> If you want a thread safe version of SimpleDateFormat,
> Jakarta
>>>>>> Commons
>>>>>> lang
>>>>>>>>>> has FastDateFormat: http://commons.apache.org/lang/
>>>>>>>>>>
>>>>>>>>>> Brad Cupit
>>>>>>>>>> Louisiana State University - UIS
>>>>>>>>>> e-mail: [EMAIL PROTECTED]
>>>>>>>>>> office: 225.578.4774
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> From: Adam Hardy [mailto:[EMAIL PROTECTED]
>>>>>>>>>> Sent: Tuesday, April 08, 2008 12:11 PM
>>>>>>>>>> To: Struts Users Mailing List
>>>>>>>>>> Subject: date conversion
>>>>>>>>>>
>>>>>>>>>> Hi
>>>>>>>>>>
>>>>>>>>>> quick question, I can't find any specific mention of what I
> want so I
>>>>>>>>>> assume I
>>>>>>>>>> have to code my own Converter.
>>>>>>>>>>
>>>>>>>>>> I need a date in the ISO format YYYY-MM-DD
>>>>>>>>>>
>>>>>>>>>> There is no converter that I can configure in the struts
> package, is
>>>>>> there?
>>
>> ---------------------------------------------------------------------
>> 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]
> 
> 

-- 

Alberto A. Flores
http://www.linkedin.com/in/aflores



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

Reply via email to