You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ev...@apache.org on 2007/02/22 16:24:51 UTC

svn commit: r510547 [2/3] - in /maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action: ./ component/ notifier/

Modified: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/DeleteProjectAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/DeleteProjectAction.java?view=diff&rev=510547&r1=510546&r2=510547
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/DeleteProjectAction.java (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/DeleteProjectAction.java Thu Feb 22 07:24:47 2007
@@ -20,23 +20,16 @@
  */
 
 import org.apache.maven.continuum.ContinuumException;
-import org.apache.maven.continuum.security.ContinuumRoleConstants;
 import org.apache.maven.continuum.model.project.Project;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureAction;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureActionBundle;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureActionException;
+import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
 
 /**
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
  * @version $Id$
- *
- * @plexus.component
- *   role="com.opensymphony.xwork.Action"
- *   role-hint="deleteProject"
+ * @plexus.component role="com.opensymphony.xwork.Action" role-hint="deleteProject"
  */
 public class DeleteProjectAction
     extends ContinuumActionSupport
-    implements SecureAction
 {
     private int projectId;
 
@@ -49,6 +42,15 @@
     public String execute()
         throws ContinuumException
     {
+        try
+        {
+            checkRemoveProjectFromGroupAuthorization( getProjectGroupName() );
+        }
+        catch ( AuthorizationRequiredException e )
+        {
+            return REQUIRES_AUTHORIZATION;
+        }
+
         getContinuum().removeProject( projectId );
 
         return SUCCESS;
@@ -57,10 +59,18 @@
     public String doDefault()
         throws ContinuumException
     {
+        try
+        {
+            checkRemoveProjectFromGroupAuthorization( getProjectGroupName() );
+        }
+        catch ( AuthorizationRequiredException e )
+        {
+            return REQUIRES_AUTHORIZATION;
+        }
 
         Project project = getContinuum().getProject( projectId );
         projectName = project.getName();
-        
+
         return "delete";
     }
 
@@ -111,23 +121,4 @@
 
         return projectGroupName;
     }
-
-    public SecureActionBundle getSecureActionBundle()
-        throws SecureActionException {
-        SecureActionBundle bundle = new SecureActionBundle();
-        bundle.setRequiresAuthentication( true );
-
-        try
-        {
-            bundle.addRequiredAuthorization( ContinuumRoleConstants.CONTINUUM_REMOVE_PROJECT_FROM_GROUP_OPERATION,
-                    getProjectGroupName() );
-        }
-        catch ( ContinuumException e )
-        {
-            throw new SecureActionException( e.getMessage() );
-        }
-
-        return bundle;
-    }
-    
 }

Modified: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/GroupSummaryAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/GroupSummaryAction.java?view=diff&rev=510547&r1=510546&r2=510547
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/GroupSummaryAction.java (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/GroupSummaryAction.java Thu Feb 22 07:24:47 2007
@@ -23,10 +23,9 @@
 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 org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
-import org.apache.maven.continuum.web.exception.AuthenticationRequiredException;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -195,13 +194,10 @@
     {
         try
         {
-            return isAuthorizedViewProjectGroup( projectGroupName );
+            checkViewProjectGroupAuthorization( projectGroupName );
+            return true;
         }
         catch ( AuthorizationRequiredException authzE )
-        {
-            return false;
-        }
-        catch ( AuthenticationRequiredException authnE )
         {
             return false;
         }

Modified: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectEditAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectEditAction.java?view=diff&rev=510547&r1=510546&r2=510547
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectEditAction.java (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectEditAction.java Thu Feb 22 07:24:47 2007
@@ -20,25 +20,17 @@
  */
 
 import org.apache.maven.continuum.ContinuumException;
-import org.apache.maven.continuum.security.ContinuumRoleConstants;
 import org.apache.maven.continuum.model.project.Project;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureAction;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureActionBundle;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureActionException;
+import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
 
 /**
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
  * @version $Id$
- *
- * @plexus.component
- *   role="com.opensymphony.xwork.Action"
- *   role-hint="projectEdit"
+ * @plexus.component role="com.opensymphony.xwork.Action" role-hint="projectEdit"
  */
 public class ProjectEditAction
     extends ContinuumActionSupport
-    implements SecureAction
 {
-
     private Project project;
 
     private int projectId;
@@ -60,6 +52,15 @@
     public String save()
         throws ContinuumException
     {
+        try
+        {
+            checkModifyProjectInGroupAuthorization( getProjectGroupName() );
+        }
+        catch ( AuthorizationRequiredException e )
+        {
+            return REQUIRES_AUTHORIZATION;
+        }
+
         project = getProject( projectId );
 
         project.setName( name );
@@ -84,6 +85,15 @@
     public String edit()
         throws ContinuumException
     {
+        try
+        {
+            checkModifyProjectInGroupAuthorization( getProjectGroupName() );
+        }
+        catch ( AuthorizationRequiredException e )
+        {
+            return REQUIRES_AUTHORIZATION;
+        }
+
         project = getProject( projectId );
 
         name = project.getName();
@@ -199,24 +209,4 @@
     {
         return getProject( projectId ).getProjectGroup().getName();
     }
-
-    public SecureActionBundle getSecureActionBundle()
-        throws SecureActionException
-    {
-        SecureActionBundle bundle = new SecureActionBundle();
-        bundle.setRequiresAuthentication( true );
-
-        try
-        {
-            bundle.addRequiredAuthorization( ContinuumRoleConstants.CONTINUUM_MODIFY_PROJECT_IN_GROUP_OPERATION,
-                    getProjectGroupName() );
-        }
-        catch ( ContinuumException e )
-        {
-            throw new SecureActionException( e.getMessage() );
-        }
-
-        return bundle;
-    }
-
 }

Modified: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectGroupAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectGroupAction.java?view=diff&rev=510547&r1=510546&r2=510547
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectGroupAction.java (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectGroupAction.java Thu Feb 22 07:24:47 2007
@@ -26,7 +26,6 @@
 import org.apache.maven.continuum.project.ContinuumProjectState;
 import org.apache.maven.continuum.web.bean.ProjectGroupUserBean;
 import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
-import org.apache.maven.continuum.web.exception.AuthenticationRequiredException;
 import org.codehaus.plexus.rbac.profile.RoleProfileException;
 import org.codehaus.plexus.rbac.profile.RoleProfileManager;
 import org.codehaus.plexus.security.rbac.RBACManager;
@@ -50,8 +49,7 @@
  *
  * @author Jesse McConnell <jm...@apache.org>
  * @version $Id$
- * @plexus.component role="com.opensymphony.xwork.Action"
- * role-hint="projectGroup"
+ * @plexus.component role="com.opensymphony.xwork.Action" role-hint="projectGroup"
  */
 public class ProjectGroupAction
     extends ContinuumConfirmAction
@@ -115,20 +113,15 @@
     {
         try
         {
-            if( isAuthorizedViewProjectGroup( getProjectGroupName() ) )
-            {
-                projectGroup = getProjectGroup( projectGroupId );
-            }
+            checkViewProjectGroupAuthorization( getProjectGroupName() );
         }
         catch ( AuthorizationRequiredException authzE )
         {
             addActionError( authzE.getMessage() );
             return REQUIRES_AUTHORIZATION;
         }
-        catch ( AuthenticationRequiredException authnE )
-        {
-            return REQUIRES_AUTHENTICATION;
-        }
+
+        projectGroup = getProjectGroup( projectGroupId );
 
         return SUCCESS;
     }
@@ -138,24 +131,19 @@
     {
         try
         {
-            projectGroup = getContinuum().getProjectGroupWithProjects( projectGroupId );
-
-            if ( isAuthorizedViewProjectGroup( getProjectGroupName() ) )
-            {
-                groupProjects = projectGroup.getProjects();
-
-                populateProjectGroupUsers( projectGroup );
-            }
+            checkViewProjectGroupAuthorization( getProjectGroupName() );
         }
         catch ( AuthorizationRequiredException authzE )
         {
             addActionError( authzE.getMessage() );
             return REQUIRES_AUTHORIZATION;
         }
-        catch ( AuthenticationRequiredException authnE )
-        {
-            return REQUIRES_AUTHENTICATION;
-        }
+
+        projectGroup = getContinuum().getProjectGroupWithProjects( projectGroupId );
+
+        groupProjects = projectGroup.getProjects();
+
+        populateProjectGroupUsers( projectGroup );
 
         return SUCCESS;
     }
@@ -183,27 +171,22 @@
     {
         try
         {
-            if ( isAuthorizedRemoveProjectGroup( getProjectGroupName() ) )
-            {
-                if ( confirmed )
-                {
-                    getContinuum().removeProjectGroup( projectGroupId );
-                }
-                else
-                {
-                    name = getProjectGroupName();
-                    return CONFIRM;
-                }
-            }
+            checkRemoveProjectGroupAuthorization( getProjectGroupName() );
         }
         catch ( AuthorizationRequiredException authzE )
         {
             addActionError( authzE.getMessage() );
             return REQUIRES_AUTHORIZATION;
         }
-        catch ( AuthenticationRequiredException authnE )
+
+        if ( confirmed )
+        {
+            getContinuum().removeProjectGroup( projectGroupId );
+        }
+        else
         {
-            return REQUIRES_AUTHENTICATION;
+            name = getProjectGroupName();
+            return CONFIRM;
         }
 
         return SUCCESS;
@@ -212,49 +195,44 @@
     public String edit()
         throws ContinuumException
     {
-        projectGroup = getContinuum().getProjectGroupWithProjects( projectGroupId );
-
         try
         {
-            if ( isAuthorizedModifyProjectGroup( getProjectGroupName() ) )
-            {
-                name = projectGroup.getName();
+            checkModifyProjectGroupAuthorization( getProjectGroupName() );
+        }
+        catch ( AuthorizationRequiredException authzE )
+        {
+            addActionError( authzE.getMessage() );
+            return REQUIRES_AUTHORIZATION;
+        }
 
-                description = projectGroup.getDescription();
+        projectGroup = getContinuum().getProjectGroupWithProjects( projectGroupId );
 
-                projectList = projectGroup.getProjects();
+        name = projectGroup.getName();
 
-                if ( projectList != null )
-                {
-                    Iterator proj = projectList.iterator();
+        description = projectGroup.getDescription();
 
-                    while ( proj.hasNext() )
-                    {
-                        Project p = (Project) proj.next();
-                        if ( getContinuum().isInCheckoutQueue( p.getId() ) )
-                        {
-                            projectInCOQueue = true;
-                        }
-                        projects.put( p, new Integer( p.getProjectGroup().getId() ) );
-                    }
-                }
+        projectList = projectGroup.getProjects();
+
+        if ( projectList != null )
+        {
+            Iterator proj = projectList.iterator();
 
-                Iterator proj_group = getContinuum().getAllProjectGroupsWithProjects().iterator();
-                while ( proj_group.hasNext() )
+            while ( proj.hasNext() )
+            {
+                Project p = (Project) proj.next();
+                if ( getContinuum().isInCheckoutQueue( p.getId() ) )
                 {
-                    ProjectGroup pg = (ProjectGroup) proj_group.next();
-                    projectGroups.put( new Integer( pg.getId() ), pg.getName() );
+                    projectInCOQueue = true;
                 }
+                projects.put( p, new Integer( p.getProjectGroup().getId() ) );
             }
         }
-        catch ( AuthorizationRequiredException authzE )
-        {
-            addActionError( authzE.getMessage() );
-            return REQUIRES_AUTHORIZATION;
-        }
-        catch ( AuthenticationRequiredException authnE )
+
+        Iterator proj_group = getContinuum().getAllProjectGroupsWithProjects().iterator();
+        while ( proj_group.hasNext() )
         {
-            return REQUIRES_AUTHENTICATION;
+            ProjectGroup pg = (ProjectGroup) proj_group.next();
+            projectGroups.put( new Integer( pg.getId() ), pg.getName() );
         }
 
         return SUCCESS;
@@ -263,75 +241,70 @@
     public String save()
         throws ContinuumException
     {
+        try
+        {
+            checkModifyProjectGroupAuthorization( getProjectGroupName() );
+        }
+        catch ( AuthorizationRequiredException authzE )
+        {
+            addActionError( authzE.getMessage() );
+            return REQUIRES_AUTHORIZATION;
+        }
+
         projectGroup = getContinuum().getProjectGroupWithProjects( projectGroupId );
 
-        try
+        // need to administer roles since they are based off of this
+        // todo convert everything like to work off of string keys
+        if ( !name.equals( projectGroup.getName() ) )
         {
-            if ( isAuthorizedModifyProjectGroup( getProjectGroupName() ) )
+            try
             {
-                // need to administer roles since they are based off of this
-                // todo convert everything like to work off of string keys
-                if ( !name.equals( projectGroup.getName() ) )
-                {
-                    try
-                    {
-                        roleManager.renameDynamicRole( "continuum-group-developer", projectGroup.getName(), name );
-                        roleManager.renameDynamicRole( "continuum-group-user", projectGroup.getName(), name );
+                roleManager.renameDynamicRole( "continuum-group-developer", projectGroup.getName(), name );
+                roleManager.renameDynamicRole( "continuum-group-user", projectGroup.getName(), name );
 
-                        projectGroup.setName( name );
-                    }
-                    catch ( RoleProfileException e )
-                    {
-                        throw new ContinuumException( "unable to rename the project group", e );
-                    }
+                projectGroup.setName( name );
+            }
+            catch ( RoleProfileException e )
+            {
+                throw new ContinuumException( "unable to rename the project group", e );
+            }
 
-                }
+        }
 
-                projectGroup.setDescription( description );
+        projectGroup.setDescription( description );
 
-                getContinuum().updateProjectGroup( projectGroup );
+        getContinuum().updateProjectGroup( projectGroup );
 
-                Iterator keys = projects.keySet().iterator();
-                while ( keys.hasNext() )
-                {
-                    String key = (String) keys.next();
+        Iterator keys = projects.keySet().iterator();
+        while ( keys.hasNext() )
+        {
+            String key = (String) keys.next();
 
-                    String[] id = (String[]) projects.get( key );
+            String[] id = (String[]) projects.get( key );
 
-                    int projectId = Integer.parseInt( key );
+            int projectId = Integer.parseInt( key );
 
-                    Project project = null;
-                    Iterator i = projectGroup.getProjects().iterator();
-                    while ( i.hasNext() )
-                    {
-                        project = (Project) i.next();
-                        if ( projectId == project.getId() )
-                        {
-                            break;
-                        }
-                    }
+            Project project = null;
+            Iterator i = projectGroup.getProjects().iterator();
+            while ( i.hasNext() )
+            {
+                project = (Project) i.next();
+                if ( projectId == project.getId() )
+                {
+                    break;
+                }
+            }
 
-                    ProjectGroup newProjectGroup = getContinuum().getProjectGroup( new Integer( id[0] ).intValue() );
+            ProjectGroup newProjectGroup = getContinuum().getProjectGroup( new Integer( id[0] ).intValue() );
 
-                    if ( newProjectGroup.getId() != projectGroup.getId() )
-                    {
-                        getLogger().info(
-                            "Moving project " + project.getName() + " to project group " + newProjectGroup.getName() );
-                        project.setProjectGroup( newProjectGroup );
-                        getContinuum().updateProject( project );
-                    }
-                }
+            if ( newProjectGroup.getId() != projectGroup.getId() )
+            {
+                getLogger().info(
+                    "Moving project " + project.getName() + " to project group " + newProjectGroup.getName() );
+                project.setProjectGroup( newProjectGroup );
+                getContinuum().updateProject( project );
             }
         }
-        catch ( AuthorizationRequiredException authzE )
-        {
-            addActionError( authzE.getMessage() );
-            return REQUIRES_AUTHORIZATION;
-        }
-        catch ( AuthenticationRequiredException authnE )
-        {
-            return REQUIRES_AUTHENTICATION;
-        }
 
         return SUCCESS;
     }
@@ -341,20 +314,15 @@
     {
         try
         {
-            if ( isAuthorizedBuildProjectGroup( getProjectGroupName() ) )
-            {
-                getContinuum().buildProjectGroup( projectGroupId );
-            }
+            checkBuildProjectGroupAuthorization( getProjectGroupName() );
         }
         catch ( AuthorizationRequiredException authzE )
         {
             addActionError( authzE.getMessage() );
             return REQUIRES_AUTHORIZATION;
         }
-        catch ( AuthenticationRequiredException authnE )
-        {
-            return REQUIRES_AUTHENTICATION;
-        }
+
+        getContinuum().buildProjectGroup( projectGroupId );
 
         return SUCCESS;
     }
@@ -362,79 +330,72 @@
     public String release()
         throws ContinuumException
     {
-        //get the parent of the group by finding the parent project
-        //i.e., the project that doesn't have a parent, or it's parent is not in the group.
-
         try
         {
-            if ( isAuthorizedBuildProjectGroup( getProjectGroupName() ) )
-            {
-                Project parent = null;
-
-                boolean allBuildsOk = true;
+            checkBuildProjectGroupAuthorization( getProjectGroupName() );
+        }
+        catch ( AuthorizationRequiredException authzE )
+        {
+            addActionError( authzE.getMessage() );
+            return REQUIRES_AUTHORIZATION;
+        }
 
-                projectList = getContinuum().getProjectsInGroupWithDependencies( projectGroupId );
+        //get the parent of the group by finding the parent project
+        //i.e., the project that doesn't have a parent, or it's parent is not in the group.
 
-                if ( projectList != null )
-                {
-                    Iterator proj = projectList.iterator();
+        Project parent = null;
 
-                    while ( proj.hasNext() )
-                    {
-                        Project p = (Project) proj.next();
+        boolean allBuildsOk = true;
 
-                        if ( p.getState() != ContinuumProjectState.OK )
-                        {
-                            allBuildsOk = false;
-                        }
-
-                        if ( ( p.getParent() == null ) || ( !isParentInProjectGroup( p.getParent(), projectList ) ) )
-                        {
-                            if ( parent == null )
-                            {
-                                parent = p;
-                            }
-                            else
-                            {
-                                //currently, we have no provisions for releasing 2 or more parents
-                                //at the same time, this will be implemented in the future
-                                addActionError( "projectGroup.release.error.severalParentProjects" );
-                                return INPUT;
-                            }
-                        }
-                    }
-                }
+        projectList = getContinuum().getProjectsInGroupWithDependencies( projectGroupId );
 
-                if ( parent == null )
-                {
-                    addActionError( "projectGroup.release.error.emptyGroup" );
-                    return INPUT;
-                }
+        if ( projectList != null )
+        {
+            Iterator proj = projectList.iterator();
 
-                releaseProjectId = parent.getId();
+            while ( proj.hasNext() )
+            {
+                Project p = (Project) proj.next();
 
-                if ( allBuildsOk )
+                if ( p.getState() != ContinuumProjectState.OK )
                 {
-                    return SUCCESS;
+                    allBuildsOk = false;
                 }
-                else
+
+                if ( ( p.getParent() == null ) || ( !isParentInProjectGroup( p.getParent(), projectList ) ) )
                 {
-                    addActionError( "projectGroup.release.error.projectNotInSuccess" );
-                    return INPUT;
+                    if ( parent == null )
+                    {
+                        parent = p;
+                    }
+                    else
+                    {
+                        //currently, we have no provisions for releasing 2 or more parents
+                        //at the same time, this will be implemented in the future
+                        addActionError( "projectGroup.release.error.severalParentProjects" );
+                        return INPUT;
+                    }
                 }
             }
         }
-        catch ( AuthorizationRequiredException authzE )
+
+        if ( parent == null )
         {
-            addActionError( authzE.getMessage() );
-            return REQUIRES_AUTHORIZATION;
+            addActionError( "projectGroup.release.error.emptyGroup" );
+            return INPUT;
         }
-        catch ( AuthenticationRequiredException authnE )
+
+        releaseProjectId = parent.getId();
+
+        if ( allBuildsOk )
         {
-            return REQUIRES_AUTHENTICATION;
+            return SUCCESS;
+        }
+        else
+        {
+            addActionError( "projectGroup.release.error.projectNotInSuccess" );
+            return INPUT;
         }
-
-        return SUCCESS;
     }
 
     private boolean isParentInProjectGroup( ProjectDependency parent, Collection projectsInGroup )
@@ -683,7 +644,7 @@
         {
             if ( projectGroup.getId() != projectGroupId )
             {
-                projectGroup = getContinuum().getProjectGroup( projectGroupId );   
+                projectGroup = getContinuum().getProjectGroup( projectGroupId );
             }
         }
 

Modified: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectViewAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectViewAction.java?view=diff&rev=510547&r1=510546&r2=510547
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectViewAction.java (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ProjectViewAction.java Thu Feb 22 07:24:47 2007
@@ -20,24 +20,17 @@
  */
 
 import org.apache.maven.continuum.ContinuumException;
-import org.apache.maven.continuum.security.ContinuumRoleConstants;
 import org.apache.maven.continuum.model.project.Project;
 import org.apache.maven.continuum.model.project.ProjectGroup;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureAction;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureActionBundle;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureActionException;
+import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
 
 /**
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
  * @version $Id$
- *
- * @plexus.component
- *   role="com.opensymphony.xwork.Action"
- *   role-hint="projectView"
+ * @plexus.component role="com.opensymphony.xwork.Action" role-hint="projectView"
  */
 public class ProjectViewAction
     extends ContinuumActionSupport
-    implements SecureAction
 {
 
     private Project project;
@@ -52,6 +45,15 @@
     public String execute()
         throws ContinuumException
     {
+        try
+        {
+            checkViewProjectGroupAuthorization( getProjectGroup().getName() );
+        }
+        catch ( AuthorizationRequiredException e )
+        {
+            return REQUIRES_AUTHORIZATION;
+        }
+
         projectGroup = getProjectGroup();
 
         project = getContinuum().getProjectWithAllDetails( projectId );
@@ -74,35 +76,14 @@
     }
 
     /**
-     * Returns the {@link ProjectGroup} instance obtained for 
+     * Returns the {@link ProjectGroup} instance obtained for
      * the specified project group Id, or null if it were not set.
-     * 
+     *
      * @return the projectGroup
      */
     public ProjectGroup getProjectGroup()
-            throws ContinuumException
+        throws ContinuumException
     {
         return getContinuum().getProjectGroupByProjectId( projectId );
     }
-
-    public SecureActionBundle getSecureActionBundle()
-        throws SecureActionException
-    {
-        SecureActionBundle bundle = new SecureActionBundle();
-        bundle.setRequiresAuthentication( true );
-        
-        try
-        {
-            bundle.addRequiredAuthorization( ContinuumRoleConstants.CONTINUUM_VIEW_GROUP_OPERATION,
-                getProjectGroup().getName() );
-        }
-        catch ( ContinuumException ce )
-        {
-
-        }
-
-        return bundle;
-    }
-
-
 }

Modified: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseCleanupAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseCleanupAction.java?view=diff&rev=510547&r1=510546&r2=510547
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseCleanupAction.java (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseCleanupAction.java Thu Feb 22 07:24:47 2007
@@ -19,24 +19,17 @@
  * under the License.
  */
 
+import org.apache.maven.continuum.ContinuumException;
 import org.apache.maven.continuum.release.ContinuumReleaseManager;
 import org.apache.maven.continuum.release.ContinuumReleaseManagerListener;
-import org.apache.maven.continuum.ContinuumException;
-import org.apache.maven.continuum.security.ContinuumRoleConstants;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureAction;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureActionBundle;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureActionException;
+import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
 
 /**
  * @author Edwin Punzalan
- *
- * @plexus.component
- *   role="com.opensymphony.xwork.Action"
- *   role-hint="releaseCleanup"
+ * @plexus.component role="com.opensymphony.xwork.Action" role-hint="releaseCleanup"
  */
 public class ReleaseCleanupAction
     extends ContinuumActionSupport
-    implements SecureAction
 {
     private int projectId;
 
@@ -46,13 +39,22 @@
 
     public String execute()
         throws Exception
-    {                 
+    {
+        try
+        {
+            checkBuildProjectInGroupAuthorization( getProjectGroupName() );
+        }
+        catch ( AuthorizationRequiredException e )
+        {
+            return REQUIRES_AUTHORIZATION;
+        }
 
         ContinuumReleaseManager releaseManager = getContinuum().getReleaseManager();
 
         releaseManager.getReleaseResults().remove( releaseId );
 
-        ContinuumReleaseManagerListener listener = (ContinuumReleaseManagerListener) releaseManager.getListeners().remove( releaseId );
+        ContinuumReleaseManagerListener listener =
+            (ContinuumReleaseManagerListener) releaseManager.getListeners().remove( releaseId );
 
         if ( listener != null )
         {
@@ -96,24 +98,5 @@
         }
 
         return projectGroupName;
-    }
-
-    public SecureActionBundle getSecureActionBundle()
-        throws SecureActionException
-    {
-        SecureActionBundle bundle = new SecureActionBundle();
-        bundle.setRequiresAuthentication( true );
-
-        try
-        {
-            bundle.addRequiredAuthorization( ContinuumRoleConstants.CONTINUUM_BUILD_PROJECT_IN_GROUP_OPERATION,
-                getProjectGroupName() );
-        }
-        catch ( ContinuumException ce )
-        {
-
-        }
-
-        return bundle;
     }
 }

Modified: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseInProgressAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseInProgressAction.java?view=diff&rev=510547&r1=510546&r2=510547
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseInProgressAction.java (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseInProgressAction.java Thu Feb 22 07:24:47 2007
@@ -19,25 +19,18 @@
  * under the License.
  */
 
+import org.apache.maven.continuum.ContinuumException;
 import org.apache.maven.continuum.release.ContinuumReleaseManager;
 import org.apache.maven.continuum.release.ContinuumReleaseManagerListener;
-import org.apache.maven.continuum.ContinuumException;
-import org.apache.maven.continuum.security.ContinuumRoleConstants;
+import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
 import org.apache.maven.shared.release.ReleaseResult;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureAction;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureActionBundle;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureActionException;
 
 /**
  * @author Edwin Punzalan
- *
- * @plexus.component
- *   role="com.opensymphony.xwork.Action"
- *   role-hint="releaseInProgress"
+ * @plexus.component role="com.opensymphony.xwork.Action" role-hint="releaseInProgress"
  */
 public class ReleaseInProgressAction
     extends ContinuumActionSupport
-    implements SecureAction
 {
     private int projectId;
 
@@ -54,6 +47,15 @@
     public String execute()
         throws Exception
     {
+        try
+        {
+            checkBuildProjectInGroupAuthorization( getProjectGroupName() );
+        }
+        catch ( AuthorizationRequiredException e )
+        {
+            return REQUIRES_AUTHORIZATION;
+        }
+
         String status = "";
 
         ContinuumReleaseManager releaseManager = getContinuum().getReleaseManager();
@@ -86,6 +88,14 @@
     public String viewResult()
         throws Exception
     {
+        try
+        {
+            checkBuildProjectInGroupAuthorization( getProjectGroupName() );
+        }
+        catch ( AuthorizationRequiredException e )
+        {
+            return REQUIRES_AUTHORIZATION;
+        }
 
         ContinuumReleaseManager releaseManager = getContinuum().getReleaseManager();
 
@@ -101,7 +111,7 @@
             }
             else
             {
-                throw new Exception( "The release operation with id " + releaseId + "has not finished yet.");
+                throw new Exception( "The release operation with id " + releaseId + "has not finished yet." );
             }
         }
         else
@@ -169,24 +179,5 @@
         }
 
         return projectGroupName;
-    }
-
-    public SecureActionBundle getSecureActionBundle()
-        throws SecureActionException
-    {
-        SecureActionBundle bundle = new SecureActionBundle();
-        bundle.setRequiresAuthentication( true );
-
-        try
-        {
-            bundle.addRequiredAuthorization( ContinuumRoleConstants.CONTINUUM_BUILD_PROJECT_IN_GROUP_OPERATION,
-                getProjectGroupName() );
-        }
-        catch ( ContinuumException ce )
-        {
-
-        }
-
-        return bundle;
     }
 }

Modified: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePerformAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePerformAction.java?view=diff&rev=510547&r1=510546&r2=510547
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePerformAction.java (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePerformAction.java Thu Feb 22 07:24:47 2007
@@ -19,31 +19,25 @@
  * under the License.
  */
 
+import org.apache.maven.continuum.ContinuumException;
 import org.apache.maven.continuum.model.project.Project;
 import org.apache.maven.continuum.release.ContinuumReleaseManager;
 import org.apache.maven.continuum.release.ContinuumReleaseManagerListener;
 import org.apache.maven.continuum.release.DefaultReleaseManagerListener;
-import org.apache.maven.continuum.ContinuumException;
-import org.apache.maven.continuum.security.ContinuumRoleConstants;
+import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.apache.maven.shared.release.ReleaseResult;
 import org.apache.maven.shared.release.config.ReleaseDescriptor;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureActionBundle;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureActionException;
 import org.codehaus.plexus.security.ui.web.interceptor.SecureAction;
 
 import java.io.File;
 
 /**
  * @author Edwin Punzalan
- *
- * @plexus.component
- *   role="com.opensymphony.xwork.Action"
- *   role-hint="releasePerform"
+ * @plexus.component role="com.opensymphony.xwork.Action" role-hint="releasePerform"
  */
 public class ReleasePerformAction
     extends ContinuumActionSupport
-    implements SecureAction
 {
     private int projectId;
 
@@ -72,6 +66,14 @@
     public String inputFromScm()
         throws Exception
     {
+        try
+        {
+            checkBuildProjectInGroupAuthorization( getProjectGroupName() );
+        }
+        catch ( AuthorizationRequiredException e )
+        {
+            return REQUIRES_AUTHORIZATION;
+        }
 
         populateFromProject();
 
@@ -83,14 +85,29 @@
     public String input()
         throws Exception
     {
+        try
+        {
+            checkBuildProjectInGroupAuthorization( getProjectGroupName() );
+        }
+        catch ( AuthorizationRequiredException e )
+        {
+            return REQUIRES_AUTHORIZATION;
+        }
 
         return SUCCESS;
-
     }
 
     public String execute()
         throws Exception
     {
+        try
+        {
+            checkBuildProjectInGroupAuthorization( getProjectGroupName() );
+        }
+        catch ( AuthorizationRequiredException e )
+        {
+            return REQUIRES_AUTHORIZATION;
+        }
 
         listener = new DefaultReleaseManagerListener();
 
@@ -120,7 +137,8 @@
         do
         {
             releaseId = String.valueOf( System.currentTimeMillis() );
-        }while ( releaseManager.getPreparedReleases().containsKey( releaseId ) );
+        }
+        while ( releaseManager.getPreparedReleases().containsKey( releaseId ) );
 
         releaseManager.getPreparedReleases().put( releaseId, descriptor );
 
@@ -267,24 +285,5 @@
         }
 
         return projectGroupName;
-    }
-
-    public SecureActionBundle getSecureActionBundle()
-        throws SecureActionException
-    {
-        SecureActionBundle bundle = new SecureActionBundle();
-        bundle.setRequiresAuthentication( true );
-
-        try
-        {
-            bundle.addRequiredAuthorization( ContinuumRoleConstants.CONTINUUM_BUILD_PROJECT_IN_GROUP_OPERATION,
-                getProjectGroupName() );
-        }
-        catch ( ContinuumException ce )
-        {
-
-        }
-
-        return bundle;
     }
 }

Modified: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePrepareAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePrepareAction.java?view=diff&rev=510547&r1=510546&r2=510547
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePrepareAction.java (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleasePrepareAction.java Thu Feb 22 07:24:47 2007
@@ -19,25 +19,22 @@
  * under the License.
  */
 
+import org.apache.maven.continuum.ContinuumException;
 import org.apache.maven.continuum.model.project.Project;
 import org.apache.maven.continuum.release.ContinuumReleaseManager;
 import org.apache.maven.continuum.release.ContinuumReleaseManagerListener;
 import org.apache.maven.continuum.release.DefaultReleaseManagerListener;
-import org.apache.maven.continuum.ContinuumException;
-import org.apache.maven.continuum.security.ContinuumRoleConstants;
-
+import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.apache.maven.shared.release.ReleaseResult;
-import org.apache.maven.shared.release.versions.VersionInfo;
 import org.apache.maven.shared.release.versions.DefaultVersionInfo;
+import org.apache.maven.shared.release.versions.VersionInfo;
+import org.codehaus.plexus.security.ui.web.interceptor.SecureAction;
 import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureAction;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureActionBundle;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureActionException;
 
 import java.io.File;
 import java.io.FileReader;
@@ -50,14 +47,10 @@
 
 /**
  * @author Edwin Punzalan
- *
- * @plexus.component
- *   role="com.opensymphony.xwork.Action"
- *   role-hint="releasePrepare"
+ * @plexus.component role="com.opensymphony.xwork.Action" role-hint="releasePrepare"
  */
 public class ReleasePrepareAction
     extends ContinuumActionSupport
-    implements SecureAction
 {
     private static final String SCM_SVN_PROTOCOL_PREFIX = "scm:svn";
 
@@ -94,43 +87,37 @@
     public String input()
         throws Exception
     {
-       /* try
+        try
         {
-            if ( isAuthorizedBuildProjectGroup( getProjectGroupName() ) )
-            { */
-                Project project = getContinuum().getProject( projectId );
-                scmUsername = project.getScmUsername();
-                scmPassword = project.getScmPassword();
-                scmTag = project.getScmTag();
-
-                String scmUrl = project.getScmUrl();
-                if ( scmUrl.startsWith( SCM_SVN_PROTOCOL_PREFIX ) )
-                {
-                    scmTagBase = new SvnScmProviderRepository( scmUrl, scmUsername, scmPassword ).getTagBase();
-                    // strip the Maven scm protocol prefix
-                    scmTagBase = scmTagBase.substring( SCM_SVN_PROTOCOL_PREFIX.length() + 1 );
-                }
-                else
-                {
-                    scmTagBase = "";
-                }
-
-                prepareGoals = "clean integration-test";
-
-                getReleasePluginParameters( project.getWorkingDirectory(), "pom.xml" );
-
-                processProject( project.getWorkingDirectory(), "pom.xml" );
-        /*    }
+            checkBuildProjectInGroupAuthorization( getProjectGroupName() );
         }
-        catch ( AuthorizationRequiredException authzE )
+        catch ( AuthorizationRequiredException e )
         {
-            addActionError( authzE.getMessage() );
             return REQUIRES_AUTHORIZATION;
         }
-        catch ( AuthenticationRequiredException authnE )
+
+        Project project = getContinuum().getProject( projectId );
+        scmUsername = project.getScmUsername();
+        scmPassword = project.getScmPassword();
+        scmTag = project.getScmTag();
+
+        String scmUrl = project.getScmUrl();
+        if ( scmUrl.startsWith( SCM_SVN_PROTOCOL_PREFIX ) )
+        {
+            scmTagBase = new SvnScmProviderRepository( scmUrl, scmUsername, scmPassword ).getTagBase();
+            // strip the Maven scm protocol prefix
+            scmTagBase = scmTagBase.substring( SCM_SVN_PROTOCOL_PREFIX.length() + 1 );
+        }
+        else
         {
-            return REQUIRES_AUTHENTICATION;
-        }     */
+            scmTagBase = "";
+        }
+
+        prepareGoals = "clean integration-test";
+
+        getReleasePluginParameters( project.getWorkingDirectory(), "pom.xml" );
+
+        processProject( project.getWorkingDirectory(), "pom.xml" );
 
         return SUCCESS;
     }
@@ -143,12 +130,12 @@
 
         if ( model.getBuild() != null && model.getBuild().getPlugins() != null )
         {
-            for( Iterator plugins = model.getBuild().getPlugins().iterator(); plugins.hasNext(); )
+            for ( Iterator plugins = model.getBuild().getPlugins().iterator(); plugins.hasNext(); )
             {
                 Plugin plugin = (Plugin) plugins.next();
 
                 if ( plugin.getGroupId() != null && plugin.getGroupId().equals( "org.apache.maven.plugins" ) &&
-                     plugin.getArtifactId() != null && plugin.getArtifactId().equals( "maven-release-plugin" ) )
+                    plugin.getArtifactId() != null && plugin.getArtifactId().equals( "maven-release-plugin" ) )
                 {
                     Xpp3Dom dom = (Xpp3Dom) plugin.getConfiguration();
 
@@ -183,35 +170,29 @@
     public String execute()
         throws Exception
     {
-       /* try
+        try
         {
-            if ( isAuthorizedBuildProjectGroup( getProjectGroupName() ) )
-            {       */
-                listener = new DefaultReleaseManagerListener();
-
-                Project project = getContinuum().getProject( projectId );
-
-                name = project.getName();
-                if ( name == null )
-                {
-                    name = project.getArtifactId();
-                }
-
-                ContinuumReleaseManager releaseManager = getContinuum().getReleaseManager();
-
-                releaseId = releaseManager.prepare( project, getReleaseProperties(), getRelVersionMap(),
-                                                    getDevVersionMap(), listener );
-     /*       }
+            checkBuildProjectInGroupAuthorization( getProjectGroupName() );
         }
-        catch ( AuthorizationRequiredException authzE )
+        catch ( AuthorizationRequiredException e )
         {
-            addActionError( authzE.getMessage() );
             return REQUIRES_AUTHORIZATION;
         }
-        catch ( AuthenticationRequiredException authnE )
+
+        listener = new DefaultReleaseManagerListener();
+
+        Project project = getContinuum().getProject( projectId );
+
+        name = project.getName();
+        if ( name == null )
         {
-            return REQUIRES_AUTHENTICATION;
-        }       */
+            name = project.getArtifactId();
+        }
+
+        ContinuumReleaseManager releaseManager = getContinuum().getReleaseManager();
+
+        releaseId =
+            releaseManager.prepare( project, getReleaseProperties(), getRelVersionMap(), getDevVersionMap(), listener );
 
         return SUCCESS;
     }
@@ -219,6 +200,15 @@
     public String viewResult()
         throws Exception
     {
+        try
+        {
+            checkBuildProjectInGroupAuthorization( getProjectGroupName() );
+        }
+        catch ( AuthorizationRequiredException e )
+        {
+            return REQUIRES_AUTHORIZATION;
+        }
+
         result = (ReleaseResult) getContinuum().getReleaseManager().getReleaseResults().get( releaseId );
 
         return "viewResult";
@@ -227,6 +217,15 @@
     public String checkProgress()
         throws Exception
     {
+        try
+        {
+            checkBuildProjectInGroupAuthorization( getProjectGroupName() );
+        }
+        catch ( AuthorizationRequiredException e )
+        {
+            return REQUIRES_AUTHORIZATION;
+        }
+
         String status;
 
         ContinuumReleaseManager releaseManager = getContinuum().getReleaseManager();
@@ -274,7 +273,7 @@
 
         setProperties( model );
 
-        for( Iterator modules = model.getModules().iterator(); modules.hasNext(); )
+        for ( Iterator modules = model.getModules().iterator(); modules.hasNext(); )
         {
             processProject( workingDirectory + "/" + modules.next().toString(), "pom.xml" );
         }
@@ -493,35 +492,16 @@
 
     public void validate()
     {
-
     }
 
     public String getProjectGroupName()
         throws ContinuumException
     {
-        if ( projectGroupName == null || "".equals( projectGroupName ) )
+        if ( StringUtils.isEmpty( projectGroupName ) )
         {
             projectGroupName = getContinuum().getProjectGroupByProjectId( projectId ).getName();
         }
 
         return projectGroupName;
-    }
-
-    public SecureActionBundle getSecureActionBundle()
-        throws SecureActionException
-    {
-        SecureActionBundle bundle = new SecureActionBundle();
-        bundle.setRequiresAuthentication( true );
-        try
-        {
-            bundle.addRequiredAuthorization( ContinuumRoleConstants.CONTINUUM_BUILD_GROUP_OPERATION,
-                getProjectGroupName() );
-        }
-        catch ( ContinuumException e )
-        {
-            
-        }
-
-        return bundle;
     }
 }

Modified: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectAction.java?view=diff&rev=510547&r1=510546&r2=510547
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectAction.java (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectAction.java Thu Feb 22 07:24:47 2007
@@ -20,28 +20,22 @@
  */
 
 import org.apache.maven.artifact.ArtifactUtils;
+import org.apache.maven.continuum.ContinuumException;
 import org.apache.maven.continuum.model.project.Project;
 import org.apache.maven.continuum.release.ContinuumReleaseManager;
-import org.apache.maven.continuum.ContinuumException;
-import org.apache.maven.continuum.security.ContinuumRoleConstants;
+import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
 import org.apache.maven.shared.release.config.ReleaseDescriptor;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureActionBundle;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureActionException;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureAction;
+import org.codehaus.plexus.util.StringUtils;
 
 import java.util.List;
 import java.util.Map;
 
 /**
  * @author Edwin Punzalan
- *
- * @plexus.component
- *   role="com.opensymphony.xwork.Action"
- *   role-hint="releaseProject"
+ * @plexus.component role="com.opensymphony.xwork.Action" role-hint="releaseProject"
  */
 public class ReleaseProjectAction
     extends ContinuumActionSupport
-    implements SecureAction
 {
     private int projectId;
 
@@ -64,6 +58,14 @@
     public String promptReleaseGoal()
         throws Exception
     {
+        try
+        {
+            checkBuildProjectInGroupAuthorization( getProjectGroupName() );
+        }
+        catch ( AuthorizationRequiredException e )
+        {
+            return REQUIRES_AUTHORIZATION;
+        }
 
         project = getContinuum().getProjectWithAllDetails( projectId );
 
@@ -89,6 +91,14 @@
     public String execute()
         throws Exception
     {
+        try
+        {
+            checkBuildProjectInGroupAuthorization( getProjectGroupName() );
+        }
+        catch ( AuthorizationRequiredException e )
+        {
+            return REQUIRES_AUTHORIZATION;
+        }
 
         if ( "prepare".equals( goal ) )
         {
@@ -194,30 +204,11 @@
     public String getProjectGroupName()
         throws ContinuumException
     {
-        if ( projectGroupName == null || "".equals( projectGroupName ) )
+        if ( StringUtils.isEmpty( projectGroupName ) )
         {
             projectGroupName = getContinuum().getProjectGroupByProjectId( projectId ).getName();
         }
 
         return projectGroupName;
-    }
-
-    public SecureActionBundle getSecureActionBundle()
-        throws SecureActionException
-    {
-        SecureActionBundle bundle = new SecureActionBundle();
-        bundle.setRequiresAuthentication( true );
-
-        try
-        {
-            bundle.addRequiredAuthorization( ContinuumRoleConstants.CONTINUUM_BUILD_PROJECT_IN_GROUP_OPERATION,
-                getProjectGroupName() );
-        }
-        catch ( ContinuumException ce )
-        {
-
-        }
-
-        return bundle;
     }
 }

Modified: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectGoalAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectGoalAction.java?view=diff&rev=510547&r1=510546&r2=510547
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectGoalAction.java (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseProjectGoalAction.java Thu Feb 22 07:24:47 2007
@@ -20,27 +20,21 @@
  */
 
 import org.apache.maven.artifact.ArtifactUtils;
+import org.apache.maven.continuum.ContinuumException;
 import org.apache.maven.continuum.model.project.Project;
 import org.apache.maven.continuum.release.ContinuumReleaseManager;
-import org.apache.maven.continuum.ContinuumException;
-import org.apache.maven.continuum.security.ContinuumRoleConstants;
+import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
 import org.apache.maven.shared.release.config.ReleaseDescriptor;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureAction;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureActionBundle;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureActionException;
+import org.codehaus.plexus.util.StringUtils;
 
 import java.util.Map;
 
 /**
  * @author Edwin Punzalan
- *
- * @plexus.component
- *   role="com.opensymphony.xwork.Action"
- *   role-hint="releaseProjectGoal"
+ * @plexus.component role="com.opensymphony.xwork.Action" role-hint="releaseProjectGoal"
  */
 public class ReleaseProjectGoalAction
     extends ContinuumActionSupport
-    implements SecureAction
 {
     private int projectId;
 
@@ -57,6 +51,15 @@
     public String execute()
         throws Exception
     {
+        try
+        {
+            checkBuildProjectInGroupAuthorization( getProjectGroupName() );
+        }
+        catch ( AuthorizationRequiredException e )
+        {
+            return REQUIRES_AUTHORIZATION;
+        }
+
         Project project = getContinuum().getProjectWithAllDetails( projectId );
 
         String releaseId = ArtifactUtils.versionlessKey( project.getGroupId(), project.getArtifactId() );
@@ -75,7 +78,6 @@
 
         projectName = project.getName();
 
-
         return SUCCESS;
     }
 
@@ -132,30 +134,11 @@
     public String getProjectGroupName()
         throws ContinuumException
     {
-        if ( projectGroupName == null || "".equals( projectGroupName ) )
+        if ( StringUtils.isEmpty( projectGroupName ) )
         {
             projectGroupName = getContinuum().getProjectGroupByProjectId( projectId ).getName();
         }
 
         return projectGroupName;
-    }
-
-    public SecureActionBundle getSecureActionBundle()
-        throws SecureActionException
-    {
-        SecureActionBundle bundle = new SecureActionBundle();
-        bundle.setRequiresAuthentication( true );
-
-        try
-        {
-            bundle.addRequiredAuthorization( ContinuumRoleConstants.CONTINUUM_BUILD_PROJECT_IN_GROUP_OPERATION,
-                getProjectGroupName() );
-        }
-        catch ( ContinuumException ce )
-        {
-
-        }
-
-        return bundle;
     }
 }

Modified: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseRollbackAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseRollbackAction.java?view=diff&rev=510547&r1=510546&r2=510547
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseRollbackAction.java (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/ReleaseRollbackAction.java Thu Feb 22 07:24:47 2007
@@ -19,26 +19,20 @@
  * under the License.
  */
 
+import org.apache.maven.continuum.ContinuumException;
+import org.apache.maven.continuum.model.project.Project;
 import org.apache.maven.continuum.release.ContinuumReleaseManager;
 import org.apache.maven.continuum.release.ContinuumReleaseManagerListener;
 import org.apache.maven.continuum.release.DefaultReleaseManagerListener;
-import org.apache.maven.continuum.model.project.Project;
-import org.apache.maven.continuum.ContinuumException;
-import org.apache.maven.continuum.security.ContinuumRoleConstants;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureAction;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureActionBundle;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureActionException;
+import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
+import org.codehaus.plexus.util.StringUtils;
 
 /**
  * @author Edwin Punzalan
- *
- * @plexus.component
- *   role="com.opensymphony.xwork.Action"
- *   role-hint="releaseRollback"
+ * @plexus.component role="com.opensymphony.xwork.Action" role-hint="releaseRollback"
  */
 public class ReleaseRollbackAction
     extends ContinuumActionSupport
-    implements SecureAction
 {
     private int projectId;
 
@@ -49,43 +43,37 @@
     public String execute()
         throws Exception
     {
-        /*try
+        try
         {
-            if ( isAuthorizedBuildProjectGroup( getProjectGroupName() ) )
-            { */
-                ContinuumReleaseManager releaseManager = getContinuum().getReleaseManager();
+            checkBuildProjectInGroupAuthorization( getProjectGroupName() );
+        }
+        catch ( AuthorizationRequiredException e )
+        {
+            return REQUIRES_AUTHORIZATION;
+        }
 
-                ContinuumReleaseManagerListener listener = new DefaultReleaseManagerListener();
+        ContinuumReleaseManager releaseManager = getContinuum().getReleaseManager();
 
-                Project project = getContinuum().getProject( projectId );
+        ContinuumReleaseManagerListener listener = new DefaultReleaseManagerListener();
 
-                releaseManager.rollback( releaseId, project.getWorkingDirectory(), listener );
+        Project project = getContinuum().getProject( projectId );
 
-                //recurse until rollback is finished
-                while( listener.getState() != ContinuumReleaseManagerListener.FINISHED )
-                {
-                    try
-                    {
-                        Thread.sleep( 1000 );
-                    }
-                    catch( InterruptedException e )
-                    {
-                        //do nothing
-                    }
-                }
+        releaseManager.rollback( releaseId, project.getWorkingDirectory(), listener );
 
-                releaseManager.getPreparedReleases().remove( releaseId );
-        /*    }
-        }
-        catch ( AuthorizationRequiredException authzE )
+        //recurse until rollback is finished
+        while ( listener.getState() != ContinuumReleaseManagerListener.FINISHED )
         {
-            addActionError( authzE.getMessage() );
-            return REQUIRES_AUTHORIZATION;
+            try
+            {
+                Thread.sleep( 1000 );
+            }
+            catch ( InterruptedException e )
+            {
+                //do nothing
+            }
         }
-        catch ( AuthenticationRequiredException authnE )
-        {
-            return REQUIRES_AUTHENTICATION;
-        } */
+
+        releaseManager.getPreparedReleases().remove( releaseId );
 
         return SUCCESS;
     }
@@ -93,23 +81,15 @@
     public String warn()
         throws Exception
     {
-        /*try
+        try
         {
-            if ( isAuthorizedBuildProjectGroup( getProjectGroupName() ) )
-            {
-                return SUCCESS;
-            }
+            checkBuildProjectInGroupAuthorization( getProjectGroupName() );
         }
-        catch ( AuthorizationRequiredException authzE )
+        catch ( AuthorizationRequiredException e )
         {
-            addActionError( authzE.getMessage() );
             return REQUIRES_AUTHORIZATION;
         }
-        catch ( AuthenticationRequiredException authnE )
-        {
-            return REQUIRES_AUTHENTICATION;
-        } */
-        
+
         return SUCCESS;
     }
 
@@ -136,30 +116,11 @@
     public String getProjectGroupName()
         throws ContinuumException
     {
-        if ( projectGroupName == null || "".equals( projectGroupName ) )
+        if ( StringUtils.isEmpty( projectGroupName ) )
         {
             projectGroupName = getContinuum().getProjectGroupByProjectId( projectId ).getName();
         }
 
         return projectGroupName;
     }
-
-    public SecureActionBundle getSecureActionBundle()
-        throws SecureActionException {
-        SecureActionBundle bundle = new SecureActionBundle();
-        bundle.setRequiresAuthentication( true );
-
-        try
-        {
-            bundle.addRequiredAuthorization( ContinuumRoleConstants.CONTINUUM_BUILD_PROJECT_IN_GROUP_OPERATION,
-                getProjectGroupName() );
-        }
-        catch ( ContinuumException ce )
-        {
-
-        }
-
-        return bundle;
-    }
-
 }

Modified: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/SummaryAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/SummaryAction.java?view=diff&rev=510547&r1=510546&r2=510547
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/SummaryAction.java (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/SummaryAction.java Thu Feb 22 07:24:47 2007
@@ -20,13 +20,10 @@
  */
 
 import org.apache.maven.continuum.ContinuumException;
-import org.apache.maven.continuum.security.ContinuumRoleConstants;
 import org.apache.maven.continuum.model.project.BuildResult;
 import org.apache.maven.continuum.model.project.Project;
+import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
 import org.apache.maven.continuum.web.model.ProjectSummary;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureAction;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureActionBundle;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureActionException;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -39,12 +36,10 @@
  *
  * @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
-    implements SecureAction
 {
     private int projectGroupId;
 
@@ -55,6 +50,16 @@
     public String execute()
         throws ContinuumException
     {
+        try
+        {
+            checkViewProjectGroupAuthorization( getProjectGroupName() );
+        }
+        catch ( AuthorizationRequiredException authzE )
+        {
+            addActionError( authzE.getMessage() );
+            return REQUIRES_AUTHORIZATION;
+        }
+
         Collection projectsInGroup;
 
         //TODO: Create a summary jpox request so code will be more simple and performance will be better
@@ -151,16 +156,4 @@
     {
         this.projectGroupName = projectGroupName;
     }
-
-    public SecureActionBundle getSecureActionBundle()
-        throws SecureActionException
-    {
-        SecureActionBundle bundle = new SecureActionBundle();
-        bundle.setRequiresAuthentication( true );
-        bundle.addRequiredAuthorization( ContinuumRoleConstants.CONTINUUM_VIEW_GROUP_OPERATION,
-            getProjectGroupName() );
-
-        return bundle;
-    }
-
 }

Modified: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/SurefireReportAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/SurefireReportAction.java?view=diff&rev=510547&r1=510546&r2=510547
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/SurefireReportAction.java (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/SurefireReportAction.java Thu Feb 22 07:24:47 2007
@@ -20,15 +20,13 @@
  */
 
 import org.apache.maven.continuum.ContinuumException;
+import org.apache.maven.continuum.model.project.Project;
 import org.apache.maven.continuum.security.ContinuumRoleConstants;
 import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
-import org.apache.maven.continuum.web.exception.AuthenticationRequiredException;
-import org.apache.maven.continuum.model.project.Project;
-import org.codehaus.plexus.util.DirectoryScanner;
-import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureAction;
 import org.codehaus.plexus.security.ui.web.interceptor.SecureActionBundle;
 import org.codehaus.plexus.security.ui.web.interceptor.SecureActionException;
+import org.codehaus.plexus.util.DirectoryScanner;
+import org.codehaus.plexus.util.StringUtils;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 import org.xml.sax.helpers.DefaultHandler;
@@ -50,16 +48,11 @@
 
 /**
  * @author Edwin Punzalan
- *
- * @plexus.component
- *   role="com.opensymphony.xwork.Action"
- *   role-hint="surefireReport"
- *
- *  @todo too many inner classes, maybe a continuum-reports project group ?
+ * @plexus.component role="com.opensymphony.xwork.Action" role-hint="surefireReport"
+ * @todo too many inner classes, maybe a continuum-reports project group ?
  */
 public class SurefireReportAction
     extends ContinuumActionSupport
-    implements SecureAction
 {
     private int buildId;
 
@@ -78,6 +71,15 @@
     public String execute()
         throws ContinuumException
     {
+        try
+        {
+            checkViewProjectGroupAuthorization( getProjectGroupName() );
+        }
+        catch ( AuthorizationRequiredException e )
+        {
+            return REQUIRES_AUTHORIZATION;
+        }
+
         project = getProjectById( projectId );
 
         //@todo maven-surefire-report reportsDirectory should be detected ?
@@ -136,7 +138,7 @@
 
         float totalTime = 0.0f;
 
-        for( Iterator suites = suiteList.iterator(); suites.hasNext(); )
+        for ( Iterator suites = suiteList.iterator(); suites.hasNext(); )
         {
             ReportTestSuite suite = (ReportTestSuite) suites.next();
 
@@ -162,7 +164,7 @@
     {
         Map testsByPackage = new LinkedHashMap();
 
-        for( Iterator suites = suiteList.iterator(); suites.hasNext(); )
+        for ( Iterator suites = suiteList.iterator(); suites.hasNext(); )
         {
             ReportTestSuite suite = (ReportTestSuite) suites.next();
 
@@ -537,7 +539,7 @@
         {
             String s = new String( ch, start, length );
 
-            if ( ! "".equals( s.trim() ) )
+            if ( !"".equals( s.trim() ) )
             {
                 currentElement.append( s );
             }
@@ -752,7 +754,7 @@
     }
 
     public Project getProjectById( int projectId )
-            throws ContinuumException
+        throws ContinuumException
     {
         return getContinuum().getProject( projectId );
     }
@@ -761,23 +763,5 @@
         throws ContinuumException
     {
         return getProjectById( projectId ).getProjectGroup().getName();
-    }
-
-    public SecureActionBundle getSecureActionBundle()
-        throws SecureActionException {
-        SecureActionBundle bundle = new SecureActionBundle();
-        bundle.setRequiresAuthentication( true );
-
-        try
-        {
-            bundle.addRequiredAuthorization( ContinuumRoleConstants.CONTINUUM_VIEW_GROUP_OPERATION,
-                getProjectGroupName() );
-        }
-        catch ( ContinuumException ce )
-        {
-
-        }
-
-        return bundle;
     }
 }

Modified: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/WorkingCopyAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/WorkingCopyAction.java?view=diff&rev=510547&r1=510546&r2=510547
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/WorkingCopyAction.java (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/WorkingCopyAction.java Thu Feb 22 07:24:47 2007
@@ -23,11 +23,9 @@
 import com.opensymphony.webwork.views.util.UrlHelper;
 import org.apache.maven.continuum.ContinuumException;
 import org.apache.maven.continuum.model.project.Project;
-import org.apache.maven.continuum.security.ContinuumRoleConstants;
+import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
 import org.apache.maven.continuum.web.util.WorkingCopyContentGenerator;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureActionBundle;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureActionException;
-import org.codehaus.plexus.security.ui.web.interceptor.SecureAction;
+import org.codehaus.plexus.util.StringUtils;
 
 import javax.activation.MimetypesFileTypeMap;
 import java.io.File;
@@ -44,7 +42,6 @@
  */
 public class WorkingCopyAction
     extends ContinuumActionSupport
-    implements SecureAction
 {
     /**
      * @plexus.requirement
@@ -78,6 +75,14 @@
     public String execute()
         throws ContinuumException
     {
+        try
+        {
+            checkViewProjectGroupAuthorization( getProjectGroupName() );
+        }
+        catch ( AuthorizationRequiredException e )
+        {
+            return REQUIRES_AUTHORIZATION;
+        }
 
         files = getContinuum().getFiles( projectId, userDirectory );
 
@@ -219,29 +224,11 @@
     public String getProjectGroupName()
         throws ContinuumException
     {
-        if( projectGroupName == null || "".equals( projectGroupName ) )
+        if ( StringUtils.isEmpty( projectGroupName ) )
         {
             projectGroupName = getContinuum().getProjectGroupByProjectId( projectId ).getName();
         }
 
         return projectGroupName;
-    }
-
-    public SecureActionBundle getSecureActionBundle()
-        throws SecureActionException {
-        SecureActionBundle bundle = new SecureActionBundle();
-        bundle.setRequiresAuthentication( true );
-
-        try
-        {
-            bundle.addRequiredAuthorization( ContinuumRoleConstants.CONTINUUM_VIEW_GROUP_OPERATION,
-                getProjectGroupName() );
-        }
-        catch ( ContinuumException ce )
-        {
-
-        }
-
-        return bundle;
     }
 }

Modified: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/BuildDefinitionSummaryAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/BuildDefinitionSummaryAction.java?view=diff&rev=510547&r1=510546&r2=510547
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/BuildDefinitionSummaryAction.java (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/BuildDefinitionSummaryAction.java Thu Feb 22 07:24:47 2007
@@ -24,9 +24,8 @@
 import org.apache.maven.continuum.model.project.Project;
 import org.apache.maven.continuum.model.project.ProjectGroup;
 import org.apache.maven.continuum.web.action.ContinuumActionSupport;
-import org.apache.maven.continuum.web.model.BuildDefinitionSummary;
 import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
-import org.apache.maven.continuum.web.exception.AuthenticationRequiredException;
+import org.apache.maven.continuum.web.model.BuildDefinitionSummary;
 
 import java.util.ArrayList;
 import java.util.Iterator;
@@ -64,14 +63,13 @@
             projectGroupId = projectGroup.getId();
             projectGroupName = projectGroup.getName();
 
-            if ( isAuthorizedViewProjectGroup( projectGroupName ) )
-            {
-                groupBuildDefinitionSummaries = gatherGroupBuildDefinitionSummaries( projectGroupId );
-                projectBuildDefinitionSummaries = gatherProjectBuildDefinitionSummaries( projectId );
+            checkViewProjectGroupAuthorization( projectGroupName );
 
-                allBuildDefinitionSummaries.addAll( groupBuildDefinitionSummaries );
-                allBuildDefinitionSummaries.addAll( projectBuildDefinitionSummaries );
-            }
+            groupBuildDefinitionSummaries = gatherGroupBuildDefinitionSummaries( projectGroupId );
+            projectBuildDefinitionSummaries = gatherProjectBuildDefinitionSummaries( projectId );
+
+            allBuildDefinitionSummaries.addAll( groupBuildDefinitionSummaries );
+            allBuildDefinitionSummaries.addAll( projectBuildDefinitionSummaries );
         }
         catch ( ContinuumException e )
         {
@@ -83,10 +81,6 @@
             addActionError( authzE.getMessage() );
             return REQUIRES_AUTHORIZATION;
         }
-        catch ( AuthenticationRequiredException authnE )
-        {
-            return REQUIRES_AUTHENTICATION;
-        }
 
         return SUCCESS;
     }
@@ -99,18 +93,17 @@
 
             projectGroup = getContinuum().getProjectGroupWithProjects( projectGroupId );
 
-            if ( isAuthorizedViewProjectGroup(  projectGroup.getName() ) )
-            {
-                for ( Iterator i = projectGroup.getProjects().iterator(); i.hasNext(); )
-                {
-                    Project project = (Project) i.next();
-                    projectBuildDefinitionSummaries.addAll( gatherProjectBuildDefinitionSummaries( project.getId() ) );
+            checkViewProjectGroupAuthorization( projectGroup.getName() );
 
-                }
+            for ( Iterator i = projectGroup.getProjects().iterator(); i.hasNext(); )
+            {
+                Project project = (Project) i.next();
+                projectBuildDefinitionSummaries.addAll( gatherProjectBuildDefinitionSummaries( project.getId() ) );
 
-                allBuildDefinitionSummaries.addAll( groupBuildDefinitionSummaries );
-                allBuildDefinitionSummaries.addAll( projectBuildDefinitionSummaries );
             }
+
+            allBuildDefinitionSummaries.addAll( groupBuildDefinitionSummaries );
+            allBuildDefinitionSummaries.addAll( projectBuildDefinitionSummaries );
         }
         catch ( ContinuumException e )
         {
@@ -121,10 +114,6 @@
         {
             addActionError( authzE.getMessage() );
             return REQUIRES_AUTHORIZATION;
-        }
-        catch ( AuthenticationRequiredException authnE )
-        {
-            return REQUIRES_AUTHENTICATION;
         }
 
         return SUCCESS;

Modified: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/NotifierSummaryAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/NotifierSummaryAction.java?view=diff&rev=510547&r1=510546&r2=510547
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/NotifierSummaryAction.java (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/component/NotifierSummaryAction.java Thu Feb 22 07:24:47 2007
@@ -27,9 +27,8 @@
 import org.apache.maven.continuum.model.project.ProjectGroup;
 import org.apache.maven.continuum.model.project.ProjectNotifier;
 import org.apache.maven.continuum.web.action.ContinuumActionSupport;
-import org.apache.maven.continuum.web.model.NotifierSummary;
 import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
-import org.apache.maven.continuum.web.exception.AuthenticationRequiredException;
+import org.apache.maven.continuum.web.model.NotifierSummary;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -82,10 +81,9 @@
 
         try
         {
-            if ( isAuthorizedViewProjectGroup( getProjectGroupName() ) )
-            {
-                projectNotifierSummaries = summarizeForProject( projectId );
-            }
+            checkViewProjectGroupAuthorization( getProjectGroupName() );
+
+            projectNotifierSummaries = summarizeForProject( projectId );
         }
         catch ( ContinuumException e )
         {
@@ -97,10 +95,6 @@
             addActionError( authzE.getMessage() );
             return REQUIRES_AUTHORIZATION;
         }
-        catch ( AuthenticationRequiredException authnE )
-        {
-            return REQUIRES_AUTHENTICATION;
-        }
 
         return SUCCESS;
     }
@@ -128,18 +122,17 @@
 
         try
         {
-            if ( isAuthorizedViewProjectGroup( getProjectGroupName() ) )
-            {
-                projectGroupNotifierSummaries = gatherGroupNotifierSummaries();
+            checkViewProjectGroupAuthorization( getProjectGroupName() );
+
+            projectGroupNotifierSummaries = gatherGroupNotifierSummaries();
 
-                Collection projects = getContinuum().getProjectsInGroup( projectGroupId );
-                if ( projects != null )
+            Collection projects = getContinuum().getProjectsInGroup( projectGroupId );
+            if ( projects != null )
+            {
+                for ( Iterator i = projects.iterator(); i.hasNext(); )
                 {
-                    for ( Iterator i = projects.iterator(); i.hasNext(); )
-                    {
-                        Project p = (Project) i.next();
-                        projectNotifierSummaries.addAll( summarizeForProject( p.getId() ) );
-                    }
+                    Project p = (Project) i.next();
+                    projectNotifierSummaries.addAll( summarizeForProject( p.getId() ) );
                 }
             }
         }
@@ -153,10 +146,6 @@
             addActionError( authzE.getMessage() );
             return REQUIRES_AUTHORIZATION;
         }
-        catch ( AuthenticationRequiredException authnE )
-        {
-            return REQUIRES_AUTHENTICATION;
-        }
 
         return SUCCESS;
     }
@@ -413,7 +402,7 @@
             }
             else
             {
-                projectGroupName = getContinuum().getProjectGroupByProjectId( projectId ).getName();                
+                projectGroupName = getContinuum().getProjectGroupByProjectId( projectId ).getName();
             }
         }
 

Modified: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/AbstractGroupNotifierEditAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/AbstractGroupNotifierEditAction.java?view=diff&rev=510547&r1=510546&r2=510547
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/AbstractGroupNotifierEditAction.java (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/AbstractGroupNotifierEditAction.java Thu Feb 22 07:24:47 2007
@@ -20,10 +20,10 @@
  */
 
 import org.apache.maven.continuum.ContinuumException;
-import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
-import org.apache.maven.continuum.web.exception.AuthenticationRequiredException;
 import org.apache.maven.continuum.model.project.ProjectGroup;
 import org.apache.maven.continuum.model.project.ProjectNotifier;
+import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
+import org.codehaus.plexus.util.StringUtils;
 
 /**
  * Common base class for all Project Group notifier edit actions.
@@ -90,23 +90,23 @@
         this.projectGroupId = projectGroupId;
     }
 
-    protected boolean isAuthorized()
-        throws AuthorizationRequiredException, AuthenticationRequiredException, ContinuumException
+    protected void checkAuthorization()
+        throws AuthorizationRequiredException, ContinuumException
     {
-        if( getNotifier() == null )
+        if ( getNotifier() == null )
         {
-            return isAuthorizedAddProjectGroupNotifier( getProjectGroupName() );
+            checkAddProjectGroupNotifierAuthorization( getProjectGroupName() );
         }
         else
         {
-            return isAuthorizedModifyProjectGroupNotifier( getProjectGroupName() );
+            checkModifyProjectGroupNotifierAuthorization( getProjectGroupName() );
         }
     }
 
     public String getProjectGroupName()
         throws ContinuumException
     {
-        if( projectGroupName == null || "".equals( projectGroupName ) )
+        if ( StringUtils.isEmpty( projectGroupName ) )
         {
             projectGroupName = getContinuum().getProjectGroup( projectGroupId ).getName();
         }

Modified: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/AbstractNotifierEditActionSupport.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/AbstractNotifierEditActionSupport.java?view=diff&rev=510547&r1=510546&r2=510547
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/AbstractNotifierEditActionSupport.java (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/notifier/AbstractNotifierEditActionSupport.java Thu Feb 22 07:24:47 2007
@@ -23,7 +23,6 @@
 import org.apache.maven.continuum.model.project.ProjectNotifier;
 import org.apache.maven.continuum.web.action.ContinuumActionSupport;
 import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
-import org.apache.maven.continuum.web.exception.AuthenticationRequiredException;
 
 import java.util.Map;
 
@@ -74,7 +73,7 @@
      * for the build.
      */
     private boolean sendOnWarning;
-    
+
     /**
      * Detemines if the save operation returns to the project group notifier page or not.<p>
      * <code>true</code> implies return to the project group notifier page.
@@ -109,47 +108,42 @@
     public String save()
         throws ContinuumException
     {
-        ProjectNotifier notifier = getNotifier();
-
         try
         {
-            boolean isNew = ( notifier == null || getNotifierId() == 0 );
+            checkAuthorization();
+        }
+        catch ( AuthorizationRequiredException authzE )
+        {
+            addActionError( authzE.getMessage() );
+            return REQUIRES_AUTHORIZATION;
+        }
 
-            if ( isNew )
-            {
-                notifier = new ProjectNotifier();
-            }
+        ProjectNotifier notifier = getNotifier();
 
-            if( isAuthorized() )
-            {
-                notifier.setType( getNotifierType() );
+        boolean isNew = ( notifier == null || getNotifierId() == 0 );
 
-                notifier.setSendOnSuccess( isSendOnSuccess() );
+        if ( isNew )
+        {
+            notifier = new ProjectNotifier();
+        }
 
-                notifier.setSendOnFailure( isSendOnFailure() );
+        notifier.setType( getNotifierType() );
 
-                notifier.setSendOnError( isSendOnError() );
+        notifier.setSendOnSuccess( isSendOnSuccess() );
 
-                notifier.setSendOnWarning( isSendOnWarning() );
+        notifier.setSendOnFailure( isSendOnFailure() );
 
-                setNotifierConfiguration( notifier );
+        notifier.setSendOnError( isSendOnError() );
 
-                saveNotifier( notifier );
+        notifier.setSendOnWarning( isSendOnWarning() );
 
-                if ( fromGroupPage )
-                {
-                    return "to_group_page";
-                }
-            }
-        }
-        catch ( AuthorizationRequiredException authzE )
-        {
-            addActionError( authzE.getMessage() );
-            return REQUIRES_AUTHORIZATION;
-        }
-        catch ( AuthenticationRequiredException authnE )
+        setNotifierConfiguration( notifier );
+
+        saveNotifier( notifier );
+
+        if ( fromGroupPage )
         {
-            return REQUIRES_AUTHENTICATION;
+            return "to_group_page";
         }
 
         return SUCCESS;
@@ -173,31 +167,26 @@
 
         try
         {
-            if ( isAuthorized() )
-            {
-                // setup Action fields
-                setNotifierType( notifier.getType() );
-
-                setSendOnSuccess( notifier.isSendOnSuccess() );
-
-                setSendOnFailure( notifier.isSendOnFailure() );
-
-                setSendOnError( notifier.isSendOnError() );
-
-                setSendOnWarning( notifier.isSendOnWarning() );
-
-                initConfiguration( notifier.getConfiguration() );
-            }
+            checkAuthorization();
         }
         catch ( AuthorizationRequiredException authzE )
         {
             addActionError( authzE.getMessage() );
             return REQUIRES_AUTHORIZATION;
         }
-        catch ( AuthenticationRequiredException authnE )
-        {
-            return REQUIRES_AUTHENTICATION;
-        }
+
+        // setup Action fields
+        setNotifierType( notifier.getType() );
+
+        setSendOnSuccess( notifier.isSendOnSuccess() );
+
+        setSendOnFailure( notifier.isSendOnFailure() );
+
+        setSendOnError( notifier.isSendOnError() );
+
+        setSendOnWarning( notifier.isSendOnWarning() );
+
+        initConfiguration( notifier.getConfiguration() );
 
         return SUCCESS;
     }
@@ -328,6 +317,6 @@
      */
     protected abstract void setNotifierConfiguration( ProjectNotifier notifier );
 
-    protected abstract boolean isAuthorized() throws AuthorizationRequiredException,
-        AuthenticationRequiredException, ContinuumException;
+    protected abstract void checkAuthorization()
+        throws AuthorizationRequiredException, ContinuumException;
 }