KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > j2biz > blogunity > web > decorator > BlogsTableDecorator


1 /*
2  * $Id: BlogsTableDecorator.java,v 1.5 2004/12/30 21:55:45 michelson Exp $
3  *
4  * Copyright (c) 2004 j2biz Group, http://www.j2biz.com Koeln / Duesseldorf ,
5  * Germany
6  *
7  * @author Max Kalina
8  *
9  *
10  * This program is free software; you can redistribute it and/or modify it under
11  * the terms of the GNU General Public License as published by the Free Software
12  * Foundation; either version 2 of the License, or (at your option) any later
13  * version.
14  *
15  * This program is distributed in the hope that it will be useful, but WITHOUT
16  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
18  * details.
19  *
20  * You should have received a copy of the GNU General Public License along with
21  * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
22  * Place, Suite 330, Boston, MA 02111-1307 USA
23  *
24  */

25
26 package com.j2biz.blogunity.web.decorator;
27
28 import javax.servlet.http.HttpSession JavaDoc;
29
30 import org.apache.commons.logging.Log;
31 import org.apache.commons.logging.LogFactory;
32
33 import com.j2biz.blogunity.BlogunityManager;
34 import com.j2biz.blogunity.IConstants;
35 import com.j2biz.blogunity.exception.BlogunityRuntimeException;
36 import com.j2biz.blogunity.i18n.I18N;
37 import com.j2biz.blogunity.i18n.I18NStatusFactory;
38 import com.j2biz.blogunity.pojo.Blog;
39 import com.j2biz.blogunity.pojo.User;
40
41 public class BlogsTableDecorator extends AbstractTableDecorator {
42     /**
43      * Logger for this class
44      */

45     private static final Log log = LogFactory.getLog(BlogsTableDecorator.class);
46
47     public String JavaDoc getBlog() {
48         Blog blog = (Blog) getCurrentRowObject();
49         return utils.renderBlog(blog, request);
50     }
51
52     public String JavaDoc getFounder() {
53         Blog blog = (Blog) getCurrentRowObject();
54         return utils.renderUser(blog.getFounder(), request);
55     }
56
57     public String JavaDoc getCreateTime() {
58         Blog blog = (Blog) getCurrentRowObject();
59         return "<nobr>" + utils.formatDateTime(blog.getCreateTime()) + "</nobr>";
60     }
61
62     public String JavaDoc getLastModifiedTime() {
63         Blog blog = (Blog) getCurrentRowObject();
64         return "<nobr>" + utils.formatDateTime(blog.getLastModified()) + "</nobr>";
65     }
66
67     public String JavaDoc getFoundedBlogsActions() {
68
69         Blog blog = (Blog) getCurrentRowObject();
70         StringBuffer JavaDoc out = new StringBuffer JavaDoc();
71         out.append("<nobr>");
72
73         // entries link
74
out.append("<a HREF=\"");
75         out.append(ctx);
76         out.append("/my/listPrivateBlogEntries?id=");
77         out.append(blog.getId());
78         out.append("\">");
79         out.append(getMessageForKey("ENTRIES"));
80         out.append("</a>");
81
82         // post new entry link
83
out.append("&nbsp;|&nbsp;");
84         out.append("<a HREF=\"");
85         out.append(ctx);
86         out.append("/my/createBlogEntryForm?id=");
87         out.append(blog.getId());
88         out.append("\">");
89         out.append(getMessageForKey("NEW_ENTRY"));
90         out.append("</a>");
91
92         // edit link
93
out.append("&nbsp;|&nbsp;");
94         out.append("<a HREF=\"");
95         out.append(ctx);
96         out.append("/my/editBlogForm?id=");
97         out.append(blog.getId());
98         out.append("\">");
99         out.append(getMessageForKey("EDIT"));
100         out.append("</a>");
101
102         // categories link
103
out.append("&nbsp;|&nbsp;");
104         out.append("<a HREF=\"");
105         out.append(ctx);
106         out.append("/my/editBlogForm?id=");
107         out.append(blog.getId());
108         out.append("#categories\">");
109         out.append(getMessageForKey("CATEGORIES"));
110         out.append("</a>");
111
112         // links link
113
out.append("&nbsp;|&nbsp;");
114         out.append("<a HREF=\"");
115         out.append(ctx);
116         out.append("/my/editBlogForm?id=");
117         out.append(blog.getId());
118         out.append("#links\">");
119         out.append(getMessageForKey("LINKS"));
120         out.append("</a>");
121
122         // delete link
123
out.append("&nbsp;|&nbsp;");
124         out.append("<a HREF=\"");
125         out.append(ctx);
126         out.append("/my/deleteBlogConfirm?id=");
127         out.append(blog.getId());
128         out.append("\">");
129         out.append(getMessageForKey("DELETE"));
130         out.append("</a>");
131
132         // edit theme
133
if (BlogunityManager.getSystemConfiguration().isThemeEditingAllowed()) {
134             // theme link
135
out.append("&nbsp;|&nbsp;");
136             out.append("<a HREF=\"");
137             out.append(ctx);
138             out.append("/my/editBlogThemeForm?id=");
139             out.append(blog.getId());
140             out.append("\">");
141             out.append(getMessageForKey("EDIT_THEME"));
142             out.append("</a>");
143         }
144
145         // feeds link
146
out.append("&nbsp;|&nbsp;");
147         out.append("<a HREF=\"");
148         out.append(ctx);
149         out.append("/my/listBlogFeeds?id=");
150         out.append(blog.getId());
151         out.append("\">");
152         out.append(getMessageForKey("FEEDS"));
153         out.append("</a>");
154
155         // statistics link
156
out.append("&nbsp;|&nbsp;");
157         // out.append("<a HREF=\"");
158
// out.append(ctx);
159
// out.append("/my/listBlogFeeds?id=");
160
// out.append(blog.getId());
161
// out.append("\">statictics</a>");
162
out.append(getMessageForKey("STATISTICS"));
163
164         // access logs
165
if (BlogunityManager.getSystemConfiguration().isAccessLoggingEnabled()) {
166             // theme link
167
out.append("&nbsp;|&nbsp;");
168             out.append("<a HREF=\"");
169             out.append(ctx);
170             out.append("/my/listLogs?id=");
171             out.append(blog.getId());
172             out.append("\">");
173             out.append(getMessageForKey("ACCESS_LOGS"));
174             out.append("</a>");
175         }
176         
177         
178         // members, if community blog
179
if (blog.getType() == Blog.COMMUNITY_BLOG) {
180             out.append("&nbsp;|&nbsp;");
181             out.append("<a HREF=\"");
182             out.append(ctx);
183             out.append("/my/listCommunityBlogMembers?id=");
184             out.append(blog.getId());
185             out.append("\">");
186             out.append(getMessageForKey("MEMBERS"));
187             out.append("</a>");
188         }
189
190         out.append("</nobr>");
191
192         return out.toString();
193     }
194
195     public String JavaDoc getAdminBlogsActions() {
196
197         Blog blog = (Blog) getCurrentRowObject();
198         StringBuffer JavaDoc out = new StringBuffer JavaDoc();
199         out.append("<nobr>");
200
201         // entries link
202
out.append("<a HREF=\"");
203         out.append(ctx);
204         out.append("/my/listPrivateBlogEntries?id=");
205         out.append(blog.getId());
206         out.append("\">");
207         out.append(getMessageForKey("ENTRIES"));
208         out.append("</a>");
209
210         // post new entry link
211
out.append("&nbsp;|&nbsp;");
212         out.append("<a HREF=\"");
213         out.append(ctx);
214         out.append("/my/createBlogEntryForm?id=");
215         out.append(blog.getId());
216         out.append("\">");
217         out.append(getMessageForKey("NEW_ENTRY"));
218         out.append("</a>");
219
220         // edit link
221
out.append("&nbsp;|&nbsp;");
222         out.append("<a HREF=\"");
223         out.append(ctx);
224         out.append("/my/editBlogForm?id=");
225         out.append(blog.getId());
226         out.append("\">");
227         out.append(getMessageForKey("EDIT"));
228         out.append("</a>");
229
230         // categories link
231
out.append("&nbsp;|&nbsp;");
232         out.append("<a HREF=\"");
233         out.append(ctx);
234         out.append("/my/editBlogForm?id=");
235         out.append(blog.getId());
236         out.append("#categories\">");
237         out.append(getMessageForKey("CATEGORIES"));
238         out.append("</a>");
239
240         // links link
241
out.append("&nbsp;|&nbsp;");
242         out.append("<a HREF=\"");
243         out.append(ctx);
244         out.append("/my/editBlogForm?id=");
245         out.append(blog.getId());
246         out.append("#links\">");
247         out.append(getMessageForKey("LINKS"));
248         out.append("</a>");
249
250         // delete link
251
out.append("&nbsp;|&nbsp;");
252         out.append("<a HREF=\"");
253         out.append(ctx);
254         out.append("/my/deleteBlogConfirm?id=");
255         out.append(blog.getId());
256         out.append("\">");
257         out.append(getMessageForKey("DELETE"));
258         out.append("</a>");
259
260         out.append("&nbsp;|&nbsp;");
261         out.append("<a HREF=\"");
262         out.append(ctx);
263         out.append("/my/editBlogThemeForm?id=");
264         out.append(blog.getId());
265         out.append("\">");
266         out.append(getMessageForKey("EDIT_THEME"));
267         out.append("</a>");
268
269         // feeds link
270
out.append("&nbsp;|&nbsp;");
271         out.append("<a HREF=\"");
272         out.append(ctx);
273         out.append("/my/listBlogFeeds?id=");
274         out.append(blog.getId());
275         out.append("\">");
276         out.append(getMessageForKey("FEEDS"));
277         out.append("</a>");
278
279         // statistics link
280
out.append("&nbsp;|&nbsp;");
281         // out.append("<a HREF=\"");
282
// out.append(ctx);
283
// out.append("/my/listBlogFeeds?id=");
284
// out.append(blog.getId());
285
// out.append("\">statictics</a>");
286
out.append(getMessageForKey("STATISTICS"));
287
288         
289
290         // access logs
291
if (BlogunityManager.getSystemConfiguration().isAccessLoggingEnabled()) {
292             // theme link
293
out.append("&nbsp;|&nbsp;");
294             out.append("<a HREF=\"");
295             out.append(ctx);
296             out.append("/my/listLogs?id=");
297             out.append(blog.getId());
298             out.append("\">");
299             out.append(getMessageForKey("ACCESS_LOGS"));
300             out.append("</a>");
301         }
302         
303         // members, if community blog
304
if (blog.getType() == Blog.COMMUNITY_BLOG) {
305             out.append("&nbsp;|&nbsp;");
306             out.append("<a HREF=\"");
307             out.append(ctx);
308             out.append("/my/listCommunityBlogMembers?id=");
309             out.append(blog.getId());
310             out.append("\">");
311             out.append(getMessageForKey("MEMBERS"));
312             out.append("</a>");
313         }
314
315         out.append("</nobr>");
316
317         return out.toString();
318     }
319
320     public String JavaDoc getJoinedBlogsActions() {
321
322         Blog blog = (Blog) getCurrentRowObject();
323         StringBuffer JavaDoc out = new StringBuffer JavaDoc();
324         out.append("<nobr>");
325
326         // post new entry link
327
out.append("<a HREF=\"");
328         out.append(ctx);
329         out.append("/my/createBlogEntryForm?id=");
330         out.append(blog.getId());
331         out.append("\">");
332         out.append(getMessageForKey("NEW_ENTRY"));
333         out.append("</a>");
334
335         // resign from blog link
336
out.append("&nbsp;|&nbsp;");
337         out.append("<a HREF=\"");
338         out.append(ctx);
339         out.append("/my/communityBlogResignConfirm?id=");
340         out.append(blog.getId());
341         out.append("\">");
342         out.append(getMessageForKey("RESIGN_FROM_BLOG"));
343         out.append("</a>");
344
345         // feeds link
346
out.append("&nbsp;|&nbsp;");
347         out.append("<a HREF=\"");
348         out.append(ctx);
349         out.append("/my/listBlogFeeds?id=");
350         out.append(blog.getId());
351         out.append("\">");
352         out.append(getMessageForKey("FEEDS"));
353         out.append("</a>");
354
355         // statistics link
356
out.append("&nbsp;|&nbsp;");
357         // out.append("<a HREF=\"");
358
// out.append(ctx);
359
// out.append("/my/listBlogFeeds?id=");
360
// out.append(blog.getId());
361
// out.append("\">statictics</a>");
362
out.append(getMessageForKey("STATISTICS"));
363
364         // members, if community blog
365
if (blog.getType() == Blog.COMMUNITY_BLOG) {
366             out.append("&nbsp;|&nbsp;");
367             out.append("<a HREF=\"");
368             out.append(ctx);
369             out.append("/my/listCommunityBlogMembers?id=");
370             out.append(blog.getId());
371             out.append("\">");
372             out.append(getMessageForKey("MEMBERS"));
373             out.append("</a>");
374         }
375
376         out.append("</nobr>");
377
378         return out.toString();
379     }
380
381     public String JavaDoc getWaitingBlogsActions() {
382
383         Blog blog = (Blog) getCurrentRowObject();
384         StringBuffer JavaDoc out = new StringBuffer JavaDoc();
385         out.append("<nobr>");
386
387         // feeds link
388
out.append("<a HREF=\"");
389         out.append(ctx);
390         out.append("/my/listBlogFeeds?id=");
391         out.append(blog.getId());
392         out.append("\">");
393         out.append(getMessageForKey("FEEDS"));
394         out.append("</a>");
395
396         // statistics link
397
out.append("&nbsp;|&nbsp;");
398         // out.append("<a HREF=\"");
399
// out.append(ctx);
400
// out.append("/my/listBlogFeeds?id=");
401
// out.append(blog.getId());
402
// out.append("\">statictics</a>");
403
out.append(getMessageForKey("STATISTICS"));
404         out.append("</a>");
405
406         // members, if community blog
407
if (blog.getType() == Blog.COMMUNITY_BLOG) {
408             out.append("&nbsp;|&nbsp;");
409             out.append("<a HREF=\"");
410             out.append(ctx);
411             out.append("/my/listCommunityBlogMembers?id=");
412             out.append(blog.getId());
413             out.append("\">");
414             out.append(getMessageForKey("MEMBERS"));
415             out.append("</a>");
416         }
417
418         out.append("</nobr>");
419
420         return out.toString();
421     }
422
423     public String JavaDoc getFavoriteBlogsActions() {
424
425         Blog blog = (Blog) getCurrentRowObject();
426         StringBuffer JavaDoc out = new StringBuffer JavaDoc();
427         out.append("<nobr>");
428
429         // post new entry link
430
if (getUser().canPostToBlog(blog)) {
431             out.append("<a HREF=\"");
432             out.append(ctx);
433             out.append("/my/createBlogEntryForm?id=");
434             out.append(blog.getId());
435             out.append("\">");
436             out.append(getMessageForKey("NEW_ENTRY"));
437             out.append("</a>");
438             out.append("&nbsp;|&nbsp;");
439         }
440
441         // delete from favorites link
442
out.append("<a HREF=\"");
443         out.append(ctx);
444         out.append("/my/favoriteBlogDeleteConfirm?id=");
445         out.append(blog.getId());
446         out.append("\">");
447         out.append(getMessageForKey("DELETE_FROM_FAVORITES"));
448         out.append("</a>");
449         out.append("&nbsp;|&nbsp;");
450
451         // feeds link
452
out.append("<a HREF=\"");
453         out.append(ctx);
454         out.append("/my/listBlogFeeds?id=");
455         out.append(blog.getId());
456         out.append("\">");
457         out.append(getMessageForKey("FEEDS"));
458         out.append("</a>");
459         out.append("&nbsp;|&nbsp;");
460
461         // statistics link
462
// out.append("<a HREF=\"");
463
// out.append(ctx);
464
// out.append("/my/listBlogFeeds?id=");
465
// out.append(blog.getId());
466
// out.append("\">statictics</a>");
467
out.append(getMessageForKey("STATISTICS"));
468
469         out.append("</nobr>");
470
471         return out.toString();
472     }
473
474     private User getUser() {
475         HttpSession JavaDoc session = request.getSession(false);
476
477         if (session == null)
478                 throw new BlogunityRuntimeException(I18NStatusFactory
479                         .create(I18N.ERRORS.USER_NOT_LOGGED));
480
481         Object JavaDoc o = session.getAttribute(IConstants.Session.USER);
482         if (o == null)
483                 throw new BlogunityRuntimeException(I18NStatusFactory
484                         .create(I18N.ERRORS.USER_NOT_LOGGED));
485
486         User u = (User) o;
487
488         return u;
489
490     }
491
492 }
Popular Tags