Index: src/main/java/org/apache/maven/continuum/web/action/DeleteNotifierAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/DeleteNotifierAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/DeleteNotifierAction.java (working copy) @@ -18,16 +18,22 @@ import org.apache.maven.continuum.Continuum; import org.apache.maven.continuum.ContinuumException; +import org.codehaus.plexus.xwork.action.PlexusActionSupport; -import com.opensymphony.xwork.ActionSupport; - /** * @author Emmanuel Venisse * @version $Id$ + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="deleteNotification" */ public class DeleteNotifierAction - extends ActionSupport + extends PlexusActionSupport { + /** + * @plexus.requirement + */ private Continuum continuum; private int projectId; Index: src/main/java/org/apache/maven/continuum/web/action/AddScheduleAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/AddScheduleAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/AddScheduleAction.java (working copy) @@ -19,15 +19,21 @@ import org.apache.maven.continuum.Continuum; import org.apache.maven.continuum.ContinuumException; import org.apache.maven.continuum.model.project.Schedule; +import org.codehaus.plexus.xwork.action.PlexusActionSupport; -import com.opensymphony.xwork.ActionSupport; - /** * @author Nik Gonzalez + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="addSchedule" */ public class AddScheduleAction - extends ActionSupport + extends PlexusActionSupport { + /** + * @plexus.requirement + */ private Continuum continuum; private boolean active = true; Index: src/main/java/org/apache/maven/continuum/web/action/AddMavenOneProjectAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/AddMavenOneProjectAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/AddMavenOneProjectAction.java (working copy) @@ -20,19 +20,25 @@ import org.apache.maven.continuum.ContinuumException; import org.apache.maven.continuum.project.builder.ContinuumProjectBuildingResult; import org.codehaus.plexus.util.StringUtils; +import org.codehaus.plexus.xwork.action.PlexusActionSupport; import java.io.File; import java.net.MalformedURLException; -import com.opensymphony.xwork.ActionSupport; - /** * @author Nick Gonzalez * @version $Id$ + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="addMavenOneProject" */ public class AddMavenOneProjectAction - extends ActionSupport + extends PlexusActionSupport { + /** + * @plexus.requirement + */ private Continuum continuum; private String m1PomUrl; Index: src/main/java/org/apache/maven/continuum/web/action/LoginAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/LoginAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/LoginAction.java (working copy) @@ -1,5 +1,7 @@ package org.apache.maven.continuum.web.action; +import org.codehaus.plexus.xwork.action.PlexusActionSupport; + /* * Copyright 2004-2005 The Apache Software Foundation. * @@ -16,20 +18,16 @@ * limitations under the License. */ -import java.util.HashMap; -import java.util.Map; - -import javax.servlet.http.HttpSession; - -import com.opensymphony.webwork.ServletActionContext; -import com.opensymphony.xwork.ActionSupport; - /** * @author Emmanuel Venisse * @version $Id$ + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="login" */ public class LoginAction - extends ActionSupport + extends PlexusActionSupport { private String username = ""; Index: src/main/java/org/apache/maven/continuum/web/action/WorkingCopyAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/WorkingCopyAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/WorkingCopyAction.java (working copy) @@ -19,10 +19,10 @@ import org.apache.maven.continuum.Continuum; import org.apache.maven.continuum.ContinuumException; import org.apache.maven.continuum.web.util.WorkingCopyContentGenerator; +import org.codehaus.plexus.xwork.action.PlexusActionSupport; import com.opensymphony.webwork.ServletActionContext; import com.opensymphony.webwork.views.util.UrlHelper; -import com.opensymphony.xwork.ActionSupport; import java.util.HashMap; import java.util.List; @@ -30,12 +30,22 @@ /** * @author Emmanuel Venisse * @version $Id$ + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="workingCopy" */ public class WorkingCopyAction - extends ActionSupport + extends PlexusActionSupport { + /** + * @plexus.requirement + */ private Continuum continuum; + /** + * @plexus.requirement + */ private WorkingCopyContentGenerator generator; private int projectId; @@ -137,4 +147,4 @@ { return currentFileContent; } -} \ No newline at end of file +} Index: src/main/java/org/apache/maven/continuum/web/action/ProjectEditAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/ProjectEditAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/ProjectEditAction.java (working copy) @@ -19,16 +19,22 @@ import org.apache.maven.continuum.Continuum; import org.apache.maven.continuum.ContinuumException; import org.apache.maven.continuum.model.project.Project; +import org.codehaus.plexus.xwork.action.PlexusActionSupport; -import com.opensymphony.xwork.ActionSupport; - /** * @author Emmanuel Venisse * @version $Id$ + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="projectEdit" */ public class ProjectEditAction - extends ActionSupport + extends PlexusActionSupport { + /** + * @plexus.requirement + */ private Continuum continuum; private Project project; Index: src/main/java/org/apache/maven/continuum/web/action/BuildDefinitionEditAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/BuildDefinitionEditAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/BuildDefinitionEditAction.java (working copy) @@ -21,21 +21,27 @@ import org.apache.maven.continuum.model.project.BuildDefinition; import org.apache.maven.continuum.model.project.Project; import org.apache.maven.continuum.model.project.Schedule; +import org.codehaus.plexus.xwork.action.PlexusActionSupport; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Map; -import com.opensymphony.xwork.ActionSupport; - /** * @author Emmanuel Venisse * @version $Id$ + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="buildDefinitionEdit" */ public class BuildDefinitionEditAction - extends ActionSupport + extends PlexusActionSupport { + /** + * @plexus.requirement + */ private Continuum continuum; private BuildDefinition bd; Index: src/main/java/org/apache/maven/continuum/web/action/AddProjectAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/AddProjectAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/AddProjectAction.java (working copy) @@ -19,16 +19,22 @@ import org.apache.maven.continuum.Continuum; import org.apache.maven.continuum.ContinuumException; import org.apache.maven.continuum.model.project.Project; +import org.codehaus.plexus.xwork.action.PlexusActionSupport; -import com.opensymphony.xwork.ActionSupport; - /** * @author Nick Gonzalez * @version $Id$ + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="addProject" */ public class AddProjectAction - extends ActionSupport + extends PlexusActionSupport { + /** + * @plexus.requirement + */ private Continuum continuum; private String projectName; Index: src/main/java/org/apache/maven/continuum/web/action/AddBuildDefinitionAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/AddBuildDefinitionAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/AddBuildDefinitionAction.java (working copy) @@ -20,21 +20,27 @@ import org.apache.maven.continuum.ContinuumException; import org.apache.maven.continuum.model.project.Project; import org.apache.maven.continuum.model.project.Schedule; +import org.codehaus.plexus.xwork.action.PlexusActionSupport; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Map; -import com.opensymphony.xwork.ActionSupport; - /** * @author Emmanuel Venisse * @version $Id$ + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="addBuildDefinition" */ public class AddBuildDefinitionAction - extends ActionSupport + extends PlexusActionSupport { + /** + * @plexus.requirement + */ private Continuum continuum; private Project project; Index: src/main/java/org/apache/maven/continuum/web/action/BuildProjectAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/BuildProjectAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/BuildProjectAction.java (working copy) @@ -18,16 +18,22 @@ import org.apache.maven.continuum.Continuum; import org.apache.maven.continuum.ContinuumException; +import org.codehaus.plexus.xwork.action.PlexusActionSupport; -import com.opensymphony.xwork.ActionSupport; - /** * @author Emmanuel Venisse * @version $Id$ + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="buildProject" */ public class BuildProjectAction - extends ActionSupport + extends PlexusActionSupport { + /** + * @plexus.requirement + */ private Continuum continuum; private int projectId; @@ -66,4 +72,4 @@ { return projectId; } -} \ No newline at end of file +} Index: src/main/java/org/apache/maven/continuum/web/action/DeleteProjectAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/DeleteProjectAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/DeleteProjectAction.java (working copy) @@ -18,16 +18,22 @@ import org.apache.maven.continuum.Continuum; import org.apache.maven.continuum.ContinuumException; +import org.codehaus.plexus.xwork.action.PlexusActionSupport; -import com.opensymphony.xwork.ActionSupport; - /** * @author Emmanuel Venisse * @version $Id$ + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="deleteProject" */ public class DeleteProjectAction - extends ActionSupport + extends PlexusActionSupport { + /** + * @plexus.requirement + */ private Continuum continuum; private int projectId; @@ -76,4 +82,4 @@ { return projectName; } -} \ No newline at end of file +} Index: src/main/java/org/apache/maven/continuum/web/action/DeleteBuildDefinitionAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/DeleteBuildDefinitionAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/DeleteBuildDefinitionAction.java (working copy) @@ -18,16 +18,22 @@ import org.apache.maven.continuum.Continuum; import org.apache.maven.continuum.ContinuumException; +import org.codehaus.plexus.xwork.action.PlexusActionSupport; -import com.opensymphony.xwork.ActionSupport; - /** * @author Emmanuel Venisse * @version $Id$ + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="deleteBuildDefinition" */ public class DeleteBuildDefinitionAction - extends ActionSupport + extends PlexusActionSupport { + /** + * @plexus.requirement + */ private Continuum continuum; private int projectId; @@ -76,4 +82,4 @@ { return buildDefinitionId; } -} \ No newline at end of file +} Index: src/main/java/org/apache/maven/continuum/web/action/ScheduleAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/ScheduleAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/ScheduleAction.java (working copy) @@ -16,20 +16,25 @@ * limitations under the License. */ -import java.util.Collection; - import org.apache.maven.continuum.Continuum; import org.apache.maven.continuum.ContinuumException; +import org.codehaus.plexus.xwork.action.PlexusActionSupport; -import com.opensymphony.xwork.ActionSupport; +import java.util.Collection; /** * @author Nik Gonzalez + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="schedule" */ public class ScheduleAction - extends ActionSupport + extends PlexusActionSupport { - + /** + * @plexus.requirement + */ private Continuum continuum; private Collection schedules; Index: src/main/java/org/apache/maven/continuum/web/action/SummaryAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/SummaryAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/SummaryAction.java (working copy) @@ -20,9 +20,8 @@ import org.apache.maven.continuum.model.project.BuildResult; import org.apache.maven.continuum.model.project.Project; import org.apache.maven.continuum.web.model.SummaryProjectModel; +import org.codehaus.plexus.xwork.action.PlexusActionSupport; -import com.opensymphony.xwork.ActionSupport; - import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; @@ -32,10 +31,17 @@ /** * @author Emmanuel Venisse * @version $Id$ + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="summary" */ public class SummaryAction - extends ActionSupport + extends PlexusActionSupport { + /** + * @plexus.requirement + */ private Continuum continuum; private int nbSuccesses; Index: src/main/java/org/apache/maven/continuum/web/action/ProjectViewAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/ProjectViewAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/ProjectViewAction.java (working copy) @@ -19,16 +19,22 @@ import org.apache.maven.continuum.Continuum; import org.apache.maven.continuum.ContinuumException; import org.apache.maven.continuum.model.project.Project; +import org.codehaus.plexus.xwork.action.PlexusActionSupport; -import com.opensymphony.xwork.ActionSupport; - /** * @author Emmanuel Venisse * @version $Id$ + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="projectView" */ public class ProjectViewAction - extends ActionSupport + extends PlexusActionSupport { + /** + * @plexus.requirement + */ private Continuum continuum; private Project project; Index: src/main/java/org/apache/maven/continuum/web/action/DeleteUserAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/DeleteUserAction.java (revision 0) +++ src/main/java/org/apache/maven/continuum/web/action/DeleteUserAction.java (revision 0) @@ -0,0 +1,83 @@ +package org.apache.maven.continuum.web.action; + +/* + * Copyright 2004-2005 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import org.apache.maven.continuum.Continuum; +import org.apache.maven.continuum.ContinuumException; + +import org.codehaus.plexus.xwork.action.PlexusActionSupport + +/** + * @author Henry Isidro + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="deleteUser" + */ +public class DeleteUserAction + extends PlexusActionSupport +{ + private Continuum continuum; + + private int accountId; + + private String username; + + public String execute() + throws Exception + { + try + { + continuum.removeUser( accountId ); + } + catch ( ContinuumException e ) + { + addActionMessage( "Can't delete user (id=" + accountId + ") : " + e.getMessage() ); + + e.printStackTrace(); + + return ERROR; + } + + return SUCCESS; + } + + public String doDelete() + { + return "delete"; + } + + public int getAccountId() + { + return accountId; + } + + public void setAccountId( int accountId ) + { + this.accountId = accountId; + } + + public String getUsername() + { + return username; + } + public void setUsername( String username ) + { + this.username = username; + } + +} Property changes on: src/main/java/org/apache/maven/continuum/web/action/DeleteUserAction.java ___________________________________________________________________ Name: svn:keywords + "Author Date Id Revision" Name: svn:eol-style + native Index: src/main/java/org/apache/maven/continuum/web/action/UsersAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/UsersAction.java (revision 0) +++ src/main/java/org/apache/maven/continuum/web/action/UsersAction.java (revision 0) @@ -0,0 +1,63 @@ +package org.apache.maven.continuum.web.action; + +/* + * Copyright 2004-2005 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import org.apache.maven.continuum.Continuum; +import org.apache.maven.continuum.ContinuumException; + +import java.util.Collection; + +import org.codehaus.plexus.xwork.action.PlexusActionSupport + +/** + * @author Henry Isidro + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="users" + */ +public class UsersAction + extends PlexusActionSupport +{ + private Continuum continuum; + + private Collection users; + + public String execute() + { + try + { + users = continuum.getUsers(); + } + catch ( ContinuumException ce ) + { + addActionError( "Can't get continuum users: " + ce.getMessage() ); + + ce.printStackTrace(); + + return ERROR; + } + + return SUCCESS; + } + + public Collection getUsers() + { + return users; + } + +} Property changes on: src/main/java/org/apache/maven/continuum/web/action/UsersAction.java ___________________________________________________________________ Name: svn:keywords + "Author Date Id Revision" Name: svn:eol-style + native Index: src/main/java/org/apache/maven/continuum/web/action/EditScheduleAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/EditScheduleAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/EditScheduleAction.java (working copy) @@ -19,16 +19,22 @@ import org.apache.maven.continuum.Continuum; import org.apache.maven.continuum.ContinuumException; import org.apache.maven.continuum.model.project.Schedule; +import org.codehaus.plexus.xwork.action.PlexusActionSupport; -import com.opensymphony.xwork.ActionSupport; - /** * @author Nik Gonzalez + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="editSchedule" */ public class EditScheduleAction - extends ActionSupport + extends PlexusActionSupport { + /** + * @plexus.requirement + */ private Continuum continuum; private Schedule schedule; Index: src/main/java/org/apache/maven/continuum/web/action/MsnNotifierEditAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/MsnNotifierEditAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/MsnNotifierEditAction.java (working copy) @@ -24,6 +24,10 @@ /** * @author Emmanuel Venisse * @version $Id$ + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="msnNotifierEdit" */ public class MsnNotifierEditAction extends AbstractNotifierEditAction Index: src/main/java/org/apache/maven/continuum/web/action/CheckConfigurationAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/CheckConfigurationAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/CheckConfigurationAction.java (working copy) @@ -17,16 +17,22 @@ */ import org.apache.maven.continuum.Continuum; +import org.codehaus.plexus.xwork.action.PlexusActionSupport; -import com.opensymphony.xwork.ActionSupport; - /** * @author Emmanuel Venisse * @version $Id$ + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="checkConfiguration" */ public class CheckConfigurationAction - extends ActionSupport + extends PlexusActionSupport { + /** + * @plexus.requirement + */ private Continuum continuum; public String execute() Index: src/main/java/org/apache/maven/continuum/web/action/ConfigurationAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/ConfigurationAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/ConfigurationAction.java (working copy) @@ -16,22 +16,28 @@ * limitations under the License. */ +import com.opensymphony.xwork.Preparable; import org.apache.maven.continuum.Continuum; import org.apache.maven.continuum.configuration.ConfigurationStoringException; +import org.codehaus.plexus.xwork.action.PlexusActionSupport; import java.io.File; -import com.opensymphony.xwork.ActionSupport; -import com.opensymphony.xwork.Preparable; - /** * @author Emmanuel Venisse * @version $Id$ + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="configuration" */ public class ConfigurationAction - extends ActionSupport + extends PlexusActionSupport implements Preparable { + /** + * @plexus.requirement + */ private Continuum continuum; private boolean guestAccountEnabled; Index: src/main/java/org/apache/maven/continuum/web/action/AddUserRoleAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/AddUserRoleAction.java (revision 0) +++ src/main/java/org/apache/maven/continuum/web/action/AddUserRoleAction.java (revision 0) @@ -0,0 +1,114 @@ +package org.apache.maven.continuum.web.action; + +/* + * Copyright 2004-2005 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import java.util.List; + +import org.apache.maven.continuum.Continuum; +import org.apache.maven.continuum.ContinuumException; +import org.apache.maven.continuum.model.system.ContinuumUser; +import org.apache.maven.continuum.model.system.Permission; +import org.apache.maven.continuum.store.ContinuumStore; + +import org.codehaus.plexus.xwork.action.PlexusActionSupport + +/** + * @author Teody Cue + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="addUserRole" + */ +public class AddUserRoleAction + extends PlexusActionSupport +{ + + private Continuum continuum; + + private ContinuumStore store; + + private ContinuumUser user; + + private List permissions; + + private Permission permission; + + private int accountId; + + private String permissionName; + + public String execute() + throws Exception + { + try + { + user = continuum.getUser( accountId ); + permissions = store.getPermissions(); + int i; + for ( i = 0; i < permissions.size(); i++ ) + { + permission = (Permission) permissions.get( i ); + if ( permission.getName().equalsIgnoreCase( permissionName ) ) + { + break; + } + } + if ( i < permissions.size() ) + { + user.getGroup().addPermission( permission ); + continuum.updateUser( user ); + } + else + { + addActionMessage( "Can't add user role (id=" + accountId + ", role=" + permissionName + + ") : Role does not exist." ); + } + } + catch ( ContinuumException e ) + { + addActionMessage( "Can't add user role (id=" + accountId + ", role=" + permissionName + ") : " + + e.getMessage() ); + + e.printStackTrace(); + + return ERROR; + } + + return SUCCESS; + } + + public int getAccountId() + { + return accountId; + } + + public void setAccountId( int accountId ) + { + this.accountId = accountId; + } + + public String getPermissionName() + { + return permissionName; + } + + public void setPermissionName( String permissionName ) + { + this.permissionName = permissionName; + } + +} \ No newline at end of file Property changes on: src/main/java/org/apache/maven/continuum/web/action/AddUserRoleAction.java ___________________________________________________________________ Name: svn:keywords + "Author Date Id Revision" Name: svn:eol-style + native Index: src/main/java/org/apache/maven/continuum/web/action/AbstractNotifierEditAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/AbstractNotifierEditAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/AbstractNotifierEditAction.java (working copy) @@ -19,17 +19,16 @@ import org.apache.maven.continuum.Continuum; import org.apache.maven.continuum.ContinuumException; import org.apache.maven.continuum.model.project.ProjectNotifier; +import org.codehaus.plexus.xwork.action.PlexusActionSupport; import java.util.Map; -import com.opensymphony.xwork.ActionSupport; - /** * @author Emmanuel Venisse * @version $Id$ */ public abstract class AbstractNotifierEditAction - extends ActionSupport + extends PlexusActionSupport { private Continuum continuum; Index: src/main/java/org/apache/maven/continuum/web/action/BuildResultsListAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/BuildResultsListAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/BuildResultsListAction.java (working copy) @@ -18,18 +18,24 @@ import org.apache.maven.continuum.Continuum; import org.apache.maven.continuum.ContinuumException; +import org.codehaus.plexus.xwork.action.PlexusActionSupport; -import com.opensymphony.xwork.ActionSupport; - import java.util.Collection; /** * @author Emmanuel Venisse * @version $Id$ + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="buildResultsList" */ public class BuildResultsListAction - extends ActionSupport + extends PlexusActionSupport { + /** + * @plexus.requirement + */ private Continuum continuum; private Collection buildResults; @@ -80,4 +86,4 @@ { return buildResults; } -} \ No newline at end of file +} Index: src/main/java/org/apache/maven/continuum/web/action/IrcNotifierEditAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/IrcNotifierEditAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/IrcNotifierEditAction.java (working copy) @@ -24,6 +24,10 @@ /** * @author Emmanuel Venisse * @version $Id$ + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="ircNotifierEdit" */ public class IrcNotifierEditAction extends AbstractNotifierEditAction Index: src/main/java/org/apache/maven/continuum/web/action/EditUserAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/EditUserAction.java (revision 0) +++ src/main/java/org/apache/maven/continuum/web/action/EditUserAction.java (revision 0) @@ -0,0 +1,396 @@ +package org.apache.maven.continuum.web.action; + +/* + * Copyright 2004-2005 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import java.util.ArrayList; +import java.util.List; + +import javax.servlet.http.HttpServletRequest; + +import org.apache.maven.continuum.Continuum; +import org.apache.maven.continuum.ContinuumException; +import org.apache.maven.continuum.model.system.ContinuumUser; +import org.apache.maven.continuum.model.system.Permission; +import org.apache.maven.continuum.model.system.UserGroup; +import org.apache.maven.continuum.store.ContinuumStore; +import org.apache.maven.continuum.store.ContinuumStoreException; + +import com.opensymphony.webwork.interceptor.ServletRequestAware; + +import org.codehaus.plexus.xwork.action.PlexusActionSupport + +/** + * @author Henry Isidro + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="editUser" + */ +public class EditUserAction + extends PlexusActionSupport + implements ServletRequestAware +{ + + private ContinuumStore store; + + private Continuum continuum; + + private ContinuumUser user; + + private UserGroup userGroup; + + private List staticPermissions; + + private List availablePermissions; + + private Permission staticPermission; + + private Permission permission; + + private String permissionName; + + private boolean addMode = false; + + private int accountId; + + private String username; + + private String password; + + private String email; + + private List permissions; + + private HttpServletRequest request; + + public String execute() + throws Exception + { + permissions = (List) request.getSession().getAttribute( "permissions" ); + try + { + username = username.substring( 0, username.indexOf( "," ) ); + password = password.substring( 0, password.indexOf( "," ) ); + email = email.substring( 0, email.indexOf( "," ) ); + } + catch ( StringIndexOutOfBoundsException e ) + { + } + if ( addMode ) + { + try + { + userGroup = new UserGroup(); + userGroup.setName( username ); + userGroup.setPermissions( permissions ); + + user = new ContinuumUser(); + user.setUsername( username ); + user.setPassword( password ); + user.setEmail( email ); + user.setGroup( userGroup ); + continuum.addUser( user ); + } + catch ( ContinuumException e ) + { + // TODO Auto-generated catch block + e.printStackTrace(); + + return ERROR; + } + } + else + { + try + { + user = continuum.getUser( accountId ); + user.setUsername( username ); + user.setPassword( password ); + user.setEmail( email ); + user.getGroup().setPermissions( permissions ); + } + catch ( ContinuumException e ) + { + // TODO Auto-generated catch block + e.printStackTrace(); + + return ERROR; + } + + try + { + continuum.updateUser( user ); + } + catch ( ContinuumException e ) + { + // TODO Auto-generated catch block + e.printStackTrace(); + + return ERROR; + } + } + + request.getSession().removeAttribute( "addMode" ); + request.getSession().removeAttribute( "accountId" ); + request.getSession().removeAttribute( "username" ); + request.getSession().removeAttribute( "password" ); + request.getSession().removeAttribute( "email" ); + request.getSession().removeAttribute( "permissions" ); + + return SUCCESS; + } + + public String doAdd() + throws Exception + { + addMode = true; + return INPUT; + } + + public String doEdit() + throws Exception + { + try + { + addMode = false; + user = continuum.getUser( accountId ); + username = user.getUsername(); + password = user.getPassword(); + email = user.getEmail(); + permissions = user.getGroup().getPermissions(); + if ( permissions.size() == 1 ) + { + permissionName = ( (Permission) permissions.get( 0 ) ).getName(); + } + } + catch ( ContinuumException e ) + { + // TODO Auto-generated catch block + e.printStackTrace(); + + return ERROR; + } + + return INPUT; + } + + public String doGetAvailablePermissions() + throws Exception + { + try + { + int i, j; + availablePermissions = new ArrayList(); + staticPermissions = store.getPermissions(); + permissions = (List) request.getSession().getAttribute( "permissions" ); + if ( permissions == null || permissions.size() == 0 ) + { + availablePermissions.addAll( staticPermissions ); + } + else + { + for ( i = 0; i < staticPermissions.size(); i++ ) + { + staticPermission = (Permission) staticPermissions.get( i ); + for ( j = 0; j < permissions.size(); j++ ) + { + permission = (Permission) permissions.get( j ); + if ( permission.getName().equalsIgnoreCase( staticPermission.getName() ) ) + { + break; + } + } + if ( j >= permissions.size() ) + { + availablePermissions.add( staticPermission ); + } + } + } + } + catch ( ContinuumStoreException e ) + { + // TODO Auto-generated catch block + e.printStackTrace(); + + return ERROR; + } + + request.getSession().setAttribute( "addMode", Boolean.valueOf( addMode ) ); + request.getSession().setAttribute( "accountId", new Integer( accountId ) ); + request.getSession().setAttribute( "username", username ); + request.getSession().setAttribute( "password", password ); + request.getSession().setAttribute( "email", email ); + + return "permissions"; + } + + public String doAddPermission() + throws Exception + { + try + { + staticPermissions = store.getPermissions(); + int i, j; + for ( i = 0; i < staticPermissions.size(); i++ ) + { + permission = (Permission) staticPermissions.get( i ); + if ( permission.getName().equalsIgnoreCase( permissionName ) ) + { + permissions = (List) request.getSession().getAttribute( "permissions" ); + if ( permissions == null ) + { + permissions = new ArrayList(); + permissions.add( permission ); + } + else + { + for ( j = 0; j < permissions.size(); j++ ) + { + Permission permission = (Permission) permissions.get( j ); + if ( permission.getName().equalsIgnoreCase( permissionName ) ) + { + break; + } + } + if ( j >= permissions.size() ) + { + permissions.add( permission ); + } + } + if ( permissions.size() == 1 ) + { + permissionName = ( (Permission) permissions.get( 0 ) ).getName(); + } + break; + } + } + } + catch ( ContinuumStoreException e ) + { + // TODO Auto-generated catch block + e.printStackTrace(); + + return ERROR; + } + + addMode = ( (Boolean) request.getSession().getAttribute( "addMode" ) ).booleanValue(); + accountId = ( (Integer) request.getSession().getAttribute( "accountId" ) ).intValue(); + username = (String) request.getSession().getAttribute( "username" ); + password = (String) request.getSession().getAttribute( "password" ); + email = (String) request.getSession().getAttribute( "email" ); + + return INPUT; + } + + public String doDeletePermission() + throws Exception + { + int i = 0; + permissions = (List) request.getSession().getAttribute( "permissions" ); + for ( ; i < permissions.size(); i++ ) + { + permission = (Permission) permissions.get( i ); + if ( permission.getName().equalsIgnoreCase( permissionName ) ) + { + permissions.remove( i ); + break; + } + if ( permissions.size() == 1 ) + { + permissionName = ( (Permission) permissions.get( 0 ) ).getName(); + } + } + + return INPUT; + } + + public List getAvailablePermissions() + { + return availablePermissions; + } + + public String getPermissionName() + { + return permissionName; + } + + public void setPermissionName( String permissionName ) + { + this.permissionName = permissionName; + } + + public boolean isAddMode() + { + return addMode; + } + + public void setAddMode( boolean addMode ) + { + this.addMode = addMode; + } + + public int getAccountId() + { + return accountId; + } + + public void setAccountId( int accountId ) + { + this.accountId = accountId; + } + + public String getUsername() + { + return username; + } + + public void setUsername( String username ) + { + this.username = username; + } + + public String getPassword() + { + return password; + } + + public void setPassword( String password ) + { + this.password = password; + } + + public String getEmail() + { + return email; + } + + public void setEmail( String email ) + { + this.email = email; + } + + public List getPermissions() + { + return this.permissions; + } + + public void setServletRequest( HttpServletRequest request ) + { + this.request = request; + } + +} \ No newline at end of file Property changes on: src/main/java/org/apache/maven/continuum/web/action/EditUserAction.java ___________________________________________________________________ Name: svn:keywords + "Author Date Id Revision" Name: svn:eol-style + native Index: src/main/java/org/apache/maven/continuum/web/action/AddNotifierAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/AddNotifierAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/AddNotifierAction.java (working copy) @@ -16,14 +16,16 @@ * limitations under the License. */ -import com.opensymphony.xwork.ActionSupport; +import org.codehaus.plexus.xwork.action.PlexusActionSupport; /** * @author Emmanuel Venisse * @version $Id$ + * + * @plexus.component role="com.opensymphony.xwork.Action" role-hint="addNotifierAction" */ public class AddNotifierAction - extends ActionSupport + extends PlexusActionSupport { private int projectId; Index: src/main/java/org/apache/maven/continuum/web/action/MailNotifierEditAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/MailNotifierEditAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/MailNotifierEditAction.java (working copy) @@ -24,6 +24,10 @@ /** * @author Emmanuel Venisse * @version $Id$ + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="MailNotifierEdit" */ public class MailNotifierEditAction extends AbstractNotifierEditAction Index: src/main/java/org/apache/maven/continuum/web/action/JabberNotifierEditAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/JabberNotifierEditAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/JabberNotifierEditAction.java (working copy) @@ -24,6 +24,10 @@ /** * @author Emmanuel Venisse * @version $Id$ + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="jabberNotifierEdit" */ public class JabberNotifierEditAction extends AbstractNotifierEditAction Index: src/main/java/org/apache/maven/continuum/web/action/BuildResultAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/BuildResultAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/BuildResultAction.java (working copy) @@ -19,18 +19,25 @@ import org.apache.maven.continuum.Continuum; import org.apache.maven.continuum.ContinuumException; import org.apache.maven.continuum.model.project.BuildResult; +import org.codehaus.plexus.xwork.action.PlexusActionSupport; import java.util.List; -import com.opensymphony.xwork.ActionSupport; - /** * @author Emmanuel Venisse * @version $Id$ + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="buildResult" */ public class BuildResultAction - extends ActionSupport + extends PlexusActionSupport { + + /** + * @plexus.requirement + */ private Continuum continuum; private BuildResult buildResult; Index: src/main/java/org/apache/maven/continuum/web/action/AddMavenTwoProjectAction.java =================================================================== --- src/main/java/org/apache/maven/continuum/web/action/AddMavenTwoProjectAction.java (revision 422576) +++ src/main/java/org/apache/maven/continuum/web/action/AddMavenTwoProjectAction.java (working copy) @@ -20,19 +20,25 @@ import org.apache.maven.continuum.ContinuumException; import org.apache.maven.continuum.project.builder.ContinuumProjectBuildingResult; import org.codehaus.plexus.util.StringUtils; +import org.codehaus.plexus.xwork.action.PlexusActionSupport; import java.io.File; import java.net.MalformedURLException; -import com.opensymphony.xwork.ActionSupport; - /** * @author Nick Gonzalez * @version $Id$ + * + * @plexus.component + * role="com.opensymphony.xwork.Action" + * role-hint="addMavenTwoProject" */ public class AddMavenTwoProjectAction - extends ActionSupport + extends PlexusActionSupport { + /** + * @plexus.requirement + */ private Continuum continuum; private String m2PomUrl; Index: src/main/resources/plexus-request.xml =================================================================== --- src/main/resources/plexus-request.xml (revision 422576) +++ src/main/resources/plexus-request.xml (working copy) @@ -256,5 +256,38 @@ + + com.opensymphony.xwork.Action + users + org.apache.maven.continuum.web.action.UsersAction + + + org.apache.maven.continuum.Continuum + + + + + com.opensymphony.xwork.Action + editUser + org.apache.maven.continuum.web.action.EditUserAction + + + org.apache.maven.continuum.Continuum + + + org.apache.maven.continuum.store.ContinuumStore + + + + + com.opensymphony.xwork.Action + deleteUser + org.apache.maven.continuum.web.action.DeleteUserAction + + + org.apache.maven.continuum.Continuum + + + \ No newline at end of file Index: src/main/resources/localization/Continuum.properties =================================================================== --- src/main/resources/localization/Continuum.properties (revision 422576) +++ src/main/resources/localization/Continuum.properties (working copy) @@ -330,3 +330,6 @@ deleteUser.page.title = Continuum - Delete User deleteUser.section.title = Delete User deleteUser.confirmation.message = Are you sure you want to delete the user "{0}"? +role.page.title = Continuum - Roles List +role.section.title = Roles List +role.rolename = Roles Index: src/main/resources/xwork.xml =================================================================== --- src/main/resources/xwork.xml (revision 422576) +++ src/main/resources/xwork.xml (working copy) @@ -184,5 +184,20 @@ schedules + + users.jsp + + + + editUser.jsp + addUserRole.jsp + users + + + + deleteUser.jsp + users + + Index: src/main/webapp/editUser.jsp =================================================================== --- src/main/webapp/editUser.jsp (revision 422576) +++ src/main/webapp/editUser.jsp (working copy) @@ -1,30 +1,98 @@ <%@ taglib uri="/webwork" prefix="ww" %> +<%@ taglib uri="/tld/extremecomponents" prefix="ec" %> <%@ taglib uri="continuum" prefix="c1" %> + + + <ww:text name="addUser.page.title"/> + + <ww:text name="editUser.page.title"/> +
-

- + +

+
+ +

+
- - - - + + + + +
+
+

+ + + + + + + + + + + + +
 
+ + + + + + + "> + + +
+
+
+ + + + + + + + +
- + \ No newline at end of file Index: src/main/webapp/WEB-INF/web.xml =================================================================== --- src/main/webapp/WEB-INF/web.xml (revision 422576) +++ src/main/webapp/WEB-INF/web.xml (working copy) @@ -36,7 +36,7 @@ --> - + webwork-cleanup @@ -100,7 +100,7 @@ --> - + webwork-cleanup Index: src/main/webapp/deleteUser.jsp =================================================================== --- src/main/webapp/deleteUser.jsp (revision 422576) +++ src/main/webapp/deleteUser.jsp (working copy) @@ -3,7 +3,7 @@ - <ww:text name="deleteUser.page.title"/> + <ww:text name="deleteUser.page.title"/>
@@ -12,15 +12,15 @@

- - - + + +

- +
Index: src/main/webapp/users.jsp =================================================================== --- src/main/webapp/users.jsp (revision 422576) +++ src/main/webapp/users.jsp (working copy) @@ -3,7 +3,7 @@ - <ww:text name="users.page.title"/> + <ww:text name="users.page.title"/>
@@ -14,23 +14,24 @@ showExports="false" showPagination="false" showStatusBar="false" - filterable="false"> - + filterable="false" + sortable="false"> + - -   - + +   +
- + -
+
\ No newline at end of file Index: src/main/webapp/addUserRole.jsp =================================================================== --- src/main/webapp/addUserRole.jsp (revision 0) +++ src/main/webapp/addUserRole.jsp (revision 0) @@ -0,0 +1,30 @@ +<%@ taglib uri="/webwork" prefix="ww" %> +<%@ taglib uri="/tld/extremecomponents" prefix="ec" %> + + + + <ww:text name="role.page.title"/> + + +
+

+ + + + + + + > + + + +
+ +
+ \ No newline at end of file Property changes on: src/main/webapp/addUserRole.jsp ___________________________________________________________________ Name: svn:keywords + "Author Date Id Revision" Name: svn:eol-style + native Index: pom.xml =================================================================== --- pom.xml (revision 422576) +++ pom.xml (working copy) @@ -1,7 +1,4 @@ - - + continuum-parent org.apache.maven.continuum @@ -12,6 +9,13 @@ Continuum Web APP 1.1-SNAPSHOT war + + + mortbay-repo + mortbay-repo + http://www.mortbay.org/maven2/snapshot + + src/main/filters/filter.properties @@ -32,6 +36,31 @@ + + + org.codehaus.plexus + plexus-maven-plugin + + plexus-request.xml + true + + + + + descriptor + + + + + + org.mortbay.jetty + maven-jetty6-plugin + + 10 + / + + + @@ -152,9 +181,5 @@ wagon-ssh runtime - - org.apache.maven.continuum - continuum-security-acegi -