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.dbpage.service;
35
36 import fr.paris.lutece.plugins.dbpage.business.DbPage;
37 import fr.paris.lutece.plugins.dbpage.business.DbPageDatabaseSection;
38 import fr.paris.lutece.portal.service.resource.ResourceService;
39 import fr.paris.lutece.portal.service.workgroup.AdminWorkgroupService;
40 import fr.paris.lutece.util.ReferenceList;
41
42 import java.util.ArrayList;
43 import java.util.Collection;
44 import java.util.List;
45
46 import javax.servlet.http.HttpServletRequest;
47
48
49
50
51
52 public final class DbPageService extends ResourceService
53 {
54 private static DbPageService _singleton = new DbPageService( );
55 private static final String PROPERTY_NAME = "dbpage.service.name";
56 private static final String PROPERTY_CACHE = "dbpage.service.cache";
57 private static final String PROPERTY_LOADERS = "dbpage.service.loaders";
58 private static final String PARAMETER_DBPAGE_VALUE = "value";
59
60
61
62
63 private DbPageService( )
64 {
65 super( );
66 setCacheKey( PROPERTY_CACHE );
67 setNameKey( PROPERTY_NAME );
68 }
69
70
71
72
73
74 public void init( )
75 {
76 DbPage.init( );
77 DbPageDatabaseSection.init( );
78 }
79
80
81
82
83
84
85 public static DbPageService getInstance( )
86 {
87 return _singleton;
88 }
89
90
91
92
93
94
95
96 public DbPage getDbPage( String strDbPageName )
97 {
98 DbPage dbPage = (DbPage) getResource( strDbPageName );
99
100 if ( dbPage != null )
101 {
102 dbPage.setWorkgroup( AdminWorkgroupService.normalizeWorkgroupKey( dbPage.getWorkgroup( ) ) );
103 }
104
105 return dbPage;
106 }
107
108
109
110
111
112 public Collection<DbPage> getDbPagesCollection( )
113 {
114 Collection colDbPages = getResources( );
115
116 for ( DbPage dbPage : (Collection<DbPage>) colDbPages )
117 {
118 dbPage.setWorkgroup( AdminWorkgroupService.normalizeWorkgroupKey( dbPage.getWorkgroup( ) ) );
119 }
120
121 return colDbPages;
122 }
123
124
125
126
127
128 public ReferenceList getDbPagesList( )
129 {
130 ReferenceList list = new ReferenceList( );
131
132 for ( DbPage dbPage : getDbPagesCollection( ) )
133 {
134 list.addItem( dbPage.getName( ), dbPage.getTitle( ) );
135 }
136
137 return list;
138 }
139
140
141
142
143
144
145 public List<String> getValues( HttpServletRequest request )
146 {
147 List<String> list = new ArrayList<String>( );
148 int i = 0;
149 String strValue = request.getParameter( PARAMETER_DBPAGE_VALUE + ( i + 1 ) );
150
151 while ( strValue != null )
152 {
153 list.add( i, strValue );
154 i++;
155 strValue = request.getParameter( PARAMETER_DBPAGE_VALUE + ( i + 1 ) );
156 }
157
158 return list;
159 }
160
161
162
163
164
165 protected String getLoadersProperty( )
166 {
167 return PROPERTY_LOADERS;
168 }
169 }