KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > opencms > workplace > demos > list > CmsListDemo2


1 /*
2  * File : $Source$
3  * Date : $Date$
4  * Version: $Revision$
5  *
6  * This library is part of OpenCms -
7  * the Open Source Content Mananagement System
8  *
9  * Copyright (c) 2005 Alkacon Software GmbH (http://www.alkacon.com)
10  *
11  * This library is free software; you can redistribute it and/or
12  * modify it under the terms of the GNU Lesser General Public
13  * License as published by the Free Software Foundation; either
14  * version 2.1 of the License, or (at your option) any later version.
15  *
16  * This library is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19  * Lesser General Public License for more details.
20  *
21  * For further information about Alkacon Software GmbH, please see the
22  * company website: http://www.alkacon.com
23  *
24  * For further information about OpenCms, please see the
25  * project website: http://www.opencms.org
26  *
27  * You should have received a copy of the GNU Lesser General Public
28  * License along with this library; if not, write to the Free Software
29  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
30  */

31
32 package org.opencms.workplace.demos.list;
33
34 import org.opencms.file.CmsUser;
35 import org.opencms.jsp.CmsJspActionElement;
36 import org.opencms.main.CmsException;
37 import org.opencms.main.CmsRuntimeException;
38 import org.opencms.workplace.list.A_CmsListDialog;
39 import org.opencms.workplace.list.CmsListColumnAlignEnum;
40 import org.opencms.workplace.list.CmsListColumnDefinition;
41 import org.opencms.workplace.list.CmsListItem;
42 import org.opencms.workplace.list.CmsListMetadata;
43 import org.opencms.workplace.list.CmsListOrderEnum;
44 import org.opencms.workplace.list.CmsListPrintIAction;
45 import org.opencms.workplace.tools.accounts.Messages;
46
47 import java.util.ArrayList JavaDoc;
48 import java.util.Date JavaDoc;
49 import java.util.Iterator JavaDoc;
50 import java.util.List JavaDoc;
51
52 import javax.servlet.http.HttpServletRequest JavaDoc;
53 import javax.servlet.http.HttpServletResponse JavaDoc;
54 import javax.servlet.jsp.PageContext JavaDoc;
55
56 /**
57  * User accounts list demo.<p>
58  *
59  * @author Michael Moossen
60  *
61  * @version $Revision$
62  *
63  * @since 6.0.0
64  */

