WW-3023 Use ClassLoaderUtils to resolve the class in ConcentionServiceImpl

thanks to Travis Rein for the patch



git-svn-id: https://svn.apache.org/repos/asf/struts/struts2/trunk@750965 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Musachy Barroso
2009-03-06 16:36:22 +00:00
parent 703faa0af8
commit 5f133f1e98
2 changed files with 3 additions and 1 deletions
@@ -26,6 +26,7 @@ import java.util.ResourceBundle;
import org.apache.struts2.convention.annotation.AnnotationTools;
import org.apache.struts2.convention.annotation.ResultPath;
import org.apache.struts2.util.ClassLoaderUtils;
import com.opensymphony.xwork2.config.ConfigurationException;
import com.opensymphony.xwork2.config.entities.ActionConfig;
@@ -94,7 +95,7 @@ public class ConventionsServiceImpl implements ConventionsService {
}
try {
return determineResultPath(Class.forName(actionConfig.getClassName()));
return determineResultPath(ClassLoaderUtils.loadClass(actionConfig.getClassName(), this.getClass()));
} catch (ClassNotFoundException e) {
throw new RuntimeException("Invalid action class configuration that references an unknown " +
"class named [" + actionConfig.getClassName() + "]", e);
@@ -287,6 +287,7 @@ public class PackageBasedActionConfigBuilderTest extends TestCase {
mockContainer.setConventionsService(new ConventionsServiceImpl(""));
PackageBasedActionConfigBuilder builder = new PackageBasedActionConfigBuilder(configuration, mockContainer ,of, "false", "struts-default");
builder.setFileProtocols("jar");
if (actionPackages != null) {
builder.setActionPackages(actionPackages);
}