You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by jm...@apache.org on 2006/08/22 20:37:46 UTC

svn commit: r433720 [2/3] - in /maven/continuum/branches/continuum-acegi: continuum-api/src/main/java/org/apache/maven/continuum/ continuum-api/src/main/java/org/apache/maven/continuum/project/builder/ continuum-api/src/main/java/org/apache/maven/conti...

Modified: maven/continuum/branches/continuum-acegi/continuum-core/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-core/src/main/resources/META-INF/plexus/components.xml?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-core/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/continuum/branches/continuum-acegi/continuum-core/src/main/resources/META-INF/plexus/components.xml Tue Aug 22 11:37:42 2006
@@ -584,6 +584,26 @@
      -->
     <component>
       <role>org.codehaus.plexus.action.Action</role>
+      <role-hint>add-build-definition-to-project</role-hint>
+      <implementation>org.apache.maven.continuum.core.action.AddBuildDefinitionToProjectAction</implementation>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.continuum.store.ContinuumStore</role>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.codehaus.plexus.action.Action</role>
+      <role-hint>add-build-definition-to-project-group</role-hint>
+      <implementation>org.apache.maven.continuum.core.action.AddBuildDefinitionToProjectGroupAction</implementation>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.continuum.store.ContinuumStore</role>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.codehaus.plexus.action.Action</role>
       <role-hint>add-project-to-checkout-queue</role-hint>
       <implementation>org.apache.maven.continuum.core.action.AddProjectToCheckOutQueueAction</implementation>
       <requirements>
@@ -682,6 +702,26 @@
     </component>
     <component>
       <role>org.codehaus.plexus.action.Action</role>
+      <role-hint>remove-build-definition-from-project</role-hint>
+      <implementation>org.apache.maven.continuum.core.action.RemoveBuildDefinitionFromProjectAction</implementation>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.continuum.store.ContinuumStore</role>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.codehaus.plexus.action.Action</role>
+      <role-hint>remove-build-definition-from-project-group</role-hint>
+      <implementation>org.apache.maven.continuum.core.action.RemoveBuildDefinitionFromProjectGroupAction</implementation>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.continuum.store.ContinuumStore</role>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.codehaus.plexus.action.Action</role>
       <role-hint>store-checkout-scm-result</role-hint>
       <implementation>org.apache.maven.continuum.core.action.StoreCheckOutScmResultAction</implementation>
       <requirements>
@@ -728,6 +768,26 @@
       <role>org.codehaus.plexus.action.Action</role>
       <role-hint>validate-project-group</role-hint>
       <implementation>org.apache.maven.continuum.core.action.ValidateProjectGroup</implementation>
+    </component>
+    <component>
+      <role>org.codehaus.plexus.action.Action</role>
+      <role-hint>update-build-definition-from-project</role-hint>
+      <implementation>org.apache.maven.continuum.core.action.UpdateBuildDefinitionFromProjectAction</implementation>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.continuum.store.ContinuumStore</role>
+        </requirement>
+      </requirements>
+    </component>
+    <component>
+      <role>org.codehaus.plexus.action.Action</role>
+      <role-hint>update-build-definition-from-project-group</role-hint>
+      <implementation>org.apache.maven.continuum.core.action.UpdateBuildDefinitionFromProjectGroupAction</implementation>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.continuum.store.ContinuumStore</role>
+        </requirement>
+      </requirements>
     </component>
     <component>
       <role>org.codehaus.plexus.action.Action</role>

Modified: maven/continuum/branches/continuum-acegi/continuum-core/src/test/java/org/apache/maven/continuum/DefaultContinuumTest.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-core/src/test/java/org/apache/maven/continuum/DefaultContinuumTest.java?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-core/src/test/java/org/apache/maven/continuum/DefaultContinuumTest.java (original)
+++ maven/continuum/branches/continuum-acegi/continuum-core/src/test/java/org/apache/maven/continuum/DefaultContinuumTest.java Tue Aug 22 11:37:42 2006
@@ -17,7 +17,10 @@
  */
 
 import org.apache.maven.continuum.model.project.Project;
+import org.apache.maven.continuum.model.project.ProjectGroup;
+import org.apache.maven.continuum.model.project.BuildDefinition;
 import org.apache.maven.continuum.project.builder.ContinuumProjectBuildingResult;
+import org.apache.maven.continuum.initialization.DefaultContinuumInitializer;
 import org.codehaus.plexus.taskqueue.TaskQueue;
 import org.codehaus.plexus.taskqueue.execution.TaskQueueExecutor;
 
@@ -26,6 +29,7 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Collection;
 
 /**
  * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
@@ -89,12 +93,17 @@
             Project project = (Project) i.next();
 
             projects.put( project.getName(), project );
+
+            // validate project in project group
+            assertTrue( "project not in project group", getStore().getProjectGroupByProjectId( project.getId() ) != null );
         }
 
         assertTrue( "no irc notifier", projects.containsKey( "Continuum IRC Notifier" ) );
 
         assertTrue( "no jabber notifier", projects.containsKey( "Continuum Jabber Notifier" ) );
-        // TODO: assert that the project is the in the group
+
+
+
     }
 
     public void testUpdateMavenTwoProject()
@@ -128,5 +137,106 @@
         continuum.updateProject( project );
 
         project = continuum.getProject( project.getId() );
+    }
+
+    public void testBuildDefinitions()
+        throws Exception
+    {
+        Continuum continuum = (Continuum) lookup( Continuum.ROLE );
+
+        String url = getTestFile( "src/test-projects/project1/pom.xml" ).toURL().toExternalForm();
+
+        ContinuumProjectBuildingResult result = continuum.addMavenTwoProject( url );
+
+        assertNotNull( result );
+
+        List projects = result.getProjects();
+
+        assertEquals( 1, projects.size() );
+
+        assertEquals( Project.class, projects.get( 0 ).getClass() );
+
+        Project project = (Project) projects.get( 0 );
+
+        // reattach
+        project = continuum.getProject( project.getId() );
+
+        ProjectGroup projectGroup  = getStore().getProjectGroupByProjectId( project.getId() );
+
+        projectGroup = getStore().getProjectGroupWithBuildDetails( projectGroup.getId() );
+
+        List buildDefs = projectGroup.getBuildDefinitions();
+
+        assertTrue ("missing project group build definition", !buildDefs.isEmpty() );
+
+        assertTrue ("more then one project group build definition on add project", buildDefs.size() == 1 );
+
+        BuildDefinition pgbd = (BuildDefinition) buildDefs.get( 0 );
+
+        pgbd.setGoals( "foo" );
+
+        continuum.updateBuildDefinitionForProjectGroup( projectGroup.getId(), pgbd );
+
+        pgbd = continuum.getBuildDefinition(  pgbd.getId() );
+
+        assertTrue ( "update failed for project group build definition", "foo".equals( pgbd.getGoals() ) );
+
+        assertTrue ( "project group build definition is not default", pgbd.isDefaultForProject() );
+
+        assertTrue ( "project group build definition not default for project", continuum.getDefaultBuildDefinition( project.getId() ).getId() == pgbd.getId() );
+
+        BuildDefinition nbd = new BuildDefinition();
+        nbd.setGoals("clean");
+        nbd.setArguments("");
+        nbd.setDefaultForProject( true );
+        nbd.setSchedule( getStore().getScheduleByName( DefaultContinuumInitializer.DEFAULT_SCHEDULE_NAME ) );
+
+        continuum.addBuildDefinitionToProject( project.getId(), nbd );
+
+        assertTrue ( "project lvl build definition not default for project", continuum.getDefaultBuildDefinition( project.getId() ).getId() == nbd.getId() );
+
+        continuum.removeBuildDefinitionFromProject( project.getId(), nbd.getId() );
+
+        assertTrue ( "default build definition didn't toggle back to project group level", continuum.getDefaultBuildDefinition( project.getId() ).getId() == pgbd.getId() );
+
+        try
+        {
+            continuum.removeBuildDefinitionFromProjectGroup( projectGroup.getId(), pgbd.getId() );
+            fail("we were able to remove the default build definition, and that is bad");
+        }
+        catch (ContinuumException expected)
+        {
+
+        }
+    }
+
+    /**
+     * todo add another project group to test
+     * @throws Exception
+     */
+    public void testProjectGroups()
+        throws Exception
+    {
+        Continuum continuum = (Continuum) lookup( Continuum.ROLE );
+
+        String url = getTestFile( "src/test-projects/project1/pom.xml" ).toURL().toExternalForm();
+
+        ContinuumProjectBuildingResult result = continuum.addMavenTwoProject( url );
+
+        assertNotNull( result );
+
+        Collection projectGroupList = continuum.getAllProjectGroupsWithProjects();
+
+        assertTrue ( "project group missing, should be one project group for now", projectGroupList.size() == 1 );
+
+        ProjectGroup projectGroup = (ProjectGroup) projectGroupList.iterator().next();
+
+        assertNotNull( projectGroup );
+
+        continuum.removeProjectGroup( projectGroup.getId() );
+
+        projectGroupList = continuum.getAllProjectGroupsWithProjects();
+
+        assertTrue ( "remove project group failed", projectGroupList.size() == 0 );
     }
 }

