public class InvalidRequests implements UnknownHandler { @Override public ActionConfig handleUnknownAction(String namespace, String actionName) throws XWorkException { ConfigurationManager configurationManager = Dispatcher.getInstance().getConfigurationManager(); RuntimeConfiguration runtimeConfiguration = configurationManager.getConfiguration().getRuntimeConfiguration(); ActionConfig actionConfig = runtimeConfiguration.getActionConfig(namespace, actionName); if(actionConfig == null) { // invalid url request, and this need to be handled actionConfig = runtimeConfiguration.getActionConfig("", "pageNotFound"); } return actionConfig; } // ... also you need to implements handleUnknownResult, handleUnknownActionMethod }
public synchronized void reload() { packageProviders = getConfiguration().reloadContainer(getContainerProviders()); }
public static synchronized ValueStack getSharedValueStack() { if (sharedValueStack == null) { // init context ConfigurationManager confManager = new ConfigurationManager(); Configuration conf = confManager.getConfiguration(); sharedValueStack = conf.getContainer().getInstance(ValueStackFactory.class).createValueStack(); if (log.isDebugEnabled()) { log.debug("init shared value stack " + sharedValueStack); } } return sharedValueStack; }
/** * Returns a Map of all action names/configs * * @return Map of all action names/configs */ public static Map<String, Map<String,ActionConfig>> getActionConfigs() { if (!isXWorkStarted) initXWork(); return cm.getConfiguration().getRuntimeConfiguration().getActionConfigs(); }
protected void loadConfigurationProviders(ConfigurationProvider... providers) { configurationManager = XWorkTestCaseHelper.loadConfigurationProviders(configurationManager, providers); configuration = configurationManager.getConfiguration(); container = configuration.getContainer(); actionProxyFactory = container.getInstance(ActionProxyFactory.class); }
@Override protected void setUp() throws Exception { configurationManager = XWorkTestCaseHelper.setUp(); configuration = configurationManager.getConfiguration(); container = configuration.getContainer(); actionProxyFactory = container.getInstance(ActionProxyFactory.class); }
protected void loadConfigurationProviders(ConfigurationProvider... providers) { configurationManager = XWorkTestCaseHelper.loadConfigurationProviders(configurationManager, providers); configuration = configurationManager.getConfiguration(); container = configuration.getContainer(); actionProxyFactory = container.getInstance(ActionProxyFactory.class); }
protected void loadConfigurationProviders(ConfigurationProvider... providers) { configurationManager = XWorkTestCaseHelper.loadConfigurationProviders(configurationManager, providers); configuration = configurationManager.getConfiguration(); container = configuration.getContainer(); actionProxyFactory = container.getInstance(ActionProxyFactory.class); } }
protected Dispatcher initDispatcher(Map<String, String> params) { Dispatcher du = StrutsTestCaseHelper.initDispatcher(servletContext, params); configurationManager = du.getConfigurationManager(); configuration = configurationManager.getConfiguration(); container = configuration.getContainer(); return du; }
@Before public void setUp() throws Exception { configurationManager = XWorkTestCaseHelper.setUp(); configuration = configurationManager.getConfiguration(); container = configuration.getContainer(); actionProxyFactory = container.getInstance(ActionProxyFactory.class); }
protected Dispatcher initDispatcher(Map<String,String> params) { Dispatcher du = StrutsTestCaseHelper.initDispatcher(new MockServletContext(), params); configurationManager = du.getConfigurationManager(); configuration = configurationManager.getConfiguration(); container = configuration.getContainer(); return du; }
protected Dispatcher initDispatcher(Map<String, String> params) { dispatcher = StrutsTestCaseHelper.initDispatcher(servletContext, params); configurationManager = dispatcher.getConfigurationManager(); configuration = configurationManager.getConfiguration(); container = configuration.getContainer(); container.inject(dispatcher); return dispatcher; }
public XWorkBeanValidator(Class<B> beanClass, String contextName, boolean includeDefaultContext, ValueStack vs) { this.beanClass = beanClass; this.includeDefaultContext = includeDefaultContext; validationSupport = new ValidationAwareSupport(); validationContext = new DelegatingValidatorContext(validationSupport); if (vs == null) { // create a standalone value stack ConfigurationManager confManager = new ConfigurationManager(); Configuration conf = confManager.getConfiguration(); vs = conf.getContainer().getInstance(ValueStackFactory.class).createValueStack(); if (log.isDebugEnabled()) { log.info("create a standalone value stack " + vs); } } else { if (log.isDebugEnabled()) { log.debug("use given value stack " + vs); } } context = new ActionContext(vs.getContext()); ActionContext.setContext(context); // init validator validator = context.getContainer().getInstance(ActionValidatorManager.class, "no-annotations"); // init context setContextName(contextName); }
/** * Executes an action with extra context information * * @param namespace The namespace * @param name The action name * @param method The method name * @param extraContext A map of extra context information * @throws Exception If anything goes wrong */ public void executeAction(String namespace, String name, String method, Map<String, Object> extraContext) throws XWorkException { Configuration config = configurationManager.getConfiguration(); try { ActionProxy proxy = config.getContainer().getInstance(ActionProxyFactory.class).createActionProxy( namespace, name, method, extraContext, true, false); proxy.execute(); } catch (Exception e) { throw new XWorkException(e); } finally { ActionContext.setContext(null); } } }
public static ConfigurationManager setUp() throws Exception { ConfigurationManager configurationManager = new ConfigurationManager(); configurationManager.addContainerProvider(new XWorkConfigurationProvider()); Configuration config = configurationManager.getConfiguration(); Container container = config.getContainer(); // Reset the value stack ValueStack stack = container.getInstance(ValueStackFactory.class).createValueStack(); stack.getContext().put(ActionContext.CONTAINER, container); ActionContext.setContext(new ActionContext(stack.getContext())); // clear out localization LocalizedTextUtil.reset(); //ObjectFactory.setObjectFactory(container.getInstance(ObjectFactory.class)); return configurationManager; }
protected Dispatcher initDispatcher(Map<String, String> params) { Dispatcher du = new Dispatcher(servletContext, params); du.init(); Dispatcher.setInstance(du); ValueStack stack = ((ValueStackFactory) du.getContainer().getInstance(ValueStackFactory.class)).createValueStack(); stack.getContext().put("com.opensymphony.xwork2.ActionContext.container", du.getContainer()); ActionContext.setContext(new ActionContext(stack.getContext())); configurationManager = du.getConfigurationManager(); configuration = configurationManager.getConfiguration(); container = configuration.getContainer(); return du; }
public Object getObject() throws Exception { ConfigurationManager confManager = new ConfigurationManager(); confManager.addContainerProvider(new XWorkConfigurationProvider()); SpringContainer springContainer = new SpringContainer(); springContainer.setApplicationContext(_context); confManager.addContainerProvider(springContainer); for (String xmlConfigurationSource : _xmlConfigurationSources) { XmlConfigurationProvider xml = new XmlConfigurationProvider( xmlConfigurationSource, true); xml.setThrowExceptionOnDuplicateBeans(false); confManager.addContainerProvider(xml); } return confManager.getConfiguration(); }
public static ValueStack createValuestack() { ValueStack result; ActionContext context = ActionContext.getContext(); if (context == null) { // no action context, create a value stack from scratch ConfigurationManager confManager = new ConfigurationManager("xwork"); Configuration conf = confManager.getConfiguration(); Container container = conf.getContainer(); ValueStackFactory stackFactory = container.getInstance(ValueStackFactory.class); result = stackFactory.createValueStack(); } else { // there is an action context, try to use his value stack result = context.getValueStack(); if (result == null) { // no value stack, create then a new one ValueStackFactory stackFactory = context.getInstance(ValueStackFactory.class); result = stackFactory.createValueStack(); } } return result; }
/** * Creates an action proxy for a request, and sets parameters of the ActionInvocation to the passed * parameters. Make sure to set the request parameters in the protected "request" object before calling this method. */ protected ActionProxy getActionProxy(String uri) { request.setRequestURI(uri); ActionMapping mapping = getActionMapping(request); String namespace = mapping.getNamespace(); String name = mapping.getName(); String method = mapping.getMethod(); Configuration config = configurationManager.getConfiguration(); ActionProxy proxy = config.getContainer().getInstance(ActionProxyFactory.class).createActionProxy( namespace, name, method, new HashMap<String, Object>(), true, false); initActionContext(proxy.getInvocation().getInvocationContext()); // this is normally done in onSetUp(), but we are using Struts internal // objects (proxy and action invocation) // so we have to hack around so it works ServletActionContext.setServletContext(servletContext); ServletActionContext.setRequest(request); ServletActionContext.setResponse(response); return proxy; }
/** * Creates an action proxy for a request, and sets parameters of the ActionInvocation to the passed * parameters. Make sure to set the request parameters in the protected "request" object before calling this method. */ protected ActionProxy getActionProxy(String uri) { request.setRequestURI(uri); ActionMapping mapping = getActionMapping(request); String namespace = mapping.getNamespace(); String name = mapping.getName(); String method = mapping.getMethod(); Configuration config = configurationManager.getConfiguration(); ActionProxy proxy = config.getContainer().getInstance(ActionProxyFactory.class).createActionProxy( namespace, name, method, new HashMap<String, Object>(), true, false); initActionContext(proxy.getInvocation().getInvocationContext()); // this is normally done in onSetUp(), but we are using Struts internal // objects (proxy and action invocation) // so we have to hack around so it works ServletActionContext.setServletContext(servletContext); ServletActionContext.setRequest(request); ServletActionContext.setResponse(response); return proxy; }