appfuse.web.spring.controller.ftl Maven / Gradle / Ivy
<#assign pojoNameLower = pojo.shortName.substring(0,1).toLowerCase()+pojo.shortName.substring(1)>
package ${basepackage}.webapp.controller;
import ${appfusepackage}.dao.SearchException;
<#if genericcore>
import ${appfusepackage}.service.GenericManager;
<#else>
import ${basepackage}.service.${pojo.shortName}Manager;
import ${basepackage}.model.${pojo.shortName};
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ExtendedModelMap;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
@RequestMapping("/${util.getPluralForWord(pojoNameLower)}*")
public class ${pojo.shortName}Controller {
<#if genericcore>
private GenericManager<${pojo.shortName}, ${pojo.getJavaTypeName(pojo.identifierProperty, jdk5)}> ${pojoNameLower}Manager;
<#else>
private ${pojo.shortName}Manager ${pojoNameLower}Manager;
@Autowired
<#if genericcore>
public void set${pojo.shortName}Manager(@Qualifier("${pojoNameLower}Manager") GenericManager<${pojo.shortName}, ${pojo.getJavaTypeName(pojo.identifierProperty, jdk5)}> ${pojoNameLower}Manager) {
<#else>
public void set${pojo.shortName}Manager(${pojo.shortName}Manager ${pojoNameLower}Manager) {
this.${pojoNameLower}Manager = ${pojoNameLower}Manager;
}
@RequestMapping(method = RequestMethod.GET)
public Model handleRequest(@RequestParam(required = false, value = "q") String query)
throws Exception {
Model model = new ExtendedModelMap();
try {
model.addAttribute(${pojoNameLower}Manager.search(query, ${pojo.shortName}.class));
} catch (SearchException se) {
model.addAttribute("searchError", se.getMessage());
model.addAttribute(${pojoNameLower}Manager.getAll());
}
return model;
}
}