From db3cb1f3af2faf8ae7378ca3aee2e1da2d6e69d6 Mon Sep 17 00:00:00 2001 From: Johannes Geppert Date: Thu, 5 May 2011 07:17:33 +0000 Subject: [PATCH] WW-3564: Unable to find a result type for extension git-svn-id: https://svn.apache.org/repos/asf/struts/struts2/trunk@1099705 13f79535-47bb-0310-9956-ffa450edef68 --- .../convention/DefaultResultMapBuilder.java | 37 ++++++++++++------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java b/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java index fccf56764..7e58b12d5 100644 --- a/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java +++ b/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java @@ -20,6 +20,21 @@ */ package org.apache.struts2.convention; +import java.io.IOException; +import java.net.URL; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +import javax.servlet.ServletContext; + +import org.apache.commons.lang.ObjectUtils; +import org.apache.commons.lang.StringUtils; +import org.apache.struts2.convention.annotation.Result; +import org.apache.struts2.convention.annotation.Results; + import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.config.ConfigurationException; @@ -34,19 +49,6 @@ import com.opensymphony.xwork2.util.finder.ResourceFinder; import com.opensymphony.xwork2.util.finder.Test; import com.opensymphony.xwork2.util.logging.Logger; import com.opensymphony.xwork2.util.logging.LoggerFactory; -import org.apache.commons.lang.ObjectUtils; -import org.apache.commons.lang.StringUtils; -import org.apache.struts2.convention.annotation.Result; -import org.apache.struts2.convention.annotation.Results; - -import javax.servlet.ServletContext; -import java.io.IOException; -import java.net.URL; -import java.util.Arrays; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; /** *

@@ -262,6 +264,15 @@ public class DefaultResultMapBuilder implements ResultMapBuilder { LOG.trace("Ignoring file without name [#0]", path); continue; } + else if(fileName.lastIndexOf(".") > 0){ + String suffix = fileName.substring(fileName.lastIndexOf(".")+1); + + if(conventionsService.getResultTypesByExtension(packageConfig).get(suffix) == null) { + if (LOG.isDebugEnabled()) + LOG.debug("No result type defined for file suffix : [#0]. Ignoring file #1", suffix, fileName); + continue; + } + } makeResults(actionClass, path, resultPrefix, results, packageConfig, resultsByExtension); }