Search in sources :

Example 11 with ActionMapping

use of org.apache.struts.action.ActionMapping in project sonarqube by SonarSource.

the class ExceptionHandler method handle.

// ------------------------------------------------------- Protected Methods
protected ForwardConfig handle(ActionContext context, Exception exception, ExceptionConfig exceptionConfig, ActionConfig actionConfig, ModuleConfig moduleConfig) throws Exception {
    // Look up the remaining properties needed for this handler
    ServletActionContext sacontext = (ServletActionContext) context;
    ActionForm actionForm = (ActionForm) sacontext.getActionForm();
    HttpServletRequest request = sacontext.getRequest();
    HttpServletResponse response = sacontext.getResponse();
    // Handle this exception
    org.apache.struts.action.ExceptionHandler handler = (org.apache.struts.action.ExceptionHandler) ClassUtils.getApplicationInstance(exceptionConfig.getHandler());
    return (handler.execute(exception, exceptionConfig, (ActionMapping) actionConfig, actionForm, request, response));
}
Also used : HttpServletRequest(javax.servlet.http.HttpServletRequest) AbstractExceptionHandler(org.apache.struts.chain.commands.AbstractExceptionHandler) ActionMapping(org.apache.struts.action.ActionMapping) ActionForm(org.apache.struts.action.ActionForm) ServletActionContext(org.apache.struts.chain.contexts.ServletActionContext) HttpServletResponse(javax.servlet.http.HttpServletResponse)

Example 12 with ActionMapping

use of org.apache.struts.action.ActionMapping in project sonarqube by SonarSource.

the class TestMockBase method setUpSecondApp.

protected void setUpSecondApp() {
    ActionFormBean formBean = null;
    ActionMapping mapping = null;
    ModuleConfigFactory factoryObject = ModuleConfigFactory.createFactory();
    moduleConfig2 = factoryObject.createModuleConfig("/2");
    context.setAttribute(Globals.MODULE_KEY + "/2", moduleConfig2);
    // Forward "external" to "http://jakarta.apache.org/"
    moduleConfig2.addForwardConfig(new ActionForward("external", "http://jakarta.apache.org/", false));
    // Forward "foo" to "/baz.jsp" (different from default)
    moduleConfig2.addForwardConfig(new ActionForward("foo", "/baz.jsp", false));
    // Forward "relative1" to "relative.jsp" non-context-relative
    moduleConfig2.addForwardConfig(new ActionForward("relative1", "relative.jsp", false));
    // Forward "relative2" to "relative.jsp" context-relative
    moduleConfig2.addForwardConfig(new ActionForward("relative2", "relative.jsp", false));
    // Form Bean "static" is a standard ActionForm subclass (same as default)
    formBean = new ActionFormBean("static", "org.apache.struts.mock.MockFormBean");
    moduleConfig2.addFormBeanConfig(formBean);
    // Action "/static" uses the "static" form bean in request scope (same as default)
    mapping = new ActionMapping();
    mapping.setInput("/static.jsp");
    mapping.setName("static");
    mapping.setPath("/static");
    mapping.setScope("request");
    mapping.setType("org.apache.struts.mock.MockAction");
    moduleConfig2.addActionConfig(mapping);
    // Form Bean "dynamic2" is a DynaActionForm with the same properties
    formBean = new ActionFormBean("dynamic2", "org.apache.struts.action.DynaActionForm");
    formBean.addFormPropertyConfig(new FormPropertyConfig("booleanProperty", "boolean", "false"));
    formBean.addFormPropertyConfig(new FormPropertyConfig("stringProperty", "java.lang.String", null));
    moduleConfig2.addFormBeanConfig(formBean);
    // Action "/dynamic2" uses the "dynamic2" form bean in session scope
    mapping = new ActionMapping();
    mapping.setInput("/dynamic2.jsp");
    mapping.setName("dynamic2");
    mapping.setPath("/dynamic2");
    mapping.setScope("session");
    mapping.setType("org.apache.struts.mock.MockAction");
    moduleConfig2.addActionConfig(mapping);
    // Action "/noform" has no form bean associated with it (same as default)
    mapping = new ActionMapping();
    mapping.setPath("/noform");
    mapping.setType("org.apache.struts.mock.MockAction");
    moduleConfig2.addActionConfig(mapping);
    // Configure global forward declarations
    moduleConfig2.addForwardConfig(new ForwardConfig("moduleForward", "/module/forward", // No redirect, same module
    false));
    moduleConfig2.addForwardConfig(new ForwardConfig("moduleRedirect", "/module/redirect", // Redirect, same module
    true));
    moduleConfig2.addForwardConfig(new ForwardConfig("contextForward", // No redirect
    "/forward", // No redirect
    false, // Specify module
    "/context"));
    moduleConfig2.addForwardConfig(new ForwardConfig("contextRedirect", // Redirect
    "/redirect", // Redirect
    true, // Specify module
    "/context"));
    moduleConfig2.addForwardConfig(new ForwardConfig("moduleNoslash", "module/noslash", // No redirect, same module
    false));
    moduleConfig2.addForwardConfig(new ForwardConfig("contextNoslash", // No redirect
    "noslash", // No redirect
    false, // Specify module
    "/context"));
}
Also used : FormPropertyConfig(org.apache.struts.config.FormPropertyConfig) ActionMapping(org.apache.struts.action.ActionMapping) ModuleConfigFactory(org.apache.struts.config.ModuleConfigFactory) ForwardConfig(org.apache.struts.config.ForwardConfig) ActionForward(org.apache.struts.action.ActionForward) ActionFormBean(org.apache.struts.action.ActionFormBean)