Modified: maven/continuum/branches/continuum-acegi/continuum-core/src/test/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilderTest.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-core/src/test/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilderTest.java?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-core/src/test/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilderTest.java (original)
+++ maven/continuum/branches/continuum-acegi/continuum-core/src/test/java/org/apache/maven/continuum/project/builder/maven/MavenTwoContinuumProjectBuilderTest.java Tue Aug 22 11:37:42 2006
@@ -49,9 +49,9 @@
 
         ContinuumProjectBuildingResult result = projectBuilder.buildProjectsFromMetadata( pom.toURL(), null, null );
 
-        assertNotNull( result.getWarnings() );
+        assertNotNull( result.getErrors() );
 
-        assertEquals( 0, result.getWarnings().size() );
+        assertEquals( 0, result.getErrors().size() );
 
         assertNotNull( result.getProjects() );
 
@@ -80,9 +80,9 @@
 
         ContinuumProjectBuildingResult result = projectBuilder.buildProjectsFromMetadata( pom.toURL(), null, null );
 
-        assertNotNull( result.getWarnings() );
+        assertNotNull( result.getErrors() );
 
-        assertEquals( 0, result.getWarnings().size() );
+        assertEquals( 0, result.getErrors().size() );
 
         assertNotNull( result.getProjects() );
 
@@ -111,9 +111,9 @@
 
         ContinuumProjectBuildingResult result = projectBuilder.buildProjectsFromMetadata( pom.toURL(), null, null );
 
-        assertNotNull( result.getWarnings() );
+        assertNotNull( result.getErrors() );
 
-        assertEquals( 0, result.getWarnings().size() );
+        assertEquals( 0, result.getErrors().size() );
 
         assertNotNull( result.getProjects() );
 
@@ -163,12 +163,11 @@
         // Assert the warnings
         // ----------------------------------------------------------------------
 
-        assertNotNull( result.getWarnings() );
+        assertNotNull( result.getErrors() );
 
-        assertEquals( 1, result.getWarnings().size() );
+        assertEquals( 1, result.getErrors().size() );
 
-        assertTrue( "Does not end with \"I'm-not-here-project/pom.xml\"",
-                    result.getWarnings().get( 0 ).toString().indexOf( "I'm-not-here-project/pom.xml" ) != -1 );
+        assertEquals( ContinuumProjectBuildingResult.ERROR_UNKNOWN, result.getErrors().get( 0 ).toString() );
 
         // ----------------------------------------------------------------------
         // Assert the project group built

Modified: maven/continuum/branches/continuum-acegi/continuum-security/continuum-security-acegi/src/test/java/org/apache/maven/continuum/security/acegi/aspectj/ContinuumStub.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-security/continuum-security-acegi/src/test/java/org/apache/maven/continuum/security/acegi/aspectj/ContinuumStub.java?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-security/continuum-security-acegi/src/test/java/org/apache/maven/continuum/security/acegi/aspectj/ContinuumStub.java (original)
+++ maven/continuum/branches/continuum-acegi/continuum-security/continuum-security-acegi/src/test/java/org/apache/maven/continuum/security/acegi/aspectj/ContinuumStub.java Tue Aug 22 11:37:42 2006
@@ -16,17 +16,13 @@
  * limitations under the License.
  */
 
-import java.io.File;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.maven.continuum.Continuum;
 import org.apache.maven.continuum.ContinuumException;
 import org.apache.maven.continuum.configuration.ConfigurationService;
 import org.apache.maven.continuum.model.project.BuildDefinition;
 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.model.project.ProjectNotifier;
 import org.apache.maven.continuum.model.project.Schedule;
 import org.apache.maven.continuum.model.system.ContinuumUser;
@@ -35,6 +31,11 @@
 import org.apache.maven.continuum.security.ContinuumSecurity;
 import org.codehaus.plexus.util.dag.CycleDetectedException;
 
+import java.io.File;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
 /**
  * Stub implementation of {@link Continuum} with empty implementations.
  * Needs to be static to be weaved by AspectJ.
@@ -465,4 +466,73 @@
         return null;
     }
 
+    public ProjectGroup getProjectGroup( int projectGroupId )
+        throws ContinuumException
+    {
+        return null;
+    }
+
+    public ProjectGroup getProjectGroupByProjectId( int projectId )
+        throws ContinuumException
+    {
+        return null;
+    }
+
+    public void removeProjectGroup( int projectGroupId )
+        throws ContinuumException
+    {
+    }
+
+    public void buildProjectGroup( int projectGroupId )
+        throws ContinuumException
+    {
+    }
+
+    public BuildDefinition getBuildDefinition( int buildDefinitionId )
+        throws ContinuumException
+    {
+        return null;
+    }
+
+    public void addBuildDefinitionToProject( int projectId, BuildDefinition buildDefinition )
+        throws ContinuumException
+    {
+    }
+
+    public void addBuildDefinitionToProjectGroup( int projectGroupId, BuildDefinition buildDefinition )
+        throws ContinuumException
+    {
+    }
+
+    public List getBuildDefinitionsForProject( int projectId )
+        throws ContinuumException
+    {
+        return null;
+    }
+
+    public List getBuildDefinitionsForProjectGroup( int projectGroupId )
+        throws ContinuumException
+    {
+        return null;
+    }
+
+    public void removeBuildDefinitionFromProject( int projectId, int buildDefinitionId )
+        throws ContinuumException
+    {
+    }
+
+    public void removeBuildDefinitionFromProjectGroup( int projectGroupId, int buildDefinitionId )
+        throws ContinuumException
+    {
+    }
+
+    public void updateBuildDefinitionForProject( int projectId, BuildDefinition buildDefinition )
+        throws ContinuumException
+    {
+    }
+
+    public void updateBuildDefinitionForProjectGroup( int projectGroupId, BuildDefinition buildDefinition )
+        throws ContinuumException
+    {
+    }
 }

Modified: maven/continuum/branches/continuum-acegi/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java (original)
+++ maven/continuum/branches/continuum-acegi/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java Tue Aug 22 11:37:42 2006
@@ -209,6 +209,69 @@
         return null;
     }
 
+    public Map getProjectGroupIdsAndBuildDefinitionsIdsBySchedule( int scheduleId )
+        throws ContinuumStoreException
+    {
+        PersistenceManager pm = getPersistenceManager();
+
+        Transaction tx = pm.currentTransaction();
+
+        try
+        {
+            tx.begin();
+
+            Extent extent = pm.getExtent( ProjectGroup.class, true );
+
+            Query query = pm.newQuery( extent );
+
+            query.declareParameters( "int scheduleId" );
+
+            query.declareImports( "import org.apache.maven.continuum.model.project.BuildDefinition" );
+
+            query.declareVariables( "BuildDefinition buildDef" );
+
+            query.setFilter( "buildDefinitions.contains(buildDef) && buildDef.schedule.id == scheduleId" );
+
+            query.setResult( "this.id, buildDef.id" );
+
+            List result = (List) query.execute( new Integer( scheduleId ) );
+
+            Map projectGroups = new HashMap();
+
+            if ( result != null && !result.isEmpty() )
+            {
+                for ( Iterator i = result.iterator(); i.hasNext(); )
+                {
+                    Object[] obj = (Object[]) i.next();
+
+                    List buildDefinitions;
+
+                    if ( projectGroups.get( obj[0] ) != null )
+                    {
+                        buildDefinitions = (List) projectGroups.get( obj[0] );
+                    }
+                    else
+                    {
+                        buildDefinitions = new ArrayList();
+
+                        projectGroups.put( obj[0], buildDefinitions );
+                    }
+
+                    buildDefinitions.add( obj[1] );
+                }
+
+                return projectGroups;
+            }
+        }
+        finally
+        {
+            tx.commit();
+
+            rollback( tx );
+        }
+        return null;
+    }
+
     public void updateBuildResult( BuildResult build )
         throws ContinuumStoreException
     {
@@ -374,54 +437,35 @@
     }
 
     public BuildDefinition getDefaultBuildDefinition( int projectId )
+        throws ContinuumStoreException, ContinuumObjectNotFoundException
     {
-        /*
-        PersistenceManager pm = getPersistenceManager();
 
-        Transaction tx = pm.currentTransaction();
+        BuildDefinition bd = null;
 
         try
         {
-            tx.begin();
-
-            Extent extent = pm.getExtent( Project.class, true );
-
-            Query query = pm.newQuery( extent );
-
-            query.declareImports( "import org.apache.maven.continuum.model.project.BuildDefinition" );
-
-            query.declareParameters( "int projectId" );
-
-            query.declareVariables( "BuildDefinition buildDef" );
-
-            query.setFilter(
-                "this.buildDefinitions.contains(buildDef) && buildDef.defaultForProject == true && this.id == projectId" );
-
-            query.setResult( "buildDef" );
-
-            List result = (List) query.execute( new Integer( projectId ) );
-
-            result = (List) pm.detachCopyAll( result );
-
-            tx.commit();
-
-            if ( result != null && !result.isEmpty() )
-            {
-                BuildDefinition bd = (BuildDefinition) result.get( 0 );
-                getLogger().info(
-                    "nb bd for project " + projectId + " : " + result.size() + " - bd id : " + bd.getId() );
-                return bd;
-            }
+            bd = getDefaultBuildDefinitionForProject( projectId );
         }
-        finally
+        catch ( ContinuumObjectNotFoundException cne )
         {
-            rollback( tx );
+            // ignore since we will try the project group
+            getLogger().debug( "no default build definition on project, trying project group" );
         }
 
-        return null;
-        */
+        //project group should have default build definition defined
+        if ( bd == null )
+        {
+            ProjectGroup projectGroup = getProjectGroupByProjectId( projectId );
+
+            bd = getDefaultBuildDefinitionForProjectGroup( projectGroup.getId() );
+        }
+
+        return bd;
+    }
 
