From 47e3087067abd35e6337c011f96d2338c0bb1aae Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 25 七月 2024 13:39:31 +0800
Subject: [PATCH] 优化自动化代码

---
 src/main/java/org/yeshi/utils/generater/vo/xmlconfig/XmlConfigParseUtil.java |   24 ++++++++++++++++--------
 1 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/src/main/java/org/yeshi/utils/generater/vo/xmlconfig/XmlConfigParseUtil.java b/src/main/java/org/yeshi/utils/generater/vo/xmlconfig/XmlConfigParseUtil.java
index 0ba0094..f9a2b7d 100644
--- a/src/main/java/org/yeshi/utils/generater/vo/xmlconfig/XmlConfigParseUtil.java
+++ b/src/main/java/org/yeshi/utils/generater/vo/xmlconfig/XmlConfigParseUtil.java
@@ -3,11 +3,11 @@
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
 import org.yeshi.utils.generater.GeneraterManagerV2;
 import org.yeshi.utils.generater.annotation.admin.DaoQueryCondition;
 import org.yeshi.utils.generater.annotation.admin.Show;
 import org.yeshi.utils.generater.annotation.admin.form.Text;
+import org.yeshi.utils.generater.entity.ClassInfo;
 import org.yeshi.utils.generater.entity.admin.FormVerifyType;
 import org.yeshi.utils.generater.vo.xmlconfig.admin.*;
 import org.yeshi.utils.generater.vo.xmlconfig.admin.form.*;
@@ -21,8 +21,9 @@
 
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import java.io.*;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -36,7 +37,7 @@
  */
 public class XmlConfigParseUtil {
 
-    public static GenertorConfig parse(InputStream inputStream) throws IOException, ParserConfigurationException, SAXException, ClassNotFoundException {
+    public static GenertorConfig parse(InputStream inputStream, ClassLoader classLoader) throws Exception {
         if (inputStream == null) {
             throw new FileNotFoundException();
         }
@@ -45,9 +46,12 @@
         DocumentBuilder builder = factory.newDocumentBuilder();
         Document root = builder.parse(inputStream);
         NodeList nodelist = root.getElementsByTagName("generator-config");
+        if (nodelist.getLength() == 0) {
+            throw new Exception("xml鏍煎紡閿欒");
+        }
         Node rootNode = nodelist.item(0);
         String clazz = rootNode.getAttributes().getNamedItem("class").getNodeValue();
-        genertorConfig.setEntity(Class.forName(clazz));
+        genertorConfig.setEntity(classLoader.loadClass(clazz));
 
         nodelist = rootNode.getChildNodes();
         for (int i = 0; i < nodelist.getLength(); i++) {
@@ -66,8 +70,6 @@
                     genertorConfig.setAdmin(parseAdmin(node));
                 }
                 break;
-
-
             }
 
 
@@ -108,12 +110,17 @@
         data.setImplPackage(getNodeAttributeValue(node, "implPackage"));
         data.setQueryPackage(getNodeAttributeValue(node, "queryPackage"));
 
+
         NodeList nodeList = node.getChildNodes();
         for (int i = 0; i < nodeList.getLength(); i++) {
             if (nodeList.item(i).getNodeName().equalsIgnoreCase("exception")) {
                 ExceptionData exceptionData = new ExceptionData();
                 exceptionData.setPkg(getNodeAttributeValue(nodeList.item(i), "package"));
                 exceptionData.setName(getNodeAttributeValue(nodeList.item(i), "name"));
+                String base = getNodeAttributeValue(nodeList.item(i), "base");
+                if (base != null) {
+                    exceptionData.setBase(new ClassInfo(base.split("\\.")[base.split("\\.").length - 1], base));
+                }
                 data.setException(exceptionData);
                 break;
             }
@@ -201,6 +208,7 @@
                     adminControllerData.setMapping(getNodeAttributeValue(node1, "mapping"));
                     adminControllerData.setName(getNodeAttributeValue(node1, "name"));
                     adminControllerData.setPkg(getNodeAttributeValue(node1, "package"));
+                    adminControllerData.setAdminVOPackage(getNodeAttributeValue(node1, "adminVOPackage"));
                     adminControllerData.setResponseBody(Boolean.parseBoolean(getNodeAttributeValue(node1, "responseBody")));
                     adminData.setController(adminControllerData);
                 }
@@ -415,7 +423,7 @@
 
 
     public static void main(String[] args) throws Exception {
-        GenertorConfig config = XmlConfigParseUtil.parse(new FileInputStream("D:\\workspace\\server\\utils\\src\\test\\test.xml"));
+        GenertorConfig config = XmlConfigParseUtil.parse(new FileInputStream("D:\\workspace\\server\\utils\\src\\test\\test.xml"), null);
         GeneraterManagerV2.getInstance().init("D:\\workspace\\server\\utils\\src\\test\\java", config);
         GeneraterManagerV2.getInstance().createWholeFunction();
         System.out.println(config);

--
Gitblit v1.8.0