@TransactionConfiguration(transactionManager = "transactionManager") public class MyTestCase extends StrutsSpringTestCase { @Override protected String getContextLocations() { return "classpath*:applicationContext-test.xml"; } } @Test public void testMyActionMapping() { final ActionMapping mapping = this.getActionMapping("/uriMap"); Assert.assertNotNull(mapping); Assert.assertEquals("/uriMap", mapping.getNamespace()); Assert.assertEquals("uriMap", mapping.getName()); final ActionProxy proxy = this.getActionProxy("/uriMap"); final MyAction action = MyAction.class.cast(proxy); }
public String getName() { if (this.overwritePrameters.containsKey(NAME_KEY)) { return (String) this.overwritePrameters.get(NAME_KEY); } return mapping.getName(); }
public static void clearSessionForm(HttpServletRequest request, ActionMapping mapping) { request.getSession().removeAttribute(mapping.getName()); }
public void testGetActionMapping() { ActionMapping mapping = getActionMapping("/cInfo.action"); assertNotNull(mapping); assertEquals("/", mapping.getNamespace()); assertEquals("cInfo", mapping.getName()); } public void testGetActionProxy() throws Exception { ActionProxy proxy = getActionProxy("/cInfo.action"); assertNotNull(proxy); CustInfo action = (CustInfo) proxy.getAction(); assertNotNull(action); String result = proxy.execute(); assertEquals(Action.SUCCESS, result); }
public ActionMapping getMapping(HttpServletRequest request, ConfigurationManager configManager) { ActionMapping mapping = new ActionMapping(); String uri = getUri(request); int indexOfSemicolon = uri.indexOf(";"); uri = (indexOfSemicolon > -1) ? uri.substring(0, indexOfSemicolon) : uri; uri = dropExtension(uri, mapping); if (uri == null) { return null; } parseNameAndNamespace(uri, mapping, configManager); handleSpecialParameters(request, mapping); if (mapping.getName() == null) { return null; } parseActionName(mapping); return mapping; }
private boolean isPojoForm(ActionMapping mapping, ModuleConfig moduleConfig) throws Throwable { FormBeanConfig formConfig = moduleConfig.findFormBeanConfig(mapping.getName()); if (formConfig == null) { return false; } Class fromClass = RequestUtils.applicationClass(formConfig.getType()); return !(ActionForm.class.isAssignableFrom(fromClass)); }
private ActionForm createNewActionForm(ActionMapping mapping, HttpServletRequest request) { String name = mapping.getName(); FormBeanConfig config = moduleConfig.findFormBeanConfig(name); if (config == null) { log.warn("No FormBeanConfig found under '" + name + "'"); return (null); } ActionForm instance = RequestUtils.createActionForm(config, servlet); if ("request".equals(mapping.getScope())) { request.setAttribute(mapping.getAttribute(), instance); } else { HttpSession session = request.getSession(); session.setAttribute(mapping.getAttribute(), instance); } return instance; } }
logger.debug("Validating ActionForm '" + mapping.getName() + "' using key '" + validationKey + "' for mapping '" + mapping.getPath() + "'");
HttpServletResponse response, ActionMapping mapping) { String name = mapping.getName(); if (name == null) { return null;
/** * <p>Initialize all bean properties to their initial values, as specified * in the {@link FormPropertyConfig} elements associated with the * definition of this <code>DynaActionForm</code>.</p> * * @param mapping The mapping used to select this instance */ public void initialize(ActionMapping mapping) { String name = mapping.getName(); if (name == null) { return; } FormBeanConfig config = mapping.getModuleConfig().findFormBeanConfig(name); if (config == null) { return; } initialize(config); }
String name = mapping.getName(); FormBeanConfig config = moduleConfig.findFormBeanConfig(name);
private FormSet createValidatorFormSet(TgwEntity entity, ActionMapping mapping) { FormSet fs = getFormSet(entity.getDomainName(), entity.getName()); Form form = new Form(); form.setName(mapping.getName()); for (TgwAttribute attr : entity.getAttributes()) { ValidatorUtils.bindField(form, attr); } // overide fs.addForm(form); return fs; } }
protected XWikiContext initializeXWikiContext(ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse resp) throws XWikiException, ServletException { String action = mapping.getName(); XWikiRequest request = new XWikiServletRequest(req); XWikiResponse response = new XWikiServletResponse(resp); XWikiContext context = Utils.prepareContext(action, request, response, new XWikiServletContext(this.servlet.getServletContext())); // This code is already called by struts. // However struts will also set all the parameters of the form data // directly from the request objects. // However because of bug http://jira.xwiki.org/jira/browse/XWIKI-2422 // We need to perform encoding of windows-1252 chars in ISO mode // So we need to make sure this code is called // TODO: completely get rid of struts so that we control this part of the code and can reduce drastically the // number of calls if (form != null) { form.reset(mapping, request); } // Add the form to the context context.setForm((XWikiForm) form); // Initialize the Container component which is the new way of transporting the Context in the new // component architecture. initializeContainerComponent(context); return context; }
private ActionForm createPojoForm(HttpServletRequest request, ActionMapping mapping, ModuleConfig moduleConfig, ActionServlet servlet) { String attribute = mapping.getAttribute(); if (attribute == null) { return (null); } String name = mapping.getName(); FormBeanConfig config = moduleConfig.findFormBeanConfig(name); if (config == null) { return (null); } Object instance = lookupPojoForm(request, attribute, mapping.getScope()); if (instance != null && canReusePojoForm(instance, config)) { if (instance instanceof SerializeBeanValidatorForm) { return (ActionForm) instance; } if (!(instance instanceof BeanValidatorForm)) { instance = new BeanValidatorForm(instance); } return new SerializeBeanValidatorForm((BeanValidatorForm) instance, servlet); } instance = RequestUtils.createActionForm(config, servlet); return new SerializeBeanValidatorForm((BeanValidatorForm) instance, servlet); }
private FormSet createFormSet() { FormSet fs = getFormSet(getEntity().getDomainName(), getFormName()); Form form = new Form(); form.setName(getActionMapping().getName()); for (TgwAttribute attr : getEntity().getAttributes()) { String attrName = attr.getName(); if (hasField(attrName)) { ValidatorUtils.bindField(form, attr); } } fs.addForm(form); return fs; } }