-        // Use this code instead of code above due to an error in sql request generated by jpox for derby
+    public BuildDefinition getDefaultBuildDefinitionForProject( int projectId )
+        throws ContinuumStoreException, ContinuumObjectNotFoundException
+    {
         Project project;
 
         try
@@ -433,6 +477,7 @@
             project = null;
         }
 
+        // check if the project has a default build definition defined
         if ( project != null && project.getBuildDefinitions() != null )
         {
             for ( Iterator i = project.getBuildDefinitions().iterator(); i.hasNext(); )
@@ -446,6 +491,25 @@
             }
         }
 
+        throw new ContinuumObjectNotFoundException( "no default build definition declared for project " + projectId );
+    }
+
+
+    public BuildDefinition getDefaultBuildDefinitionForProjectGroup( int projectGroupId )
+        throws ContinuumStoreException, ContinuumObjectNotFoundException
+    {
+        ProjectGroup projectGroup = getProjectGroupWithBuildDetails( projectGroupId );
+
+        for ( Iterator i = projectGroup.getBuildDefinitions().iterator(); i.hasNext(); )
+        {
+            BuildDefinition bd = (BuildDefinition)i.next();
+
+            // also applies to project group membership
+            if ( bd.isDefaultForProject() )
+            {
+                return bd;
+            }
+        }
         return null;
     }
 
@@ -613,6 +677,26 @@
         return getAllObjectsDetached( Project.class, "name ascending", null );
     }
 
