1 /*
2 * Copyright (c) 2002-2017, Mairie de Paris
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * 1. Redistributions of source code must retain the above copyright notice
10 * and the following disclaimer.
11 *
12 * 2. Redistributions in binary form must reproduce the above copyright notice
13 * and the following disclaimer in the documentation and/or other materials
14 * provided with the distribution.
15 *
16 * 3. Neither the name of 'Mairie de Paris' nor 'Lutece' nor the names of its
17 * contributors may be used to endorse or promote products derived from
18 * this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
24 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30 * POSSIBILITY OF SUCH DAMAGE.
31 *
32 * License 1.0
33 */
34 package fr.paris.lutece.plugins.directory.business;
35
36 import fr.paris.lutece.portal.service.i18n.I18nService;
37 import fr.paris.lutece.portal.service.plugin.Plugin;
38 import fr.paris.lutece.portal.service.spring.SpringContextService;
39
40 import java.util.List;
41 import java.util.Locale;
42
43 /**
44 * This class provides instances management methods (create, find, ...) for DirectortyAction objects
45 */
46 public final class DirectoryActionHome
47 {
48 // Static variable pointed at the DAO instance
49 private static IDirectoryActionDAO _dao = SpringContextService.getBean( "directoryActionDAO" );
50
51 /**
52 * Private constructor - this class need not be instantiated
53 */
54 private DirectoryActionHome( )
55 {
56 }
57
58 /**
59 * Load the list of actions by directory state
60 *
61 * @param nState
62 * the state of the directory
63 * @param locale
64 * the locale
65 * @param plugin
66 * the plugin
67 * @return The Collection of actions
68 */
69 public static List<DirectoryAction> selectActionsByFormState( int nState, Plugin plugin, Locale locale )
70 {
71 List<DirectoryAction> listFormActions = _dao.selectActionsByDirectoryState( nState, plugin );
72
73 return I18nService.localizeCollection( listFormActions, locale );
74 }
75
76 /**
77 * Load the list of actions by directory state
78 *
79 * @param nState
80 * the state of the directory
81 * @param locale
82 * the locale
83 * @param plugin
84 * the plugin
85 * @return The Collection of actions
86 */
87 public static List<DirectoryAction> selectActionsRecordByFormState( int nState, Plugin plugin, Locale locale )
88 {
89 List<DirectoryAction> listFormActions = _dao.selectActionsByDirectoryRecordState( nState, plugin );
90
91 return I18nService.localizeCollection( listFormActions, locale );
92 }
93
94 /**
95 * Add a new action for directory record for module which uses plugin-directory
96 *
97 * @param directoryAction
98 * The action builded in module which uses plugin-directory
99 * @param plugin
100 * the plugin
101 */
102 public static void addNewActionInDirectoryRecordAction( DirectoryAction directoryAction, Plugin plugin )
103 {
104 _dao.addNewActionInDirectoryRecordAction( directoryAction, plugin );
105 }
106
107 /**
108 * Delete a directory record action
109 *
110 * @param plugin
111 * plugin
112 * @param directoryAction
113 * The action to delete
114 */
115 public static void deleteActionsDirectoryRecord( DirectoryAction directoryAction, Plugin plugin )
116 {
117 _dao.deleteActionsDirectoryRecord( directoryAction, plugin );
118 }
119
120 /**
121 * This method add new actions for directory record
122 *
123 * @param plugin
124 * plugin
125 * @param directoryAction
126 * action to check
127 * @return True if the action exists, false otherwise
128 */
129 public static boolean checkActionsDirectoryRecord( DirectoryAction directoryAction, Plugin plugin )
130 {
131 return _dao.checkActionsDirectoryRecord( directoryAction, plugin );
132 }
133
134 /**
135 * Load the list of actions for directory Xsl
136 *
137 * @param locale
138 * the locale
139 * @param plugin
140 * the plugin
141 * @return The Collection of actions
142 */
143 public static List<DirectoryAction> selectActionsByDirectoryXsl( Plugin plugin, Locale locale )
144 {
145 List<DirectoryAction> listActions = _dao.selectActionsByDirectoryXsl( plugin );
146
147 return I18nService.localizeCollection( listActions, locale );
148 }
149 }