| 123456789101112131415161718192021222324252627282930313233343536373839 |
- 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 java.nio.file.Path;
- import java.nio.file.Paths;
- import java.util.ArrayList;
- import java.util.List;
- public class ModelGenerator {
- private static final Logger LOGGER = Logger.getLogger(ModelGenerator.class);
- public static void GenModel(GenCode model) {
- try {
- List<String> imports = new ArrayList<>(GeneratorTool.getImports(model));
- imports = GeneratorTool.removeDuplicated(imports);
- ToolManager manager = new ToolManager(true, true);
- VelocityContext context = new VelocityContext(manager.createContext());
- context.put("imports", imports);
- context.put("model", model);
- String templateName = "ModelTemplate.vm";
- Template t = Velocity.getTemplate(templateName);
- Path targetFile = Paths.get(model.getJavaPath(), "model", model.getClassName() + ".java").toAbsolutePath();
- GeneratorTool.merge(targetFile, context, t, model.getUpdate());
- LOGGER.info("成功生成Model:" + targetFile.toString());
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
|