1 16 package com.blandware.atleap.webapp.action.core.backup; 17 18 import com.blandware.atleap.common.Constants; 19 import com.blandware.atleap.common.util.DateUtil; 20 import com.blandware.atleap.service.core.BackupManager; 21 import com.blandware.atleap.service.core.ContentLocaleManager; 22 import com.blandware.atleap.service.core.MailTemplateManager; 23 import com.blandware.atleap.webapp.action.core.BaseAction; 24 import com.blandware.atleap.webapp.util.core.*; 25 import com.blandware.atleap.webapp.menu.MenuRepository; 26 import com.blandware.atleap.search.SearchManager; 27 import org.apache.struts.action.*; 28 import org.apache.struts.util.RequestUtils; 29 import org.springframework.dao.DataAccessException; 30 31 import javax.servlet.http.HttpServletRequest ; 32 import javax.servlet.http.HttpServletResponse ; 33 import javax.servlet.ServletContext ; 34 import java.text.ParseException ; 35 import java.text.SimpleDateFormat ; 36 import java.util.Date ; 37 import java.util.Locale ; 38 39 57 public class RestoreAction extends BaseAction { 58 59 protected static final SimpleDateFormat formatter = new SimpleDateFormat (DateUtil.getDatePattern(Locale.ENGLISH), Locale.ENGLISH); 60 61 70 public ActionForward execute(ActionMapping mapping, ActionForm form, 71 HttpServletRequest request, HttpServletResponse response) throws Exception { 72 73 String dateString = request.getParameter("date"); 74 75 Date date = null; 76 if (dateString != null) { 77 try { 78 Locale locale = RequestUtils.getUserLocale(request, null); 79 date = DateUtil.parseDateTime(dateString, locale); 80 } catch(ParseException ex) { 81 ActionMessages errors = new ActionMessages(); 82 errors.add("cannotRestore", new ActionMessage("core.backup.errors.cannotRestore")); 83 saveErrors(request, errors); 84 return mapping.findForward("inputForward"); 85 } 86 } 87 88 BackupManager backupManager = (BackupManager) getBean(Constants.BACKUP_MANAGER_BEAN); 89 try { 90 backupManager.restore(date, Boolean.TRUE); 91 } catch(DataAccessException ex) { 92 ActionMessages errors = new ActionMessages(); 93 errors.add("cannotRestore", new ActionMessage("core.backup.errors.cannotRestore")); 94 saveErrors(request, errors); 95 return mapping.findForward("inputForward"); 96 } 97 98 ServletContext servletContext = getServlet().getServletContext(); 99 100 ContentLocaleManager contentLocaleManager = (ContentLocaleManager)getBean(Constants.CONTENT_LOCALE_MANAGER_BEAN); 102 contentLocaleManager.initialize(); 103 LocaleUtil.getInstance(servletContext).synchronizeCache(); 104 105 MenuRepository menuRepository = new MenuUtil(request).initializeMenuRepository(); 107 servletContext.setAttribute(MenuRepository.MENU_REPOSITORY_KEY, menuRepository); 108 109 GlobalProperties.getInstance(servletContext).synchronizeCache(); 111 112 MailTemplateManager mailTemplateManager = (MailTemplateManager) getBean(Constants.MAIL_TEMPLATE_MANAGER_BEAN); 114 mailTemplateManager.initialize(); 115 116 ApplicationResources.getInstance(servletContext).loadResources(); 118 119 CacheUtil.getInstance(request).flushAllCache(); 121 122 SearchManager.getInstance(servlet.getServletContext()).reIndexAll(request); 124 125 return mapping.findForward("listArchives"); 126 } 127 } 128 | Popular Tags |