ControllerGenerator.java 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package com.izouma.codegenerator;
  2. import com.izouma.awesomeadmin.model.GenCode;
  3. import org.apache.log4j.Logger;
  4. import org.apache.velocity.Template;
  5. import org.apache.velocity.VelocityContext;
  6. import org.apache.velocity.app.Velocity;
  7. import org.apache.velocity.tools.ToolManager;
  8. import org.hibernate.validator.internal.util.privilegedactions.GetResource;
  9. import java.io.BufferedWriter;
  10. import java.io.File;
  11. import java.io.FileOutputStream;
  12. import java.io.OutputStreamWriter;
  13. import java.nio.file.Path;
  14. import java.nio.file.Paths;
  15. import java.util.*;
  16. public class ControllerGenerator {
  17. private static final Logger LOGGER = Logger.getLogger(ControllerGenerator.class);
  18. public static void GenController(GenCode model) {
  19. try {
  20. List<String> imports = new ArrayList<>();
  21. imports = GeneratorTool.removeDuplicated(imports);
  22. ToolManager manager = new ToolManager(true, true);
  23. VelocityContext context = new VelocityContext(manager.createContext());
  24. context.put("imports", imports);
  25. context.put("model", model);
  26. Template t = Velocity.getTemplate("ControllerTemplate.vm");
  27. Path targetFile = Paths.get(model.getJavaPath(), "web", model.getClassName() + "Controller.java").toAbsolutePath();
  28. GeneratorTool.merge(targetFile, context, t, model.getUpdate());
  29. LOGGER.info("成功生成Controller:" + targetFile.toString());
  30. } catch (Exception e) {
  31. e.printStackTrace();
  32. }
  33. }
  34. }