KickJava   Java API By Example, From Geeks To Geeks.

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


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.CmsListPrintIAction;
44 import org.opencms.workplace.tools.accounts.Messages;
45
46 import java.util.ArrayList JavaDoc;
47 import java.util.Date JavaDoc;
48 import java.util.Iterator JavaDoc;
49 import java.util.List JavaDoc;
50
51 import javax.servlet.http.HttpServletRequest JavaDoc;
52 import javax.servlet.http.HttpServletResponse JavaDoc;
53 import javax.servlet.jsp.PageContext JavaDoc;
54
55 /**
56  * User accounts list demo.<p>
57  *
58  * @author Michael Moossen
59  *
60  * @version $Revision$
61  *
62  * @since 6.0.0
63  */

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

89     public CmsListDemo1(CmsJspActionElement jsp) {
90
91         super(jsp, LIST_ID, Messages.get().container(Messages.GUI_USERS_LIST_NAME_0), null, null, null);
92     }
93
94     /**
95      * Public constructor with JSP variables.<p>
96      *
97      * @param context the JSP page context
98      * @param req the JSP request
99      * @param res the JSP response
100      */

101     public CmsListDemo1(PageContext JavaDoc context, HttpServletRequest JavaDoc req, HttpServletResponse JavaDoc res) {
102
103         this(new CmsJspActionElement(context, req, res));
104     }
105
106     /**
107      * @see org.opencms.workplace.list.A_CmsListDialog#executeListMultiActions()
108      */

109     public void executeListMultiActions() throws CmsRuntimeException {
110
111         throwListUnsupportedActionException();
112     }
113
114     /**
115      * @see org.opencms.workplace.list.A_CmsListDialog#executeListSingleActions()
116      */

117     public void executeListSingleActions() {
118
119         throwListUnsupportedActionException();
120     }
121
122     /**
123      * @see org.opencms.workplace.list.A_CmsListDialog#fillDetails(java.lang.String)
124      */

125     protected void fillDetails(String JavaDoc detailId) {
126
127         // noop
128
}
129
130     /**
131      * @see org.opencms.workplace.list.A_CmsListDialog#getListItems()
132      */

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

155     protected void initMessages() {
156
157         // add specific dialog resource bundle
158
addMessages(Messages.get().getBundleName());
159         addMessages(org.opencms.workplace.demos.list.Messages.get().getBundleName());
160         addMessages(org.opencms.workplace.demos.Messages.get().getBundleName());
161         // add default resource bundles
162
super.initMessages();
163     }
164
165     /**
166      * @see org.opencms.workplace.list.A_CmsListDialog#setColumns(org.opencms.workplace.list.CmsListMetadata)
167      */

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

210     protected void setIndependentActions(CmsListMetadata metadata) {
211
212         // noop
213
}
214
215     /**
216      * @see org.opencms.workplace.list.A_CmsListDialog#setMultiActions(org.opencms.workplace.list.CmsListMetadata)
217      */

218     protected void setMultiActions(CmsListMetadata metadata) {
219
220         // remove print action
221
metadata.getIndependentAction(CmsListPrintIAction.LIST_ACTION_ID).setVisible(false);
222     }
223 }
Popular Tags