Skip to content

Commit 35e4825

Browse files
committed
Add ValidatedElements in AndroidAnnotationsEnvironment
1 parent 1802403 commit 35e4825

94 files changed

Lines changed: 218 additions & 301 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

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

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -92,17 +92,17 @@ public synchronized void init(ProcessingEnvironment processingEnv) {
9292
LOGGER.info("Initialize AndroidAnnotations {} with options {}", getAAProcessorVersion(), processingEnv.getOptions());
9393

9494
List<AndroidAnnotationsPlugin> plugins = loadPlugins();
95-
LOGGER.info("Plugins loaded: {}", Arrays.toString(plugins.toArray()));
9695
androidAnnotationsEnv.setPlugins(plugins);
9796
}
9897

9998
private List<AndroidAnnotationsPlugin> loadPlugins() {
10099
ServiceLoader<AndroidAnnotationsPlugin> serviceLoader = ServiceLoader.load(AndroidAnnotationsPlugin.class, AndroidAnnotationsPlugin.class.getClassLoader());
101100
List<AndroidAnnotationsPlugin> plugins = new ArrayList<>();
102-
plugins.add(new CorePlugin());
103101
for (AndroidAnnotationsPlugin plugin : serviceLoader) {
104102
plugins.add(plugin);
105103
}
104+
LOGGER.info("Plugins loaded: {}", Arrays.toString(plugins.toArray()));
105+
plugins.add(0, new CorePlugin());
106106
return plugins;
107107
}
108108

@@ -183,6 +183,8 @@ private void processThrowing(Set<? extends TypeElement> annotations, RoundEnviro
183183
}
184184

185185
AnnotationElementsHolder extractedModel = extractAnnotations(annotations, roundEnv);
186+
AnnotationElementsHolder validatingHolder = extractedModel.validatingHolder();
187+
androidAnnotationsEnv.setValidatedElements(validatingHolder);
186188

