[ 
http://jira.codehaus.org/browse/MECLIPSE-427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=130726#action_130726
 ] 

Joe Freeman commented on MECLIPSE-427:
--------------------------------------

The spring definitions file generator should be pulled out of the myeclipse 
mojo because it doesn't have any MyEclipse dependencies.


> .springBeans definition throws NullPointer if BaseDir does not exist
> --------------------------------------------------------------------
>
>                 Key: MECLIPSE-427
>                 URL: http://jira.codehaus.org/browse/MECLIPSE-427
>             Project: Maven 2.x Eclipse Plugin
>          Issue Type: Bug
>          Components: MyEclipse support
>    Affects Versions: 2.5, 2.5.1
>            Reporter: Joe Freeman
>
> This is related to the fix submitted for MECLIPSE-359
> We have an application with 40 eclipse projects in it.  About  half of them 
> have spring beans and 1/2 don't. The top level pom describes how the eclipse 
> plugin should function and includes the Spring configuration component for 
> the myeclipse target.  A null pointer is thrown when running 
> eclipse:myeclipse when the base dir doesn't exist, in our case in one of the 
> projects that doesn't have any spring components.  Our pom.xml fragment looks 
> like
>                     <spring>
>                         <version>2.0</version>
>                         <file-pattern>*.xml</file-pattern>
>                         <basedir>src/main/resources/conf</basedir>
>                     </spring>
> The exception stack trace looks like
> java.lang.NullPointerException
>         at 
> org.apache.maven.plugin.eclipse.writers.myeclipse.MyEclipseSpringBeansWriter.getConfigurationFilesList(MyEclipseSpringBeansWriter.java:142)
>         at 
> org.apache.maven.plugin.eclipse.writers.myeclipse.MyEclipseSpringBeansWriter.write(MyEclipseSpringBeansWriter.java:93)
> The following code block with the problem throws NullPointer when 
> directory.listFiles() returns a null into subdirs. Wrap the for() loop in a 
> nullcheck
>        try
>         {
>             File directory = new File( basedir );
>             File[] subdirs = directory.listFiles( new FileFilter()
>             {
>                 public boolean accept( File pathname )
>                 {
>                     return pathname.isDirectory();
>                 }
>             } );
>             for ( int i = 0; i < subdirs.length; i++ )
>             {
>                 configFiles.addAll( getConfigurationFilesList( 
> subdirs[i].getPath(), pattern ) );
>             }
>             configFiles.addAll( FileUtils.getFileNames( directory, pattern, 
> null, true ) );
>         }
> Testing:
> Take one of the test cases and remove the directory that is pointed to by the 
> basedir attribute.

-- 
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

        

Reply via email to