65 public class CmsListDemo2 extends A_CmsListDialog {
66
67     /** list column id constant. */
68     public static final String JavaDoc LIST_COLUMN_ACTIVATE = "ca";
69
70     /** list column id constant. */
71     public static final String JavaDoc LIST_COLUMN_EMAIL = "cm";
72
73     /** list column id constant. */
74     public static final String JavaDoc LIST_COLUMN_LASTLOGIN = "cl";
75
76     /** list column id constant. */
77     public static final String JavaDoc LIST_COLUMN_LOGIN = "ci";
78
79     /** list column id constant. */
80     public static final String JavaDoc LIST_COLUMN_NAME = "cn";
81
82     /** list id constant. */
83     public static final String JavaDoc LIST_ID = "lsu1";
84
85     /**
86      * Public constructor.<p>
87      *
88      * @param jsp an initialized JSP action element
89      */

90     public CmsListDemo2(CmsJspActionElement jsp) {
91
92         super(
93             jsp,
94             LIST_ID,
95             Messages.get().container(Messages.GUI_USERS_LIST_NAME_0),
96             LIST_COLUMN_LOGIN,
97             CmsListOrderEnum.ORDER_ASCENDING,
98             LIST_COLUMN_LOGIN);
99     }
100
101     /**
102      * Public constructor with JSP variables.<p>
103      *
104      * @param context the JSP page context
105      * @param req the JSP request
106      * @param res the JSP response
107      */

108     public CmsListDemo2(PageContext JavaDoc context, HttpServletRequest JavaDoc req, HttpServletResponse JavaDoc res) {
109
110         this(new CmsJspActionElement(context, req, res));
111     }
112
113     /**
114      * @see org.opencms.workplace.list.A_CmsListDialog#executeListMultiActions()
115      */

116     public void executeListMultiActions() throws CmsRuntimeException {
117
118         throwListUnsupportedActionException();
119     }
120
121     /**
122      * @see org.opencms.workplace.list.A_CmsListDialog#executeListSingleActions()
123      */

124     public void executeListSingleActions() {
125
126         throwListUnsupportedActionException();
127     }
128
129     /**
130      * @see org.opencms.workplace.list.A_CmsListDialog#fillDetails(java.lang.String)
131      */

132     protected void fillDetails(String JavaDoc detailId) {
133
134         // noop
135
}
136
137     /**
138      * @see org.opencms.workplace.list.A_CmsListDialog#getListItems()
139      */

140     protected List JavaDoc getListItems() throws CmsException {
141
142         List JavaDoc ret = new ArrayList JavaDoc();
143         // get content
144
List JavaDoc users = getCms().getUsers(CmsUser.USER_TYPE_SYSTEMUSER);
145         Iterator JavaDoc itUsers = users.iterator();
146         while (itUsers.hasNext()) {
147             CmsUser user = (CmsUser)itUsers.next();
148             CmsListItem item = getList().newItem(user.getId().toString());
149             item.set(LIST_COLUMN_ACTIVATE, Boolean.valueOf(user.isEnabled()));
150             item.set(LIST_COLUMN_LOGIN, user.getName());
151             item.set(LIST_COLUMN_NAME, user.getFullName());
152             item.set(LIST_COLUMN_EMAIL, user.getEmail());
153             item.set(LIST_COLUMN_LASTLOGIN, new Date JavaDoc(user.getLastlogin()));
154             ret.add(item);
155         }
156         return ret;
157     }
158
159     /**
160      * @see org.opencms.workplace.CmsWorkplace#initMessages()
161      */

162     protected void initMessages() {
163
164         // add specific dialog resource bundle
165
addMessages(Messages.get().getBundleName());
166         addMessages(org.opencms.workplace.demos.list.Messages.get().getBundleName());
167         addMessages(org.opencms.workplace.demos.Messages.get().getBundleName());
168         // add default resource bundles
169
super.initMessages();
170     }
171
172     /**
173      * @see org.opencms.workplace.list.A_CmsListDialog#setColumns(org.opencms.workplace.list.CmsListMetadata)
174      */

175     protected void setColumns(CmsListMetadata metadata) {
176
177         // create column for activation/deactivation
178
CmsListColumnDefinition actCol = new CmsListColumnDefinition(LIST_COLUMN_ACTIVATE);
179         actCol.setName(Messages.get().container(Messages.GUI_USERS_LIST_COLS_ACTIVATE_0));
180         actCol.setWidth("30");
181         actCol.setAlign(CmsListColumnAlignEnum.ALIGN_CENTER);
182         actCol.setSorteable(false);
183         metadata.addColumn(actCol);
184
185         // create column for login
186
CmsListColumnDefinition loginCol = new CmsListColumnDefinition(LIST_COLUMN_LOGIN);
187         loginCol.setName(Messages.get().container(Messages.GUI_USERS_LIST_COLS_LOGIN_0));
188         loginCol.setWidth("20%");
189         loginCol.setSorteable(false);
190         metadata.addColumn(loginCol);
191
192         // add column for name
193
CmsListColumnDefinition nameCol = new CmsListColumnDefinition(LIST_COLUMN_NAME);
194         nameCol.setName(Messages.get().container(Messages.GUI_USERS_LIST_COLS_USERNAME_0));
195         nameCol.setWidth("30%");
196         nameCol.setSorteable(false);
197         metadata.addColumn(nameCol);
198
199         // add column for email
200
CmsListColumnDefinition emailCol = new CmsListColumnDefinition(LIST_COLUMN_EMAIL);
201         emailCol.setName(Messages.get().container(Messages.GUI_USERS_LIST_COLS_EMAIL_0));
202         emailCol.setWidth("30%");
203         emailCol.setSorteable(false);
204         metadata.addColumn(emailCol);
205
206         // add column for last login date
207
CmsListColumnDefinition lastLoginCol = new CmsListColumnDefinition(LIST_COLUMN_LASTLOGIN);
208         lastLoginCol.setName(Messages.get().container(Messages.GUI_USERS_LIST_COLS_LASTLOGIN_0));
209         lastLoginCol.setWidth("20%");
210         lastLoginCol.setSorteable(false);
211         metadata.addColumn(lastLoginCol);
212     }
213
214     /**
215      * @see org.opencms.workplace.list.A_CmsListDialog#setIndependentActions(org.opencms.workplace.list.CmsListMetadata)
216      */

217     protected void setIndependentActions(CmsListMetadata metadata) {
218
219         // noop
220
}
221
222     /**
223      * @see org.opencms.workplace.list.A_CmsListDialog#setMultiActions(org.opencms.workplace.list.CmsListMetadata)
224      */

225     protected void setMultiActions(CmsListMetadata metadata) {
226
227         // remove print action
228
metadata.getIndependentAction(CmsListPrintIAction.LIST_ACTION_ID).setVisible(false);
229     }
230
231 }
Popular Tags