@@ -137,13 +137,13 @@ public boolean process(final Set<? extends TypeElement> annotations, final Round
137
137
}
138
138
139
139
private void createMetaModelClasses () {
140
- // keep track of all classes for which model have been generated
141
- Collection <String > generatedModelClasses = new ArrayList <String >();
142
-
143
140
for ( MetaEntity entity : context .getMetaEntities () ) {
141
+ if ( context .isAlreadyGenerated ( entity .getQualifiedName () ) ) {
142
+ continue ;
143
+ }
144
144
context .logMessage ( Diagnostic .Kind .OTHER , "Writing meta model for entity " + entity );
145
145
ClassWriter .writeFile ( entity , context );
146
- generatedModelClasses . add ( entity .getQualifiedName () );
146
+ context . markGenerated ( entity .getQualifiedName () );
147
147
}
148
148
149
149
// we cannot process the delayed entities in any order. There might be dependencies between them.
@@ -154,7 +154,7 @@ private void createMetaModelClasses() {
154
154
int toProcessCountBeforeLoop = toProcessEntities .size ();
155
155
for ( MetaEntity entity : toProcessEntities ) {
156
156
// see METAGEN-36
157
- if ( generatedModelClasses . contains ( entity .getQualifiedName () ) ) {
157
+ if ( context . isAlreadyGenerated ( entity .getQualifiedName () ) ) {
158
158
processedEntities .add ( entity );
159
159
continue ;
160
160
}
@@ -165,6 +165,7 @@ private void createMetaModelClasses() {
165
165
Diagnostic .Kind .OTHER , "Writing meta model for embeddable/mapped superclass" + entity
166
166
);
167
167
ClassWriter .writeFile ( entity , context );
168
+ context .markGenerated ( entity .getQualifiedName () );
168
169
processedEntities .add ( entity );
169
170
}
170
171
toProcessEntities .removeAll ( processedEntities );
0 commit comments