KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > riotfamily > pages > riot > command > DeletePageCommand


1 /* ***** BEGIN LICENSE BLOCK *****
2  * Version: MPL 1.1
3  * The contents of this file are subject to the Mozilla Public License Version
4  * 1.1 (the "License"); you may not use this file except in compliance with
5  * the License. You may obtain a copy of the License at
6  * http://www.mozilla.org/MPL/
7  *
8  * Software distributed under the License is distributed on an "AS IS" basis,
9  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
10  * for the specific language governing rights and limitations under the
11  * License.
12  *
13  * The Original Code is Riot.
14  *
15  * The Initial Developer of the Original Code is
16  * Neteye GmbH.
17  * Portions created by the Initial Developer are Copyright (C) 2007
18  * the Initial Developer. All Rights Reserved.
19  *
20  * Contributor(s):
21  * Felix Gnass [fgnass at neteye dot de]
22  *
23  * ***** END LICENSE BLOCK ***** */

24 package org.riotfamily.pages.riot.command;
25
26 import org.riotfamily.pages.Page;
27 import org.riotfamily.riot.list.command.CommandContext;
28 import org.riotfamily.riot.list.command.core.DeleteCommand;
29 import org.springframework.web.util.HtmlUtils;
30
31 public class DeletePageCommand extends DeleteCommand {
32
33     protected boolean isEnabled(CommandContext context, String JavaDoc action) {
34         return super.isEnabled(context, action)
35                 && !PageCommandUtils.isSystemPage(context)
36                 && PageCommandUtils.isTranslated(context);
37     }
38
39     public String JavaDoc getConfirmationMessage(CommandContext context) {
40         Page page = PageCommandUtils.getPage(context);
41         String JavaDoc label = HtmlUtils.htmlEscape(page.getPathComponent());
42         
43         int numChilds = page.getChildPages().size();
44         if (numChilds > 0) {
45             return context.getMessageResolver().getMessage(
46                     "org.riotfamily.pages.confirm.delete.withChildren",
47                     new Object JavaDoc[] {label, new Integer JavaDoc(numChilds)},
48                     "Do you really want to delete this page and all of its child pages?");
49         }
50         return context.getMessageResolver().getMessage(
51                 "org.riotfamily.pages.confirm.delete",
52                 new Object JavaDoc[] {label},
53                 "Do you really want to delete this page?");
54     }
55
56 }
57
Popular Tags