XDoclet's jmx plugin cannot cope with methods inside enum definition
--------------------------------------------------------------------

         Key: XDT-1637
         URL: http://opensource.atlassian.com/projects/xdoclet/browse/XDT-1637
     Project: XDoclet
        Type: Bug

  Components: JMX Module  
 Environment: Windows, JDK 5, maven 2
    Reporter: Marcel Dullaart
 Assigned to: xdoclet-devel (Use for new issues) 


In my project I am using some enum types. One of these enums defines a method. 
If this method is commented out, no error occurs, if I uncomment this method, I 
get the following stack atrace after running mvn comile:
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] XDoclet plugin failed: PicoLifecycleException: method 'public abstract 
void org.picocontainer.Startable.start()', instance '[EMAIL PROTECTED], null

syntax error @[28,2] in 
file:/C:/DataDisk/Workspaces/Amf/product_java_jboss_NodeAgent/src/main/java/org/epo/product/jboss/common/ServerState.java
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: XDoclet plugin failed: 
PicoLifecycleException: method 'public abstract void 
org.picocontainer.Startable.start()', instance '[EMAIL PROTECTED], null
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:559)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:475)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:454)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:306)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:273)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:140)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: XDoclet plugin 
failed: PicoLifecycleException: method 'public abstract void 
org.picocontainer.Startable.start()', instance '[EMAIL PROTECTED], null
        at org.codehaus.xdoclet.XDocletMojo.execute(XDocletMojo.java:85)
        at 
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:412)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:534)
        ... 16 more
Caused by: org.picocontainer.PicoLifecycleException: PicoLifecycleException: 
method 'public abstract void org.picocontainer.Startable.start()', instance 
'[EMAIL PROTECTED], null
        at 
org.picocontainer.monitors.DefaultComponentMonitor.lifecycleInvocationFailed(DefaultComponentMonitor.java:43)
        at 
org.picocontainer.defaults.DefaultLifecycleStrategy.start(DefaultLifecycleStrategy.java:49)
        at 
org.picocontainer.defaults.InstantiatingComponentAdapter.start(InstantiatingComponentAdapter.java:164)
        at 
org.picocontainer.defaults.DecoratingComponentAdapter.start(DecoratingComponentAdapter.java:154)
        at 
org.picocontainer.defaults.CachingComponentAdapter.start(CachingComponentAdapter.java:85)
        at 
org.picocontainer.defaults.DecoratingComponentAdapter.start(DecoratingComponentAdapter.java:108)
        at 
org.picocontainer.defaults.DefaultPicoContainer$OrderedComponentAdapterLifecycleManager.start(DefaultPicoContainer.java:660)
        at 
org.picocontainer.defaults.DefaultPicoContainer.start(DefaultPicoContainer.java:465)
        at 
org.nanocontainer.integrationkit.LifecycleContainerBuilder.autoStart(LifecycleContainerBuilder.java:52)
        at 
org.nanocontainer.integrationkit.LifecycleContainerBuilder.buildContainer(LifecycleContainerBuilder.java:45)
        at org.codehaus.xdoclet.XDocletMojo.execute(XDocletMojo.java:76)
        ... 18 more
Caused by: com.thoughtworks.qdox.parser.ParseException: syntax error @[28,2] in 
file:/C:/DataDisk/Workspaces/Amf/product_java_jboss_NodeAgent/src/main/java/org/epo/product/jboss/common/ServerState.java
        at com.thoughtworks.qdox.parser.impl.Parser.yyerror(Parser.java:611)
        at com.thoughtworks.qdox.parser.impl.Parser.yyparse(Parser.java:719)
        at com.thoughtworks.qdox.parser.impl.Parser.parse(Parser.java:592)
        at 
com.thoughtworks.qdox.JavaDocBuilder.addSource(JavaDocBuilder.java:300)
        at 
com.thoughtworks.qdox.JavaDocBuilder.addSource(JavaDocBuilder.java:316)
        at 
org.xdoclet.QDoxMetadataProvider.addSourcesFromJavaSourceProvider(QDoxMetadataProvider.java:107)
        at 
org.xdoclet.QDoxMetadataProvider.getMetadata(QDoxMetadataProvider.java:87)
        at org.generama.defaults.QDoxPlugin.getMetadata(QDoxPlugin.java:56)
        at org.generama.Plugin.start(Plugin.java:191)
        at 
org.picocontainer.defaults.DefaultLifecycleStrategy.start(DefaultLifecycleStrategy.java:46)
        ... 27 more

The enum is defined as:
public enum ServerState {

        STOPPED,
        NOT_FULLY_STARTED,
        STARTED;
        
        public String getDescription() {
                String result = "Unknown state";
                switch (this) {
                case STOPPED:                   result = "Stopped";
                case NOT_FULLY_STARTED: result = "Not fully started";
                case STARTED:                   result = "Started";
                }
                
                return result;
        }
}

And xdoclet is defined as follows in the pom:
      <plugin>
        <groupId>xdoclet</groupId>
        <artifactId>maven2-xdoclet2-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>xdoclet</goal>
            </goals>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>xdoclet-plugins</groupId>
            <artifactId>xdoclet-plugin-jmx</artifactId>
            <version>1.0.4-SNAPSHOT</version>
          </dependency>
        </dependencies>
        <configuration>
          <configs>
            <config>
              <plugin>org.xdoclet.plugin.jmx.MBeanPlugin</plugin>
              <params>
                <destdir>${basedir}/target/xdoclet/src</destdir>
              </params>
            </config>
          </configs>
        </configuration>
      </plugin>


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



_______________________________________________
xdoclet-devel mailing list
xdoclet-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to