/*
 * jGuard is a security framework based on top of jaas (java authentication and authorization security).
 * it is written for web applications, to resolve simply, access control problems.
 * version $Name$
 * http://sourceforge.net/projects/jguard/
 *
 * Copyright (C) 2004-2011  Charles Lescot
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 *
 * jGuard project home page:
 * http://sourceforge.net/projects/jguard/
 */

package net.sf.jguard.jsf.authentication.filters;

import com.google.inject.Provider;
import net.sf.jguard.core.authentication.AuthenticationServicePoint;
import net.sf.jguard.core.authentication.callbackhandler.AsynchronousJGuardCallbackHandler;
import net.sf.jguard.core.authentication.filters.AuthenticationChallengeFilter;
import net.sf.jguard.jsf.FacesContextAdapter;

import javax.inject.Inject;

/**
 * @author <a href="mailto:diabolo512@users.sourceforge.net">Charles Lescot</a>
 */
public class JSFAuthenticationChallengeFilter extends AuthenticationChallengeFilter<FacesContextAdapter, FacesContextAdapter> {

    @Inject
    public JSFAuthenticationChallengeFilter(AuthenticationServicePoint<FacesContextAdapter, FacesContextAdapter> authenticationServicePoint,
                                            Provider<AsynchronousJGuardCallbackHandler<FacesContextAdapter, FacesContextAdapter>> jGuardCallbackHandlerProvider) {
        super(authenticationServicePoint, jGuardCallbackHandlerProvider);
    }
}

@@ -1168,43 +1168,8 @@
 s;%0A%0A
-import com.google.inject.Provider;%0A
 impo
@@ -1290,28 +1290,16 @@
 handler.
-Asynchronous
 JGuardCa
@@ -1418,60 +1418,212 @@
 ard.
-jsf.FacesContextAdapter;%0A%0Aimport javax.inject.Inject
+core.authentication.schemes.AuthenticationSchemeHandler;%0Aimport net.sf.jguard.jsf.FacesContextAdapter;%0Aimport net.sf.jguard.jsf.JSFCallbackHandler;%0A%0Aimport javax.inject.Inject;%0Aimport java.util.Collection
 ;%0A%0A/
@@ -2039,43 +2039,39 @@
     
-Provider%3CAsynchronousJGuardCallback
+Collection%3CAuthenticationScheme
 Hand
@@ -2121,37 +2121,46 @@
 r%3E%3E 
-jGuardCallbackHandlerProvider
+registeredAuthenticationSchemeHandlers
 ) %7B%0A
@@ -2205,37 +2205,367 @@
 nt, 
-jGuardCallbackHandlerProvid
+registeredAuthenticationSchemeHandlers);%0A    %7D%0A%0A    @Override%0A    public JGuardCallbackHandler%3CFacesContextAdapter, FacesContextAdapter%3E getCallbackHandler(FacesContextAdapter facesContextAdapter, FacesContextAdapter facesContextAdapter1) %7B%0A        return new JSFCallbackHandler(facesContextAdapter, facesContextAdapter, registeredAuthenticationSchemeHandl
 er
+s
 );%0A 

fix compilation pb