Hi,

hope i could help a bit in researching this. For now i will use my own variant 
of AnnotationProcessor6. 

BTW it was a bit of a mess to create my own version of this class because 
SourceAnnotationHandler.class has a lot of package private methods which are 
used by AnnotationProcessor6. So i also needed to clone that class too.  grrrr. 
:-)

I am quite sure that there are not that much people out there using the 
MetaModel feature at all. Because first you need to use Criteria API which is 
probably also not THAT widespreaded so far. This could be the reason why this 
bug is not mentioned somwhere.

But software development is crazy. You start using Criteria API because its 
somewhat typesafe in conjunction with MetaModel and now you are fighting with 
AnnotationProcessor. Not really where we make our money. But on the other hand 
its a challenge to find out why things break.

---
regards
Marc Logemann
http://www.logemann.org
http://www.logentis.de




Am 23.03.2011 um 16:55 schrieb Rick Curtis:

> Yes that seems reasonable. I'll get that taken care of sometime this
> afternoon.
> 
> I'd like to get another JIRA opened up to investigate the JAXB
> packageElements problem....
> 
> Thanks,
> Rick
> 
> On Wed, Mar 23, 2011 at 10:51 AM, Marc Logemann <l...@logemann.org> wrote:
> 
>> For the time being, how about the following fix in openjpa trunk:
>> 
>>   /**
>>    * The entry point for java compiler.
>>    */
>>    @Override
>>   public boolean process(Set<? extends TypeElement> annos,
>> RoundEnvironment roundEnv) {
>>       if (active && !roundEnv.processingOver()) {
>>           Set<? extends Element> elements = roundEnv.getRootElements();
>>           for (Element e : elements) {
>>                if (e instanceof TypeElement)
>>                   process((TypeElement) e);
>>           }
>>       }
>>       return true;
>>   }
>> 
>> 
>> We simply ignore "PackageElement", "ExecutableElement",
>> "TypeParameterElement" and "VariableElement". (These are the other
>> Subinterfaces of Element)
>> 
>> With this we dont get into trouble and we have time to elaborate on the
>> real problem. roundEnv.getRootElements() simply can return also
>> PackageElements. Why this is only the case for this package with JAXB file
>> is something which one need to research. Thats definitely something in the
>> javax.annotation.processing area of the JDK. But there  must be a reason
>> that getRootElements() returns Element and not TypeElement ;-)
>> 
>> ---
>> regards
>> Marc Logemann
>> http://www.logemann.org
>> http://www.logentis.de
>> 
>> 
>> 
>> 
>> Am 23.03.2011 um 16:41 schrieb Rick Curtis:
>> 
>>>> 
>>>>> still a bit clueless
>>>> 
>>> 
>>> Me too. I just started digging into some of the annotation processor code
>> to
>>> see if I can learn something today.... So when you swallowed the
>> exception
>>> everything worked fine?
>>> 
>>> Thanks,
>>> Rick
>> 
>> 

Reply via email to