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.genericattributes.service.entrytype;
35
36 import java.util.List;
37 import java.util.Locale;
38
39 import javax.servlet.http.HttpServletRequest;
40 import javax.servlet.http.HttpSession;
41
42 import org.apache.commons.collections.CollectionUtils;
43 import org.apache.commons.lang3.StringUtils;
44
45 import fr.paris.lutece.plugins.genericattributes.business.Entry;
46 import fr.paris.lutece.plugins.genericattributes.business.GenericAttributeError;
47 import fr.paris.lutece.plugins.genericattributes.business.Response;
48 import fr.paris.lutece.plugins.genericattributes.util.GenericAttributesUtils;
49 import fr.paris.lutece.portal.service.i18n.I18nService;
50 import fr.paris.lutece.portal.service.message.AdminMessage;
51 import fr.paris.lutece.portal.service.message.AdminMessageService;
52
53
54
55
56
57
58
59
60 public abstract class AbstractEntryTypeSession extends EntryTypeService
61 {
62 private static final String ERROR_FIELD_ATTRIBUTE_NAME = "genericattributes.createEntry.labelAttributeName";
63
64
65
66
67 @Override
68 public String getRequestData( Entry entry, HttpServletRequest request, Locale locale )
69 {
70 initCommonRequestData( entry, request );
71 String strTitle = request.getParameter( PARAMETER_TITLE );
72 String strCode = request.getParameter( PARAMETER_ENTRY_CODE );
73 String strAttibuteName = request.getParameter( PARAMETER_VALUE );
74 String strMandatory = request.getParameter( PARAMETER_MANDATORY );
75
76 String strFieldError = StringUtils.EMPTY;
77
78 if ( StringUtils.isBlank( strTitle ) )
79 {
80 strFieldError = ERROR_FIELD_TITLE;
81 }
82 else
83 if ( StringUtils.isBlank( strAttibuteName ) )
84 {
85 strFieldError = ERROR_FIELD_ATTRIBUTE_NAME;
86 }
87
88 if ( StringUtils.isNotBlank( strFieldError ) )
89 {
90 Object [ ] tabRequiredFields = {
91 I18nService.getLocalizedString( strFieldError, locale )
92 };
93
94 return AdminMessageService.getMessageUrl( request, MESSAGE_MANDATORY_FIELD, tabRequiredFields, AdminMessage.TYPE_STOP );
95 }
96
97 entry.setCode( strCode );
98 entry.setTitle( strTitle );
99 entry.setHelpMessage( StringUtils.EMPTY );
100 entry.setComment( StringUtils.EMPTY );
101 entry.setMandatory( StringUtils.isNotEmpty( strMandatory ) );
102 entry.setUnique( false );
103
104 GenericAttributesUtils.createOrUpdateField( entry, FIELD_ATTRIBUTE_NAME, strTitle, strAttibuteName );
105 return null;
106 }
107
108
109
110
111 @Override
112 public GenericAttributeError getResponseData( Entry entry, HttpServletRequest request, List<Response> listResponse, Locale locale )
113 {
114 String strValueEntry = StringUtils.EMPTY;
115 HttpSession session = request.getSession( false );
116
117 if ( session != null && CollectionUtils.isNotEmpty( entry.getFields( ) ) && entry.getFields( ).get( 0 ) != null )
118 {
119 String strAttributeName = entry.getFieldByCode( FIELD_ATTRIBUTE_NAME ).getValue( );
120 strValueEntry = (String) session.getAttribute( strAttributeName );
121 }
122
123 if ( StringUtils.isNotBlank( strValueEntry ) )
124 {
125 Response/genericattributes/business/Response.html#Response">Response response = new Response( );
126 response.setEntry( entry );
127 response.setResponseValue( strValueEntry );
128 response.setToStringValueResponse( StringUtils.EMPTY );
129 response.setIterationNumber( getResponseIterationValue( request ) );
130
131 listResponse.add( response );
132 }
133
134 return null;
135 }
136
137
138
139
140 @Override
141 public String getResponseValueForExport( Entry entry, HttpServletRequest request, Response response, Locale locale )
142 {
143 return response.getResponseValue( );
144 }
145
146
147
148
149 @Override
150 public String getResponseValueForRecap( Entry entry, HttpServletRequest request, Response response, Locale locale )
151 {
152 return StringUtils.EMPTY;
153 }
154 }