@RemoteMethod public UpdateMenuItemResponse execute(final Integer menuId) throws Exception { final UpdateMenuItemResponse response = new UpdateMenuItemResponse(); final DraftMenu menu = persistance.getMenuById(menuId); if (menu == null) { logger.warning( "Can`t create default structure for menu with id = " + menuId + ". Menu not found."); return response; } final Site site = persistance.getSite(menu.getSiteId()); if (site == null) { logger.warning( "Can`t create default structure for menu with id = " + menuId + ". Site not found. Site id " + "in this menu = " + menu.getSiteId()); return response; } final DraftMenu defaultMenu = site.getMenu(); if (defaultMenu == null) { logger.warning( "Can`t create default structure for menu with id = " + menuId + ". Default menu not found" + " for site with id = " + menu.getSiteId()); return response; } ServiceLocator.getPersistanceTransaction() .execute( new Runnable() { public void run() { MenuItemsManager.restoreDefaultStructure(defaultMenu, menu); } }); final MenuPagesHtmlTextCreator pagesHtmlTextCreator = new MenuPagesHtmlTextCreator( menu, new MenuPageCheckSometimes(menu), SiteShowOption.getDraftOption()); response.setTreeHtml(pagesHtmlTextCreator.getHtml()); if (!menu.getMenuItems().isEmpty()) { final int selectedMenuItemId = menu.getMenuItems().get(0).getId(); response.setInfoAboutSelectedItem(new GetInfoAboutItemService().execute(selectedMenuItemId)); response.setSelectedMenuItemId(selectedMenuItemId); } return response; }