187189
Option<AndroidManifest> androidManifestOption = extractAndroidManifest();
188190
if (androidManifestOption.isAbsent()) {
@@ -202,8 +204,7 @@ private void processThrowing(Set<? extends TypeElement> annotations, RoundEnviro
202204

203205
androidAnnotationsEnv.setAndroidEnvironment(rClass, androidSystemServices, androidManifest);
204206

205-
AnnotationElements validatedModel = validateAnnotations(extractedModel);
206-
androidAnnotationsEnv.setValidatedModel(validatedModel);
207+
AnnotationElements validatedModel = validateAnnotations(extractedModel, validatingHolder);
207208

208209
ModelProcessor.ProcessResult processResult = processAnnotations(validatedModel);
209210

@@ -251,10 +252,10 @@ private Option<IRClass> findRClasses(AndroidManifest androidManifest) throws IOE
251252
return Option.of(coumpoundRClass);
252253
}
253254

254-
private AnnotationElements validateAnnotations(AnnotationElementsHolder extractedModel) throws ValidationException {
255+
private AnnotationElements validateAnnotations(AnnotationElements extractedModel, AnnotationElementsHolder validatingHolder) throws ValidationException {
255256
timeStats.start("Validate Annotations");
256257
ModelValidator modelValidator = new ModelValidator(androidAnnotationsEnv);
257-
AnnotationElements validatedAnnotations = modelValidator.validate(extractedModel);
258+
AnnotationElements validatedAnnotations = modelValidator.validate(extractedModel, validatingHolder);
258259
timeStats.stop("Validate Annotations");
259260
return validatedAnnotations;
260261
}

‎AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/AndroidAnnotationsEnvironment.java‎

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public class AndroidAnnotationsEnvironment {
4343
private AndroidSystemServices androidSystemServices;
4444
private AndroidManifest androidManifest;
4545

46-
private AnnotationElements validatedModel;
46+
private AnnotationElements validatedElements;
4747

4848
private ProcessHolder processHolder;
4949

@@ -66,8 +66,8 @@ public void setAndroidEnvironment(IRClass rClass, AndroidSystemServices androidS
6666
this.androidManifest = androidManifest;
6767
}
6868

69-
public void setValidatedModel(AnnotationElements validatedModel) {
70-
this.validatedModel = validatedModel;
69+
public void setValidatedElements(AnnotationElements validatedElements) {
70+
this.validatedElements = validatedElements;
7171
}
7272

7373
public void setProcessHolder(ProcessHolder processHolder) {
@@ -110,11 +110,8 @@ public AndroidManifest getAndroidManifest() {
110110
return androidManifest;
111111
}
112112

113-
public AnnotationElements getValidatedModel() {
114-
if (validatedModel == null) {
115-
throw new IllegalStateException("ValidatedModel is only available after validation");
116-
}
117-
return validatedModel;
113+
public AnnotationElements getValidatedElements() {
114+
return validatedElements;
118115
}
119116

120117
public ProcessHolder getProcessHolder() {

‎AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/handler/AbstractListenerHandler.java‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import org.androidannotations.AndroidAnnotationsEnvironment;
2929
import org.androidannotations.helper.IdValidatorHelper;
3030
import org.androidannotations.holder.GeneratedClassHolder;
31-
import org.androidannotations.model.AnnotationElements;
3231
import org.androidannotations.process.ElementValidation;
3332
import org.androidannotations.rclass.IRClass;
3433

@@ -56,7 +55,7 @@ public AbstractListenerHandler(String target, AndroidAnnotationsEnvironment envi
5655
}
5756

5857
@Override
59-
public void validate(Element element, AnnotationElements validatedElements, ElementValidation validation) {
58+
public void validate(Element element, ElementValidation validation) {
6059
validatorHelper.enclosingElementHasEnhancedViewSupportAnnotation(element, validation);
6160

6261
validatorHelper.resIdsExist(element, getResourceType(), IdValidatorHelper.FallbackStrategy.USE_ELEMENT_NAME, validation);
@@ -65,7 +64,7 @@ public void validate(Element element, AnnotationElements validatedElements, Elem
6564

6665
validatorHelper.doesntThrowException(element, validation);
6766

68-
validatorHelper.uniqueResourceId(element, validatedElements, getResourceType(), validation);
67+
validatorHelper.uniqueResourceId(element, getResourceType(), validation);
6968
}
7069

7170
@Override

‎AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/handler/AbstractPreferenceListenerHandler.java‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import org.androidannotations.AndroidAnnotationsEnvironment;
2525
import org.androidannotations.holder.FoundPreferenceHolder;
2626
import org.androidannotations.holder.HasPreferences;
27-
import org.androidannotations.model.AnnotationElements;
2827
import org.androidannotations.process.ElementValidation;
2928
import org.androidannotations.rclass.IRClass.Res;
3029

@@ -43,8 +42,8 @@ public AbstractPreferenceListenerHandler(String target, AndroidAnnotationsEnviro
4342
}
4443

4544
@Override
46-
public void validate(Element element, AnnotationElements validatedElements, ElementValidation valid) {
47-
super.validate(element, validatedElements, valid);
45+
public void validate(Element element, ElementValidation valid) {
46+
super.validate(element, valid);
4847
validatorHelper.enclosingElementHasEActivityOrEFragment(element, valid);
4948
}
5049

‎AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/handler/AbstractResHandler.java‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import org.androidannotations.helper.IdValidatorHelper;
2323
import org.androidannotations.holder.EComponentHolder;
2424
import org.androidannotations.model.AndroidRes;
25-
import org.androidannotations.model.AnnotationElements;
2625
import org.androidannotations.process.ElementValidation;
2726
import org.androidannotations.rclass.IRClass;
2827

@@ -39,7 +38,7 @@ public AbstractResHandler(AndroidRes androidRes, AndroidAnnotationsEnvironment e
3938
}
4039

4140
@Override
42-
public void validate(Element element, AnnotationElements validatedElements, ElementValidation validation) {
41+
public void validate(Element element, ElementValidation validation) {
4342
validatorHelper.enclosingElementHasEnhancedComponentAnnotation(element, validation);
4443

4544
TypeMirror fieldTypeMirror = element.asType();

‎AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/handler/AbstractRunnableHandler.java‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020

2121
import org.androidannotations.AndroidAnnotationsEnvironment;
2222
import org.androidannotations.holder.EComponentHolder;
23-
import org.androidannotations.model.AnnotationElements;
2423
import org.androidannotations.process.ElementValidation;
2524

2625
public abstract class AbstractRunnableHandler extends BaseAnnotationHandler<EComponentHolder> {
@@ -30,7 +29,7 @@ public AbstractRunnableHandler(Class<?> targetClass, AndroidAnnotationsEnvironme
3029
}
3130

3231
@Override
33-
public void validate(Element element, AnnotationElements validatedElements, ElementValidation validation) {
32+
public void validate(Element element, ElementValidation validation) {
3433
validatorHelper.enclosingElementHasEnhancedComponentAnnotation(element, validation);
3534

3635
ExecutableElement executableElement = (ExecutableElement) element;

‎AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/handler/AbstractSeekBarTouchHandler.java‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import org.androidannotations.helper.IdValidatorHelper;
2727
import org.androidannotations.holder.EComponentWithViewSupportHolder;
2828
import org.androidannotations.holder.OnSeekBarChangeListenerHolder;
29-
import org.androidannotations.model.AnnotationElements;
3029
import org.androidannotations.process.ElementValidation;
3130
import org.androidannotations.rclass.IRClass;
3231

@@ -43,7 +42,7 @@ public AbstractSeekBarTouchHandler(Class<?> targetClass, AndroidAnnotationsEnvir
4342
}
4443

4544
@Override
46-
public void validate(Element element, AnnotationElements validatedElements, ElementValidation validation) {
45+
public void validate(Element element, ElementValidation validation) {
4746
validatorHelper.enclosingElementHasEnhancedViewSupportAnnotation(element, validation);
4847

4948
validatorHelper.resIdsExist(element, IRClass.Res.ID, IdValidatorHelper.FallbackStrategy.USE_ELEMENT_NAME, validation);

‎AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/handler/AbstractViewListenerHandler.java‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import org.androidannotations.AndroidAnnotationsEnvironment;
2525
import org.androidannotations.holder.EComponentWithViewSupportHolder;
2626
import org.androidannotations.holder.FoundViewHolder;
27-
import org.androidannotations.model.AnnotationElements;
2827
import org.androidannotations.process.ElementValidation;
2928
import org.androidannotations.rclass.IRClass.Res;
3029

@@ -43,8 +42,8 @@ public AbstractViewListenerHandler(String target, AndroidAnnotationsEnvironment
4342
}
4443

4544
@Override
46-
public void validate(Element element, AnnotationElements validatedElements, ElementValidation valid) {
47-
super.validate(element, validatedElements, valid);
45+
public void validate(Element element, ElementValidation valid) {
46+
super.validate(element, valid);
4847
validatorHelper.enclosingElementHasEnhancedViewSupportAnnotation(element, valid);
4948
}
5049

‎AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/handler/AfterExtrasHandler.java‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import org.androidannotations.AndroidAnnotationsEnvironment;
2222
import org.androidannotations.annotations.AfterExtras;
2323
import org.androidannotations.holder.EActivityHolder;
24-
import org.androidannotations.model.AnnotationElements;
2524
import org.androidannotations.process.ElementValidation;
2625

2726
public class AfterExtrasHandler extends BaseAnnotationHandler<EActivityHolder> {
@@ -31,7 +30,7 @@ public AfterExtrasHandler(AndroidAnnotationsEnvironment environment) {
3130
}
3231

3332
@Override
34-
public void validate(Element element, AnnotationElements validatedElements, ElementValidation valid) {
33+
public void validate(Element element, ElementValidation valid) {
3534
validatorHelper.enclosingElementHasEActivity(element, valid);
3635

3736
ExecutableElement executableElement = (ExecutableElement) element;

‎AndroidAnnotations/androidannotations-core/androidannotations/src/main/java/org/androidannotations/handler/AfterInjectHandler.java‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import org.androidannotations.AndroidAnnotationsEnvironment;
2222
import org.androidannotations.annotations.AfterInject;
2323
import org.androidannotations.holder.EComponentHolder;
24-
import org.androidannotations.model.AnnotationElements;
2524
import org.androidannotations.process.ElementValidation;
2625

2726
public class AfterInjectHandler extends BaseAnnotationHandler<EComponentHolder> {
@@ -31,7 +30,7 @@ public AfterInjectHandler(AndroidAnnotationsEnvironment environment) {
3130
}
3231

3332
@Override
34-
public void validate(Element element, AnnotationElements validatedElements, ElementValidation validation) {
33+
public void validate(Element element, ElementValidation validation) {
3534
validatorHelper.enclosingElementHasEnhancedComponentAnnotation(element, validation);
3635

3736
ExecutableElement executableElement = (ExecutableElement) element;

0 commit comments

Comments
 (0)