[
http://jira.codehaus.org/browse/MECLIPSE-427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Arnaud Heritier updated MECLIPSE-427:
-------------------------------------
Assignee: Arnaud Heritier
Fix Version/s: 2.5.2
> .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
> Assignee: Arnaud Heritier
> Fix For: 2.5.2
>
> Attachments: MECLIPSE-427.patch,
> testcase-project-meclipse-MECLIPSE-427.zip
>
>
> 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