コード例 #1
0
 @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;
 }