Former-commit-id: e34ba8998eb9205d173d31f53ad8e1704abe63b7
master
wangbing 4 years ago
parent da890801a9
commit 1a2b32d3b9

@ -16,21 +16,17 @@ import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.control.cell.TextFieldTableCell;
import javafx.util.Callback;
import javafx.util.converter.DefaultStringConverter;
import xyz.wbsite.dbtool.javafx.po.Api;
import xyz.wbsite.dbtool.javafx.po.ApiMethod;
import xyz.wbsite.dbtool.javafx.po.Doc;
import xyz.wbsite.dbtool.javafx.tool.ApiClassReader;
import xyz.wbsite.dbtool.javafx.tool.DocClassReader;
import xyz.wbsite.dbtool.javafx.tool.DocRequestReader;
import xyz.wbsite.dbtool.javafx.tool.DocResponseReader;
import xyz.wbsite.dbtool.javafx.tool.Tool;
import xyz.wbsite.dbtool.javafx.view.DBCheckBoxTableCell;
import xyz.wbsite.dbtool.web.frame.utils.FileUtil;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
@ -151,71 +147,74 @@ public class OptionDocController {
return;
}
File ajaxPath = Tool.createPath(actionPath.get(0), "ajax");
for (File file : ajaxPath.listFiles()) {
String module = file.getName();
for (File tar : file.listFiles()) {
try {
String target = tar.getName().replaceAll("Ajax$", "").replaceAll(".java", "");
DocClassReader docClassReader = new DocClassReader(tar);
for (ApiMethod apiMethod : docClassReader.getMethodList()) {
Doc doc = new Doc();
doc.setType("Ajax");
doc.setModule(module);
doc.setTarget(target);
doc.setRequest(apiMethod.getRequest());
doc.setResponse(apiMethod.getResponse());
doc.setMethod(apiMethod.getMethod());
List<File> reqFiles = Tool.findRequest(moduleFile, apiMethod.getRequest() + ".java");
if (reqFiles.size() == 0) {
doc.setError(doc.getError() + "未找到请求");
} else if (reqFiles.size() > 1) {
doc.setError(doc.getError() + "找到多个请求");
} else {
doc.setRequestFile(reqFiles.get(0));
//查找依赖ent
List<String> entities = findEntities(reqFiles.get(0));
for (String entity : entities) {
doc.getDepEnt().add(entity);
}
//查找依赖req
List<String> reqss = findReq(reqFiles.get(0));
for (String string : reqss) {
doc.getDepReq().add(string);
}
}
List<File> rspfiles = Tool.findResponse(moduleFile, apiMethod.getResponse() + ".java");
if (rspfiles.size() == 0) {
doc.setError(doc.getError() + "未找到响应");
} else if (rspfiles.size() > 1) {
doc.setError(doc.getError() + "找到多个响应");
} else {
doc.setResponseFile(rspfiles.get(0));
//查找依赖ent
List<String> entities = findEntities(rspfiles.get(0));
for (String entity : entities) {
doc.getDepEnt().add(entity);
}
//查找依赖req
List<String> reqss = findReq(rspfiles.get(0));
for (String string : reqss) {
doc.getDepReq().add(string);
}
}
doc.setCheck(true);
data.add(doc);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
// File ajaxPath = Tool.createPath(actionPath.get(0), "ajax");
// for (File file : ajaxPath.listFiles()) {
// String module = file.getName();
// for (File tar : file.listFiles()) {
// try {
// String target = tar.getName().replaceAll("Ajax$", "").replaceAll(".java", "");
// DocClassReader docClassReader = new DocClassReader(tar);
//
// for (ApiMethod apiMethod : docClassReader.getMethodList()) {
// Doc doc = new Doc();
// doc.setType("ajax");
// doc.setModule(module);
// doc.setTarget(target);
// doc.setRequest(apiMethod.getRequest());
// doc.setResponse(apiMethod.getResponse());
// doc.setMethod(apiMethod.getMethod());
//
// List<File> reqFiles = Tool.findRequest(moduleFile, apiMethod.getRequest() + ".java");
// if (reqFiles.size() == 0) {
// doc.setError(doc.getError() + "未找到请求");
// } else if (reqFiles.size() > 1) {
// doc.setError(doc.getError() + "找到多个请求");
// } else {
// DocRequestReader docRequestReader = new DocRequestReader("ajax", reqFiles.get(0));
//
// //查找依赖ent
// List<String> entities = findEntities(reqFiles.get(0));
// for (String entity : entities) {
// System.out.println();
//// doc.getDepEnt().add(entity);
// }
//
// //查找依赖req
// List<String> reqss = findEntities(reqFiles.get(0));
// for (String string : reqss) {
//// doc.getDepReq().add(string);
// }
// }
//
// List<File> rspfiles = Tool.findResponse(moduleFile, apiMethod.getResponse() + ".java");
// if (rspfiles.size() == 0) {
// doc.setError(doc.getError() + "未找到响应");
// } else if (rspfiles.size() > 1) {
// doc.setError(doc.getError() + "找到多个响应");
// } else {
// DocRequestReader docRequestReader = new DocRequestReader("ajax", reqFiles.get(0));
//
// //查找依赖ent
// List<String> entities = findEntities(rspfiles.get(0));
// for (String entity : entities) {
// System.out.println();
// }
//
// //查找依赖req
// List<String> reqss = findEntities(rspfiles.get(0));
// for (String string : reqss) {
// System.out.println("");
// }
// }
//
// doc.setCheck(true);
// data.add(doc);
// }
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
// }
File apiPath = Tool.createPath(actionPath.get(0), "api");
for (File file : apiPath.listFiles()) {
@ -227,7 +226,7 @@ public class OptionDocController {
for (ApiMethod apiMethod : docClassReader.getMethodList()) {
Doc doc = new Doc();
doc.setType("Api");
doc.setType("api");
doc.setModule(module);
doc.setTarget(target);
doc.setRequest(apiMethod.getRequest());
@ -240,18 +239,9 @@ public class OptionDocController {
} else if (reqFiles.size() > 1) {
doc.setError(doc.getError() + "找到多个请求");
} else {
doc.setRequestFile(reqFiles.get(0));
//查找依赖ent
List<String> entities = findEntities(reqFiles.get(0));
for (String entity : entities) {
doc.getDepEnt().add(entity);
}
//查找依赖req
List<String> reqss = findReq(reqFiles.get(0));
for (String string : reqss) {
doc.getDepReq().add(string);
}
DocRequestReader docRequestReader = new DocRequestReader(reqFiles.get(0));
doc.setTitle(docRequestReader.getClassNote());
doc.setReqParams(docRequestReader.getFieldDocList());
}
List<File> rspfiles = Tool.findResponse(moduleFile, apiMethod.getResponse() + ".java");
@ -260,18 +250,8 @@ public class OptionDocController {
} else if (rspfiles.size() > 1) {
doc.setError(doc.getError() + "找到多个响应");
} else {
doc.setResponseFile(rspfiles.get(0));
//查找依赖ent
List<String> entities = findEntities(rspfiles.get(0));
for (String entity : entities) {
doc.getDepEnt().add(entity);
}
//查找依赖req
List<String> reqss = findReq(rspfiles.get(0));
for (String string : reqss) {
doc.getDepReq().add(string);
}
DocResponseReader docResponseReader = new DocResponseReader(rspfiles.get(0));
doc.setRspParams(docResponseReader.getFieldDocList());
}
doc.setCheck(true);
@ -289,88 +269,21 @@ public class OptionDocController {
public List<String> findEntities(File file) {
ArrayList<String> strings = new ArrayList<>();
InputStreamReader read = null;//考虑到编码格式
try {
read = new InputStreamReader(new FileInputStream(file), "UTF-8");
BufferedReader bufferedReader = new BufferedReader(read);
String line = null;
while ((line = bufferedReader.readLine()) != null) {
//指定字符串判断处
if (line.contains(".ent.")) {
Pattern compile = Pattern.compile(".*\\.ent\\.(.*);");
Matcher matcher = compile.matcher(line);
if (matcher.find()) {
String group = matcher.group(1);
strings.add(group);
// System.out.println(group);
}
}
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return strings;
}
public List<String> findReq(File file) {
ArrayList<String> strings = new ArrayList<>();
InputStreamReader read = null;//考虑到编码格式
try {
read = new InputStreamReader(new FileInputStream(file), "UTF-8");
BufferedReader bufferedReader = new BufferedReader(read);
String line = null;
Pattern compile1 = Pattern.compile(".*private\\s([a-zA-Z_]*Request)\\s[a-zA-Z_]*Request;.*");
Pattern compile2 = Pattern.compile(".*private\\sList<([a-zA-Z_]*Request)>\\s[a-zA-Z_]*Requests;.*");
Pattern compile3 = Pattern.compile(".*private\\sList<([a-zA-Z_]*Request)>\\s[a-zA-Z_]*RequestList;.*");
while ((line = bufferedReader.readLine()) != null) {
//携带一个Request
if (line.matches(".*private\\s([a-zA-Z_]*Request)\\s[a-zA-Z_]*Request;.*")) {
Matcher matcher = compile1.matcher(line);
if (matcher.find()) {
String group = matcher.group(1);
strings.add(group);
System.out.println(group);
}
}
//携带一个List<*Request> *Requests;
if (line.matches(".*private\\sList<([a-zA-Z_]*Request)>\\s[a-zA-Z_]*Requests;.*")) {
Matcher matcher = compile2.matcher(line);
if (matcher.find()) {
String group = matcher.group(1);
strings.add(group);
System.out.println(group);
}
}
//携带一个List<*Request> *RequestList;
if (line.matches(".*private\\sList<([a-zA-Z_]*Request)>\\s[a-zA-Z_]*RequestList;.*")) {
Matcher matcher = compile3.matcher(line);
if (matcher.find()) {
String group = matcher.group(1);
List<String> list = FileUtil.readFileToLines(file);
for (String s : list) {
s = s.trim();
if (s.matches("private\\s+(.*)\\s+(.*);")) {
Pattern compile = Pattern.compile("private\\s+(.*)\\s+(.*);");
Matcher matcher = compile.matcher(s);
if (matcher.find()) {
String group = matcher.group(1);
if (!Tool.getJavaField().contains(group)) {
strings.add(group);
System.out.println(group);
}
}
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return strings;
}

@ -7,19 +7,14 @@ import org.w3c.dom.NodeList;
import xyz.wbsite.dbtool.javafx.manger.FreeMarkerManager;
import xyz.wbsite.dbtool.javafx.manger.ManagerFactory;
import xyz.wbsite.dbtool.javafx.po.Doc;
import xyz.wbsite.dbtool.javafx.tool.DocRequestReader;
import xyz.wbsite.dbtool.javafx.tool.RequestReader;
import xyz.wbsite.dbtool.javafx.tool.ResponseReader;
import xyz.wbsite.dbtool.javafx.tool.Tool;
import xyz.wbsite.dbtool.web.frame.utils.FileUtil;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class DocCallable implements Callable {
@ -75,24 +70,20 @@ public class DocCallable implements Callable {
}
}
if (ajaxList.size() > 0) {
File ajax = Tool.createFile(this.docFile, "ajax-" + version + ".html");
for (Doc doc : ajaxList) {
DocRequestReader requestReader = new DocRequestReader(doc.getRequestFile());
// generateRequest(requestReader);
ResponseReader responseReader = new ResponseReader(doc.getResponseFile());
// generateResponse(responseReader);
}
File ajax = Tool.createFile(this.docFile, "index.html");
System.out.println("生成模块:Test");
HashMap<String, Object> ctx = new HashMap<String, Object>();
ctx.put("ajaxList", ajax);
freeMarkerManager.outputTemp(ajax, "Doc/data.json", ctx);
}
if (apiList.size() > 0) {
File api = Tool.createFile(this.docFile, "api-" + version + ".html");
for (Doc doc : apiList) {
RequestReader requestReader = new RequestReader(doc.getRequestFile());
// RequestReader requestReader = new RequestReader(doc.getRequestFile());
// generateRequest(requestReader);
ResponseReader responseReader = new ResponseReader(doc.getResponseFile());
// ResponseReader responseReader = new ResponseReader(doc.getResponseFile());
// generateResponse(responseReader);
}
}

@ -1,6 +1,5 @@
package xyz.wbsite.dbtool.javafx.po;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@ -18,13 +17,11 @@ public class Doc {
private String target;
private String method;
private List<DocReq> reqParams = new ArrayList<>();
private List<DocReq> rspParams = new ArrayList<>();
private String title;
private List<DocParam> reqParams = new ArrayList<>();
private List<DocParam> rspParams = new ArrayList<>();
private Map<String, DocEnt> entParams = new HashMap<>();
private File requestFile;
private File responseFile;
private String error = "";
public boolean isCheck() {
@ -75,22 +72,6 @@ public class Doc {
this.method = method;
}
public File getRequestFile() {
return requestFile;
}
public void setRequestFile(File requestFile) {
this.requestFile = requestFile;
}
public File getResponseFile() {
return responseFile;
}
public void setResponseFile(File responseFile) {
this.responseFile = responseFile;
}
public String getError() {
return error;
}
@ -106,4 +87,36 @@ public class Doc {
public void setType(String type) {
this.type = type;
}
public List<DocParam> getReqParams() {
return reqParams;
}
public void setReqParams(List<DocParam> reqParams) {
this.reqParams = reqParams;
}
public List<DocParam> getRspParams() {
return rspParams;
}
public void setRspParams(List<DocParam> rspParams) {
this.rspParams = rspParams;
}
public Map<String, DocEnt> getEntParams() {
return entParams;
}
public void setEntParams(Map<String, DocEnt> entParams) {
this.entParams = entParams;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}

@ -1,8 +1,8 @@
package xyz.wbsite.dbtool.javafx.po;
public class DocReq {
public class DocParam {
private String name;
private String type;
private String tupe;
private String note;
private boolean required;
@ -14,14 +14,6 @@ public class DocReq {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getNote() {
return note;
}
@ -37,4 +29,12 @@ public class DocReq {
public void setRequired(boolean required) {
this.required = required;
}
public String getTupe() {
return tupe;
}
public void setTupe(String tupe) {
this.tupe = tupe;
}
}

@ -1,12 +1,10 @@
package xyz.wbsite.dbtool.javafx.tool;
import xyz.wbsite.dbtool.javafx.po.ApiMethod;
import xyz.wbsite.dbtool.web.frame.utils.FileUtil;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
@ -24,12 +22,11 @@ public class DocClassReader {
}
private void read() throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(javaClass), "utf-8"));
List<String> lines = FileUtil.readFileToLines(this.javaClass);
String line = null;
Pattern compile = Pattern.compile("\\s+public (.*Response)\\s+(.*)\\((.*Request) request.*\\) \\{");
while ((line = bufferedReader.readLine()) != null) {
for (String line : lines) {
Matcher matcher = compile.matcher(line);
if (matcher.find()) {
@ -40,7 +37,6 @@ public class DocClassReader {
methodList.add(apiMethod);
}
}
bufferedReader.close();
}
public File getJavaClass() {

@ -0,0 +1,61 @@
package xyz.wbsite.dbtool.javafx.tool;
import xyz.wbsite.dbtool.javafx.po.DocParam;
import xyz.wbsite.dbtool.web.frame.utils.FileUtil;
import xyz.wbsite.dbtool.web.frame.utils.MapperUtil;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class DocEntityReader extends EntityReader{
private List<DocParam> fieldDocList;
public DocEntityReader(File javaClass) {
super(javaClass);
fieldDocList = new ArrayList<>();
DocParam docParam = new DocParam();
for (String s : getBody()) {
s = s.trim();
// 提取注释
if (s.startsWith("/**") || s.endsWith("*/") || s.startsWith("*")) {
s = s.replaceAll("^/\\*\\*", "");
s = s.replaceAll("^\\*/$", "");
s = s.replaceAll("^\\*", "");
docParam.setNote(nullF(docParam.getNote()) + s.trim());
}
// 必填项检查
if (s.startsWith("@NotBlank") || s.startsWith("@NotNull")) {
docParam.setRequired(true);
}
if (s.matches("private\\s(.*)\\s(.*);")) {
Pattern compile = Pattern.compile("private\\s(.*)\\s(.*);");
Matcher matcher = compile.matcher(s);
if (matcher.find()) {
docParam.setTupe(matcher.group(1));
docParam.setName(matcher.group(2));
fieldDocList.add(docParam);
System.out.println(MapperUtil.toJson(docParam));
docParam = new DocParam();
}
}
}
}
public List<DocParam> getFieldDocList() {
return fieldDocList;
}
public void setFieldDocList(List<DocParam> fieldDocList) {
this.fieldDocList = fieldDocList;
}
private String nullF(String value) {
return value == null ? "" : value;
}
}

@ -1,47 +1,136 @@
package xyz.wbsite.dbtool.javafx.tool;
import xyz.wbsite.dbtool.javafx.po.DocParam;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class DocRequestReader extends RequestReader {
private Map<String, String> fieldDocMap;
private String classNote;
private List<DocParam> fieldDocList;
private Map<String, List<DocParam>> ents;
public DocRequestReader(File javaClass) {
super(javaClass);
}
fieldDocList = new ArrayList<>();
ents = new HashMap<>();
List<String> notesList = getNotesList();
for (String s : notesList) {
s = s.trim();
// 提取注释
if ((s.startsWith("/**") || s.endsWith("*/") || s.startsWith("*")) && !s.contains("@")) {
s = s.replaceAll("^/\\*\\*", "");
s = s.replaceAll("^\\*/$", "");
s = s.replaceAll("^\\*", "");
classNote = nullF(classNote) + s.trim();
}
}
@Override
protected void read() {
super.read();
fieldDocMap = new HashMap<>();
String doc = null;
String field = null;
DocParam docParam = new DocParam();
for (String s : getBody()) {
if (s.matches("\\s+/\\*(\\*)?(.*)(\\*/)?")) {
Pattern compile = Pattern.compile("\\s+/\\*(\\*)?(.*)(\\*/)?");
Matcher matcher = compile.matcher(s);
if (matcher.find()) {
doc = matcher.group(2);
} else {
doc = "";
}
s = s.trim();
// 提取注释
if (s.startsWith("/**") || s.endsWith("*/") || s.startsWith("*")) {
s = s.replaceAll("^/\\*\\*", "");
s = s.replaceAll("^\\*/$", "");
s = s.replaceAll("^\\*", "");
docParam.setNote(nullF(docParam.getNote()) + s.trim());
}
if (s.matches("\\s+\\*\\s+(.*)")) {
Pattern compile = Pattern.compile("\\s+\\*\\s+(.*)");
Matcher matcher = compile.matcher(s);
if (matcher.find()) doc += matcher.group(1);
// 必填项检查
if (s.startsWith("@NotBlank") || s.startsWith("@NotNull")) {
docParam.setRequired(true);
}
if (s.matches("\\s+private\\s.*\\s(.*);")) {
Pattern compile = Pattern.compile("\\s+private\\s.*\\s(.*);");
if (s.matches("private\\s(.*)\\s(.*);")) {
Pattern compile = Pattern.compile("private\\s(.*)\\s(.*);");
Matcher matcher = compile.matcher(s);
if (matcher.find()) field = matcher.group(1);
fieldDocMap.put(field, doc != null ? doc : "");
if (matcher.find()) {
String type = matcher.group(1);
docParam.setTupe(type);
if (!Tool.getJavaField().contains(type)) {//读取自定义对象
if (type.endsWith("Request")) {
String module = null;
for (String s1 : getImportList()) {
Pattern compile1 = Pattern.compile("import\\s+.*\\.module\\.(.*)\\.req\\." + type);
Matcher matcher1 = compile1.matcher(s1);
if (matcher1.find()) {
module = matcher1.group(1);
}
}
if (module == null) {// 同目录下查找
List<File> files = Tool.find(this.getJavaClass().getParentFile().getParentFile(), type + ".java");
if (files.size() == 1) {
DocRequestReader docRequestReader = new DocRequestReader(files.get(0));
ents.put(docRequestReader.getModuleName() + "#" + type, docRequestReader.getFieldDocList());
}
} else {//其他模块下查找
File path = Tool.createPath(this.getJavaClass().getParentFile().getParentFile().getParentFile(), module);
List<File> files = Tool.find(path, type + ".java");
if (files.size() == 1) {
DocRequestReader docRequestReader = new DocRequestReader(files.get(0));
ents.put(docRequestReader.getModuleName() + "#" + type, docRequestReader.getFieldDocList());
}
}
} else {
String module = null;
for (String s1 : getImportList()) {
Pattern compile1 = Pattern.compile("import\\s+.*\\.module\\.(.*)\\.ent\\." + type);
Matcher matcher1 = compile1.matcher(s1);
if (matcher1.find()) {
module = matcher1.group(1);
}
}
if (module == null) {// 同目录下查找
List<File> files = Tool.find(this.getJavaClass().getParentFile().getParentFile(), type + ".java");
if (files.size() == 1) {
DocEntityReader docEntityReader = new DocEntityReader(files.get(0));
ents.put(docEntityReader.getModuleName() + "#" + type, docEntityReader.getFieldDocList());
}
} else {//其他模块下查找
File path = Tool.createPath(this.getJavaClass().getParentFile().getParentFile().getParentFile(), module);
List<File> files = Tool.find(path, type + ".java");
if (files.size() == 1) {
DocEntityReader docEntityReader = new DocEntityReader(files.get(0));
ents.put(docEntityReader.getModuleName() + "#" + type, docEntityReader.getFieldDocList());
}
}
}
}
docParam.setName(matcher.group(2));
fieldDocList.add(docParam);
docParam = new DocParam();
}
}
}
}
private String nullF(String value) {
return value == null ? "" : value;
}
public List<DocParam> getFieldDocList() {
return fieldDocList;
}
public void setFieldDocList(List<DocParam> fieldDocList) {
this.fieldDocList = fieldDocList;
}
public String getClassNote() {
return classNote;
}
public void setClassNote(String classNote) {
this.classNote = classNote;
}
}

@ -0,0 +1,55 @@
package xyz.wbsite.dbtool.javafx.tool;
import xyz.wbsite.dbtool.javafx.po.DocParam;
import xyz.wbsite.dbtool.web.frame.utils.MapperUtil;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class DocResponseReader extends ResponseReader {
private List<DocParam> fieldDocList;
public DocResponseReader(File javaClass) {
super(javaClass);
fieldDocList = new ArrayList<>();
DocParam docParam = new DocParam();
for (String s : getBody()) {
s = s.trim();
// 提取注释
if (s.startsWith("/**") || s.endsWith("*/") || s.startsWith("*")) {
s = s.replaceAll("^/\\*\\*", "");
s = s.replaceAll("^\\*/$", "");
s = s.replaceAll("^\\*", "");
docParam.setNote(nullF(docParam.getNote()) + s.trim());
}
if (s.matches("private\\s(.*)\\s(.*);")) {
Pattern compile = Pattern.compile("private\\s(.*)\\s(.*);");
Matcher matcher = compile.matcher(s);
if (matcher.find()) {
docParam.setTupe(matcher.group(1));
docParam.setName(matcher.group(2));
fieldDocList.add(docParam);
System.out.println("===" + MapperUtil.toJson(docParam));
docParam = new DocParam();
}
}
}
}
private String nullF(String value) {
return value == null ? "" : value;
}
public List<DocParam> getFieldDocList() {
return fieldDocList;
}
public void setFieldDocList(List<DocParam> fieldDocList) {
this.fieldDocList = fieldDocList;
}
}

@ -29,6 +29,10 @@ public class RequestReader {
private String Tclass = null;
public RequestReader(File javaClass) {
if (!javaClass.getName().endsWith("Request.java")) {
throw new IllegalArgumentException("not a Request");
}
this.javaClass = javaClass;
importList = new ArrayList<>();
notesList = new ArrayList<>();

@ -29,6 +29,9 @@ public class ResponseReader {
private String Tclass = null;
public ResponseReader(File javaClass) {
if (!javaClass.getName().endsWith("Response.java")) {
throw new IllegalArgumentException("not a Response");
}
this.javaClass = javaClass;
importList = new ArrayList<>();
notesList = new ArrayList<>();
@ -39,7 +42,7 @@ public class ResponseReader {
read();
}
private void read() {
void read() {
BufferedReader bufferedReader = null;
try {
bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(javaClass), "utf-8"));

@ -1,12 +1,13 @@
{
"result": [
<#list ajaxList as item>
{
"title": "登录",
"title": "${item.title}",
"type": "ajax",
"module": "system",
"target": "user",
"method": "login",
"id": "ajax.system.user.login",
"module": "${item.module}",
"target": "${item.target}",
"method": "${item.method}",
"id": "ajax.${item.module}.${item.target}.${item.method}",
"reqParams": [
{
"name": "username",
@ -33,18 +34,24 @@
"note": "用户"
}
],
"entParams": [
"entList": [
{
"name": "username",
"type": "String",
"note": "用户名"
},
{
"name": "aliasName",
"type": "String",
"note": "用户别名"
"name": "User",
"params": [
{
"name": "username",
"type": "String",
"note": "用户名"
},
{
"name": "aliasName",
"type": "String",
"note": "用户别名"
}
]
}
]
}
</#list>
]
}
Loading…
Cancel
Save

Powered by TurnKey Linux.