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 Set<String> getNamespaces() { Set<String> namespaces = Collections.emptySet(); Map<String, Map<String, ActionConfig>> allActionConfigs = configuration.getRuntimeConfiguration().getActionConfigs(); if (allActionConfigs != null) { namespaces = allActionConfigs.keySet(); } return namespaces; }
LOG.trace("Checking if there is an action named index in the namespace {}", redirectNamespace); actionConfig = configuration.getRuntimeConfiguration().getActionConfig(redirectNamespace, "index"); if (actionConfig != null) { LOG.trace("Found action config"); actionConfig = configuration.getRuntimeConfiguration().getActionConfig(namespace, "index");
public ActionConfig getActionConfig(String namespace, String actionName) { ActionConfig config = null; Map<String, Map<String, ActionConfig>> allActionConfigs = configuration.getRuntimeConfiguration().getActionConfigs(); if (allActionConfigs != null) { Map<String, ActionConfig> actionMappings = allActionConfigs.get(namespace); if (actionMappings != null) { config = actionMappings.get(actionName); } } return config; }
protected void prepare() { String profileKey = "create DefaultActionProxy: "; try { UtilTimerStack.push(profileKey); config = configuration.getRuntimeConfiguration().getActionConfig(namespace, actionName); if (config == null && unknownHandlerManager.hasUnknownHandlers()) { config = unknownHandlerManager.handleUnknownAction(namespace, actionName); } if (config == null) { throw new ConfigurationException(getErrorMessage()); } resolveMethod(); if (!config.isAllowedMethod(method)) { throw new ConfigurationException("Invalid method: " + method + " for action " + actionName); } invocation.init(this); } finally { UtilTimerStack.pop(profileKey); } }
public Set<String> getActionNames(String namespace) { Set<String> actionNames = Collections.emptySet(); Map<String, Map<String, ActionConfig>> allActionConfigs = configuration.getRuntimeConfiguration().getActionConfigs(); if (allActionConfigs != null) { Map<String, ActionConfig> actionMappings = allActionConfigs.get(namespace); if (actionMappings != null) { actionNames = actionMappings.keySet(); } } return actionNames; }
/** * 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(); }