1 package ru
.rentdom
.services
.user
;
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);
24 * Строим пайп создания пользователя
26 * @param configuration
30 public static CreateUserService
buildCreateUserService(
31 @InjectService("PipelineBuilder") PipelineBuilder builder
,
32 List
<CreateUserFilter
> configuration
,
34 return builder
.build(logger
,CreateUserService
.class,
35 CreateUserFilter
.class, configuration
,
36 new TerminatorImpl());
41 * Строим пайп смены пароля
43 * @param configuration
47 public static ChangePasswordService
buildChangePasswordService(
48 @InjectService("PipelineBuilder") PipelineBuilder builder
,
49 List
<ChangePasswordFilter
> configuration
,
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
>()
65 String username
= requestGlobals
.getHTTPServletRequest().getRemoteUser();
66 return userService
.findByUserName(username
);
70 configuration
.add(User
.class, new ApplicationStateContribution("session", creator
));