1 24 package org.riotfamily.riot.list.command.core; 25 26 import org.riotfamily.riot.editor.EditorDefinitionUtils; 27 import org.riotfamily.riot.editor.ListDefinition; 28 import org.riotfamily.riot.list.command.CommandContext; 29 import org.riotfamily.riot.list.command.CommandResult; 30 import org.riotfamily.riot.list.command.result.ShowListResult; 31 import org.springframework.web.util.HtmlUtils; 32 33 37 public class DeleteCommand extends AbstractCommand { 38 39 public static final String ACTION_DELETE = "delete"; 40 41 public DeleteCommand() { 42 setShowOnForm(true); 43 } 44 45 protected String getAction(CommandContext context) { 46 return ACTION_DELETE; 47 } 48 49 protected boolean isEnabled(CommandContext context, String action) { 50 return context.getObjectId() != null; 51 } 52 53 public String getConfirmationMessage(CommandContext context) { 54 55 Class clazz = context.getListDefinition().getBeanClass(); 56 Object item = context.getBean(); 57 58 String type = context.getMessageResolver().getClassLabel(null, clazz); 59 String label = HtmlUtils.htmlEscape(context.getListDefinition() 60 .getDisplayDefinition().getLabel(item)); 61 62 Object [] args = new Object [] {label, type, context.getObjectId()}; 63 64 return context.getMessageResolver().getMessage("confirm.delete", args, 65 "Do you really want to delete this element?"); 66 } 67 68 public CommandResult execute(CommandContext context) { 69 ListDefinition listDef = context.getListDefinition(); 70 String parentId = context.getParentId(); 71 Object parent = EditorDefinitionUtils.loadParent(listDef, parentId); 72 73 Object item = context.getBean(); 74 context.getDao().delete(item, parent); 75 return new ShowListResult(context); 76 } 77 78 } 79 | Popular Tags |