Example 13 with ActionMapping

use of org.apache.struts.action.ActionMapping in project sonarqube by SonarSource.

the class TestMockBase method setUpDefaultApp.

protected void setUpDefaultApp() {
    ActionFormBean formBean = null;
    ActionMapping mapping = null;
    ModuleConfigFactory factoryObject = ModuleConfigFactory.createFactory();
    moduleConfig = factoryObject.createModuleConfig("");
    context.setAttribute(Globals.MODULE_KEY, moduleConfig);
    // Forward "external" to "http://jakarta.apache.org/"
    moduleConfig.addForwardConfig(new ActionForward("external", "http://jakarta.apache.org/", false));
    // Forward "foo" to "/bar.jsp"
    moduleConfig.addForwardConfig(new ActionForward("foo", "/bar.jsp", false));
    // Forward "relative1" to "relative.jsp" non-context-relative
    moduleConfig.addForwardConfig(new ActionForward("relative1", "relative.jsp", false));
    // Forward "relative2" to "relative.jsp" context-relative
    moduleConfig.addForwardConfig(new ActionForward("relative2", "relative.jsp", false));
    // Form Bean "static" is a standard ActionForm subclass
    formBean = new ActionFormBean("static", "org.apache.struts.mock.MockFormBean");
    moduleConfig.addFormBeanConfig(formBean);
    // Action "/static" uses the "static" form bean in request scope
    mapping = new ActionMapping();
    mapping.setInput("/static.jsp");
    mapping.setName("static");
    mapping.setPath("/static");
    mapping.setScope("request");
    mapping.setType("org.apache.struts.mock.MockAction");
    moduleConfig.addActionConfig(mapping);
    // Form Bean "dynamic" is a DynaActionForm with the same properties
    formBean = new ActionFormBean("dynamic", "org.apache.struts.action.DynaActionForm");
    formBean.addFormPropertyConfig(new FormPropertyConfig("booleanProperty", "boolean", "false"));
    formBean.addFormPropertyConfig(new FormPropertyConfig("stringProperty", "java.lang.String", null));
    moduleConfig.addFormBeanConfig(formBean);
    // Action "/dynamic" uses the "dynamic" form bean in session scope
    mapping = new ActionMapping();
    mapping.setInput("/dynamic.jsp");
    mapping.setName("dynamic");
    mapping.setPath("/dynamic");
    mapping.setScope("session");
    mapping.setType("org.apache.struts.mock.MockAction");
    moduleConfig.addActionConfig(mapping);
    // Form Bean "/dynamic0" is a DynaActionForm with initializers
    formBean = new ActionFormBean("dynamic0", "org.apache.struts.action.DynaActionForm");
    formBean.addFormPropertyConfig(new FormPropertyConfig("booleanProperty", "boolean", "true"));
    formBean.addFormPropertyConfig(new FormPropertyConfig("stringProperty", "java.lang.String", "String Property"));
    formBean.addFormPropertyConfig(new FormPropertyConfig("intArray1", "int[]", "{1,2,3}", // 4 should be ignored
    4));
    formBean.addFormPropertyConfig(new FormPropertyConfig("intArray2", "int[]", null, // 5 should be respected
    5));
    formBean.addFormPropertyConfig(new FormPropertyConfig("principal", "org.apache.struts.mock.MockPrincipal", null));
    formBean.addFormPropertyConfig(new FormPropertyConfig("stringArray1", "java.lang.String[]", "{aaa,bbb,ccc}", // 2 should be ignored
    2));
    formBean.addFormPropertyConfig(new FormPropertyConfig("stringArray2", "java.lang.String[]", null, // 3 should be respected
    3));
    moduleConfig.addFormBeanConfig(formBean);
    // Action "/dynamic0" uses the "dynamic0" form bean in request scope
    mapping = new ActionMapping();
    mapping.setName("dynamic0");
    mapping.setPath("/dynamic0");
    mapping.setScope("request");
    mapping.setType("org.apache.struts.mock.MockAction");
    moduleConfig.addActionConfig(mapping);
    // Action "/noform" has no form bean associated with it
    mapping = new ActionMapping();
    mapping.setPath("/noform");
    mapping.setType("org.apache.struts.mock.MockAction");
    moduleConfig.addActionConfig(mapping);
    // Configure global forward declarations
    moduleConfig.addForwardConfig(new ForwardConfig("moduleForward", "/module/forward", // No redirect, same module
    false));
    moduleConfig.addForwardConfig(new ForwardConfig("moduleRedirect", "/module/redirect", // Redirect, same module
    true));
    moduleConfig.addForwardConfig(new ForwardConfig("contextForward", // No redirect
    "/forward", // No redirect
    false, // Specify module
    "/context"));
    moduleConfig.addForwardConfig(new ForwardConfig("contextRedirect", // Redirect
    "/redirect", // Redirect
    true, // Specify module
    "/context"));
    moduleConfig.addForwardConfig(new ForwardConfig("moduleNoslash", "module/noslash", // No redirect, same module
    false));
    moduleConfig.addForwardConfig(new ForwardConfig("contextNoslash", // No redirect
    "noslash", // No redirect
    false, // Specify module
    "/context"));
}
Also used : FormPropertyConfig(org.apache.struts.config.FormPropertyConfig) ActionMapping(org.apache.struts.action.ActionMapping) ModuleConfigFactory(org.apache.struts.config.ModuleConfigFactory) ForwardConfig(org.apache.struts.config.ForwardConfig) ActionForward(org.apache.struts.action.ActionForward) ActionFormBean(org.apache.struts.action.ActionFormBean)

