package com.izouma.codegenerator; import com.izouma.awesomeadmin.model.GenCode; import org.apache.log4j.Logger; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; import org.apache.velocity.tools.ToolManager; import org.hibernate.validator.internal.util.privilegedactions.GetResource; import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStreamWriter; import java.nio.file.Path; import java.nio.file.Paths; import java.util.*; public class ControllerGenerator { private static final Logger LOGGER = Logger.getLogger(ControllerGenerator.class); public static void GenController(GenCode model) { try { List imports = new ArrayList<>(); imports = GeneratorTool.removeDuplicated(imports); ToolManager manager = new ToolManager(true, true); VelocityContext context = new VelocityContext(manager.createContext()); context.put("imports", imports); context.put("model", model); Template t = Velocity.getTemplate("ControllerTemplate.vm"); Path targetFile = Paths.get(model.getJavaPath(), "web", model.getClassName() + "Controller.java").toAbsolutePath(); GeneratorTool.merge(targetFile, context, t, model.getUpdate()); LOGGER.info("成功生成Controller:" + targetFile.toString()); } catch (Exception e) { e.printStackTrace(); } } }