Re: Error while launching Login page

2009-04-21 Thread ChandraB


I am a newbie to tapestry, i am getting NullPointerException when i access
authManager.
How do i inject AuthManager?

Chandra



ChandraB wrote:
> 
> Service id 'authenticationProvider' is not defined by any module
> 
> 
> My appModule.java is as below 
> 
> public class AppModule
> {
> public static void bind(ServiceBinder binder)
> {
>
> 
> binder.bind(com.eveo.edetail.reporting.service.UserDetailsService.class,
> UserDetailsServiceImpl.class).withId("UserDetailsServiceImpl");
>   binder.bind(SaltSourceService.class,
> SaltSourceImpl.class).withId("SaltSourceImpl");
> 
> }
> public static SaltSourceService buildMySaltSource() throws Exception {
> SaltSourceImpl saltSource = new SaltSourceImpl();
> saltSource.setSystemWideSalt("DEADBEEF");
> saltSource.afterPropertiesSet();
> return saltSource;
> }
> 
> public static UserDetailsService buildUserDetailsService(UserDao
> userDao) {
> return new
> com.eveo.edetail.reporting.service.impl.UserDetailsServiceImpl(userDao);
> }
>
>public static void contributeProviderManager(
> OrderedConfiguration configuration,
> @InjectService("DaoAuthenticationProvider")
> AuthenticationProvider daoAuthenticationProvider) {
>  
>  
>  
>   System.out.println("AppModule: contributeProviderManager" +
> configuration);  
>   System.out.println(">>"+daoAuthenticationProvider); 
>
> configuration.add("daoAuthenticationProvider",
> daoAuthenticationProvider);
> 
> 
> }
> public static AuthenticationProcessingFilter
> buildMyAuthenticationProcessingFilter(
> @AcegiServices final AuthenticationManager manager,
> @AcegiServices final RememberMeServices rememberMeServices,
> @Inject @Value("${acegi.check.url}") final String authUrl,
> @Inject @Value("${acegi.target.url}") final String targetUrl,
> @Inject @Value("${acegi.failure.url}") final String
> failureUrl)
>   
> throws Exception {
>   
>   
>   System.out.println("Auth URL"+ authUrl );
>   AuthenticationProcessingFilter filter = new
> AuthenticationProcessingFilter();
>   filter.setAuthenticationManager(manager);
>   filter.setAuthenticationFailureUrl(failureUrl);
>   filter.setDefaultTargetUrl(targetUrl);
>   filter.setFilterProcessesUrl(authUrl);
>   filter.setRememberMeServices(rememberMeServices);
>   filter.afterPropertiesSet();
>   return filter;
>   }
> 
>   public static void contributeAliasOverrides(
>   @InjectService("MySaltSource")
>   SaltSourceService saltSource,
>   @InjectService("MyAuthenticationProcessingFilter")
>   AuthenticationProcessingFilter
> authenticationProcessingFilter,
>   Configuration configuration) {
>   
>   System.out.println("AppModule: contributeAliasOverrides" +
> configuration);  
>  
> configuration.add(AliasContribution.create(SaltSourceService.class,saltSource));
>  
> configuration.add(AliasContribution.create(AuthenticationProcessingFilter.class,authenticationProcessingFilter));
>   } 
>   
>   
> public static LoginHelper
> buildLoginHelper(@InjectService("MySaltSource") SaltSourceService
>   saltSource, PasswordEncoder encrypter , 
> AuthenticationManager
> authManager) {
> return new AcegiLoginHelper(authManager,saltSource,encrypter);
>   //return new AcegiLoginHelper(authManager);
> } 
> 
> 
> public static void
> contributeApplicationDefaults(MappedConfiguration
> configuration){  
> configuration.add(SymbolConstants.SUPPORTED_LOCALES, "en");
> configuration.add(SymbolConstants.PRODUCTION_MODE, "false");
> configuration.add("acegi.failure.url", "/error");
> configuration.add("acegi.password.encoder",
> "org.acegisecurity.providers.encoding.PlaintextPasswordEncoder");
> configuration.add("acegi.target.url", "/Program");
> }
> 
> 
> /**
>  

Error while launching Login page

2009-04-21 Thread ChandraB

Service id 'authenticationProvider' is not defined by any module


My appModule.java is as below 

public class AppModule
{
public static void bind(ServiceBinder binder)
{
   

binder.bind(com.eveo.edetail.reporting.service.UserDetailsService.class,
UserDetailsServiceImpl.class).withId("UserDetailsServiceImpl");
binder.bind(SaltSourceService.class,
SaltSourceImpl.class).withId("SaltSourceImpl");

}
public static SaltSourceService buildMySaltSource() throws Exception {
SaltSourceImpl saltSource = new SaltSourceImpl();
saltSource.setSystemWideSalt("DEADBEEF");
saltSource.afterPropertiesSet();
return saltSource;
}

public static UserDetailsService buildUserDetailsService(UserDao
userDao) {
return new
com.eveo.edetail.reporting.service.impl.UserDetailsServiceImpl(userDao);
}
   
   public static void contributeProviderManager(
OrderedConfiguration configuration,
@InjectService("DaoAuthenticationProvider")
AuthenticationProvider daoAuthenticationProvider) {
   
   
   
System.out.println("AppModule: contributeProviderManager" +
configuration);
System.out.println(">>"+daoAuthenticationProvider); 
   
configuration.add("daoAuthenticationProvider",
daoAuthenticationProvider);


}
public static AuthenticationProcessingFilter
buildMyAuthenticationProcessingFilter(
@AcegiServices final AuthenticationManager manager,
@AcegiServices final RememberMeServices rememberMeServices,
@Inject @Value("${acegi.check.url}") final String authUrl,
@Inject @Value("${acegi.target.url}") final String targetUrl,
@Inject @Value("${acegi.failure.url}") final String failureUrl)

throws Exception {


System.out.println("Auth URL"+ authUrl );
AuthenticationProcessingFilter filter = new
AuthenticationProcessingFilter();
filter.setAuthenticationManager(manager);
filter.setAuthenticationFailureUrl(failureUrl);
filter.setDefaultTargetUrl(targetUrl);
filter.setFilterProcessesUrl(authUrl);
filter.setRememberMeServices(rememberMeServices);
filter.afterPropertiesSet();
return filter;
}

public static void contributeAliasOverrides(
@InjectService("MySaltSource")
SaltSourceService saltSource,
@InjectService("MyAuthenticationProcessingFilter")
AuthenticationProcessingFilter 
authenticationProcessingFilter,
Configuration configuration) {

System.out.println("AppModule: contributeAliasOverrides" +
configuration);
   
configuration.add(AliasContribution.create(SaltSourceService.class,saltSource));
   
configuration.add(AliasContribution.create(AuthenticationProcessingFilter.class,authenticationProcessingFilter));
} 


public static LoginHelper
buildLoginHelper(@InjectService("MySaltSource") SaltSourceService
saltSource, PasswordEncoder encrypter , 
AuthenticationManager
authManager) {
return new AcegiLoginHelper(authManager,saltSource,encrypter);
//return new AcegiLoginHelper(authManager);
} 


public static void
contributeApplicationDefaults(MappedConfiguration
configuration){  
configuration.add(SymbolConstants.SUPPORTED_LOCALES, "en");
configuration.add(SymbolConstants.PRODUCTION_MODE, "false");
configuration.add("acegi.failure.url", "/error");
configuration.add("acegi.password.encoder",
"org.acegisecurity.providers.encoding.PlaintextPasswordEncoder");
configuration.add("acegi.target.url", "/Program");
}


/**
 * This is a service definition, the service will be named
"TimingFilter". The interface,
 * RequestFilter, is used within the RequestHandler service pipeline,
which is built from the
 * RequestHandler service configuration. Tapestry IoC is responsible for
passing in an
 * appropriate Logger instance. Requests for static resources are
handled at a higher level, so
 * this filter will only be invoked for Tapestry related requests.
 * 
 * 
 * Service builder methods are useful when the implementation is inline
as an inner class
 * (as here) or require some other kind of special initialization. In
most cases,
 * use the static bind() method instead. 
 * 
 * 
 * If this method was named "build", then the service id would be taken
from the 
 * service interface and would be "RequestFilter".  Since Tapestry
already defines
 * a