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/05/15 15:22:33 UTC
svn commit: r538178 - 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-client/src/main/java/org/apache/maven/continuum/xmlrpc/client/
c...
Author: evenisse
Date: Tue May 15 06:22:32 2007
New Revision: 538178
URL: http://svn.apache.org/viewvc?view=rev&rev=538178
Log:
Add more information in xmlrpc results
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-client/src/main/java/org/apache/maven/continuum/xmlrpc/client/ContinuumXmlRpcClient.java
maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-client/src/main/java/org/apache/maven/continuum/xmlrpc/client/SampleClient.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?view=diff&rev=538178&r1=538177&r2=538178
==============================================================================
--- 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 Tue May 15 06:22:32 2007
@@ -170,6 +170,17 @@
// ----------------------------------------------------------------------
/**
+ * Returns the latest build result for the project.
+ *
+ * @param projectId The project id
+ * @return The build result
+ * @throws ContinuumException
+ * @throws XmlRpcException
+ */
+ BuildResult getLatestBuildResult( int projectId )
+ throws ContinuumException, XmlRpcException;
+
+ /**
* Returns the build result.
*
* @param projectId The project id
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?view=diff&rev=538178&r1=538177&r2=538178
==============================================================================
--- 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 Tue May 15 06:22:32 2007
@@ -437,6 +437,16 @@
<type>int</type>
</field>
<field>
+ <name>error</name>
+ <version>1.1.0+</version>
+ <type>String</type>
+ </field>
+ <field>
+ <name>trigger</name>
+ <version>1.1.0+</version>
+ <type>int</type>
+ </field>
+ <field>
<name>project</name>
<version>1.1.0+</version>
<required>true</required>
@@ -456,20 +466,33 @@
]]></description>
<fields>
<field>
- <name>trigger</name>
+ <name>scmResult</name>
<version>1.1.0+</version>
- <type>int</type>
+ <association>
+ <type>ScmResult</type>
+ </association>
</field>
<field>
- <name>error</name>
+ <name>changesSinceLastSuccess</name>
<version>1.1.0+</version>
- <type>String</type>
+ <association>
+ <type>ChangeSet</type>
+ <multiplicity>*</multiplicity>
+ </association>
</field>
<field>
- <name>scmResult</name>
+ <name>testResult</name>
<version>1.1.0+</version>
<association>
- <type>ScmResult</type>
+ <type>TestResult</type>
+ </association>
+ </field>
+ <field>
+ <name>modifiedDependencies</name>
+ <version>1.1.0+</version>
+ <association>
+ <type>ProjectDependency</type>
+ <multiplicity>*</multiplicity>
</association>
</field>
</fields>
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?view=diff&rev=538178&r1=538177&r2=538178
==============================================================================
--- 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 Tue May 15 06:22:32 2007
@@ -303,6 +303,19 @@
// Build Results
// ----------------------------------------------------------------------
+ public BuildResult getLatestBuildResult( int projectId )
+ throws ContinuumException
+ {
+ try
+ {
+ return continuum.getLatestBuildResult( projectId );
+ }
+ catch ( Exception e )
+ {
+ throw new ContinuumException( "The remote method failed.", e );
+ }
+ }
+
public BuildResult getBuildResult( int projectId, int buildId )
throws ContinuumException
{
Modified: maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-client/src/main/java/org/apache/maven/continuum/xmlrpc/client/SampleClient.java
URL: http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-client/src/main/java/org/apache/maven/continuum/xmlrpc/client/SampleClient.java?view=diff&rev=538178&r1=538177&r2=538178
==============================================================================
--- maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-client/src/main/java/org/apache/maven/continuum/xmlrpc/client/SampleClient.java (original)
+++ maven/continuum/trunk/continuum-xmlrpc/continuum-xmlrpc-client/src/main/java/org/apache/maven/continuum/xmlrpc/client/SampleClient.java Tue May 15 06:22:32 2007
@@ -1,8 +1,34 @@
package org.apache.maven.continuum.xmlrpc.client;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.xmlrpc.project.AddingResult;
+import org.apache.maven.continuum.xmlrpc.project.BuildResult;
+import org.apache.maven.continuum.xmlrpc.project.ProjectDependency;
import org.apache.maven.continuum.xmlrpc.project.ProjectGroupSummary;
import org.apache.maven.continuum.xmlrpc.project.ProjectSummary;
+import org.apache.maven.continuum.xmlrpc.scm.ChangeSet;
+import org.apache.maven.continuum.xmlrpc.scm.ScmResult;
+import org.apache.maven.continuum.xmlrpc.test.SuiteResult;
+import org.apache.maven.continuum.xmlrpc.test.TestCaseFailure;
+import org.apache.maven.continuum.xmlrpc.test.TestResult;
import java.net.URL;
import java.util.Iterator;
@@ -14,10 +40,12 @@
*/
public class SampleClient
{
+ private static ContinuumXmlRpcClient client;
+
public static void main( String[] args )
throws Exception
{
- ContinuumXmlRpcClient client = new ContinuumXmlRpcClient( new URL( args[0] ), args[1], args[2] );
+ client = new ContinuumXmlRpcClient( new URL( args[0] ), args[1], args[2] );
System.out.println( "Adding project..." );
AddingResult result = client.addMavenTwoProject( "http://svn.codehaus.org/plexus/plexus-utils/trunk/pom.xml" );
@@ -84,6 +112,12 @@
}
System.out.println( "Build done with state=" + state + "." );
+ System.out.println( "Build result." );
+ System.out.println( "=====================" );
+ printBuildResult( client.getLatestBuildResult( ps.getId() ) );
+
+ System.out.println();
+
System.out.println( "Build output." );
System.out.println( "=====================" );
System.out.println( client.getBuildOutput( ps.getId(), ps.getLatestBuildId() ) );
@@ -107,10 +141,20 @@
for ( Iterator i = projects.iterator(); i.hasNext(); )
{
ps = (ProjectSummary) i.next();
- System.out.println( "Removing '" + ps.getName() + "' - " + ps.getVersion() + " (" + ps.getId() + ")..." );
+ System.out.println( "Removing '" + ps.getName() + "' - " + ps.getVersion() + " (" + ps.getId() + ")'..." );
client.removeProject( ps.getId() );
System.out.println( "Done." );
}
+
+ System.out.println();
+
+ System.out.println( "Remove project group." );
+ System.out.println( "=====================" );
+ ProjectGroupSummary pg = client.getProjectGroupSummary( projectGroupId );
+ System.out.println(
+ "Removing Project Group '" + pg.getName() + "' - " + pg.getGroupId() + " (" + pg.getId() + ")'..." );
+ client.removeProjectGroup( pg.getId() );
+ System.out.println( "Done." );
}
public static void printProjectSummary( ProjectSummary project )
@@ -122,5 +166,118 @@
System.out.println( "Name: " + project.getName() );
System.out.println( "Description: " + project.getDescription() );
System.out.println( "SCM Url: " + project.getScmUrl() );
+ }
+
+ public static void printBuildResult( BuildResult result )
+ {
+ System.out.println( "Id: " + result.getId() );
+ System.out.println( "Project Id: " + result.getProject().getId() );
+ System.out.println( "Build Number: " + result.getBuildNumber() );
+ System.out.println( "Start Time: " + result.getStartTime() );
+ System.out.println( "End Time: " + result.getEndTime() );
+ System.out.println( "State: " + client.getProjectStatusAsString( result.getState() ) );
+ System.out.println( "Trigger: " + result.getTrigger() );
+ System.out.println( "Is success: " + result.isSuccess() );
+ System.out.println( "Exit code: " + result.getExitCode() );
+ System.out.println( "Error: " + result.getError() );
+
+ if ( result.getModifiedDependencies() != null )
+ {
+ System.out.println( "Modified dependencies:" );
+ for ( Iterator i = result.getModifiedDependencies().iterator(); i.hasNext(); )
+ {
+ printDependency( (ProjectDependency) i.next() );
+ }
+ }
+
+ if ( result.getScmResult() != null )
+ {
+ System.out.println( "Scm Result:" );
+ printScmResult( result.getScmResult() );
+ }
+
+ if ( result.getChangesSinceLastSuccess() != null )
+ {
+ System.out.println( "Changes since last success:" );
+ for ( Iterator i = result.getChangesSinceLastSuccess().iterator(); i.hasNext(); )
+ {
+ printChangeSet( (ChangeSet) i.next() );
+ }
+ }
+
+ if ( result.getTestResult() != null )
+ {
+ System.out.println( "TestResult:" );
+ printTestResult( result.getTestResult() );
+ }
+ }
+
+ public static void printDependency( ProjectDependency dep )
+ {
+ System.out.println( "Group Id: " + dep.getGroupId() );
+ System.out.println( "Artifact Id: " + dep.getArtifactId() );
+ System.out.println( "Version: " + dep.getVersion() );
+ }
+
+ public static void printScmResult( ScmResult scmResult )
+ {
+ System.out.println( "Command Line: " + scmResult.getCommandLine() );
+ System.out.println( "Command Output: " + scmResult.getCommandOutput() );
+ System.out.println( "SCM Providr Messqge: " + scmResult.getProviderMessage() );
+ System.out.println( "Is Success: " + scmResult.isSuccess() );
+ System.out.println( "Exception: " + scmResult.getException() );
+
+ if ( scmResult.getChanges() != null )
+ {
+ System.out.println( "Changes:" );
+ for ( Iterator i = scmResult.getChanges().iterator(); i.hasNext(); )
+ {
+ printChangeSet( (ChangeSet) i.next() );
+ }
+ }
+ System.out.println( scmResult.getCommandLine() );
+ }
+
+ public static void printChangeSet( ChangeSet changeSet )
+ {
+ System.out.println( "Author: " + changeSet.getAuthor() );
+ System.out.println( "Date: " + changeSet.getDateAsDate() );
+ System.out.println( "Comment: " + changeSet.getComment() );
+
+ if ( changeSet.getFiles() != null )
+ {
+ System.out.println( "Author: " + changeSet.getFiles() );
+ }
+ }
+
+ public static void printTestResult( TestResult testresult )
+ {
+ System.out.println( "Total Time: " + testresult.getTotalTime() );
+ System.out.println( "Nb Tests: " + testresult.getTestCount() );
+ System.out.println( "Nb Failures: " + testresult.getFailureCount() );
+
+ if ( testresult.getSuiteResults() != null )
+ {
+ System.out.println( "Suite Results:" );
+ }
+ }
+
+ public static void printSuiteResult( SuiteResult result )
+ {
+ System.out.println( "Name: " + result.getName() );
+ System.out.println( "Total Time: " + result.getTotalTime() );
+ System.out.println( "Nb Tests: " + result.getTestCount() );
+ System.out.println( "Nb Failures: " + result.getFailureCount() );
+
+ if ( result.getFailures() != null )
+ {
+ for ( Iterator i = result.getFailures().iterator(); i.hasNext(); )
+ {
+ System.out.println( "Failure:" );
+ TestCaseFailure failure = (TestCaseFailure) i.next();
+ System.out.println( "Name: " + failure.getName() );
+ System.out.println( "Exception: " + failure.getException() );
+ }
+ }
}
}
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?view=diff&rev=538178&r1=538177&r2=538178
==============================================================================
--- 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 Tue May 15 06:22:32 2007
@@ -28,14 +28,24 @@
import org.apache.maven.continuum.xmlrpc.project.BuildResultSummary;
import org.apache.maven.continuum.xmlrpc.project.Project;
import org.apache.maven.continuum.xmlrpc.project.ProjectDependency;
+import org.apache.maven.continuum.xmlrpc.project.ProjectDeveloper;
import org.apache.maven.continuum.xmlrpc.project.ProjectGroup;
import org.apache.maven.continuum.xmlrpc.project.ProjectGroupSummary;
+import org.apache.maven.continuum.xmlrpc.project.ProjectNotifier;
import org.apache.maven.continuum.xmlrpc.project.ProjectSummary;
+import org.apache.maven.continuum.xmlrpc.scm.ChangeFile;
+import org.apache.maven.continuum.xmlrpc.scm.ChangeSet;
+import org.apache.maven.continuum.xmlrpc.scm.ScmResult;
+import org.apache.maven.continuum.xmlrpc.test.SuiteResult;
+import org.apache.maven.continuum.xmlrpc.test.TestCaseFailure;
+import org.apache.maven.continuum.xmlrpc.test.TestResult;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
+import java.util.Map;
/**
* @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
@@ -210,6 +220,18 @@
// Build Results
// ----------------------------------------------------------------------
+ public BuildResult getLatestBuildResult( int projectId )
+ throws ContinuumException
+ {
+ ProjectSummary ps = getProjectSummary( projectId );
+ checkViewProjectGroupAuthorization( ps.getProjectGroup().getName() );
+
+ org.apache.maven.continuum.model.project.BuildResult buildResult =
+ continuum.getLatestBuildResultForProject( projectId );
+
+ return getBuildResult( projectId, buildResult.getId() );
+ }
+
public BuildResult getBuildResult( int projectId, int buildId )
throws ContinuumException
{
@@ -331,7 +353,7 @@
return null;
}
- Project ps = new Project();
+ ProjectSummary ps = new Project();
ps.setArtifactId( project.getArtifactId() );
ps.setBuildNumber( project.getBuildNumber() );
ps.setDescription( project.getDescription() );
@@ -375,13 +397,78 @@
p.setDependencies( deps );
}
- //TODO
- //p.setBuildDefinitions( );
- //p.setDevelopers( );
- //p.setNotifiers( );
+ //TODO: p.setBuildDefinitions( );
+
+ if ( project.getDevelopers() != null )
+ {
+ for ( Iterator i = project.getDevelopers().iterator(); i.hasNext(); )
+ {
+ org.apache.maven.continuum.model.project.ProjectDeveloper developer =
+ (org.apache.maven.continuum.model.project.ProjectDeveloper) i.next();
+ p.addDeveloper( populateProjectDeveloper( developer ) );
+ }
+ }
+
+ if ( project.getNotifiers() != null )
+ {
+ for ( Iterator i = project.getNotifiers().iterator(); i.hasNext(); )
+ {
+ org.apache.maven.continuum.model.project.ProjectNotifier notifier =
+ (org.apache.maven.continuum.model.project.ProjectNotifier) i.next();
+ p.addNotifier( populateProjectNotifier( notifier ) );
+ }
+ }
+
return p;
}
+ private ProjectDeveloper populateProjectDeveloper(
+ org.apache.maven.continuum.model.project.ProjectDeveloper developer )
+ {
+ if ( developer == null )
+ {
+ return null;
+ }
+
+ ProjectDeveloper res = new ProjectDeveloper();
+ res.setContinuumId( developer.getContinuumId() );
+ res.setEmail( developer.getEmail() );
+ res.setName( developer.getName() );
+ res.setScmId( developer.getScmId() );
+ return res;
+ }
+
+ private ProjectNotifier populateProjectNotifier( org.apache.maven.continuum.model.project.ProjectNotifier notifier )
+ {
+ if ( notifier == null )
+ {
+ return null;
+ }
+
+ ProjectNotifier res = new ProjectNotifier();
+ res.setEnabled( notifier.isEnabled() );
+ res.setFrom( notifier.getFrom() );
+ res.setId( notifier.getId() );
+ res.setRecipientType( notifier.getRecipientType() );
+ res.setSendOnError( notifier.isSendOnError() );
+ res.setSendOnFailure( notifier.isSendOnFailure() );
+ res.setSendOnSuccess( notifier.isSendOnSuccess() );
+ res.setSendOnWarning( notifier.isSendOnWarning() );
+ res.setType( notifier.getType() );
+
+ if ( notifier.getConfiguration() != null )
+ {
+ Map conf = new HashMap();
+ for ( Iterator i = notifier.getConfiguration().keySet().iterator(); i.hasNext(); )
+ {
+ String key = (String) i.next();
+ conf.put( key, notifier.getConfiguration().get( key ) );
+ }
+ res.setConfiguration( conf );
+ }
+ return res;
+ }
+
private org.apache.maven.continuum.model.project.Project populateProject( ProjectSummary projectSummary )
{
if ( projectSummary == null )
@@ -399,7 +486,7 @@
project.setId( projectSummary.getId() );
project.setLatestBuildId( projectSummary.getLatestBuildId() );
project.setName( projectSummary.getName() );
- //project.setProjectGroup( populateProjectGroupSummary( projectSummary.getProjectGroup() ) );
+ //TODO: project.setProjectGroup( populateProjectGroupSummary( projectSummary.getProjectGroup() ) );
project.setScmTag( projectSummary.getScmTag() );
project.setScmUrl( projectSummary.getScmUrl() );
project.setScmUseCache( projectSummary.isScmUseCache() );
@@ -434,7 +521,7 @@
return null;
}
- ProjectGroup g = new ProjectGroup();
+ ProjectGroupSummary g = new ProjectGroup();
g.setDescription( group.getDescription() );
g.setGroupId( group.getGroupId() );
g.setId( group.getId() );
@@ -472,7 +559,7 @@
{
return null;
}
- BuildResult br = new BuildResult();
+ BuildResultSummary br = new BuildResult();
br.setBuildNumber( buildResult.getBuildNumber() );
br.setEndTime( buildResult.getEndTime() );
br.setError( buildResult.getError() );
@@ -482,32 +569,42 @@
br.setState( buildResult.getState() );
br.setSuccess( buildResult.isSuccess() );
br.setTrigger( buildResult.getTrigger() );
+ br.setProject( populateProjectSummary( buildResult.getProject() ) );
return br;
}
private BuildResult populateBuildResult( org.apache.maven.continuum.model.project.BuildResult buildResult )
+ throws ContinuumException
{
if ( buildResult == null )
{
return null;
}
BuildResult br = (BuildResult) populateBuildResultSummary( buildResult );
- //TODO:
- //br.setScmResult( populateScmResult(br.getScmResult()));
+
+ List changeSet = continuum.getChangesSinceLastSuccess( br.getProject().getId(), br.getId() );
+ if ( changeSet != null )
+ {
+ for ( Iterator i = changeSet.iterator(); i.hasNext(); )
+ {
+ br.addChangesSinceLastSucces(
+ populateChangeSet( (org.apache.maven.continuum.model.scm.ChangeSet) i.next() ) );
+ }
+ }
+
+ br.setScmResult( populateScmResult( buildResult.getScmResult() ) );
+
if ( buildResult.getModifiedDependencies() != null )
{
- List deps = new ArrayList();
for ( Iterator i = buildResult.getModifiedDependencies().iterator(); i.hasNext(); )
{
org.apache.maven.continuum.model.project.ProjectDependency dependency =
(org.apache.maven.continuum.model.project.ProjectDependency) i.next();
ProjectDependency dep = populateProjectDependency( dependency );
- deps.add( dep );
+ br.addModifiedDependency( dep );
}
- //br.setModifiedDependencies( deps );
}
- //br.setProject( populateProjectSummary(buildResult.getProject() ) );
- //br.setTestResult( populateTestResult( buildResult.getTestResult() ) );
+ br.setTestResult( populateTestResult( buildResult.getTestResult() ) );
return br;
}
@@ -548,6 +645,137 @@
}
}
+ return res;
+ }
+
+ private ScmResult populateScmResult( org.apache.maven.continuum.model.scm.ScmResult scmResult )
+ {
+ if ( scmResult == null )
+ {
+ return null;
+ }
+
+ ScmResult res = new ScmResult();
+
+ if ( scmResult.getChanges() != null )
+ {
+ for ( Iterator i = scmResult.getChanges().iterator(); i.hasNext(); )
+ {
+ org.apache.maven.continuum.model.scm.ChangeSet changeSet =
+ (org.apache.maven.continuum.model.scm.ChangeSet) i.next();
+ res.addChange( populateChangeSet( changeSet ) );
+ }
+ }
+
+ res.setCommandLine( scmResult.getCommandLine() );
+ res.setCommandOutput( scmResult.getCommandOutput() );
+ res.setException( scmResult.getException() );
+ res.setProviderMessage( scmResult.getProviderMessage() );
+ res.setSuccess( scmResult.isSuccess() );
+ return res;
+ }
+
+ private ChangeSet populateChangeSet( org.apache.maven.continuum.model.scm.ChangeSet changeSet )
+ {
+ if ( changeSet == null )
+ {
+ return null;
+ }
+
+ ChangeSet res = new ChangeSet();
+ res.setAuthor( changeSet.getAuthor() );
+ res.setComment( changeSet.getComment() );
+ res.setDate( changeSet.getDate() );
+
+ if ( changeSet.getFiles() != null )
+ {
+ for ( Iterator i = changeSet.getFiles().iterator(); i.hasNext(); )
+ {
+ org.apache.maven.continuum.model.scm.ChangeFile changeFile =
+ (org.apache.maven.continuum.model.scm.ChangeFile) i.next();
+ res.addFile( populateChangeFile( changeFile ) );
+ }
+ }
+
+ res.setId( changeSet.getId() );
+ return res;
+ }
+
+ private ChangeFile populateChangeFile( org.apache.maven.continuum.model.scm.ChangeFile changeFile )
+ {
+ if ( changeFile == null )
+ {
+ return null;
+ }
+
+ ChangeFile res = new ChangeFile();
+ res.setName( changeFile.getName() );
+ res.setRevision( changeFile.getRevision() );
+ res.setStatus( changeFile.getStatus() );
+ return res;
+ }
+
+ private TestResult populateTestResult( org.apache.maven.continuum.model.scm.TestResult testResult )
+ {
+ if ( testResult == null )
+ {
+ return null;
+ }
+
+ TestResult res = new TestResult();
+ res.setFailureCount( testResult.getFailureCount() );
+
+ if ( testResult.getSuiteResults() != null )
+ {
+ for ( Iterator i = testResult.getSuiteResults().iterator(); i.hasNext(); )
+ {
+ org.apache.maven.continuum.model.scm.SuiteResult suiteResult =
+ (org.apache.maven.continuum.model.scm.SuiteResult) i.next();
+ res.addSuiteResult( populateSuiteResult( suiteResult ) );
+ }
+ }
+
+ res.setTestCount( testResult.getTestCount() );
+ res.setTotalTime( testResult.getTotalTime() );
+ return res;
+ }
+
+ private SuiteResult populateSuiteResult( org.apache.maven.continuum.model.scm.SuiteResult suiteresult )
+ {
+ if ( suiteresult == null )
+ {
+ return null;
+ }
+
+ SuiteResult res = new SuiteResult();
+ res.setFailureCount( suiteresult.getFailureCount() );
+
+ if ( suiteresult.getFailures() != null )
+ {
+ for ( Iterator i = suiteresult.getFailures().iterator(); i.hasNext(); )
+ {
+ org.apache.maven.continuum.model.scm.TestCaseFailure failure =
+ (org.apache.maven.continuum.model.scm.TestCaseFailure) i.next();
+ res.addFailure( populateTestCaseFailure( failure ) );
+ }
+ }
+
+ res.setName( suiteresult.getName() );
+ res.setTestCount( suiteresult.getTestCount() );
+ res.setTotalTime( suiteresult.getTotalTime() );
+ return res;
+ }
+
+ private TestCaseFailure populateTestCaseFailure( org.apache.maven.continuum.model.scm.TestCaseFailure failure )
+ {
+ if ( failure == null )
+ {
+ return null;
+ }
+
+ TestCaseFailure res = new TestCaseFailure();
+ res.setException( failure.getException() );
+ res.setName( failure.getName() );
return res;
}
}