protected List<ResultConfig> buildResultConfigs(Class<?> clazz) {
List<ResultConfig> configs = CollectUtils.newArrayList();
if (null == profileService) return configs;
String extention = profileService.getProfile(clazz.getName()).getViewExtension();
if (!extention.endsWith("ftl")) return configs;
ResultTypeConfig resultTypeConfig = configuration.getPackageConfig("struts-default")
.getAllResultTypeConfigs().get("freemarker");
for (Method m : clazz.getMethods()) {
if (String.class.equals(m.getReturnType()) && m.getParameterTypes().length == 0
&& Modifier.isPublic(m.getModifiers()) && !Modifier.isStatic(m.getModifiers())) {
String name = m.getName();
if (shouldGenerateResult(m)) {
StringBuilder buf = new StringBuilder();
buf.append(viewMapper.getViewPath(clazz.getName(), name, name));
buf.append('.');
buf.append(extention);
configs.add(new ResultConfig.Builder(name, resultTypeConfig.getClassName()).addParam(
resultTypeConfig.getDefaultResultParam(), buf.toString()).build());
}
}
}
return configs;
}