myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Winer" <awi...@gmail.com>
Subject Re: MyFaces 1.2 backwards compatibility
Date Tue, 29 May 2007 16:15:02 GMT
Wow, the RI *does* do that.  Hadn't noticed that bit of code
before, thanks for pointing it out.

IMO, this is clever code, but not a great direction - I don't
know of wiggle room in the JSF spec for a 1.2 implementation
to sometime behave like 1.1, and it seems like it'd be generally
unpredictable seeing as the order of ViewHandler registration is
unpredictable, and it's far from clear that the "top" ViewHandler
is even really what you care about, seeing as you might
have a 1.2 decorator around a 1.1 view handler.

This also looks like the only case of this particular version
tracking behavior in the RI.

Anyway, I'd say don't bother.

-- Adam


On 5/29/07, Bruno Aranda <brunoaranda@gmail.com> wrote:
> But then why the RI uses it to fall into old view and state management
> behaviour in case of a postback if the artifact is implemented using
> <1.2. In our case, without that, in case of postback and the view
> being returned is null we throw a ViewExpiredException. The RI, in the
> same case, creates a new view.
>
> Am I missing something?
>
> Cheers,
>
> Buno
>
> On 29/05/07, Adam Winer <awiner@gmail.com> wrote:
> > On 5/28/07, Bruno Aranda <brunoaranda@gmail.com> wrote:
> > > Hi,
> > >
> > > For backwards compatibility, when restoring the view we need to know
> > > if older (<1.2) ViewHandler and StateManager are used in order to fall
> > > into 1.1 behaviour if they are older. The RI checks the faces-config
> > > file of the artifact [1], inferring the version from the XML grammar
> > > (name of the DTD or schema). If it is not the 1.2 schema, the
> > > behaviour is the 1.1 one. Do you have a better idea on how to check
> > > the version used in the implementation of an artifact (e.g. tomahawk)?
> >
> > AFAIK, that is not the case:  the faces-config version is
> > only consulted to determine how to parse the faces-config file,
> > and has no runtime effect other than that.
> >
> > -- Adam
> >
> > >
> > > The resulting error of not tracking the version can be observed when
> > > running the sandbox with myfaces 1.2, in the convertNumber example.
> > >
> > > cd tomahawk/sandbox/examples
> > > mvn -PjettyConfig clean jetty:run -Djsf=12
> > >
> > > With the RI (-Djsf=ri12) this does not happen.
> > >
> > > Cheers,
> > >
> > > Bruno
> > >
> > > [1] https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=149
> > >
> >
>

Mime
View raw message