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.dila.utils;
35
36 import fr.paris.lutece.portal.service.util.AppPropertiesService;
37 import fr.paris.lutece.util.ReferenceList;
38
39 import org.apache.commons.beanutils.BeanUtils;
40
41 import org.apache.log4j.Logger;
42
43 import java.lang.reflect.InvocationTargetException;
44
45 import java.util.Arrays;
46 import java.util.List;
47
48
49
50
51
52
53 public final class ListUtils
54 {
55 private static final Logger LOGGER = Logger.getLogger( ListUtils.class );
56 private static final String PROPERTY_LIST_SEPARATOR = ";";
57
58
59
60
61 private ListUtils( )
62 {
63
64 }
65
66
67
68
69
70
71
72 public static List<String> getPropertyList( String propertyKey )
73 {
74 String property = AppPropertiesService.getProperty( propertyKey );
75
76 if ( property != null )
77 {
78 String[] items = property.split( PROPERTY_LIST_SEPARATOR );
79
80 if ( items != null )
81 {
82 return Arrays.asList( items );
83 }
84 }
85
86 return null;
87 }
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102 public static ReferenceList toReferenceList( List<?> list, String key, String value, String firstItem )
103 {
104 ReferenceList referenceList = new ReferenceList( );
105 String valueKey;
106 String valueValue;
107
108 try
109 {
110 if ( firstItem != null )
111 {
112 referenceList.addItem( "-1", firstItem );
113 }
114
115 for ( Object element : list )
116 {
117 valueKey = BeanUtils.getSimpleProperty( element, key );
118 valueValue = BeanUtils.getSimpleProperty( element, value );
119 referenceList.addItem( valueKey, valueValue );
120 }
121 }
122 catch ( IllegalAccessException e )
123 {
124 LOGGER.warn( "Error creating a combo list : " + e.getMessage( ), e );
125 }
126 catch ( InvocationTargetException e )
127 {
128 LOGGER.warn( "Error creating a combo list : " + e.getMessage( ), e );
129 }
130 catch ( NoSuchMethodException e )
131 {
132 LOGGER.warn( "Error creating a combo list : " + e.getMessage( ), e );
133 }
134 catch ( Exception e )
135 {
136 LOGGER.warn( "Error creating a combo list : " + e.getMessage( ), e );
137 }
138
139 return referenceList;
140 }
141 }