Collection<PackageConfig.Builder> values = packageConfigs.values(); for (PackageConfig.Builder packageConfig : values) { byNamespace.put(packageConfig.getNamespace(), packageConfig); ActionConfig indexActionConfig = pkgConfig.build().getAllActionConfigs().get("index"); if (indexActionConfig == null) { continue; String parentNamespace = namespace.substring(0, lastSlash); PackageConfig.Builder parent = byNamespace.get(parentNamespace); if (parent == null || parent.build().getAllActionConfigs().get(parentAction) == null) { if (parent == null) { parent = new PackageConfig.Builder(parentNamespace).namespace(parentNamespace). addParents(pkgConfig.build().getParents()); packageConfigs.put(parentNamespace, parent); if (parent.build().getAllActionConfigs().get(parentAction) == null) { parent.addActionConfig(parentAction, indexActionConfig); if (pkgConfig.build().getAllActionConfigs().get("") == null) { LOG.trace("Creating index ActionConfig with an action name of [] for the action class [{}]", indexActionConfig.getClassName()); pkgConfig.addActionConfig("", indexActionConfig);
protected void loadDefaultInterceptorRef(PackageConfig.Builder packageContext, Element element) { NodeList resultTypeList = element.getElementsByTagName("default-interceptor-ref"); if (resultTypeList.getLength() > 0) { Element defaultRefElement = (Element) resultTypeList.item(0); packageContext.defaultInterceptorRef(defaultRefElement.getAttribute("name")); } }
protected Set<String> buildAllowedMethods(Element element, PackageConfig.Builder packageContext) { NodeList allowedMethodsEls = element.getElementsByTagName("allowed-methods"); Set<String> allowedMethods = null; if (allowedMethodsEls.getLength() > 0) { allowedMethods = new HashSet<String>(); Node n = allowedMethodsEls.item(0).getFirstChild(); if (n != null) { String s = n.getNodeValue().trim(); if (s.length() > 0) { allowedMethods = TextParseUtil.commaDelimitedStringToSet(s); } } } else if (packageContext.isStrictMethodInvocation()) { allowedMethods = new HashSet<String>(); } return allowedMethods; }
configuration.addPackageConfig(packageName, packageConfigs.get(packageName).build());
results = buildResults(actionElement, packageContext); } catch (ConfigurationException e) { throw new ConfigurationException("Error building results for action " + name + " in namespace " + packageContext.getNamespace(), e, actionElement); ActionConfig actionConfig = new ActionConfig.Builder(packageContext.getName(), name, className) .methodName(methodName) .addResultConfigs(results) .location(location) .build(); packageContext.addActionConfig(name, actionConfig); LOG.debug("Loaded " + (StringUtils.isNotEmpty(packageContext.getNamespace()) ? (packageContext.getNamespace() + "/") : "") + name + " in '" + packageContext.getName() + "' package:" + actionConfig);
ActionConfig.Builder actionConfig = new ActionConfig.Builder(pkgCfg.getName(), actionName, className); actionConfig.methodName(actionMethod); if (pkgCfg.isStrictMethodInvocation()) { actionConfig.addAllowedMethod(actionMethod); actionConfig.addAllowedMethod(allowedMethods); actionConfig.addAllowedMethod(pkgCfg.getGlobalAllowedMethods()); } else { actionConfig.addAllowedMethod(ActionConfig.WILDCARD); actionClass.toString(), actionName, pkgCfg.getName(), pkgCfg.getNamespace()); Map<String, ResultConfig> results = resultMapBuilder.build(actionClass, annotation, actionName, pkgCfg.build()); actionConfig.addResultConfigs(results); pkgCfg.addActionConfig(actionName, actionConfig.build()); PackageConfig existingPkg = configuration.getPackageConfig(pkgCfg.getName()); if (existingPkg != null) { LOG.warn("Duplicated action definition in package [{}] with name [{}].", pkgCfg.getName(), actionName);
PackageConfig.Builder cfg = new PackageConfig.Builder(name) .namespace(namespace) .isAbstract(isAbstract) .strictMethodInvocation(strictDMI) .location(DomHelper.getLocationObject(packageElement)); cfg.needsRefresh(true); } else { cfg.addParents(parents);
interceptors.addAll(InterceptorBuilder.constructInterceptorReference(new PackageConfig.Builder(packageContext), defaultInterceptorRefName, new LinkedHashMap<String, String>(), packageContext.getLocation(), objectFactory));
PackageConfig.Builder pkgConfig = packageConfigs.get(name); if (pkgConfig == null) { pkgConfig = new PackageConfig.Builder(name).namespace(actionNamespace).addParent(parentPkg); packageConfigs.put(name, pkgConfig); pkgConfig.defaultInterceptorRef(defaultInterceptorRef.value()); LOG.trace("Setting [{}] as the default interceptor ref for [{}]", defaultInterceptorRef.value(), pkgConfig.getName());
if (newPackage.isNeedsRefresh()) { return newPackage.build(); PackageConfig cfg = newPackage.build(); configuration.addPackageConfig(cfg.getName(), cfg); return cfg;
protected List<InterceptorMapping> buildInterceptorList(PackageConfig.Builder builder, InterceptorRef ref, Map params) { return InterceptorBuilder.constructInterceptorReference(builder, ref.value(), params, builder.build().getLocation(), configuration.getContainer().getInstance(ObjectFactory.class)); }
public Builder addParents(List<PackageConfig> parents) { for (PackageConfig config : parents) { addParent(config); } return this; }