Example 14 with ActionMapping

use of org.apache.struts.action.ActionMapping in project sonarqube by SonarSource.

the class ConfigHelper method getActionForm.

/*
     * <p>
     * Retrieve and return the <code>ActionForm</code> bean associated with
     * this mapping, creating and stashing one if necessary.  If there is no
     * form bean associated with this mapping, return <code>null</code>.
     * </p>
     */
public ActionForm getActionForm() {
    // Is there a mapping associated with this request?
    ActionMapping mapping = getMapping();
    if (mapping == null) {
        return (null);
    }
    // Is there a form bean associated with this mapping?
    String attribute = mapping.getAttribute();
    if (attribute == null) {
        return (null);
    }
    // Look up the existing form bean, if any
    ActionForm instance;
    if ("request".equals(mapping.getScope())) {
        instance = (ActionForm) this.request.getAttribute(attribute);
    } else {
        instance = (ActionForm) this.session.getAttribute(attribute);
    }
    return instance;
}
Also used : ActionMapping(org.apache.struts.action.ActionMapping) ActionForm(org.apache.struts.action.ActionForm)

Example 15 with ActionMapping

use of org.apache.struts.action.ActionMapping in project sonarqube by SonarSource.

the class TestRequestUtils method testCreateActionForm1b.

// Second module -- No ActionForm should be created
public void testCreateActionForm1b() {
    request.setPathElements("/myapp", "/2/noform.do", null, null);
    ActionMapping mapping = (ActionMapping) moduleConfig2.findActionConfig("/noform");
    assertNotNull("Found /noform mapping", mapping);
    ActionForm form = RequestUtils.createActionForm(request, mapping, moduleConfig2, null);
    assertNull("No ActionForm returned", form);
}
Also used : ActionMapping(org.apache.struts.action.ActionMapping) ActionForm(org.apache.struts.action.ActionForm) DynaActionForm(org.apache.struts.action.DynaActionForm)

Aggregations

ActionMapping (org.apache.struts.action.ActionMapping)32 ActionForm (org.apache.struts.action.ActionForm)18 DynaActionForm (org.apache.struts.action.DynaActionForm)14 ActionForward (org.apache.struts.action.ActionForward)6 MockFormBean (org.apache.struts.mock.MockFormBean)6 HttpServletRequest (javax.servlet.http.HttpServletRequest)4 ActionFormBean (org.apache.struts.action.ActionFormBean)4 ServletActionContext (org.apache.struts.chain.contexts.ServletActionContext)4 FormPropertyConfig (org.apache.struts.config.FormPropertyConfig)4 ForwardConfig (org.apache.struts.config.ForwardConfig)4 ModuleConfigFactory (org.apache.struts.config.ModuleConfigFactory)4 ArrayList (java.util.ArrayList)2 Iterator (java.util.Iterator)2 List (java.util.List)2 Map (java.util.Map)2 ServletContext (javax.servlet.ServletContext)2 ServletException (javax.servlet.ServletException)2 HttpServletResponse (javax.servlet.http.HttpServletResponse)2 JspException (javax.servlet.jsp.JspException)2 Field (org.apache.commons.validator.Field)2