You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ep...@apache.org on 2007/01/17 09:51:56 UTC
svn commit: r496965 - in /maven/continuum/trunk:
continuum-api/src/main/java/org/apache/maven/continuum/
continuum-core/src/main/java/org/apache/maven/continuum/
continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/
continuum-webapp/src...
Author: epunzalan
Date: Wed Jan 17 00:51:55 2007
New Revision: 496965
URL: http://svn.apache.org/viewvc?view=rev&rev=496965
Log:
[CONTINUUM-1138]
Add option to choose a project group when adding new Ant and Shell projects
Modified:
maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java
maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java
maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AddProjectAction.java
maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/addProject.jsp
Modified: maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java?view=diff&rev=496965&r1=496964&r2=496965
==============================================================================
--- maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java (original)
+++ maven/continuum/trunk/continuum-api/src/main/java/org/apache/maven/continuum/Continuum.java Wed Jan 17 00:51:55 2007
@@ -20,7 +20,6 @@
*/
import org.apache.maven.continuum.configuration.ConfigurationService;
-import org.apache.maven.continuum.execution.ContinuumBuildExecutor;
import org.apache.maven.continuum.model.project.BuildDefinition;
import org.apache.maven.continuum.model.project.BuildResult;
import org.apache.maven.continuum.model.project.Project;
@@ -56,11 +55,11 @@
/**
* Get all {@link ProjectGroup}s and their {@link Project}s
- *
+ *
* @return {@link Collection} <{@link ProjectGroup}>
*/
public Collection getAllProjectGroupsWithProjects();
-
+
public Collection getAllProjectGroups();
public ProjectGroup getProjectGroupByProjectId( int projectId )
@@ -74,16 +73,16 @@
public void addProjectGroup( ProjectGroup projectGroup )
throws ContinuumException;
-
+
public ProjectGroup getProjectGroupWithProjects( int projectGroupId )
throws ContinuumException;
public ProjectGroup getProjectGroupByGroupId( String groupId )
throws ContinuumException;
-
+
public ProjectGroup getProjectGroupByGroupIdWithBuildDetails( String groupId )
throws ContinuumException;
-
+
// ----------------------------------------------------------------------
// Project
// ----------------------------------------------------------------------
@@ -192,9 +191,9 @@
/**
* Add a project to the list of building projects (ant, shell,...)
- *
+ *
* @param project the project to add
- * @param executorId the id of an {@link ContinuumBuildExecutor}, eg. <code>ant</code> or <code>shell</code>
+ * @param executorId the id of an {@link org.apache.maven.continuum.execution.ContinuumBuildExecutor}, eg. <code>ant</code> or <code>shell</code>
* @return id of the project
* @throws ContinuumException
*/
@@ -202,8 +201,20 @@
throws ContinuumException;
/**
- * Add a Maven 2 project to the list of projects.
- *
+ * Add a project to the list of building projects (ant, shell,...)
+ *
+ * @param project the project to add
+ * @param executorId the id of an {@link org.apache.maven.continuum.execution.ContinuumBuildExecutor}, eg. <code>ant</code> or <code>shell</code>
+ * @param projectGroupId
+ * @return id of the project
+ * @throws ContinuumException
+ */
+ int addProject( Project project, String executorId, int projectGroupId )
+ throws ContinuumException;
+
+ /**
+ * Add a Maven 2 project to the list of projects.
+ *
* @param metadataUrl url of the pom.xml
* @return a holder with the projects, project groups and errors occurred during the project adding
* @throws ContinuumException
@@ -212,8 +223,8 @@
throws ContinuumException;
/**
- * Add a Maven 2 project to the list of projects.
- *
+ * Add a Maven 2 project to the list of projects.
+ *
* @param metadataUrl url of the pom.xml
* @param checkProtocol check if the protocol is allowed, use false if the pom is uploaded
* @return a holder with the projects, project groups and errors occurred during the project adding
@@ -246,8 +257,8 @@
throws ContinuumException;
/**
- * Add a Maven 1 project to the list of projects.
- *
+ * Add a Maven 1 project to the list of projects.
+ *
* @param metadataUrl url of the project.xml
* @return a holder with the projects, project groups and errors occurred during the project adding
* @throws ContinuumException
@@ -256,8 +267,8 @@
throws ContinuumException;
/**
- * Add a Maven 1 project to the list of projects.
- *
+ * Add a Maven 1 project to the list of projects.
+ *
* @param metadataUrl url of the project.xml
* @param checkProtocol check if the protocol is allowed, use false if the pom is uploaded
* @return a holder with the projects, project groups and errors occurred during the project adding
@@ -380,7 +391,7 @@
throws ContinuumException;
BuildDefinition addBuildDefinitionToProjectGroup( int projectGroupId, BuildDefinition buildDefinition )
- throws ContinuumException;
+ throws ContinuumException;
List getBuildDefinitionsForProject( int projectId )
throws ContinuumException;
Modified: maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java?view=diff&rev=496965&r1=496964&r2=496965
==============================================================================
--- maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java (original)
+++ maven/continuum/trunk/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java Wed Jan 17 00:51:55 2007
@@ -269,7 +269,7 @@
}
catch ( ContinuumObjectNotFoundException e )
{
- //since we want to add a new project group, we should be getting
+ //since we want to add a new project group, we should be getting
//this exception
}
catch ( ContinuumStoreException e )
@@ -1117,6 +1117,12 @@
public int addProject( Project project, String executorId )
throws ContinuumException
{
+ return addProject( project, executorId, getDefaultProjectGroup().getId() );
+ }
+
+ public int addProject( Project project, String executorId, int groupId )
+ throws ContinuumException
+ {
project.setExecutorId( executorId );
if ( executorId.equalsIgnoreCase( "ant" ) )
@@ -1145,16 +1151,18 @@
}
}
- return executeAddProjectFromScmActivity( project );
+ return executeAddProjectFromScmActivity( project, groupId );
}
// ----------------------------------------------------------------------
// Activities. These should end up as workflows in werkflow
// ----------------------------------------------------------------------
- private int executeAddProjectFromScmActivity( Project project )
+ private int executeAddProjectFromScmActivity( Project project, int groupId )
throws ContinuumException
{
+ ProjectGroup projectGroup = getProjectGroupWithBuildDetails( groupId );
+
Map context = new HashMap();
// ----------------------------------------------------------------------
@@ -1165,7 +1173,7 @@
context.put( AbstractContinuumAction.KEY_UNVALIDATED_PROJECT, project );
- context.put( AbstractContinuumAction.KEY_UNVALIDATED_PROJECT_GROUP, getDefaultProjectGroup() );
+ context.put( AbstractContinuumAction.KEY_UNVALIDATED_PROJECT_GROUP, projectGroup );
executeAction( "validate-project", context );
Modified: maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AddProjectAction.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AddProjectAction.java?view=diff&rev=496965&r1=496964&r2=496965
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AddProjectAction.java (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/java/org/apache/maven/continuum/web/action/AddProjectAction.java Wed Jan 17 00:51:55 2007
@@ -21,13 +21,17 @@
import com.opensymphony.xwork.Validateable;
import org.apache.maven.continuum.ContinuumException;
+import org.apache.maven.continuum.Continuum;
import org.apache.maven.continuum.model.project.Project;
+import org.apache.maven.continuum.model.project.ProjectGroup;
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 java.util.Iterator;
+import java.util.Collection;
+import java.util.ArrayList;
/**
* @author Nick Gonzalez
@@ -56,6 +60,10 @@
private String projectType;
+ private Collection projectGroups;
+
+ private int selectedProjectGroup;
+
public void validate()
{
boolean projectNameAlreadyExist = false;
@@ -75,7 +83,7 @@
break;
}
}
- if ( projectNameAlreadyExist == true )
+ if ( projectNameAlreadyExist )
{
addActionError( "projectName.already.exist.error" );
}
@@ -104,13 +112,29 @@
project.setScmTag( projectScmTag );
- getContinuum().addProject( project, projectType );
+ getContinuum().addProject( project, projectType, selectedProjectGroup );
return SUCCESS;
}
public String input()
+ throws ContinuumException
{
+ projectGroups = new ArrayList();
+
+ Collection allProjectGroups = getContinuum().getAllProjectGroups();
+
+ for ( Iterator i = allProjectGroups.iterator(); i.hasNext(); )
+ {
+ ProjectGroup pg = (ProjectGroup) i.next();
+
+ //TODO: must implement same functionality using plexus-security
+ projectGroups.add( pg );
+ }
+
+ selectedProjectGroup = getContinuum().getProjectGroupByGroupId(
+ Continuum.DEFAULT_PROJECT_GROUP_GROUP_ID ).getId();
+
return SUCCESS;
}
@@ -193,5 +217,25 @@
bundle.addRequiredAuthorization( ContinuumRoleConstants.CONTINUUM_ADD_GROUP_OPERATION );
return bundle;
+ }
+
+ public Collection getProjectGroups()
+ {
+ return projectGroups;
+ }
+
+ public void setProjectGroups( Collection projectGroups )
+ {
+ this.projectGroups = projectGroups;
+ }
+
+ public int getSelectedProjectGroup()
+ {
+ return selectedProjectGroup;
+ }
+
+ public void setSelectedProjectGroup( int selectedProjectGroup )
+ {
+ this.selectedProjectGroup = selectedProjectGroup;
}
}
Modified: maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/addProject.jsp
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/addProject.jsp?view=diff&rev=496965&r1=496964&r2=496965
==============================================================================
--- maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/addProject.jsp (original)
+++ maven/continuum/trunk/continuum-webapp/src/main/webapp/WEB-INF/jsp/addProject.jsp Wed Jan 17 00:51:55 2007
@@ -32,7 +32,7 @@
</ww:else>
</title>
</head>
- <body>
+ <body>
<div class="app">
<div id="axial" class="h3">
<h3>
@@ -73,6 +73,7 @@
<ww:textfield label="%{getText('projectScmTag.label')}" name="projectScmTag">
<ww:param name="desc"><p><ww:text name="projectScmTag.message"/></p></ww:param>
</ww:textfield>
+ <ww:select label="%{getText('projectGroup.name.label')}" name="selectedProjectGroup" list="projectGroups" listKey="id" listValue="name"/>
</tbody>
</table>
<div class="functnbar3">