From 69c4fc80155ea22a4f675492e827158393dab712 Mon Sep 17 00:00:00 2001 From: jeffcheasey88 <66554203+jeffcheasey88@users.noreply.github.com> Date: Tue, 21 Nov 2023 09:56:55 +0100 Subject: [PATCH] Base (only signature) generating repository from TreasureCaches --- PeerAtCodeParser.jar | Bin 126787 -> 127098 bytes src/dev/peerat/mapping/TreasureProcessor.java | 7 ++- .../peerat/mapping/providers/Provider.java | 4 +- .../providers/mysql/MySQLRequestBuilder.java | 10 +++- .../providers/mysql/MySQlProvider.java | 54 ++++++++++++++++-- .../peerat/parser/java/BuildedJavaFile.java | 38 ++++++++++++ 6 files changed, 106 insertions(+), 7 deletions(-) create mode 100644 src/dev/peerat/parser/java/BuildedJavaFile.java diff --git a/PeerAtCodeParser.jar b/PeerAtCodeParser.jar index 8e52e49727b536e87bd5bb5080ddabc5bb2a3b9b..c01b4b868423fe588d3f08d260ef08dadb681b90 100644 GIT binary patch delta 10757 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 delta 10294 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 diff --git a/src/dev/peerat/mapping/TreasureProcessor.java b/src/dev/peerat/mapping/TreasureProcessor.java index c217123..cb133f8 100644 --- a/src/dev/peerat/mapping/TreasureProcessor.java +++ b/src/dev/peerat/mapping/TreasureProcessor.java @@ -92,7 +92,11 @@ public class TreasureProcessor extends AbstractProcessor{ if(provider == null) return false; - provider.init(output); + try { + provider.init(output); + } catch (Exception e) { + throw new RuntimeException(e); + } for(Entry classes : map.entrySet()){ Class treasure = classes.getValue().find((element) -> { @@ -142,6 +146,7 @@ public class TreasureProcessor extends AbstractProcessor{ } } } + provider.complete(); return true; } diff --git a/src/dev/peerat/mapping/providers/Provider.java b/src/dev/peerat/mapping/providers/Provider.java index e3363b4..bf5d4ca 100644 --- a/src/dev/peerat/mapping/providers/Provider.java +++ b/src/dev/peerat/mapping/providers/Provider.java @@ -7,11 +7,13 @@ import dev.peerat.parser.java.Function; public interface Provider{ - void init(File file); + void init(File file) throws Exception; void mapTreasure(Class clazz); void mapBottle(Class clazz, Function function); void mapUses(Class clazz, Function function); + + void complete(); } diff --git a/src/dev/peerat/mapping/providers/mysql/MySQLRequestBuilder.java b/src/dev/peerat/mapping/providers/mysql/MySQLRequestBuilder.java index 94cd4a7..7ab9443 100644 --- a/src/dev/peerat/mapping/providers/mysql/MySQLRequestBuilder.java +++ b/src/dev/peerat/mapping/providers/mysql/MySQLRequestBuilder.java @@ -3,6 +3,7 @@ package dev.peerat.mapping.providers.mysql; import java.util.ArrayList; import java.util.List; +import dev.peerat.parser.java.Function; import dev.peerat.parser.java.Value; import dev.peerat.parser.java.Value.BiValue; import dev.peerat.parser.java.Value.LambdaValue; @@ -10,14 +11,21 @@ import dev.peerat.parser.java.Value.MethodCallValue; public class MySQLRequestBuilder{ + private Function function; + private List calls; private String select; private String where; - public MySQLRequestBuilder(List calls){ + public MySQLRequestBuilder(Function function, List calls){ + this.function = function; this.calls = calls; } + public Function getFunction(){ + return this.function; + } + private String toStringOperation(MethodCallValue value){ String method = value.getToken().getValue(); if(method.equals("selectAll()")){ diff --git a/src/dev/peerat/mapping/providers/mysql/MySQlProvider.java b/src/dev/peerat/mapping/providers/mysql/MySQlProvider.java index 757c79f..f68a7da 100644 --- a/src/dev/peerat/mapping/providers/mysql/MySQlProvider.java +++ b/src/dev/peerat/mapping/providers/mysql/MySQlProvider.java @@ -1,12 +1,18 @@ package dev.peerat.mapping.providers.mysql; +import java.io.BufferedWriter; import java.io.File; +import java.io.FileWriter; +import java.lang.reflect.Modifier; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import dev.peerat.mapping.providers.Provider; import dev.peerat.mapping.providers.ProviderManager; +import dev.peerat.parser.ElementBuilder.Builder; +import dev.peerat.parser.Token; +import dev.peerat.parser.java.BuildedJavaFile; import dev.peerat.parser.java.Class; import dev.peerat.parser.java.Function; import dev.peerat.parser.java.Value; @@ -20,14 +26,19 @@ public class MySQLProvider implements Provider{ } private List treasures; + private File repo; + private List requests; public MySQLProvider(){ this.treasures = new ArrayList<>(); + this.requests = new ArrayList<>(); } @Override - public void init(File file){ - + public void init(File file) throws Exception{ + repo = new File(file, "/dev/peerat/mapping/mysql/MySQlRepository.java"); + repo.getParentFile().mkdirs(); + repo.createNewFile(); } @@ -48,8 +59,8 @@ public class MySQLProvider implements Provider{ call = (MethodCallValue) call.base(); } list.add(0, call); - MySQLRequestBuilder builder = new MySQLRequestBuilder(list); - throw new RuntimeException(builder.build()); + MySQLRequestBuilder builder = new MySQLRequestBuilder(function, list); + this.requests.add(builder); } } @@ -58,4 +69,39 @@ public class MySQLProvider implements Provider{ } + + @Override + public void complete(){ + try{ + BuildedJavaFile file = new BuildedJavaFile(); + file.setPackage("dev.peerat.mapping.sql.MySQlRepository"); +// +// file.addImport(""); +// + Class clazz = new Class(null, new Token(0,0,"MySQlRepository",null)); + + for(MySQLRequestBuilder request : this.requests){ + Function base = request.getFunction(); + Function func = new Function( + null, + Modifier.PUBLIC, + null, + new Token(0,0,base.getReturnType().getValue(), null), + new Token(0,0,base.getName().getValue(),null), + base.getParameters()); + clazz.addFunction(func); + } + + file.setClass(clazz); + + Builder builder = new Builder(); + file.build().build(builder); + BufferedWriter writer = new BufferedWriter(new FileWriter(this.repo)); + builder.build(writer); + writer.flush(); + writer.close(); + }catch(Exception ex){ + throw new RuntimeException(ex); + } + } } diff --git a/src/dev/peerat/parser/java/BuildedJavaFile.java b/src/dev/peerat/parser/java/BuildedJavaFile.java new file mode 100644 index 0000000..10a9cc2 --- /dev/null +++ b/src/dev/peerat/parser/java/BuildedJavaFile.java @@ -0,0 +1,38 @@ +package dev.peerat.parser.java; + +import dev.peerat.parser.Bag; +import dev.peerat.parser.Token; + +public class BuildedJavaFile{ + + private JavaFile file; + + public BuildedJavaFile(){ + this.file = new JavaFile(); + } + + public BuildedJavaFile setPackage(String value){ + Bag bag = new Bag(); + bag.set(new Token(0, 0, value, null)); + this.file.setPackage(bag); + return this; + } + + public BuildedJavaFile addImport(String... values){ + for(String value : values){ + Import imp = new Import(false, new Token(0,0,value,null)); + this.file.addImport(imp); + } + return this; + } + + public BuildedJavaFile setClass(Class clazz){ + this.file.addClass(clazz); + return this; + } + + public JavaFile build(){ + return this.file; + } + +}