package binky.reportrunner.ui.actions.dashboard; import binky.reportrunner.exceptions.SecurityException; import binky.reportrunner.ui.actions.dashboard.base.BaseDashboardAction; public class InvokeItem extends BaseDashboardAction { private static final long serialVersionUID = 1L; private Integer itemId; @Override public String execute() throws Exception { String groupName= super.getDashboardService().getItem(itemId).getGroup().getGroupName(); if (super.getSessionUser().getGroups().contains(groupName) || super.getSessionUser().getIsAdmin()) { super.getDashboardService().invokeDashboardItem(itemId); return SUCCESS; } else { SecurityException se = new SecurityException("Group " + groupName + " not valid for user " + super.getSessionUser().getUserName()); throw se; } } public Integer getItemId() { return itemId; } public void setItemId(Integer itemId) { this.itemId = itemId; } }