From e29ec42c0dbd8cc7d233ff0b59514e85d833782e Mon Sep 17 00:00:00 2001 From: wangbing Date: Thu, 18 Jun 2020 00:17:57 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Former-commit-id: de9c0368b2bfc5f6a584c378c3736c5636896b02 --- .../javafx/ctrl/OptionDocController.java | 4 +- .../javafx/manger/callable/ApiCallable.java | 3 +- .../dbtool/javafx/tool/RequestReader.java | 185 +++++++----------- .../Java_api/frame/base/BaseFindRequest.java | 2 +- .../frame/base/BaseSearchRequest.java | 2 +- .../frame/base/BaseUpdateRequest.java | 2 +- .../modules/Java_api/module/req/request.java | 24 +-- 7 files changed, 77 insertions(+), 145 deletions(-) diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/ctrl/OptionDocController.java b/src/main/java/xyz/wbsite/dbtool/javafx/ctrl/OptionDocController.java index a502331f..16266e48 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/ctrl/OptionDocController.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/ctrl/OptionDocController.java @@ -173,7 +173,7 @@ public class OptionDocController { doc.setError(doc.getError() + "找到多个请求"); } else { DocRequestReader docRequestReader = new DocRequestReader(reqFiles.get(0)); - doc.setFind("1".equals(docRequestReader.getFindOrSearchflag())); +// doc.setFind("1".equals(docRequestReader.getFindOrSearchflag())); doc.setTitle(docRequestReader.getClassNote()); doc.setReqParams(docRequestReader.getFieldDocList()); } @@ -223,7 +223,7 @@ public class OptionDocController { doc.setError(doc.getError() + "找到多个请求"); } else { DocRequestReader docRequestReader = new DocRequestReader(reqFiles.get(0)); - doc.setFind("1".equals(docRequestReader.getFindOrSearchflag())); +// doc.setFind("1".equals(docRequestReader.getFindOrSearchflag())); doc.setTitle(docRequestReader.getClassNote()); doc.setReqParams(docRequestReader.getFieldDocList()); } diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/manger/callable/ApiCallable.java b/src/main/java/xyz/wbsite/dbtool/javafx/manger/callable/ApiCallable.java index 3860dbb1..e685007e 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/manger/callable/ApiCallable.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/manger/callable/ApiCallable.java @@ -232,11 +232,10 @@ public class ApiCallable implements Callable { ctx.put("reqNames", reqNames); ctx.put("annotation", reader.getNotesList()); ctx.put("className", reader.getClassName()); + ctx.put("fatherName", reader.getFatherName()); ctx.put("rspClassName", reader.getClassName().replaceAll("Request", "Response")); ctx.put("body", reader.getBody()); ctx.put("tool", tool); - ctx.put("hasList", reader.isHasList()); - ctx.put("findOrSearchflag", reader.getFindOrSearchflag()); File req = Tool.createPath(apiModule.getAbsolutePath(), reader.getModuleName(), "req"); File file = new File(req, reader.getClassName() + ".java"); diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/tool/RequestReader.java b/src/main/java/xyz/wbsite/dbtool/javafx/tool/RequestReader.java index aaa31f32..ee190211 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/tool/RequestReader.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/tool/RequestReader.java @@ -1,10 +1,9 @@ package xyz.wbsite.dbtool.javafx.tool; -import java.io.BufferedReader; +import xyz.wbsite.dbtool.web.frame.utils.FileUtil; + import java.io.File; -import java.io.FileInputStream; import java.io.IOException; -import java.io.InputStreamReader; import java.util.ArrayList; import java.util.HashSet; import java.util.List; @@ -24,8 +23,6 @@ public class RequestReader { private String className; private String fatherName; private List body; - private boolean hasList = false; - private String findOrSearchflag = "0"; private String Tclass = null; public RequestReader(File javaClass) { @@ -44,114 +41,84 @@ public class RequestReader { } protected void read() { - BufferedReader bufferedReader = null; - try { - bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(javaClass), "utf-8")); - - String line = null; - while ((line = bufferedReader.readLine()) != null) { - if (line.matches("\\s*package\\s(.*);")) { - Pattern compile = Pattern.compile("\\s*package\\s(.*)\\.module\\.(.*).req;"); - Matcher matcher = compile.matcher(line); - if (matcher.find()) { - domainName = matcher.group(1); - moduleName = matcher.group(2); - } - continue; - } - if (line.matches("import\\s.*")) { - if (line.contains(".ent.")) { - Pattern compile = Pattern.compile("import\\s+(.*\\.ent\\..*);"); - Matcher matcher = compile.matcher(line); - if (matcher.find()) { - String group = matcher.group(1); - deptEntList.add(group); - } - } else if (line.contains("frame")) { - - } else if (line.contains("javax.validation")) { - - } else if (line.contains("org.hibernate.validator")) { - - } else { - importList.add(line); - } + + List strings = FileUtil.readFileToLines(javaClass); + + Pattern p1 = Pattern.compile("package\\s+(.*)\\.module\\.(.*).req;"); + Pattern p2 = Pattern.compile("import\\s+(.*\\.ent\\..*);"); + Pattern p3 = Pattern.compile("public\\s+class\\s+(.*Request)\\s+extends\\s+(.*Request)\\s*\\{"); + Pattern p4 = Pattern.compile("private\\s+(.*Request)\\s+(.*);"); + Pattern p5 = Pattern.compile("private\\s+(.*\\.)*([^\\\\.]*)\\s+(.*);"); + for (String line : strings) { + { + Matcher matcher = p1.matcher(line.trim()); + if (matcher.find()) { + domainName = matcher.group(1); + moduleName = matcher.group(2); continue; } - if ((line.contains("/**") || line.contains("*") || line.contains("*/")) && body.size() == 0) { - notesList.add(line); + } + + if (line.startsWith("import")) { + Matcher matcher = p2.matcher(line.trim()); + if (matcher.find()) { + deptEntList.add(matcher.group(1)); + } else if (line.contains("frame")) { + + } else if (line.contains("javax.validation")) { + + } else if (line.contains("org.hibernate.validator")) { + + } else { + importList.add(line); } + continue; + } - if (line.matches("public\\s+class\\s+(.*Request)\\s+extends\\s+(.*)Request\\s*\\{")) { - Pattern compile = Pattern.compile("public\\s+class\\s+(.*Request)\\s+extends\\s+(.*)Request\\s*\\{"); - Matcher matcher = compile.matcher(line); - if (matcher.find()) { - className = matcher.group(1); - fatherName = matcher.group(2); + if ((line.contains("/**") || line.contains("*") || line.contains("*/")) && className == null) {//未读取到类名之前注释为类注释 + notesList.add(line); + } - if (fatherName.contains("BaseFindRequest")) { - hasList = true; - findOrSearchflag = "1"; - } - } + { + Matcher matcher = p3.matcher(line.trim()); + if (matcher.find()) { + className = matcher.group(1); + fatherName = matcher.group(2); continue; } - if (className != null) { - if (line.matches("\\s*private\\s+(.*Request)\\s+(.*);")) { - Pattern compile = Pattern.compile("\\s*private\\s+(.*Request)\\s+(.*);"); - Matcher matcher = compile.matcher(line); - - if (matcher.find()) { - String group = matcher.group(1); - deptReqList.add(group); - } - } else if (line.matches("\\s*private\\s+(.*\\.)*([^\\\\.]*)\\s+(.*);")) { - Pattern compile = Pattern.compile("\\s*private\\s+(.*\\.)*([^\\\\.]*)\\s+(.*);"); - Matcher matcher = compile.matcher(line); - - if (matcher.find()) { - String group = matcher.group(2); - Set javaField = Tool.getJavaField(); - if (!javaField.contains(group)) { - deptEntList.add(group); - } - } - } - - if (line.contains("@ColumnName") || - line.contains("@ColumnDescription") - ) { - continue; - } - - body.add(line); - } } - for (int i = body.size() - 1; i >= 0; i--) { - if (body.get(i).contains("}")) { - body.set(i, body.get(i).replaceAll("}", "")); - break; + if (className != null) { + Matcher matcher = p4.matcher(line.trim()); + if (matcher.find()) { + deptReqList.add(matcher.group(1)); + } else if (matcher.find()) { + deptEntList.add(matcher.group(2)); } - } - if (body.size() > 1 && "".equals(body.get(0))) { - body.remove(0); - } - if (body.size() > 1 && "".equals(body.get(body.size() - 1))) { - body.remove(body.size() - 1); - } - } catch (IOException e) { - e.printStackTrace(); - } finally { - if (bufferedReader != null) { - try { - bufferedReader.close(); - } catch (IOException e) { - e.printStackTrace(); + + if (line.contains("@ColumnName") || + line.contains("@ColumnDescription") + ) { + continue; } + + body.add(line); + } + } + + for (int i = body.size() - 1; i >= 0; i--) { + if (body.get(i).contains("}")) { + body.set(i, body.get(i).replaceAll("}", "")); + break; } } + if (body.size() > 1 && "".equals(body.get(0))) { + body.remove(0); + } + if (body.size() > 1 && "".equals(body.get(body.size() - 1))) { + body.remove(body.size() - 1); + } } public String getDomainName() { @@ -218,26 +185,6 @@ public class RequestReader { this.javaClass = javaClass; } - public boolean isHasList() { - return hasList; - } - - public void setHasList(boolean hasList) { - this.hasList = hasList; - } - - public String getTclass() { - return Tclass; - } - - public String getFindOrSearchflag() { - return findOrSearchflag; - } - - public void setFindOrSearchflag(String findOrSearchflag) { - this.findOrSearchflag = findOrSearchflag; - } - public void setTclass(String tclass) { Tclass = tclass; } diff --git a/src/main/resources/modules/Java_api/frame/base/BaseFindRequest.java b/src/main/resources/modules/Java_api/frame/base/BaseFindRequest.java index 05212c54..67ab1293 100644 --- a/src/main/resources/modules/Java_api/frame/base/BaseFindRequest.java +++ b/src/main/resources/modules/Java_api/frame/base/BaseFindRequest.java @@ -7,7 +7,7 @@ package ${domain}.frame.base; * @version 0.0.1 * @since 2017-01-01 */ -public abstract class BaseFindRequest extends BaseRequest{ +public abstract class BaseFindRequest extends BaseRequest{ private long pageNumber = 1L; diff --git a/src/main/resources/modules/Java_api/frame/base/BaseSearchRequest.java b/src/main/resources/modules/Java_api/frame/base/BaseSearchRequest.java index 41d03aaa..3490189c 100644 --- a/src/main/resources/modules/Java_api/frame/base/BaseSearchRequest.java +++ b/src/main/resources/modules/Java_api/frame/base/BaseSearchRequest.java @@ -7,7 +7,7 @@ package ${domain}.frame.base; * @version 0.0.1 * @since 2017-01-01 */ -public abstract class BaseSearchRequest extends BaseFindRequest{ +public abstract class BaseSearchRequest extends BaseFindRequest{ /** * 关键字 diff --git a/src/main/resources/modules/Java_api/frame/base/BaseUpdateRequest.java b/src/main/resources/modules/Java_api/frame/base/BaseUpdateRequest.java index f8a12a97..d987d64a 100644 --- a/src/main/resources/modules/Java_api/frame/base/BaseUpdateRequest.java +++ b/src/main/resources/modules/Java_api/frame/base/BaseUpdateRequest.java @@ -7,7 +7,7 @@ package ${domain}.frame.base; * @version 0.0.1 * @since 2017-01-01 */ -public class BaseUpdateRequest extends BaseRequest{ +public class BaseUpdateRequest extends BaseRequest{ /** * 版本戳 diff --git a/src/main/resources/modules/Java_api/module/req/request.java b/src/main/resources/modules/Java_api/module/req/request.java index 184546c8..fb7eb8aa 100644 --- a/src/main/resources/modules/Java_api/module/req/request.java +++ b/src/main/resources/modules/Java_api/module/req/request.java @@ -6,32 +6,18 @@ ${i} <#list entNames as entName> import ${domain}.module.${module}.ent.${entName}; -<#if !isTempReq> -import ${domain}.module.${module}.rsp.${rspClassName}; - -import ${domain}.frame.base.BaseRequest; -<#if findOrSearchflag=='1'> +<#if fatherName == 'BaseRequest'> +import ${domain}.frame.base.'BaseRequest'; +<#elseif fatherName == 'BaseFindRequest'> import ${domain}.frame.base.BaseFindRequest; -<#elseif findOrSearchflag=='2'> +<#elseif fatherName == 'BaseSearchRequest'> import ${domain}.frame.base.BaseSearchRequest; <#list annotation as i> ${i} -<#if findOrSearchflag=='1' && !isTempReq> -public class ${className} extends BaseFindRequest<${rspClassName}> { -<#elseif findOrSearchflag=='1' && isTempReq> -public class ${className} extends BaseFindRequest<${rspClassName}> { -<#elseif findOrSearchflag=='2' && !isTempReq> -public class ${className} extends BaseSearchRequest<${rspClassName}>{ -<#elseif findOrSearchflag=='2' && isTempReq> -public class ${className} extends BaseSearchRequest<${rspClassName}> { -<#elseif !isTempReq> -public class ${className} extends BaseRequest<${rspClassName}> { -<#elseif isTempReq> -public class ${className} extends BaseRequest { - +public class ${className} extends ${fatherName}<${rspClassName}> { <#list body as i> <#if !i?contains("@")>