Author: jdcasey Date: Wed Jun 22 22:42:42 2011 New Revision: 1138668 URL: http://svn.apache.org/viewvc?rev=1138668&view=rev Log: fixing memory issue with erroneously and recursively appending a stringbuilder to itself.
Modified: maven/sandbox/trunk/mae/mae-components/mae-project-tools/src/main/java/org/apache/maven/mae/project/DefaultProjectLoader.java Modified: maven/sandbox/trunk/mae/mae-components/mae-project-tools/src/main/java/org/apache/maven/mae/project/DefaultProjectLoader.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-components/mae-project-tools/src/main/java/org/apache/maven/mae/project/DefaultProjectLoader.java?rev=1138668&r1=1138667&r2=1138668&view=diff ============================================================================== --- maven/sandbox/trunk/mae/mae-components/mae-project-tools/src/main/java/org/apache/maven/mae/project/DefaultProjectLoader.java (original) +++ maven/sandbox/trunk/mae/mae-components/mae-project-tools/src/main/java/org/apache/maven/mae/project/DefaultProjectLoader.java Wed Jun 22 22:42:42 2011 @@ -77,7 +77,8 @@ public class DefaultProjectLoader private SessionInjector sessionInjector; @Override - public List<MavenProject> buildReactorProjectInstances( final ProjectToolsSession session, final boolean recursive, final File... rootPoms ) + public List<MavenProject> buildReactorProjectInstances( final ProjectToolsSession session, final boolean recursive, + final File... rootPoms ) throws ProjectToolsException { final ProjectBuildingRequest pbr = sessionInjector.getProjectBuildingRequest( session ); @@ -109,8 +110,6 @@ public class DefaultProjectLoader } catch ( final ProjectBuildingException e ) { - // logger.error( "Failed to build MavenProject instances from POM files for sorting: " + e.getMessage(), e - // ); final List<ProjectBuildingResult> results = e.getResults(); final StringBuilder sb = new StringBuilder(); @@ -130,13 +129,15 @@ public class DefaultProjectLoader int i = 0; for ( final ProjectBuildingResult result : results ) { + StringBuilder builder = new StringBuilder(); final List<ModelProblem> problems = result.getProblems(); if ( problems != null && !problems.isEmpty() ) { - sb.append( "\n" ).append( result.getProjectId() ); + builder.append( "\n" ).append( result.getProjectId() ); for ( final ModelProblem problem : problems ) { - sb.append( "\n\t" ) + builder.append( "\n\t" ) + .append( ( ++i ) ).append( " " ) .append( problem.getMessage() ) .append( "\n\t\t" ) .append( problem.getSource() ) @@ -150,12 +151,12 @@ public class DefaultProjectLoader final PrintWriter pWriter = new PrintWriter( sWriter ); problem.getException().printStackTrace( pWriter ); - sb.append( "\n" ).append( sWriter ); + builder.append( "\n" ).append( sWriter ); } - - sb.append( ( ++i ) ).append( " " ).append( sb ); } } + + sb.append( builder ); } } @@ -205,7 +206,7 @@ public class DefaultProjectLoader { LOGGER.debug( "Marking parent POM: " + current + " as dependency of POM: " + next ); } - + session.connectProjectHierarchy( next, true, current, true ); if ( !parentage.isEmpty() )