+    // todo get this natively supported in the store
+    public List getProjectsWithDependenciesByGroupId( int projectGroupId )
+    {
+        List allProjects = getAllObjectsDetached( Project.class, "name ascending", PROJECT_DEPENDENCIES_FETCH_GROUP );
+
+        List groupProjects = new ArrayList();
+
+        for (Iterator i = allProjects.iterator(); i.hasNext(); )
+        {
+            Project project = (Project)i.next();
+
+            if (project.getProjectGroup().getId() == projectGroupId )
+            {
+                groupProjects.add( project );
+            }
+        }
+
+        return groupProjects;
+    }
+
     public List getAllProjectsByNameWithDependencies()
     {
         return getAllObjectsDetached( Project.class, "name ascending", PROJECT_DEPENDENCIES_FETCH_GROUP );
@@ -1012,6 +1096,31 @@
     {
         return (Project) getObjectById( Project.class, projectId, PROJECT_BUILD_DETAILS_FETCH_GROUP );
     }
+
+    public ProjectGroup getProjectGroupByProjectId( int projectId )
+        throws ContinuumObjectNotFoundException
+    {
+        // todo this chunk should be optimized in the store by a good query
+        Collection projectGroups = getAllProjectGroupsWithProjects();
+
+        for ( Iterator i = projectGroups.iterator(); i.hasNext(); )
+        {
+            ProjectGroup projectGroup = (ProjectGroup) i.next();
+
+            for ( Iterator j = projectGroup.getProjects().iterator(); j.hasNext(); )
+            {
+                Project project = (Project) j.next();
+
+                if ( projectId == project.getId() )
+                {
+                    return projectGroup;
+                }
+            }
+        }
+
+        throw new ContinuumObjectNotFoundException( "unable to find project group containing project with id: " + projectId );
+    }
+
 
     public ProjectGroup getDefaultProjectGroup()
         throws ContinuumStoreException

Modified: maven/continuum/branches/continuum-acegi/continuum-store/src/test/java/org/apache/maven/continuum/store/ContinuumStoreTest.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-store/src/test/java/org/apache/maven/continuum/store/ContinuumStoreTest.java?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-store/src/test/java/org/apache/maven/continuum/store/ContinuumStoreTest.java (original)
+++ maven/continuum/branches/continuum-acegi/continuum-store/src/test/java/org/apache/maven/continuum/store/ContinuumStoreTest.java Tue Aug 22 11:37:42 2006
@@ -1475,7 +1475,7 @@
             {
                 project.getDependencies();
 
-                fail( "dependencies should be in the default fetch group" );
+                fail( "dependencies should not be in the default fetch group" );
             }
             catch ( JDODetachedFieldAccessException expected )
             {

Modified: maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AddMavenOneProjectAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AddMavenOneProjectAction.java?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AddMavenOneProjectAction.java (original)
+++ maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AddMavenOneProjectAction.java Tue Aug 22 11:37:42 2006
@@ -1,7 +1,7 @@
 package org.apache.maven.continuum.web.action;
 
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Copyright 2004-2006 The Apache Software Foundation.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,15 +17,15 @@
  */
 
 import java.io.File;
-import java.net.MalformedURLException;
-import java.util.Iterator;
 
 import org.apache.maven.continuum.ContinuumException;
 import org.apache.maven.continuum.project.builder.ContinuumProjectBuildingResult;
-import org.codehaus.plexus.util.StringUtils;
 
 /**
+ * Add a Maven 1 project to continuum.
+ * 
  * @author Nick Gonzalez
+ * @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
  * @version $Id$
  *
  * @plexus.component
@@ -33,91 +33,60 @@
  *   role-hint="addMavenOneProject"
  */
 public class AddMavenOneProjectAction
-    extends ContinuumActionSupport
+    extends AddMavenProjectAction
 {
 
-    private String m1PomUrl;
-
-    private File m1PomFile;
-
-    private String m1Pom = null;
-
-    public String execute()
+    protected ContinuumProjectBuildingResult doExecute( String pomUrl )
         throws ContinuumException
     {
-        if ( !StringUtils.isEmpty( m1PomUrl ) )
-        {
-            m1Pom = m1PomUrl;
-        }
-        else
-        {
-            if ( m1PomFile != null )
-            {
-                try
-                {
-                    m1Pom = m1PomFile.toURL().toString();
-                }
-                catch ( MalformedURLException e )
-                {
-                    // if local file can't be converted to url it's an internal error
-                    throw new RuntimeException( e );
-                }
-            }
-            else
-            {
-                return INPUT;
-            }
-        }
-
-        ContinuumProjectBuildingResult result = null;
-
-        result = continuum.addMavenOneProject( m1Pom );
-
-        if ( result.getErrors().size() > 0 )
-        {
-            Iterator it = result.getErrors().iterator();
-
-            while ( it.hasNext() )
-            {
-                addActionError( (String) it.next() );
-            }
-        }
-
-        return SUCCESS;
-    }
-
-    public String doDefault()
-    {
-        return INPUT;
+        return continuum.addMavenOneProject( pomUrl );
     }
 
+    /**
+     * @deprecated Use {@link #getPom()} instead
+     */
     public String getM1Pom()
     {
-        return m1Pom;
+        return getPom();
     }
 
+    /**
+     * @deprecated Use {@link #setPom(String)} instead
+     */
     public void setM1Pom( String pom )
     {
-        m1Pom = pom;
+        setPom( pom );
     }
 
+    /**
+     * @deprecated Use {@link #getPomFile()} instead
+     */
     public File getM1PomFile()
     {
-        return m1PomFile;
+        return getPomFile();
     }
 
+    /**
+     * @deprecated Use {@link #setPomFile(File)} instead
+     */
     public void setM1PomFile( File pomFile )
     {
-        m1PomFile = pomFile;
+        setPomFile( pomFile );
     }
 
+    /**
+     * @deprecated Use {@link #getPomUrl()} instead
+     */
     public String getM1PomUrl()
     {
-        return m1PomUrl;
+        return getPomUrl();
     }
 
+    /**
+     * @deprecated Use {@link #setPomUrl(String)} instead
+     */
     public void setM1PomUrl( String pomUrl )
     {
-        m1PomUrl = pomUrl;
+        setPomUrl( pomUrl );
     }
 }

Modified: maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AddMavenTwoProjectAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AddMavenTwoProjectAction.java?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AddMavenTwoProjectAction.java (original)
+++ maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AddMavenTwoProjectAction.java Tue Aug 22 11:37:42 2006
@@ -1,7 +1,7 @@
 package org.apache.maven.continuum.web.action;
 
 /*
- * Copyright 2004-2005 The Apache Software Foundation.
+ * Copyright 2004-2006 The Apache Software Foundation.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,18 +17,15 @@
  */
 
 import java.io.File;
-import java.io.FileNotFoundException;
-import java.net.MalformedURLException;
-import java.net.UnknownHostException;
-import java.util.Iterator;
 
 import org.apache.maven.continuum.ContinuumException;
-import org.apache.maven.continuum.project.builder.ContinuumProjectBuilderException;
 import org.apache.maven.continuum.project.builder.ContinuumProjectBuildingResult;
-import org.codehaus.plexus.util.StringUtils;
 
 /**
+ * Add a Maven 2 project to continuum.
+ * 
  * @author Nick Gonzalez
+ * @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
  * @version $Id$
  *
  * @plexus.component
@@ -36,61 +33,13 @@
  *   role-hint="addMavenTwoProject"
  */
 public class AddMavenTwoProjectAction
-    extends ContinuumActionSupport
-{    
+    extends AddMavenProjectAction
+{
 
-    private String m2PomUrl;
-
-    private File m2PomFile;
-
-    private String m2Pom = null;
-
-    public String execute()
+    protected ContinuumProjectBuildingResult doExecute( String pomUrl )
         throws ContinuumException
     {
-        if ( !StringUtils.isEmpty( m2PomUrl ) )
-        {
-            m2Pom = m2PomUrl;
-        }
-        else
-        {
-            if ( m2PomFile != null )
-            {
-                try
-                {
-                    m2Pom = m2PomFile.toURL().toString();
-                }
-                catch ( MalformedURLException e )
-                {
-                    // if local file can't be converted to url it's an internal error
-                    throw new RuntimeException( e );
-                }
-            }
-            else
-            {
-                // no url or file was filled
-                // TODO add action error, one must be filled in
-                return INPUT;
-            }
-        }
-
-        ContinuumProjectBuildingResult result = null;
-
-        result = continuum.addMavenTwoProject( m2Pom );
-
-        if ( result.getErrors().size() > 0 )
-        {
-            Iterator it = result.getErrors().iterator();
-
-            while ( it.hasNext() )
-            {
-                addActionError( (String) it.next() );
-            }
-
-            return INPUT;
-        }
-
-        return SUCCESS;
+        return continuum.addMavenTwoProject( pomUrl );
     }
 
     public String doDefault()
@@ -98,23 +47,35 @@
         return INPUT;
     }
 
+    /**
+     * @deprecated Use {@link #getPomFile()} instead
+     */
     public File getM2PomFile()
     {
-        return m2PomFile;
+        return getPomFile();
     }
 
+    /**
+     * @deprecated Use {@link #setPomFile(File)} instead
+     */
     public void setM2PomFile( File pomFile )
     {
-        m2PomFile = pomFile;
+        setPomFile( pomFile );
     }
 
+    /**
+     * @deprecated Use {@link #getPomUrl()} instead
+     */
     public String getM2PomUrl()
     {
-        return m2PomUrl;
+        return getPomUrl();
     }
 
+    /**
+     * @deprecated Use {@link #setPomUrl(String)} instead
+     */
     public void setM2PomUrl( String pomUrl )
     {
-        m2PomUrl = pomUrl;
+        setPomUrl( pomUrl );
     }
 }

Modified: maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/BuildResultsListAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/BuildResultsListAction.java?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/BuildResultsListAction.java (original)
+++ maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/BuildResultsListAction.java Tue Aug 22 11:37:42 2006
@@ -35,8 +35,6 @@
 
     private int projectId;
 
-    private String projectName;
-
     public String execute()
         throws ContinuumException
     {
@@ -53,16 +51,6 @@
     public void setProjectId( int projectId )
     {
         this.projectId = projectId;
-    }
-
-    public String getProjectName()
-    {
-        return projectName;
-    }
-
-    public void setProjectName( String projectName )
-    {
-        this.projectName = projectName;
     }
 
     public Collection getBuildResults()

Modified: maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/GroupSummaryAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/GroupSummaryAction.java?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/GroupSummaryAction.java (original)
+++ maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/GroupSummaryAction.java Tue Aug 22 11:37:42 2006
@@ -51,7 +51,7 @@
         {
             ProjectGroup projectGroup = (ProjectGroup) j.next();
 
-            getLogger().info( "GroupSummaryAction: building group " + projectGroup.getName() );
+            getLogger().debug( "GroupSummaryAction: building group " + projectGroup.getName() );
 
             GroupSummary groupModel = new GroupSummary();
             groupModel.setId( projectGroup.getId() );
@@ -62,6 +62,8 @@
             //TODO: Create a summary jpox request so code will be more simple and performance will be better
             Collection projects = projectGroup.getProjects();
 
+            groupModel.setNumProjects( projects.size() );
+
             Map buildResults = continuum.getLatestBuildResults();
 
             Map buildResultsInSuccess = continuum.getBuildResultsInSuccess();
@@ -75,9 +77,14 @@
             {
                 Project project = (Project) i.next();
 
+                if ( groupModel.getProjectType() == null )
+                {
+                    groupModel.setProjectType( project.getExecutorId() );
+                }
+
                 ProjectSummary model = new ProjectSummary();
 
-                getLogger().info( "GroupSummaryAction: building project model " + project.getName() );
+                getLogger().debug( "GroupSummaryAction: building project model " + project.getName() );
 
                 model.setId( project.getId() );
 
@@ -133,15 +140,19 @@
                         model.setLatestBuildId( latestBuild.getId() );
                     }
                 }
-                getLogger().info( "GroupSummaryAction: adding model to group " + model.getName() );
+                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
+            groupModel.setNextScheduledBuild( "unknown" );
+            groupModel.setStatusMessage( "none" );
+
             groupModel.setNumSuccesses( numSuccesses );
             groupModel.setNumFailures( numFailures );
             groupModel.setNumErrors( numErrors );
             groupModel.setProjects( projectModels );
-            getLogger().info( "GroupSummaryAction: adding group to groups list " + groupModel.getName() );
+            getLogger().debug( "GroupSummaryAction: adding group to groups list " + groupModel.getName() );
             groups.add( groupModel );
         }
 

Modified: maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ScheduleAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ScheduleAction.java?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ScheduleAction.java (original)
+++ maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ScheduleAction.java Tue Aug 22 11:37:42 2006
@@ -17,23 +17,35 @@
  */
 
 import org.apache.maven.continuum.ContinuumException;
+import org.apache.maven.continuum.model.project.Schedule;
 
 import java.util.Collection;
 
 /**
  * @author Nik Gonzalez
- *
- * @plexus.component
- *   role="com.opensymphony.xwork.Action"
- *   role-hint="schedules"
+ * @plexus.component role="com.opensymphony.xwork.Action"
+ * role-hint="schedule"
  */
 public class ScheduleAction
     extends ContinuumActionSupport
 {
+    private int id;
+
+    private boolean active = true;
+
+    private String cronExpression;
+
+    private int delay;
+
+    private String description;
+
+    private String name;
 
     private Collection schedules;
 
-    public String execute()
+    private Schedule schedule;
+
+    public String summary()
         throws ContinuumException
     {
         schedules = continuum.getSchedules();
@@ -41,9 +53,148 @@
         return SUCCESS;
     }
 
+    public String input()
+    {
+        if ( id != 0 )
+        {
+            try
+            {
+                schedule = continuum.getSchedule( id );
+                active = schedule.isActive();
+                cronExpression= schedule.getCronExpression();
+                description = schedule.getDescription();
+                name = schedule.getName();
+                delay = schedule.getDelay();
+            }
+            catch ( ContinuumException e )
+            {
+                addActionError( "unable to retrieve schedule for editting" );
+                return ERROR;
+            }
+        }
+        return SUCCESS;
+    }
+
+    public String save()
+    {
+        if ( id == 0 )
+        {
+            try
+            {
+                Schedule schedule = new Schedule();
+                schedule.setActive( active );
+                schedule.setCronExpression( cronExpression );
+                schedule.setDelay( delay );
+                schedule.setDescription( description );
+                schedule.setName( name );
+
+                continuum.addSchedule( schedule );
+            }
+            catch ( ContinuumException e )
+            {
+                addActionError( "unable to add schedule" );
+                return ERROR;
+            }
+            return SUCCESS;
+        }
+        else
+        {
+
+            try
+            {
+                schedule = continuum.getSchedule( id );
+
+                schedule.setActive( active );
+                schedule.setCronExpression( cronExpression );
+                schedule.setDelay( delay );
+                schedule.setDescription( description );
+                schedule.setName( name );
+
+                continuum.updateSchedule( schedule );
+
+            }
+            catch ( ContinuumException e )
+            {
+                addActionError( "unable to edit schedule" );
+                return ERROR;
+            }
+
+            return SUCCESS;
+        }
+    }
+
     public Collection getSchedules()
     {
         return schedules;
     }
 
+    public int getId()
+    {
+        return id;
+    }
+
+    public void setId( int id )
+    {
+        this.id = id;
+    }
+
+    public boolean isActive()
+    {
+        return active;
+    }
+
+    public void setActive( boolean active )
+    {
+        this.active = active;
+    }
+
+    public String getCronExpression()
+    {
+        return cronExpression;
+    }
+
+    public void setCronExpression( String cronExpression )
+    {
+        this.cronExpression = cronExpression;
+    }
+
+    public int getDelay()
+    {
+        return delay;
+    }
+
+    public void setDelay( int delay )
+    {
+        this.delay = delay;
+    }
+
+    public String getDescription()
+    {
+        return description;
+    }
+
+    public void setDescription( String description )
+    {
+        this.description = description;
+    }
+
+    public String getName()
+    {
+        return name;
+    }
+
+    public void setName( String name )
+    {
+        this.name = name;
+    }
+
+    public Schedule getSchedule()
+    {
+        return schedule;
+    }
+
+    public void setSchedule( Schedule schedule )
+    {
+        this.schedule = schedule;
+    }
 }

Modified: maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/SummaryAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/SummaryAction.java?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/SummaryAction.java (original)
+++ maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/SummaryAction.java Tue Aug 22 11:37:42 2006
@@ -30,15 +30,13 @@
 /**
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
  * @version $Id$
- *
- * @plexus.component
- *   role="com.opensymphony.xwork.Action"
- *   role-hint="summary"
+ * @plexus.component role="com.opensymphony.xwork.Action"
+ * role-hint="summary"
  */
 public class SummaryAction
     extends ContinuumActionSupport
-{    
-    private int projectGroupId = -1;
+{
+    private int projectGroupId;
 
     private int nbSuccesses;
 
@@ -47,26 +45,14 @@
     private int nbErrors;
 
     private List summary;
-    
+
     public String execute()
         throws ContinuumException
     {
         Collection projects;
 
-        // original logic on this page shows all projects across project groups, however if projectGroupId
-        // is set then display only those projects in the given group.
-        if ( projectGroupId == -1 )
-        {
-            getLogger().debug("SummaryAction: serving up all projects");
-            projects = continuum.getProjects();
-        }
-        else
-        {
-            getLogger().debug("SummaryAction: serving up project id -> " + projectGroupId );
-
-            //TODO: Create a summary jpox request so code will be more simple and performance will be better
-            projects = continuum.getProjectsInGroup( projectGroupId );
-        }
+        //TODO: Create a summary jpox request so code will be more simple and performance will be better
+        projects = continuum.getProjectsInGroup( projectGroupId );
 
         Map buildResults = continuum.getLatestBuildResults();
 

Modified: maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/WorkingCopyAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/WorkingCopyAction.java?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/WorkingCopyAction.java (original)
+++ maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/WorkingCopyAction.java Tue Aug 22 11:37:42 2006
@@ -16,10 +16,8 @@
  * limitations under the License.
  */
 
-import org.apache.maven.continuum.Continuum;
 import org.apache.maven.continuum.ContinuumException;
 import org.apache.maven.continuum.web.util.WorkingCopyContentGenerator;
-import org.apache.maven.continuum.web.action.ContinuumActionSupport;
 
 import com.opensymphony.webwork.ServletActionContext;
 import com.opensymphony.webwork.views.util.UrlHelper;
@@ -45,8 +43,6 @@
 
     private int projectId;
 
-    private String projectName;
-
     private String userDirectory;
 
     private String currentFile;
@@ -57,11 +53,15 @@
 
     private String output;
 
+    private String projectName;
+
     public String execute()
         throws ContinuumException
     {
         files = continuum.getFiles( projectId, userDirectory );
 
+        projectName = continuum.getProject( projectId ).getName();
+
         HashMap params = new HashMap();
 
         params.put( "projectId", new Integer( projectId ) );
@@ -97,11 +97,6 @@
     public String getProjectName()
     {
         return projectName;
-    }
-
-    public void setProjectName( String projectName )
-    {
-        this.projectName = projectName;
     }
 
     public String getUserDirectory()

Modified: maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/mdo/view-models.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/mdo/view-models.xml?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/mdo/view-models.xml (original)
+++ maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/mdo/view-models.xml Tue Aug 22 11:37:42 2006
@@ -32,6 +32,16 @@
             <multiplicity>*</multiplicity>
           </association>
         </field>
+         <field>
+          <name>buildDefinitionSummarys</name>
+          <version>1.0.0</version>
+          <description></description>
+          <required>true</required>
+          <association>
+            <type>BuildDefinitionSummary</type>
+            <multiplicity>*</multiplicity>
+          </association>
+        </field>
       </fields>
     </class>
     <class>
@@ -143,6 +153,34 @@
           <type>String</type>
         </field>
         <field>
+          <name>numProjects</name>
+          <version>1.0.0</version>
+          <required>true</required>
+          <description>the number of projects in the project group</description>
+          <type>int</type>
+        </field>
+        <field>
+          <name>projectType</name>
+          <version>1.0.0</version>
+          <required>true</required>
+          <description>the type of project, maven2/maven1/ant/shell</description>
+          <type>String</type>
+        </field>
+        <field>
+          <name>statusMessage</name>
+          <version>1.0.0</version>
+          <required>false</required>
+          <description>a status message like, (building project X)</description>
+          <type>String</type>
+        </field>
+        <field>
+         <name>nextScheduledBuild</name>
+          <version>1.0.0</version>
+          <required>false</required>
+          <description>timestamp for the next scheduled build</description>
+          <type>String</type>
+        </field>
+        <field>
           <name>projects</name>
           <version>1.0.0</version>
           <description></description>
@@ -175,6 +213,88 @@
           <description>number of errored builds in the project group</description>
           <type>int</type>
           <defaultValue>-1</defaultValue>
+        </field>
+      </fields>
+    </class>
+    <class>
+      <name>BuildDefinitionSummary</name>
+      <version>1.0.0+</version>
+      <fields>
+        <field>
+          <name>id</name>
+          <version>1.0.0</version>
+          <required>true</required>
+          <description>id of the build definition</description>
+          <type>int</type>
+        </field>
+        <field>
+          <name>projectId</name>
+          <version>1.0.0</version>
+          <required>false</required>
+          <description>project id of the project containing the build definition</description>
+          <type>int</type>
+        </field>
+        <field>
+          <name>projectGroupId</name>
+          <version>1.0.0</version>
+          <required>false</required>
+          <description>project group id of the project group with the build definition</description>
+          <type>int</type>
+        </field>
+        <field>
+          <name>goals</name>
+          <version>1.0.0</version>
+          <required>true</required>
+          <description>goals for build definition</description>
+          <type>String</type>
+        </field>
+        <field>
+          <name>arguments</name>
+          <version>1.0.0</version>
+          <required>true</required>
+          <description>arguments for build definition</description>
+          <type>String</type>
+        </field>
+        <field>
+          <name>buildFile</name>
+          <version>1.0.0</version>
+          <required>true</required>
+          <description>goals for build definition</description>
+          <type>String</type>
+        </field>
+        <field>
+          <name>isDefault</name>
+          <version>1.0.0</version>
+          <description>if the build definition is used in default cases</description>
+          <type>boolean</type>
+        </field>
+        <field>
+          <name>scheduleName</name>
+          <version>1.0.0</version>
+          <required>true</required>
+          <description>name of the schedule for build definition</description>
+          <type>String</type>
+        </field>
+        <field>
+          <name>from</name>
+          <version>1.0.0</version>
+          <required>true</required>
+          <description>source of build definition, project or project group lvl</description>
+          <type>String</type>
+        </field>
+        <field>
+          <name>profileName</name>
+          <version>1.0.0</version>
+          <required>true</required>
+          <description>name of the profile for the build definition</description>
+          <type>String</type>
+        </field>
+        <field>
+          <name>projectName</name>
+          <version>1.0.0</version>
+          <required>true</required>
+          <description>if project lvl, then the name of the project using the definition</description>
+          <type>String</type>
         </field>
       </fields>
     </class>

Modified: maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/resources/META-INF/plexus/application.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/resources/META-INF/plexus/application.xml?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/resources/META-INF/plexus/application.xml (original)
+++ maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/resources/META-INF/plexus/application.xml Tue Aug 22 11:37:42 2006
@@ -735,6 +735,10 @@
         </appenders>
         <levels>
           <level>
+            <hierarchy>org.apache.maven.continuum.project.builder.ContinuumProjectBuilder</hierarchy>
+            <level>DEBUG</level>
+          </level>
+          <level>
             <hierarchy>org.apache.maven.continuum.execution.maven.m2.DefaultMavenBuilderHelper</hierarchy>
             <level>INFO</level>
           </level>

Modified: maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/resources/localization/Continuum.properties
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/resources/localization/Continuum.properties?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/resources/localization/Continuum.properties (original)
+++ maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/resources/localization/Continuum.properties Tue Aug 22 11:37:42 2006
@@ -105,13 +105,23 @@
 # ----------------------------------------------------------------------
 # Page: Add Project
 # ----------------------------------------------------------------------
+add.project.field.required.error = Either POM URL or Upload POM is required.
 add.project.unknown.host.error = The specified host is either unknown or inaccessible.
 add.project.malformed.url.error = The URL provided is malformed.
 add.project.xml.parse.error = The XML content of the POM can not be parsed.
-add.project.extend.error = Cannot use a POM with an 'extend' element
+add.project.extend.error = Cannot use a POM with an 'extend' element.
+add.project.missing.pom.error = POM file does not exist.
 add.project.missing.groupid.error = Missing 'groupId' element in the POM.
 add.project.missing.artifactid.error = Missing 'artifactId' element in the POM.
-add.project.unknown.error = The specified resource cannot be accessed.
+add.project.missing.version.error = Missing 'version' element in the POM.
+add.project.missing.name.error = Missing 'name' element in the POM.
+add.project.missing.repository.error = Missing 'repository' element in the POM.
+add.project.missing.scm.error = Missing 'scm' element in the POM.
+add.project.missing.scm.connection.error = Missing 'connection' sub-element in the 'scm' element in the POM.
+add.project.missing.notifier.type.error = Missing 'type' sub-element in the 'notifier' element in the POM. 
+add.project.missing.notifier.configuration.error = Missing 'configuration' sub-element in the 'notifier' element in the POM.
+add.project.metadata.transfer.error = Transfer of Metadata has failed.
+add.project.unknown.error = The specified resource cannot be accessed. Please try again later or contact your administrator.
 
 # ----------------------------------------------------------------------
 # Page: AddMavenOneProject
@@ -193,6 +203,7 @@
 projectView.buildDefinition.profile = Profile
 projectView.buildDefinition.schedule = Schedule
 projectView.buildDefinition.from = From
+projectView.buildDefinition.default = Default
 projectView.notifiers = Notifiers
 projectView.notifier.type = Type
 projectView.notifier.recipient = Recipient

Modified: maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/resources/xwork.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/resources/xwork.xml?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/resources/xwork.xml (original)
+++ maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/resources/xwork.xml Tue Aug 22 11:37:42 2006
@@ -25,6 +25,7 @@
     <default-interceptor-ref name="defaultContinuumStack"/>
 
     <global-results>
+      <result name="error">/error.jsp</result>
       <result name="internalError" type="redirect">/error.jsp</result>
     </global-results>
 
@@ -96,25 +97,62 @@
       <result name="success" type="chain">projectView</result>
     </action>
 
-    <action name="buildDefinitionEdit" class="buildDefinitionEdit">
+    <!--
+    * build definition actions
+    -->
+    <action name="buildDefinition" class="buildDefinition">
       <result name="input">buildDefinitionEdit.jsp</result>
-      <result name="success" type="chain">projectView</result>
     </action>
 
-    <action name="buildDefinitionSave" class="buildDefinitionEdit">
-      <result name="input">buildDefinitionEdit.jsp</result>
+    <action name="saveProjectBuildDefinition" class="buildDefinition" method="saveToProject">
       <result name="success" type="chain">projectView</result>
     </action>
 
-    <action name="deleteBuildDefinition" class="deleteBuildDefinition">
-      <result name="delete">deleteBuildDefinition.jsp</result>
+    <action name="removeProjectBuildDefinition" class="buildDefinition" method="removeFromProject">
+      <result name="confirm">deleteBuildDefinition.jsp</result>
       <result name="success" type="chain">projectView</result>
     </action>
 
-    <action name="addBuildDefinition" class="addBuildDefinition">
-      <result name="input">buildDefinitionEdit.jsp</result>
+    <action name="saveGroupBuildDefinition" class="buildDefinition" method="saveToGroup">
+      <result name="success" type="chain">projectGroupView</result>
     </action>
 
+    <action name="removeGroupBuildDefinition" class="buildDefinition" method="removeFromGroup">
+      <result name="confirm">deleteBuildDefinition.jsp</result>
+      <result name="success" type="chain">projectGroupView</result>
+    </action>
+
+
+    <!--
+    * project group actions
+    -->
+    <action name="projectGroupMembers" class="projectGroup" method="members">
+      <result name="success">projectGroupMembers.jsp</result>
+    </action>
+
+    <action name="projectGroupSummary" class="projectGroup" method="summary">
+      <result name="success">projectGroupSummary.jsp</result>
+    </action>
+
+    <action name="projectGroupBuildDefinition" class="projectGroup" method="buildDefinitions">
+      <result name="success">projectGroupBuildDefinition.jsp</result>
+    </action>
+
+    <action name="projectGroupNotifier" class="projectGroup" method="notifiers">
+      <result name="success">projectGroupNotifier.jsp</result>
+    </action>
+
+    <action name="buildProjectGroup" class="projectGroup" method="build">
+      <result name="success" type="chain">projectGroupSummary</result>
+    </action>
+
+    <action name="removeProjectGroup" class="projectGroup" method="remove">
+      <result name="success" type="chain">groupSummary</result>
+    </action>
+
+    <!--
+    * notifier actions
+    -->
     <action name="deleteNotifier" class="deleteNotifier">
       <result name="delete">deleteNotifier.jsp</result>
       <result name="success" type="chain">projectView</result>
@@ -180,17 +218,18 @@
       <result name="success">workingCopy.jsp</result>
     </action>
 
-    <action name="schedules" class="schedules">
+    <!--
+    * schedule actions
+    -->
+    <action name="schedules" class="schedule" method="summary">
       <result name="success">schedules.jsp</result>
     </action>
 
-    <action name="addSchedule" class="addSchedule">
-      <result name="input">editSchedule.jsp</result>
-      <result name="success" type="chain">schedules</result>
+    <action name="schedule" class="schedule" method="input">
+      <result name="success">editSchedule.jsp</result>
     </action>
 
-    <action name="editSchedule" class="editSchedule">
-      <result name="input">editSchedule.jsp</result>
+    <action name="saveSchedule" class="schedule" method="save">
       <result name="success" type="chain">schedules</result>
     </action>
 
@@ -209,5 +248,25 @@
       <result name="success" type="chain">users</result>
     </action>
 
+  </package>
+
+  <package name="component" extends="default">
+    <!--
+    * component actions
+    -->
+    <action name="buildDefinitionSummary" class="buildDefinitionSummary" method="summarizeForProject">
+      <result name="success">/components/buildDefinitionSummaryComponent.jsp</result>
+      <result name="error">/components/failureComponent.jsp</result>
+    </action>
+
+    <action name="groupBuildDefinitionSummary" class="buildDefinitionSummary" method="summarizeForGroup">
+      <result name="success">/components/buildDefinitionGroupSummaryComponent.jsp</result>
+      <result name="error">/components/failureComponent.jsp</result>
+    </action>
+
+    <action name="projectSummary" class="summary">
+      <result name="success">/components/projectSummaryComponent.jsp</result>
+      <result name="error">/components/failureComponent.jsp</result>
+    </action>
   </package>
 </xwork>

Propchange: maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/WEB-INF/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Tue Aug 22 11:37:42 2006
@@ -0,0 +1,4 @@
+
+database
+logs
+temp

Modified: maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/WEB-INF/web.xml?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/WEB-INF/web.xml (original)
+++ maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/WEB-INF/web.xml Tue Aug 22 11:37:42 2006
@@ -1,10 +1,6 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
+<?xml version="1.0"?>
 
-<!DOCTYPE web-app PUBLIC
-    "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
-    "http://java.sun.com/dtd/web-app_2_3.dtd">
-
-<web-app>
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee" version="2.4">
 
   <display-name>Continuum Webapp</display-name>
 

Modified: maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/addMavenOneProject.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/addMavenOneProject.jsp?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/addMavenOneProject.jsp (original)
+++ maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/addMavenOneProject.jsp Tue Aug 22 11:37:42 2006
@@ -1,3 +1,4 @@
+<%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c'%>
 <%@ taglib uri="/webwork" prefix="ww" %>
 <%@ taglib uri="continuum" prefix="c1" %>
 <ww:i18n name="localization.Continuum">
@@ -11,6 +12,13 @@
             <h3><ww:text name="add.m1.project.section.title"/></h3>
                 <div class="axial">
                     <ww:form method="post" action="addMavenOneProject.action" name="addMavenOneProject" enctype="multipart/form-data">
+                        <c:if test="${!empty actionErrors}">
+                          <div class="errormessage">
+                            <c:forEach items="${actionErrors}" var="actionError">
+                              <p><ww:text name="${actionError}"/></p>
+                            </c:forEach>
+                          </div>
+                        </c:if>
                         <table>
                           <tbody>
                             <ww:textfield label="%{getText('add.m1.project.m1PomUrl.label')}" name="m1PomUrl">

Modified: maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/addMavenTwoProject.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/addMavenTwoProject.jsp?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/addMavenTwoProject.jsp (original)
+++ maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/addMavenTwoProject.jsp Tue Aug 22 11:37:42 2006
@@ -1,3 +1,4 @@
+<%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c'%>
 <%@ taglib uri="/webwork" prefix="ww" %>
 <%@ taglib uri="continuum" prefix="c1" %>
 <ww:i18n name="localization.Continuum">
@@ -11,6 +12,13 @@
                 <h3><ww:text name="add.m2.project.section.title"/></h3>
                 <div class="axial">
                     <ww:form method="post" action="addMavenTwoProject.action" name="addMavenTwoProject" enctype="multipart/form-data">
+                        <c:if test="${!empty actionErrors}">
+                          <div class="errormessage">
+                            <c:forEach items="${actionErrors}" var="actionError">
+                              <p><ww:text name="${actionError}"/></p>
+                            </c:forEach>
+                          </div>
+                        </c:if>
                         <table>
                           <tbody>
                             <ww:textfield label="%{getText('add.m2.project.m2PomUrl.label')}" name="m2PomUrl">

Modified: maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/buildDefinitionEdit.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/buildDefinitionEdit.jsp?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/buildDefinitionEdit.jsp (original)
+++ maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/buildDefinitionEdit.jsp Tue Aug 22 11:37:42 2006
@@ -1,4 +1,5 @@
 <%@ taglib uri="/webwork" prefix="ww" %>
+<%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c'%>
 <%@ taglib uri="continuum" prefix="c1" %>
 <html>
   <ww:i18n name="localization.Continuum">
@@ -10,34 +11,48 @@
         <h3><ww:text name="buildDefinition.section.title"/></h3>
 
         <div class="axial">
-          <ww:form action="buildDefinitionSave.action" method="post">
+
+
+
+          <ww:if test="${projectId != 0}">
+            <ww:url id="actionUrl" action="saveProjectBuildDefinition"/>
+          </ww:if>
+          <ww:else>
+            <ww:url id="actionUrl" action="saveGroupBuildDefinition"/>
+          </ww:else>
+
+
+
+          <ww:form action="%{actionUrl}" method="post" >
+
             <ww:hidden name="buildDefinitionId"/>
             <ww:hidden name="projectId"/>
+            <ww:hidden name="projectGroupId"/>
 
             <table>
               <tbody>
-                <ww:if test="project.executorId == 'ant'">
+                <ww:if test="executor == 'ant'">
                   <ww:textfield label="%{getText('buildDefinition.buildFile.ant.label')}" name="buildFile"  required="true"/>
                 </ww:if>
-                <ww:elseif test="project.executorId == 'shell'">
+                <ww:elseif test="executor == 'shell'">
                   <ww:textfield label="%{getText('buildDefinition.buildFile.shell.label')}" name="buildFile" required="true"/>
                 </ww:elseif>
                 <ww:else>
                   <ww:textfield label="%{getText('buildDefinition.buildFile.maven.label')}" name="buildFile" required="true"/>
                 </ww:else>
 
-                <ww:if test="project.executorId == 'ant'">
+                <ww:if test="executor == 'ant'">
                   <ww:textfield label="%{getText('buildDefinition.goals.ant.label')}" name="goals"/>
                 </ww:if>
-                <ww:elseif test="project.executorId == 'shell'">
+                <ww:elseif test="executor == 'shell'">
                 </ww:elseif>
                 <ww:else>
                   <ww:textfield label="%{getText('buildDefinition.goals.maven.label')}" name="goals"/>
                 </ww:else>
 
                 <ww:textfield label="%{getText('buildDefinition.arguments.label')}" name="arguments"/>
-                <ww:checkbox label="%{getText('buildDefinition.defaultForProject.label')}"  name="defaultForProject" value="defaultForProject" fieldValue="true"/>
-                <ww:select label="%{getText('buildDefinition.schedule.label')}" name="scheduleId" list="schedulesMap"/>
+                <ww:checkbox label="%{getText('buildDefinition.defaultForProject.label')}"  name="defaultBuildDefinition" value="defaultBuildDefinition" fieldValue="true"/>
+                <ww:select label="%{getText('buildDefinition.schedule.label')}" name="scheduleId" list="schedules"/>
               </tbody>
             </table>
             <div class="functnbar3">

Modified: maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/buildResults.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/buildResults.jsp?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/buildResults.jsp (original)
+++ maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/buildResults.jsp Tue Aug 22 11:37:42 2006
@@ -39,12 +39,11 @@
             <ec:column property="endTime" title="buildResults.endTime" cell="date"/>
             <ec:column property="state" title="buildResults.state" cell="org.apache.maven.continuum.web.view.buildresults.StateCell"/>
             <ec:column property="actions" title="&nbsp;">
-              <c:url var="buildResultUrl" value="/buildResult.action">
-                <c:param name="projectId" value="projectId"/>
-                <c:param name="projectName" value="projectName"/>
-                <c:param name="buildId" value="${buildResult.id}"/>
-              </c:url>
-              <a href="<c:out value='${buildResultUrl}'/>">Result</a>
+              <a href='<ww:url action="buildResult">
+                <ww:param name="projectId" value="${projectId}"/>
+                <ww:param name="projectName" value="${projectName}"/>
+                <ww:param name="buildId" value="${buildResult.id}"/>
+              </ww:url>'>Result</a>
             </ec:column>
           </ec:row>
         </ec:table>

Modified: maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/deleteBuildDefinition.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/deleteBuildDefinition.jsp?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/deleteBuildDefinition.jsp (original)
+++ maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/deleteBuildDefinition.jsp Tue Aug 22 11:37:42 2006
@@ -19,9 +19,10 @@
           </p>
         </div>
         <div class="functnbar3">
-          <ww:form action="deleteBuildDefinition.action" method="post">
+          <ww:form action="removeProjectBuildDefinition">
             <ww:hidden name="buildDefinitionId"/>
             <ww:hidden name="projectId"/>
+            <ww:hidden name="confirmed" value="true"/>
             <c1:submitcancel value="%{getText('delete')}" cancel="%{getText('cancel')}"/>
           </ww:form>
         </div>

Modified: maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/editSchedule.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/editSchedule.jsp?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/editSchedule.jsp (original)
+++ maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/editSchedule.jsp Tue Aug 22 11:37:42 2006
@@ -11,8 +11,8 @@
     <h3><ww:text name="editSchedule.page.title"/></h3>
 
     <div class="axial">
-      <ww:form action="editSchedule.action" method="post">
-        <input type="hidden" name="id" value="<ww:property value="id"/>"/>
+      <ww:form action="saveSchedule" method="post">
+        <input type="hidden" name="id" value="id"/>
         <table>
           <tbody>
             <ww:textfield label="%{getText('schedule.name.label')}" name="name" required="true">

Modified: maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/error.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/error.jsp?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/error.jsp (original)
+++ maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/error.jsp Tue Aug 22 11:37:42 2006
@@ -1,16 +1,27 @@
 <%@ taglib uri="/webwork" prefix="ww" %>
 <html>
-  <ww:i18n name="localization.Continuum">
-    <head>
-        <title><ww:text name="error.page.title"/></title>
-    </head>
-    <body>
-      <div id="axial" class="h3">
-        <h3><ww:text name="error.section.title"/></h3>
-        <p>
-          <ww:text name="error.message"/>
-        </p>
-      </div>
-    </body>
-  </ww:i18n>
+<ww:i18n name="localization.Continuum">
+  <head>
+    <title><ww:text name="error.page.title"/></title>
+  </head>
+
+  <body>
+  <div id="axial" class="h3">
+    <h3><ww:text name="error.section.title"/></h3>
+
+    <p>
+      <ww:text name="error.message"/>
+    </p>
+
+    <p>
+
+
+      <h3>Action Error</h3>
+      <p>
+        <ww:actionerror/>
+       </p>
+    </p>
+  </div>
+  </body>
+</ww:i18n>
 </html>

Modified: maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/groupSummary.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/groupSummary.jsp?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/groupSummary.jsp (original)
+++ maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/groupSummary.jsp Tue Aug 22 11:37:42 2006
@@ -10,69 +10,72 @@
   <body>
   <div id="h3">
 
+    <h3>Project Groups</h3>
+
+    <p/>
+
+    <ww:if test="${groups == null }">
+      No Project Groups Known.
+    </ww:if>
+
     <c:forEach items="${groups}" var="group">
 
-      <ww:set name="group" value="${group}"/> 
-      <ww:url id="projectSummaryUrl" action="summary" namespace="/">
+      <ww:set name="group" value="${group}"/>
+      <ww:url id="projectGroupSummaryUrl" action="projectGroupSummary" namespace="/">
         <ww:param name="projectGroupId" value="%{'${group.id}'}"/>
       </ww:url>
 
-      <h3><ww:text name="groups.section.title"/>&nbsp;<ww:a href="%{projectSummaryUrl}">${group.name}</ww:a></h3>
-
-      <ec:table items="group.projects"
-                var="project"
-                showExports="false"
-                showPagination="false"
-                showStatusBar="false"
-                filterable="false">
-        <ec:row highlightRow="true">
-          <ec:column property="state" title="&nbsp;" width="1%" cell="org.apache.maven.continuum.web.view.StateCell"/>
-          <ec:column property="name" title="summary.projectTable.name" width="48%">
-            <c:url var="projectViewUrl" value="/projectView.action">
-              <c:param name="projectId" value="${project.id}"/>
-            </c:url>
-            <a href="<c:out value='${projectViewUrl}'/>">${project.name}</a>
-          </ec:column>
-          <ec:column property="version" title="summary.projectTable.version" width="13%"/>
-          <ec:column property="buildNumber" title="summary.projectTable.build" width="5%"
-                     cell="org.apache.maven.continuum.web.view.BuildCell"/>
-          <ec:column property="buildNowAction" title="&nbsp;" width="1%"
-                     cell="org.apache.maven.continuum.web.view.BuildNowCell" sortable="false"/>
-          <ec:column property="buildHistoryAction" title="&nbsp;" width="1%" sortable="false">
-            <c:choose>
-              <c:when test="${pageScope.project.latestBuildId > 0}">
-                <a href="<ww:url value="/buildResults.action?projectId="/>${pageScope.project.id}&projectName=${pageScope.project.name}"><img
-                    src="<ww:url value="/images/buildhistory.gif"/>" alt="Build History" title="Build History"
-                    border="0"></a>
-              </c:when>
-              <c:otherwise>
-                <img src="<ww:url value="/images/buildhistory_disabled.gif"/>" alt="Build History" title="Build History"
-                     border="0">
-              </c:otherwise>
-            </c:choose>
-          </ec:column>
-        </ec:row>
-      </ec:table>
-      <div class="functnbar3">
-        <ww:form action="buildProject.action" method="post">
-          <ww:submit value="%{getText('summary.buildAll')}">
-            <ww:param name="before">
-              <img src="<ww:url value="/images/icon_success_sml.gif"/>" alt="<ww:text name="message.success"/>"
-                   title="<ww:text name="message.success"/>"/>
-              <ww:property value="${group.numSuccesses}"/>
-              <img src="<ww:url value="/images/icon_warning_sml.gif"/>" alt="<ww:text name="message.failed"/>"
-                   title="<ww:text name="message.failed"/>"/>
-              <ww:property value="${group.numFailures}"/>
-              <img src="<ww:url value="/images/icon_error_sml.gif"/>" alt="<ww:text name="message.error"/>"
-                   title="<ww:text name="message.error"/>"/>
-              <ww:property value="${group.numErrors}"/>
-            </ww:param>
-          </ww:submit>
-        </ww:form>
-      </div>
+      <table border="2" cellspacing="2" cellpadding="3" width="100%">
+        <tr>
+          <td>Name:</td>
+          <td><ww:a href="%{projectGroupSummaryUrl}">${group.name}</ww:a></td>
+        </tr>
+        <tr>
+          <td>Group Id:</td>
+          <td>${group.groupId}</td>
+        </tr>
+        <tr>
+          <td>Project Type:</td>
+          <td>${group.projectType}</td>
+        </tr>
+        <tr>
+          <td>Number of Projects:</td>
+          <td>${group.numProjects}</td>
+        </tr>
+        <tr>
+          <td>Build Status:</td>
+          <td>
+            <table>
+              <tr>
+                <td><img src="<ww:url value="/images/icon_success_sml.gif"/>" alt="<ww:text name="message.success"/>"
+                         title="<ww:text name="message.success"/>"/></td>
+                <td><ww:property value="${group.numSuccesses}"/></td>
+              </tr>
+              <tr>
+                <td><img src="<ww:url value="/images/icon_warning_sml.gif"/>" alt="<ww:text name="message.failed"/>"
+                         title="<ww:text name="message.failed"/>"/></td>
+                <td><ww:property value="${group.numFailures}"/></td>
+              </tr>
+              <tr>
+                <td><img src="<ww:url value="/images/icon_error_sml.gif"/>" alt="<ww:text name="message.error"/>"
+                         title="<ww:text name="message.error"/>"/></td>
+                <td><ww:property value="${group.numErrors}"/></td>
+              </tr>
+            </table>
+          </td>
+        </tr>
+        <tr>
+          <td>Next Scheduled Build:</td>
+          <td>${group.nextScheduledBuild}</td>
+        </tr>
+        <tr>
+          <td>Status Message:</td>
+          <td>${group.statusMessage}</td>
+        </tr>
+      </table>
+      <hr/>
+      <p/>
     </c:forEach>
-
-
   </div>
   </body>
 </ww:i18n>

Modified: maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/navigations/DefaultTop.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/navigations/DefaultTop.jsp?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/navigations/DefaultTop.jsp (original)
+++ maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/navigations/DefaultTop.jsp Tue Aug 22 11:37:42 2006
@@ -6,7 +6,6 @@
 <c:set var="authentication" value="${sessionScope['ACEGI_SECURITY_CONTEXT'].authentication}"/>
 <c:set var="user" value="${authentication.principal}" scope="session"/>
 
-
 <ww:i18n name="localization.Continuum">
 <div id="banner">
   <table border="1" cellpadding="8" cellspacing="0" width="100%">

Modified: maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/navigations/Menu.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/navigations/Menu.jsp?rev=433720&r1=433719&r2=433720&view=diff
==============================================================================
--- maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/navigations/Menu.jsp (original)
+++ maven/continuum/branches/continuum-acegi/continuum-webapp/src/main/webapp/navigations/Menu.jsp Tue Aug 22 11:37:42 2006
@@ -10,9 +10,6 @@
         <a href="<ww:url value="/about.jsp"/>"><ww:text name="menu.continuum.about"/></a>
       </div>
       <div class="body">
-        <a href="<ww:url value="/summary.action"/>"><ww:text name="menu.continuum.showProjects"/></a>
-      </div>
-      <div class="body">
         <a href="<ww:url value="/groupSummary.action"/>"><ww:text name="menu.continuum.showProjectGroups"/></a>
       </div>
     </div>