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.directory.modules.rest.service.formatters;
35
36 import fr.paris.lutece.plugins.directory.business.Directory;
37 import fr.paris.lutece.plugins.directory.modules.rest.util.constants.DirectoryRestConstants;
38 import fr.paris.lutece.plugins.directory.utils.DirectoryUtils;
39 import fr.paris.lutece.plugins.rest.service.formatters.IFormatter;
40 import fr.paris.lutece.plugins.rest.util.json.JSONUtil;
41
42 import net.sf.json.JSONArray;
43 import net.sf.json.JSONObject;
44
45 import org.apache.commons.lang.StringUtils;
46
47 import java.util.List;
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74 public class DirectoryFormatterJson implements IFormatter<Directory>
75 {
76
77
78
79 @Override
80 public String formatError( String strCode, String strMessage )
81 {
82 return JSONUtil.formatError( strMessage, DirectoryUtils.convertStringToInt( strCode ) );
83 }
84
85
86
87
88 @Override
89 public String format( Directory directory )
90 {
91 JSONObject jsonObject = new JSONObject( );
92
93 if ( directory != null )
94 {
95 jsonObject.element( DirectoryRestConstants.TAG_ID, directory.getIdDirectory( ) );
96 jsonObject.element( DirectoryRestConstants.TAG_TITLE, directory.getTitle( ) );
97 jsonObject.element( DirectoryRestConstants.TAG_DESCRIPTION, directory.getDescription( ) );
98 jsonObject.element( DirectoryRestConstants.TAG_IS_ENABLE, directory.isEnabled( ) );
99
100 if ( StringUtils.isNotBlank( directory.getRoleKey( ) ) )
101 {
102 jsonObject.element( DirectoryRestConstants.TAG_ROLE, directory.getRoleKey( ) );
103 }
104
105 if ( StringUtils.isNotBlank( directory.getWorkgroup( ) ) )
106 {
107 jsonObject.element( DirectoryRestConstants.TAG_WORKGROUP, directory.getWorkgroup( ) );
108 }
109
110 if ( directory.getIdWorkflow( ) != DirectoryUtils.CONSTANT_ID_NULL )
111 {
112 jsonObject.element( DirectoryRestConstants.TAG_ID_WORKFLOW, directory.getIdWorkflow( ) );
113 }
114 }
115
116 return jsonObject.toString( );
117 }
118
119
120
121
122 @Override
123 public String format( List<Directory> listDirectories )
124 {
125 JSONArray jsonArray = new JSONArray( );
126
127 for ( Directory directory : listDirectories )
128 {
129 jsonArray.element( format( directory ) );
130 }
131
132 return jsonArray.toString( );
133 }
134 }