You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Jason Dillon (JIRA)" <ji...@codehaus.org> on 2007/11/17 16:03:40 UTC

[jira] Updated: (MRRESOURCES-26) NPE in remote-resources:process while sorting orgs

     [ http://jira.codehaus.org/browse/MRRESOURCES-26?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jason Dillon updated MRRESOURCES-26:
------------------------------------

    Attachment: MRRESOURCES-26.diff

Attached is a patch which performs a missing null check when first arg is not null, but second arg is.

> NPE in remote-resources:process while sorting orgs
> --------------------------------------------------
>
>                 Key: MRRESOURCES-26
>                 URL: http://jira.codehaus.org/browse/MRRESOURCES-26
>             Project: Maven 2.x Remote Resources Plugin
>          Issue Type: Bug
>    Affects Versions:  1.0-alpha-6
>            Reporter: Jason Dillon
>            Priority: Blocker
>         Attachments: MRRESOURCES-26.diff
>
>
> For some reason I'm not quite sure of yet, when sorting orgs, the comparator will fail with a NPE due to a missing null check:
> {noformat}
> [INFO] ----------------------------------------------------------------------------
> [INFO] Building JavaCC Maven Plugin
> [INFO]    task-segment: [install]
> [INFO] ----------------------------------------------------------------------------
> [INFO] [enforcer:enforce {execution: default}]
> [INFO] [groovy:generateStubs {execution: default}]
> [INFO]  No sources found for Java stub generation
> [INFO] [plugin:descriptor]
> [INFO] Using 2 extractors.
> [INFO] Applying extractor for language: java
> [INFO] Extractor for language: java found 2 mojo descriptors.
> [INFO] Applying extractor for language: bsh
> [INFO] Extractor for language: bsh found 0 mojo descriptors.
> [INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
> [INFO] Setting property: velocimacro.messages.on => 'false'.
> [INFO] Setting property: resource.loader => 'classpath'.
> [INFO] Setting property: resource.manager.logwhenfound => 'false'.
> [INFO] [remote-resources:process {execution: default}]
> [INFO] ------------------------------------------------------------------------
> [ERROR] FATAL ERROR
> [INFO] ------------------------------------------------------------------------
> [INFO] null
> [INFO] ------------------------------------------------------------------------
> [INFO] Trace
> java.lang.NullPointerException
>         at java.lang.String$CaseInsensitiveComparator.compare(String.java:1048)
>         at java.lang.String$CaseInsensitiveComparator.compare(String.java:1042)
>         at java.lang.String.compareToIgnoreCase(String.java:1089)
>         at org.apache.maven.plugin.resources.remote.ProcessRemoteResourcesMojo$OrganizationComparator.compareStrings(ProcessRemoteResourcesMojo.java:859)
>         at org.apache.maven.plugin.resources.remote.ProcessRemoteResourcesMojo$OrganizationComparator.compare(ProcessRemoteResourcesMojo.java:839)
>         at java.util.TreeMap.compare(TreeMap.java:1093)
>         at java.util.TreeMap.getEntry(TreeMap.java:347)
>         at java.util.TreeMap.get(TreeMap.java:265)
>         at org.apache.maven.plugin.resources.remote.ProcessRemoteResourcesMojo.getProjectsSortedByOrganization(ProcessRemoteResourcesMojo.java:420)
>         at org.apache.maven.plugin.resources.remote.ProcessRemoteResourcesMojo.configureVelocityContext(ProcessRemoteResourcesMojo.java:532)
>         at org.apache.maven.plugin.resources.remote.ProcessRemoteResourcesMojo.execute(ProcessRemoteResourcesMojo.java:305)
>         at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:443)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:480)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:459)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
>         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:334)
>         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
>         at org.apache.maven.cli.MavenCli.main(MavenCli.java:280)
>         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)
> {noformat}

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