Skip to content

Commit 44a0206

Browse files
committed
Replace getMessager() calls by logger call
1 parent 9ad6e16 commit 44a0206

14 files changed

Lines changed: 70 additions & 79 deletions

File tree

‎AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/AndroidAnnotationProcessor.java‎

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import java.util.Set;
3333

3434
import javax.annotation.processing.AbstractProcessor;
35-
import javax.annotation.processing.Messager;
3635
import javax.annotation.processing.ProcessingEnvironment;
3736
import javax.annotation.processing.RoundEnvironment;
3837
import javax.annotation.processing.SupportedOptions;
@@ -308,16 +307,12 @@ public synchronized void init(ProcessingEnvironment processingEnv) {
308307

309308
LOGGER.info("Initialize AndroidAnnotationProcessor with options {}", processingEnv.getOptions());
310309

311-
Messager messager = processingEnv.getMessager();
312-
313310
try {
314311
loadPropertyFile();
315312
loadApiPropertyFile();
316313
} catch (Exception e) {
317314
LOGGER.error("Can't load API or core properties files", e);
318315
}
319-
320-
timeStats.setMessager(messager);
321316
}
322317

323318
private void checkApiAndCoreVersions() throws VersionMismatchException {
@@ -651,7 +646,7 @@ private ModelProcessor buildModelProcessor(IRClass rClass, AndroidSystemServices
651646
private void generateSources(ProcessResult processResult) throws IOException {
652647
timeStats.start("Generate Sources");
653648
LOGGER.info("Number of files generated by AndroidAnnotations: {}", processResult.codeModel.countArtifacts());
654-
CodeModelGenerator modelGenerator = new CodeModelGenerator(processingEnv.getFiler(), processingEnv.getMessager(), getAAProcessorVersion());
649+
CodeModelGenerator modelGenerator = new CodeModelGenerator(processingEnv.getFiler(), getAAProcessorVersion());
655650
modelGenerator.generate(processResult);
656651
timeStats.stop("Generate Sources");
657652
}

‎AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/generation/CodeModelGenerator.java‎

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import java.io.IOException;
1919

2020
import javax.annotation.processing.Filer;
21-
import javax.annotation.processing.Messager;
2221

2322
import org.androidannotations.processing.ModelProcessor.ProcessResult;
2423

@@ -27,12 +26,10 @@
2726
public class CodeModelGenerator {
2827

2928
private final Filer filer;
30-
private final Messager messager;
3129
private final String aaVersion;
3230

33-
public CodeModelGenerator(Filer filer, Messager messager, String aaVersion) {
31+
public CodeModelGenerator(Filer filer, String aaVersion) {
3432
this.filer = filer;
35-
this.messager = messager;
3633
this.aaVersion = aaVersion;
3734
}
3835

@@ -41,7 +38,7 @@ public void generate(ProcessResult processResult) throws IOException {
4138
ApiCodeGenerator apiCodeGenerator = new ApiCodeGenerator(filer);
4239
apiCodeGenerator.writeApiClasses(processResult.apiClassesToGenerate, processResult.originatingElements);
4340

44-
SourceCodewriter sourceCodeWriter = new SourceCodewriter(filer, messager, processResult.originatingElements);
41+
SourceCodewriter sourceCodeWriter = new SourceCodewriter(filer, processResult.originatingElements);
4542

4643
PrologCodeWriter prologCodeWriter = new PrologCodeWriter(sourceCodeWriter, "DO NOT EDIT THIS FILE, IT HAS BEEN GENERATED USING AndroidAnnotations " + aaVersion + ".\n");
4744

‎AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/generation/SourceCodewriter.java‎

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,21 @@
2020

2121
import javax.annotation.processing.Filer;
2222
import javax.annotation.processing.FilerException;
23-
import javax.annotation.processing.Messager;
2423
import javax.lang.model.element.Element;
25-
import javax.tools.Diagnostic.Kind;
2624
import javax.tools.JavaFileObject;
2725

26+
import org.androidannotations.logger.Logger;
27+
import org.androidannotations.logger.LoggerFactory;
2828
import org.androidannotations.processing.OriginatingElements;
2929

3030
import com.sun.codemodel.CodeWriter;
3131
import com.sun.codemodel.JPackage;
3232

3333
public class SourceCodewriter extends CodeWriter {
3434

35-
private final Filer filer;
36-
private final Messager message;
37-
3835
private static final VoidOutputStream VOID_OUTPUT_STREAM = new VoidOutputStream();
36+
private static final Logger LOGGER = LoggerFactory.getLogger(SourceCodewriter.class);
37+
private final Filer filer;
3938
private OriginatingElements originatingElements;
4039

4140
private static class VoidOutputStream extends OutputStream {
@@ -45,31 +44,30 @@ public void write(int arg0) throws IOException {
4544
}
4645
}
4746

48-
public SourceCodewriter(Filer filer, Messager message, OriginatingElements originatingElements) {
47+
public SourceCodewriter(Filer filer, OriginatingElements originatingElements) {
4948
this.filer = filer;
50-
this.message = message;
5149
this.originatingElements = originatingElements;
5250
}
5351

5452
@Override
5553
public OutputStream openBinary(JPackage pkg, String fileName) throws IOException {
5654
String qualifiedClassName = toQualifiedClassName(pkg, fileName);
57-
message.printMessage(Kind.NOTE, "Generating source file: " + qualifiedClassName);
55+
LOGGER.info("Generating source file: {}", qualifiedClassName);
5856

5957
Element[] classOriginatingElements = originatingElements.getClassOriginatingElements(qualifiedClassName);
6058

6159
try {
6260
JavaFileObject sourceFile;
6361

6462
if (classOriginatingElements.length == 0) {
65-
message.printMessage(Kind.NOTE, "Generating class with no originating element: " + qualifiedClassName);
63+
LOGGER.info("Generating class with no originating element: {}", qualifiedClassName);
6664
}
6765

6866
sourceFile = filer.createSourceFile(qualifiedClassName, classOriginatingElements);
6967

7068
return sourceFile.openOutputStream();
7169
} catch (FilerException e) {
72-
message.printMessage(Kind.NOTE, "Could not generate source file for " + qualifiedClassName + ", message: " + e.getMessage());
70+
LOGGER.error("Could not generate source file for {}", qualifiedClassName, e.getMessage());
7371
/*
7472
* This exception is expected, when some files are created twice. We
7573
* cannot delete existing files, unless using a dirty hack. Files a

‎AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/helper/AndroidManifestFinder.java‎

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@
2222
import java.util.List;
2323
import java.util.Properties;
2424

25-
import javax.annotation.processing.Messager;
2625
import javax.annotation.processing.ProcessingEnvironment;
2726
import javax.lang.model.util.Elements;
28-
import javax.tools.Diagnostic.Kind;
2927
import javax.xml.parsers.DocumentBuilder;
3028
import javax.xml.parsers.DocumentBuilderFactory;
3129

3230
import org.androidannotations.helper.FileHelper.FileHolder;
31+
import org.androidannotations.logger.Logger;
32+
import org.androidannotations.logger.LoggerFactory;
3333
import org.w3c.dom.Document;
3434
import org.w3c.dom.Element;
3535
import org.w3c.dom.NamedNodeMap;
@@ -40,6 +40,7 @@ public class AndroidManifestFinder {
4040

4141
public static final String ANDROID_MANIFEST_FILE_OPTION = "androidManifestFile";
4242

43+
private static final Logger LOGGER = LoggerFactory.getLogger(AndroidManifestFinder.class);
4344
private static final int MAX_PARENTS_FROM_SOURCE_FOLDER = 10;
4445

4546
private ProcessingEnvironment processingEnv;
@@ -70,8 +71,7 @@ public Option<AndroidManifest> extractAndroidManifest() {
7071
String androidLibraryProperty = properties.getProperty("android.library");
7172
libraryProject = androidLibraryProperty.equals("true");
7273

73-
Messager messager = processingEnv.getMessager();
74-
messager.printMessage(Kind.NOTE, "Found android.library property in project.properties, value: " + libraryProject);
74+
LOGGER.info("Found android.library property in project.properties, value: {}", libraryProject);
7575
}
7676
} catch (IOException ignored) {
7777
}
@@ -91,12 +91,11 @@ private Option<File> findManifestFile() {
9191
private Option<File> findManifestInSpecifiedPath() {
9292
String path = processingEnv.getOptions().get(ANDROID_MANIFEST_FILE_OPTION);
9393
File androidManifestFile = new File(path);
94-
Messager messager = processingEnv.getMessager();
9594
if (!androidManifestFile.exists()) {
96-
messager.printMessage(Kind.ERROR, "Could not find the AndroidManifest.xml file in specified path : " + path);
95+
LOGGER.error("Could not find the AndroidManifest.xml file in specified path : {}", path);
9796
return Option.absent();
9897
} else {
99-
messager.printMessage(Kind.NOTE, "AndroidManifest.xml file found: " + androidManifestFile.toString());
98+
LOGGER.info("AndroidManifest.xml file found: {}", androidManifestFile.toString());
10099
}
101100
return Option.of(androidManifestFile);
102101
}
@@ -131,12 +130,11 @@ private Option<File> findManifestInParentsDirectories() {
131130
}
132131
}
133132

134-
Messager messager = processingEnv.getMessager();
135133
if (!androidManifestFile.exists()) {
136-
messager.printMessage(Kind.ERROR, "Could not find the AndroidManifest.xml file, going up from path [" + projectRootHolder.sourcesGenerationFolder.getAbsolutePath() + "] found using dummy file [" + projectRootHolder.dummySourceFilePath + "] (max atempts: " + MAX_PARENTS_FROM_SOURCE_FOLDER + ")");
134+
LOGGER.error("Could not find the AndroidManifest.xml file, going up from path [{}] found using dummy file [] (max atempts: {})", projectRootHolder.sourcesGenerationFolder.getAbsolutePath(), projectRootHolder.dummySourceFilePath, MAX_PARENTS_FROM_SOURCE_FOLDER);
137135
return Option.absent();
138136
} else {
139-
messager.printMessage(Kind.NOTE, "AndroidManifest.xml file found: " + androidManifestFile.toString());
137+
LOGGER.info("AndroidManifest.xml file found: {}", androidManifestFile.toString());
140138
}
141139

142140
return Option.of(androidManifestFile);
@@ -150,8 +148,7 @@ private Option<AndroidManifest> parse(File androidManifestFile, boolean libraryP
150148
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
151149
doc = docBuilder.parse(androidManifestFile);
152150
} catch (Exception e) {
153-
Messager messager = processingEnv.getMessager();
154-
messager.printMessage(Kind.ERROR, "Could not parse the AndroidManifest.xml file at path " + androidManifestFile);
151+
LOGGER.error("Could not parse the AndroidManifest.xml file at path {}", androidManifestFile, e);
155152
return Option.absent();
156153
}
157154

@@ -187,9 +184,8 @@ private Option<AndroidManifest> parse(File androidManifestFile, boolean libraryP
187184
applicationClassQualifiedName = manifestNameToValidQualifiedName(applicationPackage, nameAttribute);
188185

189186
if (applicationClassQualifiedName == null) {
190-
Messager messager = processingEnv.getMessager();
191187
if (nameAttribute != null) {
192-
messager.printMessage(Kind.NOTE, String.format("The class application declared in the AndroidManifest.xml cannot be found in the compile path: [%s]", nameAttribute.getNodeValue()));
188+
LOGGER.info("The class application declared in the AndroidManifest.xml cannot be found in the compile path: [{}]", nameAttribute.getNodeValue());
193189
}
194190
}
195191

@@ -252,11 +248,10 @@ private List<String> extractComponentNames(String applicationPackage, NodeList c
252248
if (qualifiedName != null) {
253249
componentQualifiedNames.add(qualifiedName);
254250
} else {
255-
Messager messager = processingEnv.getMessager();
256251
if (nameAttribute != null) {
257-
messager.printMessage(Kind.NOTE, String.format("A class activity declared in the AndroidManifest.xml cannot be found in the compile path: [%s]", nameAttribute.getNodeValue()));
252+
LOGGER.info("A class activity declared in the AndroidManifest.xml cannot be found in the compile path: [{}]", nameAttribute.getNodeValue());
258253
} else {
259-
messager.printMessage(Kind.NOTE, String.format("The %d activity node in the AndroidManifest.xml has no android:name attribute", i));
254+
LOGGER.info("The {} activity node in the AndroidManifest.xml has no android:name attribute", i);
260255
}
261256
}
262257
}

‎AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/helper/AnnotationHelper.java‎

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,13 @@
3838
import javax.lang.model.type.TypeMirror;
3939
import javax.lang.model.util.Elements;
4040
import javax.lang.model.util.Types;
41-
import javax.tools.Diagnostic;
4241

4342
import org.androidannotations.annotations.OnActivityResult;
4443
import org.androidannotations.annotations.OptionsItem;
4544
import org.androidannotations.annotations.ResId;
45+
import org.androidannotations.logger.Level;
46+
import org.androidannotations.logger.Logger;
47+
import org.androidannotations.logger.LoggerFactory;
4648
import org.androidannotations.processing.EBeanHolder;
4749
import org.androidannotations.rclass.IRInnerClass;
4850
import org.androidannotations.rclass.RInnerClass;
@@ -51,6 +53,8 @@
5153

5254
public class AnnotationHelper {
5355

56+
private static final Logger LOGGER = LoggerFactory.getLogger(AnnotationHelper.class);
57+
5458
private final ProcessingEnvironment processingEnv;
5559

5660
public AnnotationHelper(ProcessingEnvironment processingEnv) {
@@ -94,24 +98,24 @@ public boolean isAnnotation(TypeElement annotation, String annotationName) {
9498
}
9599

96100
public void printAnnotationError(Element annotatedElement, String annotationName, String message) {
97-
printAnnotationMessage(Diagnostic.Kind.ERROR, annotatedElement, annotationName, message);
101+
printAnnotationMessage(Level.ERROR, annotatedElement, annotationName, message);
98102
}
99103

100104
public void printAnnotationWarning(Element annotatedElement, String annotationName, String message) {
101-
printAnnotationMessage(Diagnostic.Kind.WARNING, annotatedElement, annotationName, message);
105+
printAnnotationMessage(Level.WARN, annotatedElement, annotationName, message);
102106
}
103107

104-
public void printAnnotationMessage(Diagnostic.Kind diagnosticKind, Element annotatedElement, String annotationName, String message) {
108+
public void printAnnotationMessage(Level level, Element annotatedElement, String annotationName, String message) {
105109
AnnotationMirror annotationMirror = findAnnotationMirror(annotatedElement, annotationName);
106110
if (annotationMirror != null) {
107-
processingEnv.getMessager().printMessage(diagnosticKind, message, annotatedElement, annotationMirror);
111+
LOGGER.log(level, message, annotatedElement, annotationMirror, null);
108112
} else {
109113
printError(annotatedElement, message);
110114
}
111115
}
112116

113117
public void printError(Element element, String message) {
114-
processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR, message, element);
118+
LOGGER.error(message, element);
115119
}
116120

117121
public boolean isPrivate(Element element) {

‎AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/helper/TimeStats.java‎

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,13 @@
2121
import java.util.List;
2222
import java.util.Map;
2323

24-
import javax.annotation.processing.Messager;
25-
import javax.tools.Diagnostic;
24+
import org.androidannotations.logger.Logger;
25+
import org.androidannotations.logger.LoggerFactory;
2626

2727
public class TimeStats {
2828

29+
private static final Logger LOGGER = LoggerFactory.getLogger(TimeStats.class);
30+
2931
private final Map<String, Long> measures = new HashMap<String, Long>();
3032
private final List<Duration> durations = new ArrayList<Duration>();
3133

@@ -44,8 +46,6 @@ public int compareTo(Duration o) {
4446
}
4547
}
4648

47-
private Messager messager;
48-
4949
public void start(String key) {
5050
long start = System.currentTimeMillis();
5151
measures.put(key, start);
@@ -62,7 +62,6 @@ public void stop(String key) {
6262

6363
@Override
6464
public String toString() {
65-
6665
StringBuilder sb = new StringBuilder();
6766
sb.append("Time measurements: ");
6867

@@ -79,13 +78,7 @@ public String toString() {
7978
}
8079

8180
public void logStats() {
82-
if (messager != null) {
83-
messager.printMessage(Diagnostic.Kind.NOTE, toString());
84-
}
85-
}
86-
87-
public void setMessager(Messager messager) {
88-
this.messager = messager;
81+
LOGGER.info(toString());
8982
}
9083

9184
public void clear() {

‎AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/logger/Logger.java‎

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.androidannotations.logger;
22

3+
import javax.lang.model.element.AnnotationMirror;
34
import javax.lang.model.element.Element;
45

56
public class Logger {
@@ -17,23 +18,23 @@ public void trace(String message, Object... args) {
1718
}
1819

1920
public void trace(String message, Element element, Object... args) {
20-
log(Level.TRACE, message, element, null, args);
21+
log(Level.TRACE, message, element, null, null, args);
2122
}
2223

2324
public void debug(String message, Object... args) {
2425
debug(message, null, args);
2526
}
2627

2728
public void debug(String message, Element element, Object... args) {
28-
log(Level.DEBUG, message, element, null, args);
29+
log(Level.DEBUG, message, element, null, null, args);
2930
}
3031

3132
public void info(String message, Object... args) {
3233
info(message, null, args);
3334
}
3435

3536
public void info(String message, Element element, Object... args) {
36-
log(Level.INFO, message, element, null, args);
37+
log(Level.INFO, message, element, null, null, args);
3738
}
3839

3940
public void warn(String message, Object... args) {
@@ -45,7 +46,7 @@ public void warn(String message, Element element, Object... args) {
4546
}
4647

4748
public void warn(String message, Element element, Throwable thr, Object... args) {
48-
log(Level.WARN, message, element, thr, args);
49+
log(Level.WARN, message, element, null, thr, args);
4950
}
5051

5152
public void error(String message, Object... args) {
@@ -57,19 +58,19 @@ public void error(String message, Element element, Object... args) {
5758
}
5859

5960
public void error(String message, Element element, Throwable thr, Object... args) {
60-
log(Level.ERROR, message, element, thr, args);
61+
log(Level.ERROR, message, element, null, thr, args);
6162
}
6263

6364
public boolean isLoggable(Level level) {
6465
return level.isGreaterOrEquals(loggerContext.getCurrentLevel());
6566
}
6667

67-
private void log(Level level, String message, Element element, Throwable thr, Object... args) {
68+
public void log(Level level, String message, Element element, AnnotationMirror annotationMirror, Throwable thr, Object... args) {
6869
if (!isLoggable(level)) {
6970
return;
7071
}
7172

72-
loggerContext.writeLog(level, name, message, element, thr, args);
73+
loggerContext.writeLog(level, name, message, element, annotationMirror, thr, args);
7374
}
7475

7576
}

0 commit comments

Comments
 (0)