Wise advice :o)

Jacques

De : "Scott Gray" <[EMAIL PROTECTED]>
> I wouldn't look at doing anything this weekend, there will probably be
> arguments against deprecation as well, best to wait for those to be
> heard.
>
> Scott
>
> On 28/10/2007, Jacques Le Roux <[EMAIL PROTECTED]> wrote:
> > Tim, Adrian, all,
> >
> > Thanks to Adrian, things are much more clear now and nobody (reading this 
> > ML) can argue that he/her was not aware.
> >
> > It seems that we got common ground now. I'm quite happy with that. I can 
> > help to document and deprecate (which does not mean
remove) if needed...
> >
> > It should be noted that even in Java very old deprecated method still 
> > stands. Backwards compatibility is something we can't
seriously ignore.
> >
> > Jacques
> >
> > De : "Adrian Crum" <[EMAIL PROTECTED]>
> > > Tim Ruppert <[EMAIL PROTECTED]> wrote:And no - I don't agree with your 
> > > "leave no room for discussion" stance on if
you don't go with what you're saying here you're against internationalization.  
What I do think is that if people decided not to use
the methods that provide strong Locale and TimeZone dependence, then they open 
themselves up to running into issues that they
could've avoided.
> > >
> > >
> > > I agree with you here. I should have worded that sentence better - "From 
> > > my perspective, any argument against deprecating the
older methods is an argument against internationalization."
> > >
> > > I'm all for making this a gradual transition. That sentence was intended 
> > > to address the notion that the older methods will
always be useful.
> > >
> > > -Adrian
> >   ----- Message d'origine -----
> >   De : Tim Ruppert
> >   À : [email protected]
> >   Envoyé : samedi 27 octobre 2007 22:44
> >   Objet : Re: Dates, Times, Internationalization, and the UtilDateTime class
> >
> >
> >   Adrian, first of all, I want to thank you for putting all of this 
> > information in one place.  it's a great thing for people to
be able to see your thought patterns and understand how all of this fits 
together.
> >
> >
> >   Here are my pros and cons with what you're saying here:
> >
> >
> >   Pros:  You are bettering the project with more consistent and 
> > reproduceable methods and procedures being put in.
> >
> >
> >   Cons: This removes backwards compatibility and for those of us that don't 
> > have one single application to keep track of - but
instead have a large number - this can be a costly modification to make.
> >
> >
> >   So, what I'm saying here is that while I believe that the work that you 
> > are doing here is a great win for the project overall,
I do not agree with breaking backwards compatibility to get there.  Leave the 
other ones in place - deprecate them for all I care,
but don't go around breaking things that aren't broken for other people.
> >
> >
> >   And no - I don't agree with your "leave no room for discussion" stance on 
> > if you don't go with what you're saying here you're
against internationalization.  What I do think is that if people decided not to 
use the methods that provide strong Locale and
TimeZone dependence, then they open themselves up to running into issues that 
they could've avoided.
> >
> >
> >   This is not a new project and these things are not new concepts - they 
> > evolve and get better - but I see no reason to remove
the other methods at this point - deprecate them, document them, and put the 
information explicitly in the Best Practices manual.
> >
> >
> >   Cheers,
> >   Tim
> >   --
> >   Tim Ruppert
> >   HotWax Media
> >   http://www.hotwaxmedia.com
> >
> >
> >   o:801.649.6594
> >   f:801.649.6595
> >
> >
> >
> >
> >   On Oct 27, 2007, at 2:19 PM, Adrian Crum wrote:
> >
> >
> >     I'm starting this thread in response to Jacques' suggestion that we 
> > discuss date/time calculations, the UtilDateTime class,
and whether or not older methods in that class should be deprecated.
> >
> >
> >     Anyone wanting to follow along or participate in the discussion should 
> > start off by visiting these links:
> >
> >
> >     http://www.onjava.com/pub/a/onjava/2003/06/05/java_calendar.html
> >     
> > http://www.icu-project.org/docs/papers/international_calendars_in_java.html
> >     http://www-128.ibm.com/developerworks/java/library/j-i18n.html#N1019D
> >
> >
> >     Prior to the recent work done to bring user-selected time zones into 
> > the project, OFBiz pretty much ignored a user's time
zone and locale and performed date/time calculations based upon the server's 
locale and time zone. This caused problems for
international users - as the previous links point out.
> >
> >
> >     The source of the problem was the UtilDateTime class, and Vinay Agarwal 
> > was the first developer to address the issue -
https://issues.apache.org/jira/browse/OFBIZ-2. The UtilDateTime class was 
updated in June 2007 to support the use of locales and
time zones in date/time calculations. Soon afterwards the framework was changed 
to accomodate a user-selected time zone - the user's
java.util.TimeZone object is now available in the service context, the session, 
and in the screen rendering context. In addition,
the user's last time zone selection is persisted.
> >
> >
> >     Once all of the infrastructure was in place to support a user-selected 
> > time zone, I worked on the Work Effort calendar to
support the new capability. That work was committed to the project in August 
2007. It's important for this discussion that the
international community visit this link:
> >
> >
> >     https://demo.hotwaxmedia.com/workeffort/control/month
> >
> >
> >     and spend some time experimenting with various time zones and locales. 
> > This is important because the server is located in
the central US, and yet the calendar always presents date/time data according 
to the user's locale and time zone selections. The
Work Effort calendar is a perfect demonstration of the concepts presented by 
IBM and the java community. The success of this effort
was due to using only the newer methods in UtilDateTime, and eliminating all 
calls to the older methods.
> >
> >
> >     With a successful working example of the new UtilDateTime methods, the 
> > question comes up: Should we keep the older methods
that ignore the user's time zone and locale? My answer is No. As long as those 
methods remain in the class, lazy developers will try
to use them. A perfect example is the commit in rev 586582 and the storm of 
controversy that erupted from it.
> >
> >
> >     I submitted a patch to deprecate the UtilDateTime methods that ignore 
> > the user's locale and time zone -
https://issues.apache.org/jira/browse/OFBIZ-1361. That patch is being 
challenged based upon the notion that the older methods will
always be useful. I don't agree with that view. Here's why:
> >
> >
> >     Now that we have the capability to better internationalize OFBiz, we 
> > should make efforts to do so. All of OFBiz should make
use of the new UtilDateTime methods so that the user is presented with 
consistent date/time data. There will be places in OFBiz that
will have exceptions - places where the server's locale and time zone are 
preferred. Let's use the Webtools component for an
example. If Webtools is intended to display date/time data in the server's time 
zone and locale, then that component can construct
its own TimeZone and Locale objects to be passed to the new methods. The bottom 
line is, if the older methods didn't exist, there
would still be ways to achieve the same results.
> >
> >
> >     It has been suggested that, instead of deprecating the older methods, 
> > they should have JavaDoc comments pointing out that
they shouldn't be used. Well, if they shouldn't be used, then why keep them?
> >
> >
> >     To summarize: Deprecating the methods provides an incentive for 
> > developers to stop using them. Backwards compatibility can
be achieved by supplying some form of default objects to the new methods.
> >
> >
> >     From my perspective, any argument in support of keeping the older 
> > methods is an argument against internationalization.
> >
> >
> >     -Adrian
> >
> >
> >
> >
> >      __________________________________________________
> >     Do You Yahoo!?
> >     Tired of spam?  Yahoo! Mail has the best spam protection around
> >     http://mail.yahoo.com
> >
> >
>

Reply via email to