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/11/09 11:25:42 UTC
svn commit: r593480 - in /maven/continuum/trunk/continuum-xmlrpc:
continuum-xmlrpc-api/src/main/java/org/apache/maven/continuum/xmlrpc/
continuum-xmlrpc-api/src/main/mdo/ continuum-xmlrpc-api/src/main/resources/
continuum-xmlrpc-backup/src/main/java/or...
Author: evenisse
Date: Fri Nov 9 02:25:41 2007
New Revision: 593480
URL: http://svn.apache.org/viewvc?rev=593480&view=rev
Log:
Backup build definitions templates
Modified:
maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-api/src/main/java/org/apache/maven/continuum/xmlrpc/ContinuumService.java
maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-api/src/main/mdo/continuum-service.xml
maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-api/src/main/resources/dozerBeanMapping.xml
maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-backup/src/main/java/org/apache/maven/continuum/xmlrpc/backup/Backup.java
maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-client/src/main/java/org/apache/maven/continuum/xmlrpc/client/ContinuumXmlRpcClient.java
maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/main/java/org/apache/maven/continuum/xmlrpc/server/AbstractContinuumSecureService.java
maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/main/java/org/apache/maven/continuum/xmlrpc/server/ContinuumServiceImpl.java
Modified: maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-api/src/main/java/org/apache/maven/continuum/xmlrpc/ContinuumService.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-api/src/main/java/org/apache/maven/continuum/xmlrpc/ContinuumService.java?rev=593480&r1=593479&r2=593480&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-api/src/main/java/org/apache/maven/continuum/xmlrpc/ContinuumService.java (original)
+++ maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-api/src/main/java/org/apache/maven/continuum/xmlrpc/ContinuumService.java Fri Nov 9 02:25:41 2007
@@ -21,6 +21,7 @@
import org.apache.maven.continuum.xmlrpc.project.AddingResult;
import org.apache.maven.continuum.xmlrpc.project.BuildDefinition;
+import org.apache.maven.continuum.xmlrpc.project.BuildDefinitionTemplate;
import org.apache.maven.continuum.xmlrpc.project.BuildResult;
import org.apache.maven.continuum.xmlrpc.project.BuildResultSummary;
import org.apache.maven.continuum.xmlrpc.project.Project;
@@ -242,6 +243,15 @@
* @throws Exception
*/
BuildDefinition addBuildDefinitionToProjectGroup( int projectGroupId, BuildDefinition buildDef )
+ throws Exception;
+
+ /**
+ * Get the build definition templates list.
+ *
+ * @return The build definitions templates list
+ * @throws Exception
+ */
+ List<BuildDefinitionTemplate> getBuildDefinitionTemplates()
throws Exception;
// ----------------------------------------------------------------------
Modified: maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-api/src/main/mdo/continuum-service.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-api/src/main/mdo/continuum-service.xml?rev=593480&r1=593479&r2=593480&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-api/src/main/mdo/continuum-service.xml (original)
+++ maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-api/src/main/mdo/continuum-service.xml Fri Nov 9 02:25:41 2007
@@ -819,6 +819,48 @@
</field>
</fields>
</class>
+ <class>
+ <name>BuildDefinitionTemplate</name>
+ <version>1.1.0+</version>
+ <description>Template which contains some buildDefinitions</description>
+ <fields>
+ <field>
+ <name>id</name>
+ <identifier>true</identifier>
+ <version>1.1.0+</version>
+ <type>int</type>
+ </field>
+ <field>
+ <name>name</name>
+ <version>1.1.0+</version>
+ <type>String</type>
+ <required>true</required>
+ </field>
+ <field>
+ <name>continuumDefault</name>
+ <version>1.1.0+</version>
+ <type>boolean</type>
+ <defaultValue>false</defaultValue>
+ <description>
+ true if this definition is a continuum default build def (cannot be removed)
+ </description>
+ </field>
+ <field>
+ <name>type</name>
+ <version>1.1.0+</version>
+ <type>String</type>
+ <description>type of the buid BuildDefinitionTemplate use for default</description>
+ </field>
+ <field xml.reference="true" stash.part="true">
+ <name>buildDefinitions</name>
+ <version>1.1.0+</version>
+ <association xml.reference="true" stash.part="true">
+ <type>BuildDefinition</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
+ </fields>
+ </class>
<class>
<name>Schedule</name>
Modified: maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-api/src/main/resources/dozerBeanMapping.xml
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-api/src/main/resources/dozerBeanMapping.xml?rev=593480&r1=593479&r2=593480&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-api/src/main/resources/dozerBeanMapping.xml (original)
+++ maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-api/src/main/resources/dozerBeanMapping.xml Fri Nov 9 02:25:41 2007
@@ -184,4 +184,15 @@
<class-a>org.apache.maven.continuum.xmlrpc.system.Installation</class-a>
<class-b>org.apache.maven.continuum.model.system.Installation</class-b>
</mapping>
+
+ <mapping>
+ <class-a>org.apache.maven.continuum.xmlrpc.project.BuildDefinitionTemplate</class-a>
+ <class-b>org.apache.maven.continuum.model.project.BuildDefinitionTemplate</class-b>
+ <field>
+ <a>buildDefinitions</a>
+ <b>buildDefinitions</b>
+ <a-hint>org.apache.maven.continuum.xmlrpc.project.BuildDefinition</a-hint>
+ <b-hint>org.apache.maven.continuum.model.project.BuildDefinition</b-hint>
+ </field>
+ </mapping>
</mappings>
Modified: maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-backup/src/main/java/org/apache/maven/continuum/xmlrpc/backup/Backup.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-backup/src/main/java/org/apache/maven/continuum/xmlrpc/backup/Backup.java?rev=593480&r1=593479&r2=593480&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-backup/src/main/java/org/apache/maven/continuum/xmlrpc/backup/Backup.java (original)
+++ maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-backup/src/main/java/org/apache/maven/continuum/xmlrpc/backup/Backup.java Fri Nov 9 02:25:41 2007
@@ -26,6 +26,7 @@
import org.apache.log4j.Logger;
import org.apache.maven.continuum.xmlrpc.client.ContinuumXmlRpcClient;
import org.apache.maven.continuum.xmlrpc.project.BuildDefinition;
+import org.apache.maven.continuum.xmlrpc.project.BuildDefinitionTemplate;
import org.apache.maven.continuum.xmlrpc.project.BuildResult;
import org.apache.maven.continuum.xmlrpc.project.BuildResultSummary;
import org.apache.maven.continuum.xmlrpc.project.Project;
@@ -231,6 +232,34 @@
writeObject( install, "installation", true );
}
endTag( "installations", true );
+ }
+ }
+
+ private static void backupAllBuildDefinitionTemplates()
+ throws Exception
+ {
+ LOGGER.info( "Backup Build Definitions Templates" );
+ List<BuildDefinitionTemplate> bdts = client.getBuildDefinitionTemplates();
+ if ( bdts != null && !bdts.isEmpty() )
+ {
+ startTag( "buildDefinitionTemplates", true );
+ for ( BuildDefinitionTemplate bdt : bdts )
+ {
+ LOGGER.debug( "Backup build definition template " + bdt.getName() );
+ startTag( "buildDefinitionTemplate", true );
+ writeSimpleFields( bdt );
+
+ List<BuildDefinition> bds = bdt.getBuildDefinitions();
+ if ( bds != null && !bds.isEmpty() )
+ {
+ for ( BuildDefinition bd : bds )
+ {
+ backupBuildDefinition( bd );
+ }
+ }
+ endTag( "buildDefinitionTemplate", true );
+ }
+ endTag( "buildDefinitionTemplates", true );
}
}
Modified: maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-client/src/main/java/org/apache/maven/continuum/xmlrpc/client/ContinuumXmlRpcClient.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-client/src/main/java/org/apache/maven/continuum/xmlrpc/client/ContinuumXmlRpcClient.java?rev=593480&r1=593479&r2=593480&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-client/src/main/java/org/apache/maven/continuum/xmlrpc/client/ContinuumXmlRpcClient.java (original)
+++ maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-client/src/main/java/org/apache/maven/continuum/xmlrpc/client/ContinuumXmlRpcClient.java Fri Nov 9 02:25:41 2007
@@ -22,6 +22,7 @@
import org.apache.maven.continuum.xmlrpc.ContinuumService;
import org.apache.maven.continuum.xmlrpc.project.AddingResult;
import org.apache.maven.continuum.xmlrpc.project.BuildDefinition;
+import org.apache.maven.continuum.xmlrpc.project.BuildDefinitionTemplate;
import org.apache.maven.continuum.xmlrpc.project.BuildResult;
import org.apache.maven.continuum.xmlrpc.project.BuildResultSummary;
import org.apache.maven.continuum.xmlrpc.project.ContinuumProjectState;
@@ -274,6 +275,12 @@
throws Exception
{
return continuum.addBuildDefinitionToProjectGroup( projectGroupId, buildDef );
+ }
+
+ public List<BuildDefinitionTemplate> getBuildDefinitionTemplates()
+ throws Exception
+ {
+ return continuum.getBuildDefinitionTemplates();
}
// ----------------------------------------------------------------------
Modified: maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/main/java/org/apache/maven/continuum/xmlrpc/server/AbstractContinuumSecureService.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/main/java/org/apache/maven/continuum/xmlrpc/server/AbstractContinuumSecureService.java?rev=593480&r1=593479&r2=593480&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/main/java/org/apache/maven/continuum/xmlrpc/server/AbstractContinuumSecureService.java (original)
+++ maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/main/java/org/apache/maven/continuum/xmlrpc/server/AbstractContinuumSecureService.java Fri Nov 9 02:25:41 2007
@@ -485,4 +485,20 @@
checkAuthorization( ContinuumRoleConstants.CONTINUUM_MANAGE_PROFILES );
}
+
+ /**
+ * Check if the current user is authorized to manage the build definitions templates
+ *
+ * @throws ContinuumException if the user isn't authorized if the user isn't authenticated
+ */
+ protected void checkManageBuildDefinitionTemplatesAuthorization()
+ throws ContinuumException
+ {
+ if ( !isAuthenticated() )
+ {
+ throw new ContinuumException( "Authentication required." );
+ }
+
+ checkAuthorization( ContinuumRoleConstants.CONTINUUM_MANAGE_BUILD_TEMPLATES );
+ }
}
Modified: maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/main/java/org/apache/maven/continuum/xmlrpc/server/ContinuumServiceImpl.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/main/java/org/apache/maven/continuum/xmlrpc/server/ContinuumServiceImpl.java?rev=593480&r1=593479&r2=593480&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/main/java/org/apache/maven/continuum/xmlrpc/server/ContinuumServiceImpl.java (original)
+++ maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-server/src/main/java/org/apache/maven/continuum/xmlrpc/server/ContinuumServiceImpl.java Fri Nov 9 02:25:41 2007
@@ -32,6 +32,7 @@
import org.apache.maven.continuum.store.ContinuumStoreException;
import org.apache.maven.continuum.xmlrpc.project.AddingResult;
import org.apache.maven.continuum.xmlrpc.project.BuildDefinition;
+import org.apache.maven.continuum.xmlrpc.project.BuildDefinitionTemplate;
import org.apache.maven.continuum.xmlrpc.project.BuildResult;
import org.apache.maven.continuum.xmlrpc.project.BuildResultSummary;
import org.apache.maven.continuum.xmlrpc.project.Project;
@@ -411,6 +412,21 @@
return populateBuildDefinition( bd );
}
+ public List<BuildDefinitionTemplate> getBuildDefinitionTemplates()
+ throws Exception
+ {
+ checkManageBuildDefinitionTemplatesAuthorization();
+ List<org.apache.maven.continuum.model.project.BuildDefinitionTemplate> bdts =
+ continuum.getBuildDefinitionService().getAllBuildDefinitionTemplate();
+
+ List<BuildDefinitionTemplate> result = new ArrayList<BuildDefinitionTemplate>();
+ for ( org.apache.maven.continuum.model.project.BuildDefinitionTemplate bdt : bdts )
+ {
+ result.add( populateBuildDefinitionTemplate( bdt ) );
+ }
+ return result;
+ }
+
// ----------------------------------------------------------------------
// Building
// ----------------------------------------------------------------------
@@ -912,6 +928,12 @@
bd.setProfile( populateProfile( buildDef.getProfile() ) );
bd.setSchedule( populateSchedule( buildDef.getSchedule() ) );
return bd;
+ }
+
+ private BuildDefinitionTemplate populateBuildDefinitionTemplate(
+ org.apache.maven.continuum.model.project.BuildDefinitionTemplate bdt )
+ {
+ return (BuildDefinitionTemplate) mapper.map( bdt, BuildDefinitionTemplate.class );
}
private org.apache.maven.continuum.model.project.Schedule populateSchedule( Schedule schedule )