From 39b16e433f81e9f86f47af2f9aaa7c196363ccb2 Mon Sep 17 00:00:00 2001 From: wangbing Date: Fri, 5 Jul 2019 12:35:08 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81Api=E7=94=9F=E6=88=90BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xyz/wbsite/dbtool/javafx/tool/Dialog.java | 28 +++++++++---------- .../dbtool/javafx/tool/JavaClassReader.java | 24 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/tool/Dialog.java b/src/main/java/xyz/wbsite/dbtool/javafx/tool/Dialog.java index 147e9825..e294d9c5 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/tool/Dialog.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/tool/Dialog.java @@ -403,19 +403,20 @@ public class Dialog { } modulePath.setText(file.getAbsolutePath()); - String absolutePath = file.getAbsolutePath(); - - String s = absolutePath.replaceAll(File.separator, "#"); - Pattern compile = Pattern.compile("#project#(.*)#src#main#java#"); - Matcher matcher = compile.matcher(s); - File api = new File(apiPath.getText()); - if (!matcher.find()) { - apiPath.setText(new File(api.getParentFile().getAbsolutePath(), "api").getAbsolutePath()); - } else { - String group = matcher.group(1); - apiPath.setText(new File(api.getParentFile().getAbsolutePath(), group + "-api").getAbsolutePath()); + String projectName = ""; + // 尝试查找Windows下的项目名称 + String path = file.getAbsolutePath(); + String pathReplace = path.replaceAll("\\\\", "#"); + if (pathReplace.equals(path)) { + pathReplace = path.replaceAll("/", "#"); } - System.out.println(file.getAbsolutePath()); + Pattern compile = Pattern.compile("#([^#]*)#src#main#java#"); + Matcher matcher = compile.matcher(pathReplace); + if (matcher.find()) { + projectName = matcher.group(1); + } + + apiPath.setText(new File(ProjectManager.getPath(), projectName + "-api").getAbsolutePath()); } }); @@ -514,7 +515,6 @@ public class Dialog { } else { modulePath.setText(modul.getAbsolutePath()); - String projectName = ""; // 尝试查找Windows下的项目名称 String path = modul.getAbsolutePath(); @@ -522,7 +522,7 @@ public class Dialog { if (pathReplace.equals(path)) { pathReplace = path.replaceAll("/", "#"); } - Pattern compile = Pattern.compile("#project#(.*)#src#main#java#"); + Pattern compile = Pattern.compile("#([^#]*)#src#main#java#"); Matcher matcher = compile.matcher(pathReplace); if (matcher.find()) { projectName = matcher.group(1); diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/tool/JavaClassReader.java b/src/main/java/xyz/wbsite/dbtool/javafx/tool/JavaClassReader.java index 67f67150..03c28fa1 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/tool/JavaClassReader.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/tool/JavaClassReader.java @@ -46,7 +46,7 @@ public class JavaClassReader { s = s.replaceAll(";", ""); String[] split = s.split("\\."); - if ("req".equals(split[split.length - 1]) || "rsp".equals(split[split.length - 1])|| "ent".equals(split[split.length - 1])) { + if ("req".equals(split[split.length - 1]) || "rsp".equals(split[split.length - 1]) || "ent".equals(split[split.length - 1])) { moduleName = split[split.length - 2]; for (int i = 0; i < split.length - 2; i++) { domainName += split[i] + "."; @@ -58,8 +58,8 @@ public class JavaClassReader { } if (line.startsWith("import")) { if (!line.contains("frame")) { - if (line.contains(".ent.")){ - line = line.replaceAll("\\.ent\\.",".entity."); + if (line.contains(".ent.")) { + line = line.replaceAll("\\.ent\\.", ".entity."); } importList.add(line); } @@ -87,21 +87,21 @@ public class JavaClassReader { if ("extends".equals(split[i])) { fatherName = split[i + 1]; - if (fatherName.contains("FindResponse") || fatherName.contains("GetAllResponse")){ + if (fatherName.contains("FindResponse") || fatherName.contains("GetAllResponse")) { hasList = true; Pattern pattern = Pattern.compile("<(.*?)>"); Matcher matcher = pattern.matcher(fatherName); - if (matcher.find()){ + if (matcher.find()) { String group = matcher.group(1); Tclass = group; } } - if (fatherName.contains("FindRequest")){ + if (fatherName.contains("FindRequest")) { findOrSearchflag = "1"; - }else if( fatherName.contains("SearchRequest")){ + } else if (fatherName.contains("SearchRequest")) { findOrSearchflag = "2"; - }else { + } else { findOrSearchflag = "0"; } } @@ -116,7 +116,7 @@ public class JavaClassReader { if (body.get(i).contains("{")) { body.set(i, body.get(i).replaceAll("\\{", "")); String s = body.get(i); - if (s.length() <= 1){ + if (s.length() <= 1) { body.remove(i); } break; @@ -128,11 +128,11 @@ public class JavaClassReader { break; } } - if ("".equals(body.get(0))){ + if (body.size() > 1 && "".equals(body.get(0))) { body.remove(0); } - if ("".equals(body.get(body.size()-1))){ - body.remove(body.size()-1); + if (body.size() > 1 && "".equals(body.get(body.size() - 1))) { + body.remove(body.size() - 1); } bufferedReader.close();