You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ol...@apache.org on 2008/05/31 00:56:38 UTC

svn commit: r661906 - /continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/GroupSummaryAction.java

Author: olamy
Date: Fri May 30 15:56:37 2008
New Revision: 661906

URL: http://svn.apache.org/viewvc?rev=661906&view=rev
Log:
[CONTINUUM-1712] improve the performance of the group summary page
Submitted by Maria Catherine Tan 


Modified:
    continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/GroupSummaryAction.java

Modified: continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/GroupSummaryAction.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/GroupSummaryAction.java?rev=661906&r1=661905&r2=661906&view=diff
==============================================================================
--- continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/GroupSummaryAction.java (original)
+++ continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/GroupSummaryAction.java Fri May 30 15:56:37 2008
@@ -19,19 +19,16 @@
  * under the License.
  */
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
 import org.apache.maven.continuum.ContinuumException;
-import org.apache.maven.continuum.model.project.BuildResult;
 import org.apache.maven.continuum.model.project.Project;
 import org.apache.maven.continuum.model.project.ProjectGroup;
 import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
 import org.apache.maven.continuum.web.model.GroupSummary;
-import org.apache.maven.continuum.web.model.ProjectSummary;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
 
 /**
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
@@ -43,18 +40,17 @@
 {
     private String infoMessage;
 
-    private List groups;
+    private List<GroupSummary> groups;
 
     public String execute()
         throws ContinuumException
     {
-        groups = new ArrayList();
+        groups = new ArrayList<GroupSummary>();
 
-        Collection projectGroups = getContinuum().getAllProjectGroupsWithProjects();
+        Collection<ProjectGroup> projectGroups = getContinuum().getAllProjectGroupsWithProjects();
 
-        for ( Iterator j = projectGroups.iterator(); j.hasNext(); )
+        for ( ProjectGroup projectGroup : projectGroups )
         {
-            ProjectGroup projectGroup = (ProjectGroup) j.next();
 
             if ( isAuthorized( projectGroup.getName() ) )
             {
@@ -67,58 +63,17 @@
                 groupModel.setDescription( projectGroup.getDescription() );
 
                 //TODO: Create a summary jpox request so code will be more simple and performance will be better
-                Collection projects = projectGroup.getProjects();
+                Collection<Project> projects = projectGroup.getProjects();
 
                 groupModel.setNumProjects( projects.size() );
 
-                Map buildResults = getContinuum().getLatestBuildResults();
-
-                Map buildResultsInSuccess = getContinuum().getBuildResultsInSuccess();
-
-                List projectModels = new ArrayList();
                 int numSuccesses = 0;
                 int numFailures = 0;
                 int numErrors = 0;
 
-                for ( Iterator i = projects.iterator(); i.hasNext(); )
+                for ( Project project : projects )
                 {
-                    Project project = (Project) i.next();
-
-                    if ( groupModel.getProjectType() == null )
-                    {
-                        groupModel.setProjectType( project.getExecutorId() );
-                    }
-
-                    ProjectSummary model = new ProjectSummary();
-
-                    getLogger().debug( "GroupSummaryAction: building project model " + project.getName() );
-
-                    model.setId( project.getId() );
-
-                    model.setName( project.getName() );
-
-                    model.setVersion( project.getVersion() );
-
-                    model.setProjectGroupId( project.getProjectGroup().getId() );
-
-                    model.setProjectGroupName( project.getProjectGroup().getName() );
-
-                    if ( getContinuum().isInBuildingQueue( project.getId() ) )
-                    {
-                        model.setInBuildingQueue( true );
-                    }
-                    else if ( getContinuum().isInCheckoutQueue( project.getId() ) )
-                    {
-                        model.setInCheckoutQueue( true );
-                    }
-                    else
-                    {
-                        model.setInBuildingQueue( false );
-                        model.setInCheckoutQueue( false );
-                    }
-
-                    model.setState( project.getState() );
-
+                    
                     if ( project.getState() == 2 )
                     {
                         numSuccesses++;
@@ -131,31 +86,6 @@
                     {
                         numErrors++;
                     }
-
-                    model.setBuildNumber( project.getBuildNumber() );
-
-                    if ( buildResultsInSuccess != null )
-                    {
-                        BuildResult buildInSuccess =
-                            (BuildResult) buildResultsInSuccess.get( new Integer( project.getId() ) );
-
-                        if ( buildInSuccess != null )
-                        {
-                            model.setBuildInSuccessId( buildInSuccess.getId() );
-                        }
-                    }
-
-                    if ( buildResults != null )
-                    {
-                        BuildResult latestBuild = (BuildResult) buildResults.get( new Integer( project.getId() ) );
-
-                        if ( latestBuild != null )
-                        {
-                            model.setLatestBuildId( latestBuild.getId() );
-                        }
-                    }
-                    getLogger().debug( "GroupSummaryAction: adding model to group " + model.getName() );
-                    projectModels.add( model );
                 }
 
                 //todo wire in the next scheduled build for the project group and a meaningful status message
@@ -165,7 +95,6 @@
                 groupModel.setNumSuccesses( numSuccesses );
                 groupModel.setNumFailures( numFailures );
                 groupModel.setNumErrors( numErrors );
-                groupModel.setProjects( projectModels );
                 getLogger().debug( "GroupSummaryAction: adding group to groups list " + groupModel.getName() );
                 groups.add( groupModel );
             }
@@ -174,7 +103,7 @@
         return SUCCESS;
     }
 
-    public List getGroups()
+    public List<GroupSummary> getGroups()
     {
         return groups;
     }