|
|
@ -47,6 +47,46 @@ public class ApiCallable implements Callable {
|
|
|
|
|
|
|
|
|
|
|
|
dBmapper = ProjectManager.dBmapper;
|
|
|
|
dBmapper = ProjectManager.dBmapper;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
File domain;
|
|
|
|
|
|
|
|
File testdomain;
|
|
|
|
|
|
|
|
File request;
|
|
|
|
|
|
|
|
File response;
|
|
|
|
|
|
|
|
File entity;
|
|
|
|
|
|
|
|
File enumeration;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
StringBuffer sbmain = new StringBuffer("");
|
|
|
|
|
|
|
|
sbmain.append(this.api.getPath() + File.separator);
|
|
|
|
|
|
|
|
sbmain.append("src" + File.separator);
|
|
|
|
|
|
|
|
sbmain.append("main" + File.separator);
|
|
|
|
|
|
|
|
sbmain.append("java" + File.separator);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
StringBuffer sbtest = new StringBuffer("");
|
|
|
|
|
|
|
|
sbtest.append(this.api.getPath() + File.separator);
|
|
|
|
|
|
|
|
sbtest.append("src" + File.separator);
|
|
|
|
|
|
|
|
sbtest.append("test" + File.separator);
|
|
|
|
|
|
|
|
sbtest.append("java" + File.separator);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
JavaClassReader javaClass = new JavaClassReader(apis.get(0).getReq());
|
|
|
|
|
|
|
|
String[] split = javaClass.getDomainName().split("\\.");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (String s1 : split) {
|
|
|
|
|
|
|
|
sbmain.append(s1 + File.separator);
|
|
|
|
|
|
|
|
sbtest.append(s1 + File.separator);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
domain = new File(sbmain.toString());
|
|
|
|
|
|
|
|
domain.mkdirs();
|
|
|
|
|
|
|
|
testdomain = new File(sbtest.toString());
|
|
|
|
|
|
|
|
testdomain.mkdirs();
|
|
|
|
|
|
|
|
request = new File(domain, "request");
|
|
|
|
|
|
|
|
request.mkdirs();
|
|
|
|
|
|
|
|
response = new File(domain, "response");
|
|
|
|
|
|
|
|
response.mkdirs();
|
|
|
|
|
|
|
|
entity = new File(domain, "entity");
|
|
|
|
|
|
|
|
entity.mkdirs();
|
|
|
|
|
|
|
|
enumeration = new File(domain, "enums");
|
|
|
|
|
|
|
|
enumeration.mkdirs();
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
System.out.println("生成模块:Pom");
|
|
|
|
System.out.println("生成模块:Pom");
|
|
|
|
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
|
|
|
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
|
|
@ -55,9 +95,7 @@ public class ApiCallable implements Callable {
|
|
|
|
freeMarkerManager.outputTemp(file, "Java_api/pom.ftl", ctx);
|
|
|
|
freeMarkerManager.outputTemp(file, "Java_api/pom.ftl", ctx);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
File frameWork = null;
|
|
|
|
|
|
|
|
String domain = null;
|
|
|
|
|
|
|
|
String module = null;
|
|
|
|
|
|
|
|
Set<String> managerList = new HashSet<>();
|
|
|
|
Set<String> managerList = new HashSet<>();
|
|
|
|
List<Method> methodList = new ArrayList<>();
|
|
|
|
List<Method> methodList = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
|
@ -75,35 +113,9 @@ public class ApiCallable implements Callable {
|
|
|
|
method.setMethod(Tool.getRequestAction(javaClassReader.getClassName()));
|
|
|
|
method.setMethod(Tool.getRequestAction(javaClassReader.getClassName()));
|
|
|
|
method.setManager(Tool.getRequestTarget(javaClassReader.getClassName()) + "Manager");
|
|
|
|
method.setManager(Tool.getRequestTarget(javaClassReader.getClassName()) + "Manager");
|
|
|
|
methodList.add(method);
|
|
|
|
methodList.add(method);
|
|
|
|
StringBuffer stringBuffer = new StringBuffer("");
|
|
|
|
|
|
|
|
stringBuffer.append(this.api.getPath() + File.separator);
|
|
|
|
|
|
|
|
stringBuffer.append("src" + File.separator);
|
|
|
|
|
|
|
|
stringBuffer.append("main" + File.separator);
|
|
|
|
|
|
|
|
stringBuffer.append("java" + File.separator);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String[] split = javaClassReader.getDomainName().split("\\.");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
managerList.add(method.getManager());
|
|
|
|
managerList.add(method.getManager());
|
|
|
|
|
|
|
|
|
|
|
|
for (String s1 : split) {
|
|
|
|
|
|
|
|
stringBuffer.append(s1 + File.separator);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (frameWork == null) {
|
|
|
|
|
|
|
|
frameWork = new File(stringBuffer.toString());
|
|
|
|
|
|
|
|
frameWork.mkdirs();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (domain == null) {
|
|
|
|
|
|
|
|
domain = javaClassReader.getDomainName();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (module == null) {
|
|
|
|
|
|
|
|
module = javaClassReader.getModuleName();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
stringBuffer.append(javaClassReader.getModuleName());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
File request = new File(stringBuffer.toString(), "request");
|
|
|
|
|
|
|
|
request.mkdirs();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
|
|
|
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
|
|
|
ctx.put("package", "package " + javaClassReader.getDomainName() + "." + javaClassReader.getModuleName() + "." + "request;");
|
|
|
|
ctx.put("package", "package " + javaClassReader.getDomainName() + "." + javaClassReader.getModuleName() + "." + "request;");
|
|
|
@ -131,24 +143,6 @@ public class ApiCallable implements Callable {
|
|
|
|
//region 生成response
|
|
|
|
//region 生成response
|
|
|
|
JavaClassReader javaClassReader = new JavaClassReader(api.getRsp());
|
|
|
|
JavaClassReader javaClassReader = new JavaClassReader(api.getRsp());
|
|
|
|
|
|
|
|
|
|
|
|
StringBuffer stringBuffer = new StringBuffer("");
|
|
|
|
|
|
|
|
stringBuffer.append(this.api.getPath() + File.separator);
|
|
|
|
|
|
|
|
stringBuffer.append("src" + File.separator);
|
|
|
|
|
|
|
|
stringBuffer.append("main" + File.separator);
|
|
|
|
|
|
|
|
stringBuffer.append("java" + File.separator);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String[] split = javaClassReader.getDomainName().split("\\.");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (String s1 : split) {
|
|
|
|
|
|
|
|
stringBuffer.append(s1 + File.separator);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
stringBuffer.append(javaClassReader.getModuleName());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
File response = new File(stringBuffer.toString(), "response");
|
|
|
|
|
|
|
|
response.mkdirs();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
|
|
|
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
|
|
|
ctx.put("package", "package " + javaClassReader.getDomainName() + "." + javaClassReader.getModuleName() + "." + "request;");
|
|
|
|
ctx.put("package", "package " + javaClassReader.getDomainName() + "." + javaClassReader.getModuleName() + "." + "request;");
|
|
|
@ -187,33 +181,6 @@ public class ApiCallable implements Callable {
|
|
|
|
method.setMethod(Tool.getRequestAction(javaClassReader.getClassName()));
|
|
|
|
method.setMethod(Tool.getRequestAction(javaClassReader.getClassName()));
|
|
|
|
method.setManager(Tool.getRequestTarget(javaClassReader.getClassName()) + "Manager");
|
|
|
|
method.setManager(Tool.getRequestTarget(javaClassReader.getClassName()) + "Manager");
|
|
|
|
|
|
|
|
|
|
|
|
StringBuffer stringBuffer = new StringBuffer("");
|
|
|
|
|
|
|
|
stringBuffer.append(this.api.getPath() + File.separator);
|
|
|
|
|
|
|
|
stringBuffer.append("src" + File.separator);
|
|
|
|
|
|
|
|
stringBuffer.append("main" + File.separator);
|
|
|
|
|
|
|
|
stringBuffer.append("java" + File.separator);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String[] split = javaClassReader.getDomainName().split("\\.");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (String s1 : split) {
|
|
|
|
|
|
|
|
stringBuffer.append(s1 + File.separator);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (frameWork == null) {
|
|
|
|
|
|
|
|
frameWork = new File(stringBuffer.toString());
|
|
|
|
|
|
|
|
frameWork.mkdirs();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (domain == null) {
|
|
|
|
|
|
|
|
domain = javaClassReader.getDomainName();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (module == null) {
|
|
|
|
|
|
|
|
module = javaClassReader.getModuleName();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
stringBuffer.append(javaClassReader.getModuleName());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
File request = new File(stringBuffer.toString(), "request");
|
|
|
|
|
|
|
|
request.mkdirs();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
|
|
|
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
|
|
|
ctx.put("package", "package " + javaClassReader.getDomainName() + "." + javaClassReader.getModuleName() + "." + "request;");
|
|
|
|
ctx.put("package", "package " + javaClassReader.getDomainName() + "." + javaClassReader.getModuleName() + "." + "request;");
|
|
|
@ -243,24 +210,6 @@ public class ApiCallable implements Callable {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
JavaClassReader javaClassReader = new JavaClassReader(f);
|
|
|
|
JavaClassReader javaClassReader = new JavaClassReader(f);
|
|
|
|
|
|
|
|
|
|
|
|
StringBuffer stringBuffer = new StringBuffer("");
|
|
|
|
|
|
|
|
stringBuffer.append(this.api.getPath() + File.separator);
|
|
|
|
|
|
|
|
stringBuffer.append("src" + File.separator);
|
|
|
|
|
|
|
|
stringBuffer.append("main" + File.separator);
|
|
|
|
|
|
|
|
stringBuffer.append("java" + File.separator);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String[] split = javaClassReader.getDomainName().split("\\.");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (String s1 : split) {
|
|
|
|
|
|
|
|
stringBuffer.append(s1 + File.separator);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
stringBuffer.append(javaClassReader.getModuleName());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
File response = new File(stringBuffer.toString(), "response");
|
|
|
|
|
|
|
|
response.mkdirs();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
|
|
|
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
|
|
|
ctx.put("package", "package " + javaClassReader.getDomainName() + "." + javaClassReader.getModuleName() + "." + "request;");
|
|
|
|
ctx.put("package", "package " + javaClassReader.getDomainName() + "." + javaClassReader.getModuleName() + "." + "request;");
|
|
|
@ -294,24 +243,6 @@ public class ApiCallable implements Callable {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
JavaClassReader javaClassReader = new JavaClassReader(f);
|
|
|
|
JavaClassReader javaClassReader = new JavaClassReader(f);
|
|
|
|
|
|
|
|
|
|
|
|
StringBuffer stringBuffer = new StringBuffer("");
|
|
|
|
|
|
|
|
stringBuffer.append(this.api.getPath() + File.separator);
|
|
|
|
|
|
|
|
stringBuffer.append("src" + File.separator);
|
|
|
|
|
|
|
|
stringBuffer.append("main" + File.separator);
|
|
|
|
|
|
|
|
stringBuffer.append("java" + File.separator);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String[] split = javaClassReader.getDomainName().split("\\.");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (String s1 : split) {
|
|
|
|
|
|
|
|
stringBuffer.append(s1 + File.separator);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
stringBuffer.append(javaClassReader.getModuleName());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
File entity = new File(stringBuffer.toString(), "entity");
|
|
|
|
|
|
|
|
entity.mkdirs();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
|
|
|
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
|
|
|
ctx.put("package", "package " + javaClassReader.getDomainName() + "." + javaClassReader.getModuleName() + "." + "request;");
|
|
|
|
ctx.put("package", "package " + javaClassReader.getDomainName() + "." + javaClassReader.getModuleName() + "." + "request;");
|
|
|
@ -341,24 +272,6 @@ public class ApiCallable implements Callable {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
JavaEnumReader javaEnumReader = new JavaEnumReader(f);
|
|
|
|
JavaEnumReader javaEnumReader = new JavaEnumReader(f);
|
|
|
|
|
|
|
|
|
|
|
|
StringBuffer stringBuffer = new StringBuffer("");
|
|
|
|
|
|
|
|
stringBuffer.append(this.api.getPath() + File.separator);
|
|
|
|
|
|
|
|
stringBuffer.append("src" + File.separator);
|
|
|
|
|
|
|
|
stringBuffer.append("main" + File.separator);
|
|
|
|
|
|
|
|
stringBuffer.append("java" + File.separator);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String[] split = javaEnumReader.getDomainName().split("\\.");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (String s1 : split) {
|
|
|
|
|
|
|
|
stringBuffer.append(s1 + File.separator);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
stringBuffer.append(javaEnumReader.getModuleName());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
File enums_ = new File(stringBuffer.toString(), "enums");
|
|
|
|
|
|
|
|
enums_.mkdirs();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
|
|
|
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
|
|
|
ctx.put("package", "package " + javaEnumReader.getDomainName() + "." + javaEnumReader.getModuleName() + "." + "enums;");
|
|
|
|
ctx.put("package", "package " + javaEnumReader.getDomainName() + "." + javaEnumReader.getModuleName() + "." + "enums;");
|
|
|
@ -369,7 +282,7 @@ public class ApiCallable implements Callable {
|
|
|
|
ctx.put("body", javaEnumReader.getBody());
|
|
|
|
ctx.put("body", javaEnumReader.getBody());
|
|
|
|
ctx.put("tool", tool);
|
|
|
|
ctx.put("tool", tool);
|
|
|
|
|
|
|
|
|
|
|
|
File file = new File(enums_, f.getName());
|
|
|
|
File file = new File(enumeration, f.getName());
|
|
|
|
freeMarkerManager.outputTemp(file, "Java_api/module/enums/type.ftl", ctx);
|
|
|
|
freeMarkerManager.outputTemp(file, "Java_api/module/enums/type.ftl", ctx);
|
|
|
|
System.out.println("生成文件" + file.getName() + "成功");
|
|
|
|
System.out.println("生成文件" + file.getName() + "成功");
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -382,315 +295,125 @@ public class ApiCallable implements Callable {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// if (req.exists() && rsp.exists() && ent.exists()) {
|
|
|
|
|
|
|
|
// File[] files = req.listFiles();
|
|
|
|
|
|
|
|
// System.out.println("生成模块:Request,Response,Entity");
|
|
|
|
|
|
|
|
// for (File f : files) {
|
|
|
|
|
|
|
|
// try {
|
|
|
|
|
|
|
|
// //region 生成request
|
|
|
|
|
|
|
|
// JavaClassReader javaClassReader = new JavaClassReader(f);
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// Method method = new Method();
|
|
|
|
|
|
|
|
// method.setStringMethod("api." + javaClassReader.getModuleName() + "." + Tool.camelToPoint(javaClassReader.getClassName().replaceAll("Request", "")));
|
|
|
|
|
|
|
|
// method.setRequest(javaClassReader.getClassName());
|
|
|
|
|
|
|
|
// method.setTarget(Tool.getRequestTarget(javaClassReader.getClassName()));
|
|
|
|
|
|
|
|
// method.setMethod(Tool.getRequestAction(javaClassReader.getClassName()));
|
|
|
|
|
|
|
|
// method.setManager(Tool.getRequestTarget(javaClassReader.getClassName()) + "Manager");
|
|
|
|
|
|
|
|
// methodList.add(method);
|
|
|
|
|
|
|
|
// StringBuffer stringBuffer = new StringBuffer("");
|
|
|
|
|
|
|
|
// stringBuffer.append(api.getPath() + File.separator);
|
|
|
|
|
|
|
|
// stringBuffer.append("src" + File.separator);
|
|
|
|
|
|
|
|
// stringBuffer.append("main" + File.separator);
|
|
|
|
|
|
|
|
// stringBuffer.append("java" + File.separator);
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// String[] split = javaClassReader.getDomainName().split("\\.");
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// for (String s1 : split) {
|
|
|
|
|
|
|
|
// stringBuffer.append(s1 + File.separator);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// if (frameWork == null) {
|
|
|
|
|
|
|
|
// frameWork = new File(stringBuffer.toString());
|
|
|
|
|
|
|
|
// frameWork.mkdirs();
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// if (domain == null) {
|
|
|
|
|
|
|
|
// domain = javaClassReader.getDomainName();
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// if (module == null) {
|
|
|
|
|
|
|
|
// module = javaClassReader.getModuleName();
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// stringBuffer.append(javaClassReader.getModuleName());
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// File request = new File(stringBuffer.toString() + File.separator + "request");
|
|
|
|
|
|
|
|
// request.mkdirs();
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
// HashMap<String, Object> ctx = new HashMap<String, Object>();
|
|
|
|
|
|
|
|
// ctx.put("package", "package " + javaClassReader.getDomainName() + "." + javaClassReader.getModuleName() + "." + "request;");
|
|
|
|
|
|
|
|
// ctx.put("domain", javaClassReader.getDomainName());
|
|
|
|
|
|
|
|
// ctx.put("module", javaClassReader.getModuleName());
|
|
|
|
|
|
|
|
// ctx.put("importList", javaClassReader.getImportList());
|
|
|
|
|
|
|
|
// ctx.put("annotation", javaClassReader.getAnnotationList());
|
|
|
|
|
|
|
|
// ctx.put("className", javaClassReader.getClassName().replaceAll("Request", ""));
|
|
|
|
|
|
|
|
// ctx.put("body", javaClassReader.getBody());
|
|
|
|
|
|
|
|
// ctx.put("tool", tool);
|
|
|
|
|
|
|
|
// ctx.put("hasList", javaClassReader.isHasList());
|
|
|
|
|
|
|
|
// ctx.put("findOrSearchflag", javaClassReader.getFindOrSearchflag());
|
|
|
|
|
|
|
|
// File file = new File(request.getAbsolutePath() + File.separator + f.getName());
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// freeMarkerManager.outputTemp(file, "Java_api/module/request/request.ftl", ctx);
|
|
|
|
|
|
|
|
// System.out.println("生成文件" + file.getName() + "成功");
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// //endregion
|
|
|
|
|
|
|
|
// } catch (IOException e) {
|
|
|
|
|
|
|
|
// e.printStackTrace();
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// try {
|
|
|
|
|
|
|
|
// //region 生成response
|
|
|
|
|
|
|
|
// File r = new File(f.getParent().replaceAll("req", "rsp") + File.separator + f.getName().replaceAll("Request", "Response"));
|
|
|
|
|
|
|
|
// JavaClassReader javaClassReader = new JavaClassReader(r);
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// StringBuffer stringBuffer = new StringBuffer("");
|
|
|
|
|
|
|
|
// stringBuffer.append(api.getPath() + File.separator);
|
|
|
|
|
|
|
|
// stringBuffer.append("src" + File.separator);
|
|
|
|
|
|
|
|
// stringBuffer.append("main" + File.separator);
|
|
|
|
|
|
|
|
// stringBuffer.append("java" + File.separator);
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// String[] split = javaClassReader.getDomainName().split("\\.");
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// for (String s1 : split) {
|
|
|
|
|
|
|
|
// stringBuffer.append(s1 + File.separator);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// stringBuffer.append(javaClassReader.getModuleName());
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// File response = new File(stringBuffer.toString() + File.separator + "response");
|
|
|
|
|
|
|
|
// response.mkdirs();
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
// HashMap<String, Object> ctx = new HashMap<String, Object>();
|
|
|
|
|
|
|
|
// ctx.put("package", "package " + javaClassReader.getDomainName() + "." + javaClassReader.getModuleName() + "." + "request;");
|
|
|
|
|
|
|
|
// ctx.put("domain", javaClassReader.getDomainName());
|
|
|
|
|
|
|
|
// ctx.put("module", javaClassReader.getModuleName());
|
|
|
|
|
|
|
|
// ctx.put("importList", javaClassReader.getImportList());
|
|
|
|
|
|
|
|
// ctx.put("annotation", javaClassReader.getAnnotationList());
|
|
|
|
|
|
|
|
// ctx.put("className", javaClassReader.getClassName().replaceAll("Response", ""));
|
|
|
|
|
|
|
|
// ctx.put("body", javaClassReader.getBody());
|
|
|
|
|
|
|
|
// ctx.put("tool", tool);
|
|
|
|
|
|
|
|
// ctx.put("hasList", javaClassReader.isHasList());
|
|
|
|
|
|
|
|
// ctx.put("Tclass", javaClassReader.getTclass());
|
|
|
|
|
|
|
|
// File file = new File(response.getAbsolutePath() + File.separator + f.getName().replaceAll("Request", "Response"));
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// freeMarkerManager.outputTemp(file, "Java_api/module/response/response.ftl", ctx);
|
|
|
|
|
|
|
|
// System.out.println("生成文件" + r.getName() + "成功");
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// //endregion
|
|
|
|
|
|
|
|
// } catch (IOException e) {
|
|
|
|
|
|
|
|
// e.printStackTrace();
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// for (File f : ent.listFiles()) {
|
|
|
|
|
|
|
|
// try {
|
|
|
|
|
|
|
|
// //region 生成entity
|
|
|
|
|
|
|
|
// JavaClassReader javaClassReader = new JavaClassReader(f);
|
|
|
|
|
|
|
|
// managerList.add(javaClassReader.getClassName() + "Manager");
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// StringBuffer stringBuffer = new StringBuffer("");
|
|
|
|
|
|
|
|
// stringBuffer.append(api.getPath() + File.separator);
|
|
|
|
|
|
|
|
// stringBuffer.append("src" + File.separator);
|
|
|
|
|
|
|
|
// stringBuffer.append("main" + File.separator);
|
|
|
|
|
|
|
|
// stringBuffer.append("java" + File.separator);
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// String[] split = javaClassReader.getDomainName().split("\\.");
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// for (String s1 : split) {
|
|
|
|
|
|
|
|
// stringBuffer.append(s1 + File.separator);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// stringBuffer.append(javaClassReader.getModuleName());
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// File entity = new File(stringBuffer.toString() + File.separator + "entity");
|
|
|
|
|
|
|
|
// entity.mkdirs();
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
// HashMap<String, Object> ctx = new HashMap<String, Object>();
|
|
|
|
|
|
|
|
// ctx.put("package", "package " + javaClassReader.getDomainName() + "." + javaClassReader.getModuleName() + "." + "request;");
|
|
|
|
|
|
|
|
// ctx.put("domain", javaClassReader.getDomainName());
|
|
|
|
|
|
|
|
// ctx.put("module", javaClassReader.getModuleName());
|
|
|
|
|
|
|
|
// ctx.put("importList", javaClassReader.getImportList());
|
|
|
|
|
|
|
|
// ctx.put("annotation", javaClassReader.getAnnotationList());
|
|
|
|
|
|
|
|
// ctx.put("className", javaClassReader.getClassName().replaceAll("Entity", ""));
|
|
|
|
|
|
|
|
// ctx.put("body", javaClassReader.getBody());
|
|
|
|
|
|
|
|
// ctx.put("tool", tool);
|
|
|
|
|
|
|
|
// File file = new File(entity.getAbsolutePath() + File.separator + f.getName());
|
|
|
|
|
|
|
|
// freeMarkerManager.outputTemp(file, "Java_api/module/entity/entity.ftl", ctx);
|
|
|
|
|
|
|
|
// System.out.println("生成文件" + file.getName() + "成功");
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// //endregion
|
|
|
|
|
|
|
|
// } catch (IOException e) {
|
|
|
|
|
|
|
|
// e.printStackTrace();
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// } else {
|
|
|
|
|
|
|
|
// return false;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// if (enums.exists()) {
|
|
|
|
|
|
|
|
// System.out.println("生成模块:Enums");
|
|
|
|
|
|
|
|
// for (File f : enums.listFiles()) {
|
|
|
|
|
|
|
|
// try {
|
|
|
|
|
|
|
|
// //region 生成enums
|
|
|
|
|
|
|
|
// JavaEnumReader javaEnumReader = new JavaEnumReader(f);
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// StringBuffer stringBuffer = new StringBuffer("");
|
|
|
|
|
|
|
|
// stringBuffer.append(api.getPath() + File.separator);
|
|
|
|
|
|
|
|
// stringBuffer.append("src" + File.separator);
|
|
|
|
|
|
|
|
// stringBuffer.append("main" + File.separator);
|
|
|
|
|
|
|
|
// stringBuffer.append("java" + File.separator);
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// String[] split = javaEnumReader.getDomainName().split("\\.");
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// for (String s1 : split) {
|
|
|
|
|
|
|
|
// stringBuffer.append(s1 + File.separator);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// stringBuffer.append(javaEnumReader.getModuleName());
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// File enums_ = new File(stringBuffer.toString() + File.separator + "enums");
|
|
|
|
|
|
|
|
// enums_.mkdirs();
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
// HashMap<String, Object> ctx = new HashMap<String, Object>();
|
|
|
|
|
|
|
|
// ctx.put("package", "package " + javaEnumReader.getDomainName() + "." + javaEnumReader.getModuleName() + "." + "enums;");
|
|
|
|
|
|
|
|
// ctx.put("domain", javaEnumReader.getDomainName());
|
|
|
|
|
|
|
|
// ctx.put("module", javaEnumReader.getModuleName());
|
|
|
|
|
|
|
|
// ctx.put("annotation", javaEnumReader.getAnnotationList());
|
|
|
|
|
|
|
|
// ctx.put("className", javaEnumReader.getClassName());
|
|
|
|
|
|
|
|
// ctx.put("body", javaEnumReader.getBody());
|
|
|
|
|
|
|
|
// ctx.put("tool", tool);
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// File file = new File(enums_.getAbsolutePath() + File.separator + f.getName());
|
|
|
|
|
|
|
|
// freeMarkerManager.outputTemp(file, "Java_api/module/enums/type.ftl", ctx);
|
|
|
|
|
|
|
|
// System.out.println("生成文件" + file.getName() + "成功");
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// //endregion
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// } catch (IOException e) {
|
|
|
|
|
|
|
|
// e.printStackTrace();
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
System.out.println("生成模块:ApiController");
|
|
|
|
System.out.println("生成模块:ApiController");
|
|
|
|
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
|
|
|
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
|
|
|
ctx.put("tool", tool);
|
|
|
|
ctx.put("tool", tool);
|
|
|
|
ctx.put("domain", domain);
|
|
|
|
ctx.put("domain", javaClass.getDomainName());
|
|
|
|
ctx.put("module", module);
|
|
|
|
ctx.put("module", javaClass.getModuleName());
|
|
|
|
ctx.put("managerList", managerList);
|
|
|
|
ctx.put("managerList", managerList);
|
|
|
|
ctx.put("methodList", methodList);
|
|
|
|
ctx.put("methodList", methodList);
|
|
|
|
File file = new File(frameWork.getAbsolutePath() + File.separator + module + File.separator + "ApiController.java");
|
|
|
|
File file = new File(domain.getAbsolutePath() + File.separator + "ApiController.java");
|
|
|
|
freeMarkerManager.outputTemp(file, "Java_api/module/controller/ApiController.ftl", ctx);
|
|
|
|
freeMarkerManager.outputTemp(file, "Java_api/module/controller/ApiController.ftl", ctx);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
System.out.println("生成基础类");
|
|
|
|
|
|
|
|
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
|
|
|
|
|
|
|
ctx.put("domain", domain);
|
|
|
|
|
|
|
|
ctx.put("module", module);
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
File file = new File(frameWork, "ApiEntity.java");
|
|
|
|
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/ApiEntity.ftl", ctx);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
File file = new File(frameWork, "AESUtil.java");
|
|
|
|
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/AESUtil.ftl", ctx);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
File file = new File(frameWork, "ApiClient.java");
|
|
|
|
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/ApiClient.ftl", ctx);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
File file = new File(frameWork, "ApiRequest.java");
|
|
|
|
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/ApiRequest.ftl", ctx);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
File file = new File(frameWork, "ApiFindRequest.java");
|
|
|
|
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/ApiFindRequest.ftl", ctx);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
File file = new File(frameWork, "ApiSearchRequest.java");
|
|
|
|
System.out.println("生成基础类");
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/ApiSearchRequest.ftl", ctx);
|
|
|
|
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
|
|
|
}
|
|
|
|
ctx.put("domain", javaClass.getDomainName());
|
|
|
|
{
|
|
|
|
ctx.put("module", javaClass.getModuleName());
|
|
|
|
File file = new File(frameWork, "ApiResponse.java");
|
|
|
|
{
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/ApiResponse.ftl", ctx);
|
|
|
|
File file = new File(domain, "ApiEntity.java");
|
|
|
|
}
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/ApiEntity.ftl", ctx);
|
|
|
|
{
|
|
|
|
}
|
|
|
|
File file = new File(frameWork, "ApiFindResponse.java");
|
|
|
|
{
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/ApiFindResponse.ftl", ctx);
|
|
|
|
File file = new File(domain, "AESUtil.java");
|
|
|
|
}
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/AESUtil.ftl", ctx);
|
|
|
|
{
|
|
|
|
}
|
|
|
|
File file = new File(frameWork, "Base64Util.java");
|
|
|
|
{
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/Base64Util.ftl", ctx);
|
|
|
|
File file = new File(domain, "ApiClient.java");
|
|
|
|
}
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/ApiClient.ftl", ctx);
|
|
|
|
{
|
|
|
|
}
|
|
|
|
File file = new File(frameWork, "DownloadUtil.java");
|
|
|
|
{
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/DownloadUtil.ftl", ctx);
|
|
|
|
File file = new File(domain, "ApiRequest.java");
|
|
|
|
}
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/ApiRequest.ftl", ctx);
|
|
|
|
{
|
|
|
|
}
|
|
|
|
File file = new File(frameWork, "Error.java");
|
|
|
|
{
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/Error.ftl", ctx);
|
|
|
|
File file = new File(domain, "ApiFindRequest.java");
|
|
|
|
}
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/ApiFindRequest.ftl", ctx);
|
|
|
|
{
|
|
|
|
}
|
|
|
|
File file = new File(frameWork, "ErrorType.java");
|
|
|
|
{
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/ErrorType.ftl", ctx);
|
|
|
|
File file = new File(domain, "ApiSearchRequest.java");
|
|
|
|
}
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/ApiSearchRequest.ftl", ctx);
|
|
|
|
{
|
|
|
|
}
|
|
|
|
File file = new File(frameWork, "FileUploadRequest.java");
|
|
|
|
{
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/FileUploadRequest.ftl", ctx);
|
|
|
|
File file = new File(domain, "ApiResponse.java");
|
|
|
|
}
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/ApiResponse.ftl", ctx);
|
|
|
|
{
|
|
|
|
}
|
|
|
|
File file = new File(frameWork, "FileUploadResponse.java");
|
|
|
|
{
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/FileUploadResponse.ftl", ctx);
|
|
|
|
File file = new File(domain, "ApiFindResponse.java");
|
|
|
|
}
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/ApiFindResponse.ftl", ctx);
|
|
|
|
{
|
|
|
|
}
|
|
|
|
File file = new File(frameWork, "MapperUtil.java");
|
|
|
|
{
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/MapperUtil.ftl", ctx);
|
|
|
|
File file = new File(domain, "Base64Util.java");
|
|
|
|
}
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/Base64Util.ftl", ctx);
|
|
|
|
{
|
|
|
|
}
|
|
|
|
File file = new File(frameWork, "MD5Util.java");
|
|
|
|
{
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/MD5Util.ftl", ctx);
|
|
|
|
File file = new File(domain, "DownloadUtil.java");
|
|
|
|
}
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/DownloadUtil.ftl", ctx);
|
|
|
|
{
|
|
|
|
}
|
|
|
|
File file = new File(frameWork, "RSAUtil.java");
|
|
|
|
{
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/RSAUtil.ftl", ctx);
|
|
|
|
File file = new File(domain, "Error.java");
|
|
|
|
}
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/Error.ftl", ctx);
|
|
|
|
{
|
|
|
|
}
|
|
|
|
File file = new File(frameWork, "ProgressRequestBody.java");
|
|
|
|
{
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/ProgressRequestBody.ftl", ctx);
|
|
|
|
File file = new File(domain, "ErrorType.java");
|
|
|
|
}
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/ErrorType.ftl", ctx);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
File file = new File(domain, "FileUploadRequest.java");
|
|
|
|
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/FileUploadRequest.ftl", ctx);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
File file = new File(domain, "FileUploadResponse.java");
|
|
|
|
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/FileUploadResponse.ftl", ctx);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
File file = new File(domain, "MapperUtil.java");
|
|
|
|
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/MapperUtil.ftl", ctx);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
File file = new File(domain, "MD5Util.java");
|
|
|
|
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/MD5Util.ftl", ctx);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
File file = new File(domain, "RSAUtil.java");
|
|
|
|
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/RSAUtil.ftl", ctx);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
File file = new File(domain, "ProgressRequestBody.java");
|
|
|
|
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/ProgressRequestBody.ftl", ctx);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
File file = new File(frameWork, "SortType.java");
|
|
|
|
File file = new File(domain, "SortType.java");
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/SortType.ftl", ctx);
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/SortType.ftl", ctx);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
File file = new File(frameWork, "StringUtils.java");
|
|
|
|
File file = new File(domain, "StringUtils.java");
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/StringUtils.ftl", ctx);
|
|
|
|
freeMarkerManager.outputTemp(file, "/Java_api/StringUtils.ftl", ctx);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//4.0.1 去掉验证 减少体积
|
|
|
|
|
|
|
|
|
|
|
|
//4.0.1 去掉验证 减少体积
|
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// File file = new File(frameWork , "ValidationUtil.java");
|
|
|
|
// File file = new File(frameWork , "ValidationUtil.java");
|
|
|
|
// freeMarkerManager.outputTemp(file, "/Java_api/ValidationUtil.ftl", ctx);
|
|
|
|
// freeMarkerManager.outputTemp(file, "/Java_api/ValidationUtil.ftl", ctx);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{//生成Test
|
|
|
|
|
|
|
|
System.out.println("生成模块:Test");
|
|
|
|
|
|
|
|
HashMap<String, Object> ctx = new HashMap<String, Object>();
|
|
|
|
|
|
|
|
ctx.put("tool", tool);
|
|
|
|
|
|
|
|
ctx.put("domain", javaClass.getDomainName());
|
|
|
|
|
|
|
|
ctx.put("module", javaClass.getModuleName());
|
|
|
|
|
|
|
|
ctx.put("managerList", managerList);
|
|
|
|
|
|
|
|
ctx.put("methodList", methodList);
|
|
|
|
|
|
|
|
freeMarkerManager.outputTemp(new File(testdomain.getAbsolutePath(), "ApiTest.java"), "Java_api/ApiTest.ftl", ctx);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
System.out.println("finish");
|
|
|
|
System.out.println("finish");
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|