misc
[aramzamzam-commons.git] / tapestry-quickstart / src / main / java / ru / rentdom / services / user / UserModule.java
blob11d16c21f53dfddc148ee2bf8341b0892310abd9
1 package ru.rentdom.services.user;
3 import java.util.List;
5 import org.apache.tapestry5.ioc.MappedConfiguration;
6 import org.apache.tapestry5.ioc.ServiceBinder;
7 import org.apache.tapestry5.ioc.annotations.InjectService;
8 import org.apache.tapestry5.ioc.services.PipelineBuilder;
9 import org.apache.tapestry5.services.ApplicationStateContribution;
10 import org.apache.tapestry5.services.ApplicationStateCreator;
11 import org.apache.tapestry5.services.RequestGlobals;
12 import org.slf4j.Logger;
14 import ru.rentdom.dao.UserDAO;
15 import ru.rentdom.entities.User;
17 public class UserModule {
18 public static void bind(ServiceBinder binder) {
19 binder.bind(UserDAO.class);
20 binder.bind(UserService.class);
23 /**
24 * Строим пайп создания пользователя
25 * @param builder
26 * @param configuration
27 * @param logger
28 * @return
30 public static CreateUserService buildCreateUserService(
31 @InjectService("PipelineBuilder") PipelineBuilder builder,
32 List<CreateUserFilter> configuration,
33 Logger logger) {
34 return builder.build(logger,CreateUserService.class,
35 CreateUserFilter.class, configuration,
36 new TerminatorImpl());
40 /**
41 * Строим пайп смены пароля
42 * @param builder
43 * @param configuration
44 * @param logger
45 * @return
47 public static ChangePasswordService buildChangePasswordService(
48 @InjectService("PipelineBuilder") PipelineBuilder builder,
49 List<ChangePasswordFilter> configuration,
50 Logger logger) {
51 return builder.build(logger, ChangePasswordService.class,
52 ChangePasswordFilter.class, configuration,
53 new TerminatorImpl());
56 @SuppressWarnings("unchecked")
57 public void contributeApplicationStateManager(MappedConfiguration<Class, ApplicationStateContribution> configuration,
58 final RequestGlobals requestGlobals,
59 final UserService userService)
61 ApplicationStateCreator<User> creator = new ApplicationStateCreator<User>()
63 public User create()
65 String username = requestGlobals.getHTTPServletRequest().getRemoteUser();
66 return userService.findByUserName(username);
70 configuration.add(User.class, new ApplicationStateContribution("session", creator));