1 19 20 package com.sslexplorer.extensions.actions; 21 22 import javax.servlet.http.HttpServletRequest ; 23 import javax.servlet.http.HttpServletResponse ; 24 25 import org.apache.commons.logging.Log; 26 import org.apache.commons.logging.LogFactory; 27 import org.apache.struts.Globals; 28 import org.apache.struts.action.ActionForm; 29 import org.apache.struts.action.ActionForward; 30 import org.apache.struts.action.ActionMapping; 31 import org.apache.struts.action.ActionMessage; 32 import org.apache.struts.action.ActionMessages; 33 34 import com.sslexplorer.core.actions.AbstractMultiFormDispatchAction; 35 import com.sslexplorer.extensions.forms.ConfigureExtensionsForm; 36 import com.sslexplorer.extensions.store.ExtensionStore; 37 import com.sslexplorer.extensions.store.ExtensionStoreDescriptor; 38 import com.sslexplorer.policyframework.Permission; 39 import com.sslexplorer.policyframework.PolicyConstants; 40 import com.sslexplorer.properties.Property; 41 import com.sslexplorer.properties.impl.systemconfig.SystemConfigKey; 42 43 public final class ConfigureExtensionsAction extends AbstractMultiFormDispatchAction { 44 45 final static Log log = LogFactory.getLog(ConfigureExtensionsAction.class); 46 47 public ConfigureExtensionsAction() { 48 super(PolicyConstants.EXTENSIONS_RESOURCE_TYPE, new Permission[] { PolicyConstants.PERM_CHANGE }, ConfigureExtensionsForm.EXTENSIONS_TAB_ID); 49 } 50 51 @SuppressWarnings ("unchecked") 52 protected ActionForward dispatchMethod(ActionMapping mapping, ActionForm form, HttpServletRequest request, 53 HttpServletResponse response, String name) throws Exception { 54 ActionForward actionForward = super.dispatchMethod(mapping, form, request, response, name); 55 ConfigureExtensionsForm configureExtensionsForm = (ConfigureExtensionsForm) form; 56 ActionMessages errs = new ActionMessages(); 57 try { 58 ExtensionStoreDescriptor descriptor = ExtensionStore.getInstance().getDownloadableExtensionStoreDescriptor( request.getParameter("connect") != null || 59 Property.getPropertyBoolean(new SystemConfigKey("updates.automaticallyConnectToApplicationStore"))); 60 configureExtensionsForm.setDescriptor(descriptor); 61 } catch (Exception e) { 62 errs.add(Globals.ERROR_KEY, new ActionMessage("extensionStore.failedToContactStore", e.getMessage())); 63 this.saveErrors(request, errs); 64 } 65 return actionForward; 66 } 67 68 } | Popular Tags |