Yes, it is a TCK issue. The RI also throws this Exception...

Bruno

2005/9/19, Martin Marinschek <[EMAIL PROTECTED]>:
> Kevin,
> 
> can I ask you to open this as an issue? I don't want to do any changes
> here without checking back with regards to RI compatibility...
> 
> If you open an issue, we will keep this in mind.
> 
> regards,
> 
> Martin
> 
> On 9/19/05, Kevin Roast <[EMAIL PROTECTED]> wrote:
> >
> >
> > Hi,
> >
> > I'll explain a little about why we need this.
> >
> > In our application, we have the concept of Users and Login/Logout - all
> > pretty standard stuff.
> >
> > The app is a faces JSP web application. When the user logs out of the
> > application, we want to invalidation or at least clear the session.
> > Obviously because we are in a JSF app, we use an action event handler when
> > the user clicks "logout". The example code we used with MyFaces 1.0.9 was:
> >
> >    /**
> >     * Invalidate ticket and logout user
> >     */
> >    public String logout()
> >    {
> >       FacesContext context = FacesContext.getCurrentInstance();
> >
> >       // clear Session for this user
> >       context.getExternalContext().getSessionMap().clear();
> >
> >       // invalidate User ticket
> >       ...
> >
> >       return "logout";
> >    }
> >
> > As you can see, we clear the session for the user.
> >
> > With MyFaces 1.1.0 you cannot call clear() as it throws
> > UnsupportedOperationException.
> >
> > I tried this code instead:
> >
> >    /**
> >     * Invalidate ticket and logout user
> >     */
> >    public String logout()
> >    {
> >       FacesContext context = FacesContext.getCurrentInstance();
> >
> >       Map session = context.getExternalContext().getSessionMap();
> >       User user = (User)
> > session.get(AuthenticationHelper.AUTHENTICATION_USER);
> >
> >       // clear Session for this user
> >       Object extSession = context.getExternalContext().getSession(false);
> >       if (extSession instanceof HttpSession)
> >       {
> >          ((HttpSession)session).invalidate();
> >       }
> >
> >       // invalidate User ticket
> >       ...
> >
> >       return "logout";
> >    }
> >
> > But suprisingly this doesn't work either. Calling invalidate() throws a
> > ClassCastException…
> >
> > Any ideas how we do this with the new MyFaces, or am I going to have to
> > patch the source for our application?
> >
> > Thanks,
> >
> > Kevin
> > --
> > http://www.alfresco.org
> >
> >
> > _____________________________________________
> > From:   Kevin Roast
> > Sent:   19 September 2005 14:45
> > To:     '[email protected]'
> > Subject:        Another change since 1.0.9 - SessionMap.clear()
> >
> > Hi,
> >
> > Can I ask why
> > org.apache.myfaces.context.servlet.SessionMap.clear() now
> > throws UnsupportedOperationException?
> >
> > Thanks,
> >
> > Kevin
> > --
> > http://www.alfresco.org
> >
> 
> 
> --
> 
> http://www.irian.at
> Your JSF powerhouse -
> JSF Trainings in English and German
>

Reply via email to