You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@beehive.apache.org by "Chad Schoettger (JIRA)" <de...@beehive.apache.org> on 2005/10/11 22:11:11 UTC

[jira] Updated: (BEEHIVE-889) controls annotation processor needs to safely handle a missing -classpath option

     [ http://issues.apache.org/jira/browse/BEEHIVE-889?page=all ]

Chad Schoettger updated BEEHIVE-889:
------------------------------------

    Attachment: BEEHIVE-889.diff

Attached patch for this bug.

After spending some time looking at the block of code in question, it seemed that the more correct behavior for not being able to load a checker is to dispaly an error message and fail the compile.  If a user has explicitly set a checker it should be an error if the code cannot run that checker.  As further precedent this is the same behavior taken if the checker class does not implement the ControlChecker class.

Patch instructions:
apply patch to AptControllerInterface and strings.properties

> controls annotation processor needs to safely handle a missing -classpath option
> --------------------------------------------------------------------------------
>
>          Key: BEEHIVE-889
>          URL: http://issues.apache.org/jira/browse/BEEHIVE-889
>      Project: Beehive
>         Type: Bug
>   Components: Controls
>     Reporter: Eddie O'Neil
>     Assignee: Chad Schoettger
>     Priority: Minor
>  Attachments: BEEHIVE-889.diff
>
> When the controls annotation processing class AptControlInterface attempts to resolve types during checking, it expects to find a value for the "-classpath" environment variable.  If this value is missing, the AptControlInterface class NPEs at the stack trace below because null is returned for the URLClassLoader.  
> This should either throw an exception to stop annotation processing or log a warning and continue annotation processing.  Kyle / Ken, any thoughts there?
> Stack trace:
> java.lang.NullPointerException
> [java]     at org.apache.beehive.controls.runtime.generator.AptControlInterface.check(AptControlInterface.java:949)
> [java]     at org.apache.beehive.controls.runtime.generator.AptControlInterface.<init>(AptControlInterface.java:121)
> [java]     at org.apache.beehive.controls.runtime.generator.apt.ControlAnnotationProcessor.check(ControlAnnotationProcessor.java:56)
> [java]     at org.apache.beehive.controls.runtime.generator.apt.TwoPhaseAnnotationProcessor.check(TwoPhaseAnnotationProcessor.java:104)
> [java]     at org.apache.beehive.controls.runtime.generator.apt.TwoPhaseAnnotationProcessor.process(TwoPhaseAnnotationProcessor.java:86) 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira