@SuppressWarnings("unchecked") @Override public ActionResult execute(WebContext webContext) { ResourceBundle messagesBundle = webContext.getMessagesBundle(); CategoryService categoryService = new CategoryService(); ActionResult backToPreviousPage = new ActionResult(webContext.getPreviousURI(), true); String name = webContext.getParameter(CATEGORY); if (name == null || name.isEmpty()) { webContext.setAttribute( "errorMessage", messagesBundle.getString("add-category.message.categoryIsEmpty"), Scope.FLASH); return backToPreviousPage; } Category createdCategory = categoryService.createCategory(name); // add new category to the list in app context if (createdCategory != null) { List<Category> categories = (List<Category>) webContext.getAttribute(ContextListener.CATEGORIES_LIST, Scope.APPLICATION); categories.add(createdCategory); webContext.setAttribute( "successMessage", messagesBundle.getString("add-category.message.success"), Scope.FLASH); } else { webContext.setAttribute( "errorMessage", messagesBundle.getString("add-category.message.exist"), Scope.FLASH); } return backToPreviousPage; }