public Builder addResultTypeConfig(ResultTypeConfig config) { target.resultTypeConfigs.put(config.getName(), config); return this; }
public Builder(String name, String className) { target = new ResultTypeConfig(name, className); }
protected Result buildResult(String path, String resultCode, ResultTypeConfig config, ActionContext invocationContext) { String resultClass = config.getClassName(); Map<String, String> params = new LinkedHashMap<>(); if (config.getParams() != null) { params.putAll(config.getParams()); } params.put(config.getDefaultResultParam(), path); ResultConfig resultConfig = new ResultConfig.Builder(resultCode, resultClass).addParams(params).build(); try { return objectFactory.buildResult(resultConfig, invocationContext.getContextMap()); } catch (Exception e) { throw new XWorkException("Unable to build convention result", e, resultConfig); } }
String resultClass = config.getClassName(); resultParams = new LinkedHashMap<String, String>(); String paramName = config.getDefaultResultParam(); if (paramName != null) { StringBuilder paramValue = new StringBuilder(); LOG.warn("No default parameter defined for result [#0] of type [#1] ", config.getName(), config.getClassName()); Map<String, String> configParams = config.getParams(); if (configParams != null) { params.putAll(configParams);
private void setDefaultResults(Map<String, ResultConfig> results, PackageConfig packageContext) { String defaultResult = packageContext.getFullDefaultResultType(); for (Map.Entry<String, ResultConfig> entry : results.entrySet()) { if (entry.getValue() == null) { ResultTypeConfig resultTypeConfig = packageContext.getAllResultTypeConfigs().get(defaultResult); entry.setValue(new ResultConfig.Builder(null, resultTypeConfig.getClassName()).build()); } } }
protected ActionConfig buildActionConfig(String path, ResultTypeConfig resultTypeConfig) { Map<String, ResultConfig> results = new HashMap<>(); HashMap<String, String> params = new HashMap<>(); if (resultTypeConfig.getParams() != null) { params.putAll(resultTypeConfig.getParams()); } params.put(resultTypeConfig.getDefaultResultParam(), path); PackageConfig pkg = configuration.getPackageConfig(defaultParentPackageName); List<InterceptorMapping> interceptors = InterceptorBuilder.constructInterceptorReference(pkg, pkg.getFullDefaultInterceptorRef(), Collections.<String, String>emptyMap(), null, objectFactory); ResultConfig config = new ResultConfig.Builder(Action.SUCCESS, resultTypeConfig.getClassName()). addParams(params).build(); results.put(Action.SUCCESS, config); return new ActionConfig.Builder(defaultParentPackageName, "execute", ActionSupport.class.getName()). addInterceptors(interceptors). addResultConfigs(results). addAllowedMethod(pkg.getGlobalAllowedMethods()). build(); }
if (resultTypeConfig.getParams() != null) { params.putAll(resultTypeConfig.getParams()); String defaultParamName = resultTypeConfig.getDefaultResultParam(); if (!params.containsKey(defaultParamName)) { params.put(defaultParamName, info.location); return new ResultConfig.Builder(info.name, resultTypeConfig.getClassName()).addParams(params).build();
String determineType(String location, PackageConfig packageConfig, Map<String, ResultTypeConfig> resultsByExtension) { int indexOfDot = location.lastIndexOf("."); if (indexOfDot > 0) { String extension = location.substring(indexOfDot + 1); ResultTypeConfig resultTypeConfig = resultsByExtension.get(extension); if (resultTypeConfig != null) { return resultTypeConfig.getName(); } else throw new ConfigurationException("Unable to find a result type for extension [" + extension + "] " + "in location attribute [" + location + "]."); } else { return packageConfig.getFullDefaultResultType(); } } }
public Builder(ResultTypeConfig orig) { target = new ResultTypeConfig(orig); }
public ResultTypeConfig build() { embalmTarget(); ResultTypeConfig result = target; target = new ResultTypeConfig(target); return result; }