diff --git a/PeerAtCodeParser.jar b/PeerAtCodeParser.jar index 690d957..5aace66 100644 Binary files a/PeerAtCodeParser.jar and b/PeerAtCodeParser.jar differ diff --git a/src/dev/peerat/mapping/TreasureCache.java b/src/dev/peerat/mapping/TreasureCache.java index b3c50e3..971aaa7 100644 --- a/src/dev/peerat/mapping/TreasureCache.java +++ b/src/dev/peerat/mapping/TreasureCache.java @@ -1,23 +1,56 @@ package dev.peerat.mapping; +import java.util.List; import java.util.function.Consumer; +import java.util.function.Function; -public class TreasureCache { +public class TreasureCache { + + /** + * Badge b = Badge.load("myTest"); + * Badge b = new Badge("test"); + * + * b.delete(); + * b.updatu(); + * + * + */ + + private static void breaker(){ + throw new IllegalAccessError("Please use Peer@ORM's annotation processor !"); + } //SELECT id from players where name = 'test' public static void Keep(Object... fields){ - throw new IllegalAccessError(); + breaker(); } - public static TreasureCache Select(Consumer keep){ - return new TreasureCache(); + public static TreasureCache select(Consumer keep){ + return new TreasureCache(); } private TreasureCache(){ - throw new IllegalAccessError(); + breaker(); } + public T get(){ + breaker(); + return null; + } + public List toList(){ + breaker(); + return null; + } + public TreasureCache where(Function codition){ + breaker(); + return null; + } + + public TreasureCache join(){ + breaker(); + return null; + } } diff --git a/src/dev/peerat/mapping/TreasureProcessor.java b/src/dev/peerat/mapping/TreasureProcessor.java index 0e469ed..8fd56cf 100644 --- a/src/dev/peerat/mapping/TreasureProcessor.java +++ b/src/dev/peerat/mapping/TreasureProcessor.java @@ -1,11 +1,8 @@ package dev.peerat.mapping; -import java.io.File; -import java.io.FileWriter; -import java.io.Writer; +import java.io.IOException; import java.util.Arrays; import java.util.HashSet; -import java.util.Map.Entry; import java.util.Set; import javax.annotation.processing.AbstractProcessor; @@ -15,11 +12,9 @@ import javax.lang.model.SourceVersion; import javax.lang.model.element.Element; import javax.lang.model.element.TypeElement; import javax.tools.Diagnostic.Kind; - -import javax.tools.FileObject; import javax.tools.StandardLocation; -public class TreasureProcessor extends AbstractProcessor { +public class TreasureProcessor extends AbstractProcessor{ @Override public boolean process(Set annotations, RoundEnvironment roundEnv){ @@ -28,52 +23,56 @@ public class TreasureProcessor extends AbstractProcessor { for(TypeElement annotation : annotations){ for(Element element : roundEnv.getElementsAnnotatedWith(annotation)){ - messager.printMessage(Kind.WARNING, "["+roundEnv.processingOver()+"] I tried", element); - for(Entry opt : processingEnv.getOptions().entrySet()){ - messager.printMessage(Kind.WARNING, opt.getKey()+" -> "+opt.getValue(), element); - } - File file = null; - try { - FileObject resource = processingEnv.getFiler().getResource(StandardLocation.SOURCE_OUTPUT, "", ""); - File clazz = new File(resource.toUri().toString().substring(6)+"/be/jeffcheasey88/peeratcode/model/Badge.class"); - if(clazz.exists()){ - messager.printMessage(Kind.WARNING, "["+roundEnv.processingOver()+"] I was created it", element); - return true; - } - - file = new File(resource.toUri().toString().substring(6)+"/be/jeffcheasey88/peeratcode/model/Badge.java"); - if(!file.exists()){ - File parent = file.getParentFile(); - if(!parent.exists()) parent.mkdirs(); - file.createNewFile(); - } - - Writer writer = new FileWriter(file); - writer.append("package be.jeffcheasey88.peeratcode.model;\n\n"); - writer.append("public class Badge extends TreasureInABottle{\n"); - writer.append("public Badge(){}\n"); - writer.append("public static int getBadge(int player){ return context; }\n"); - writer.append("}\n"); - writer.flush(); - writer.close(); - - Process p = Runtime.getRuntime().exec("javac be/jeffcheasey88/peeratcode/model/Badge.java", new String[0], new File("C:\\Users\\jeffc\\eclipse-workspace\\peer-at-code-backend\\.generated")); - p.waitFor(); - - file.delete(); - - messager.printMessage(Kind.WARNING, "["+roundEnv.processingOver()+"] We created it !", element); - } catch (Exception e) { - e.printStackTrace(); - messager.printMessage(Kind.WARNING, "["+roundEnv.processingOver()+"] We not created it ! ("+file+") "+e.getMessage(), element); - } +// for(Entry opt : processingEnv.getOptions().entrySet()){ +// messager.printMessage(Kind.WARNING, opt.getKey()+" -> "+opt.getValue(), element); +// } + +// File file = null; +// try { +// FileObject resource = processingEnv.getFiler().getResource(StandardLocation.SOURCE_OUTPUT, "", ""); +// File clazz = new File(resource.toUri().toString().substring(6)+"/be/jeffcheasey88/peeratcode/model/Badge.class"); +// if(clazz.exists()){ +// messager.printMessage(Kind.WARNING, "["+roundEnv.processingOver()+"] I was created it", element); +// return true; +// } +// +// file = new File(resource.toUri().toString().substring(6)+"/be/jeffcheasey88/peeratcode/model/Badge.java"); +// if(!file.exists()){ +// File parent = file.getParentFile(); +// if(!parent.exists()) parent.mkdirs(); +// file.createNewFile(); +// } +// +// Writer writer = new FileWriter(file); +// writer.append("package be.jeffcheasey88.peeratcode.model;\n\n"); +// writer.append("public class Badge extends TreasureInABottle{\n"); +// writer.append("public Badge(){}\n"); +// writer.append("public static int getBadge(int player){ return context; }\n"); +// writer.append("}\n"); +// writer.flush(); +// writer.close(); +// +// Process p = Runtime.getRuntime().exec("javac be/jeffcheasey88/peeratcode/model/Badge.java", new String[0], new File("C:\\Users\\jeffc\\eclipse-workspace\\peer-at-code-backend\\.generated")); +// p.waitFor(); +// +// file.delete(); +// +// messager.printMessage(Kind.WARNING, "["+roundEnv.processingOver()+"] We created it !", element); +// } catch (Exception e) { +// e.printStackTrace(); +// messager.printMessage(Kind.WARNING, "["+roundEnv.processingOver()+"] We not created it ! ("+file+") "+e.getMessage(), element); +// } } } return true; } + private void rework(){ + + } + @Override public Set getSupportedAnnotationTypes(){ return new HashSet<>(Arrays.asList(Treasure.class.getCanonicalName()));