1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package fr.paris.lutece.plugins.workflow.service.taskinfo;
35
36 import fr.paris.lutece.plugins.workflowcore.service.task.ITask;
37 import fr.paris.lutece.plugins.workflowcore.service.task.ITaskService;
38 import fr.paris.lutece.plugins.workflowcore.service.task.TaskService;
39 import fr.paris.lutece.portal.service.i18n.I18nService;
40 import fr.paris.lutece.portal.service.spring.SpringContextService;
41
42 import org.apache.commons.lang3.StringUtils;
43
44 import java.util.List;
45 import java.util.Locale;
46
47 import javax.servlet.http.HttpServletRequest;
48
49
50
51
52
53
54 public final class TaskInfoManager
55 {
56
57
58
59 private TaskInfoManager( )
60 {
61 }
62
63
64
65
66
67
68 public static List<ITaskInfoProvider> getProvidersList( )
69 {
70 return SpringContextService.getBeansOfType( ITaskInfoProvider.class );
71 }
72
73
74
75
76
77
78
79
80 public static ITaskInfoProvider getProvider( String strProviderKey )
81 {
82 if ( StringUtils.isNotBlank( strProviderKey ) )
83 {
84 for ( ITaskInfoProvider provider : getProvidersList( ) )
85 {
86 if ( ( provider != null ) && ( provider.getTaskType( ) != null ) && strProviderKey.equals( provider.getTaskType( ).getKey( ) ) )
87 {
88 return provider;
89 }
90 }
91 }
92
93 return null;
94 }
95
96
97
98
99
100
101
102
103
104
105
106
107 public static String getTaskResourceInfo( int nIdHistory, int nIdTask, HttpServletRequest request )
108 {
109 String strInfo = StringUtils.EMPTY;
110 Locale locale = getLocale( request );
111 ITaskService taskService = SpringContextService.getBean( TaskService.BEAN_SERVICE );
112 ITask task = taskService.findByPrimaryKey( nIdTask, locale );
113
114 if ( task != null )
115 {
116 ITaskInfoProvider provider = getProvider( task.getTaskType( ).getKey( ) );
117
118 if ( provider != null )
119 {
120 strInfo = provider.getTaskResourceInfo( nIdHistory, nIdTask, request );
121 }
122 }
123
124 return strInfo;
125 }
126
127
128
129
130
131
132
133
134 private static Locale getLocale( HttpServletRequest request )
135 {
136 Locale locale = null;
137
138 if ( request != null )
139 {
140 locale = request.getLocale( );
141 }
142 else
143 {
144 locale = I18nService.getDefaultLocale( );
145 }
146
147 return locale;
148 }
149 }