You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by br...@apache.org on 2005/08/15 02:35:26 UTC
svn commit: r232681 [2/2] - in /maven/continuum/trunk:
continuum-api/src/main/java/org/apache/maven/continuum/
continuum-api/src/main/java/org/apache/maven/continuum/notification/
continuum-api/src/main/java/org/apache/maven/continuum/store/ continuum-...
Modified: maven/continuum/trunk/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java?rev=232681&r1=232680&r2=232681&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java (original)
+++ maven/continuum/trunk/continuum-store/src/main/java/org/apache/maven/continuum/store/JdoContinuumStore.java Sun Aug 14 17:34:39 2005
@@ -24,7 +24,6 @@
import org.apache.maven.continuum.model.project.Schedule;
import org.apache.maven.continuum.model.scm.ScmResult;
import org.apache.maven.continuum.model.system.Installation;
-import org.apache.maven.continuum.project.ContinuumBuild;
import org.apache.maven.continuum.project.ContinuumBuildSettings;
import org.apache.maven.continuum.project.ContinuumProject;
import org.apache.maven.continuum.project.ContinuumProjectState;
@@ -40,10 +39,7 @@
import javax.jdo.PersistenceManagerFactory;
import javax.jdo.Query;
import javax.jdo.Transaction;
-import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
@@ -76,8 +72,6 @@
private static final String BUILD_DETAIL_FG = "build-detail";
- private static final String SCHEDULE_DETAIL_FG = "schedule-detail";
-
private static final String BUILD_SETTINGS_DETAIL_FG = "build-settings-detail";
private static final String PROJECT_WITH_BUILDS_FETCH_GROUP = "project-with-builds";
@@ -186,6 +180,7 @@
result = pm.detachCopyAll( result );
+ // TODO: we want to do this on updating the latest build, not all gets.
for ( Iterator it = result.iterator(); it.hasNext(); )
{
setProjectState( (ContinuumProject) it.next() );
@@ -308,7 +303,7 @@
}
}
- public ContinuumBuild addBuild( String projectId, ContinuumBuild build )
+ public BuildResult addBuildResult( ContinuumProject project, BuildResult build )
throws ContinuumStoreException
{
PersistenceManager pm = pmf.getPersistenceManager();
@@ -319,19 +314,21 @@
{
tx.begin();
- ContinuumProject project = getContinuumProject( pm, projectId, false );
+ project = getContinuumProject( pm, project.getId(), true );
- build = (ContinuumBuild) makePersistent( pm, build, false );
+ build = (BuildResult) makePersistent( pm, build, false );
- project.setLatestBuildId( build.getId() );
+ // TODO: these are in the wrong spot - set them on success
+ project.setLatestBuildId( Integer.toString( build.getId() ) );
project.setBuildNumber( project.getBuildNumber() + 1 );
- project.getBuilds().add( build );
+ project.addBuild( build );
tx.commit();
- return (ContinuumBuild) getDetailedObject( ContinuumBuild.class, build.getId(), BUILD_DETAIL_FG );
+ // TODO: I think this can be replaced by a detach
+ return getBuildResult( build.getId() );
}
finally
{
@@ -339,20 +336,13 @@
}
}
- public ContinuumBuild updateBuild( ContinuumBuild build )
+ public void updateBuildResult( BuildResult build )
throws ContinuumStoreException
{
updateObject( build );
- return build;
- }
-
- public ContinuumBuild getBuild( String buildId )
- throws ContinuumStoreException
- {
- return (ContinuumBuild) getDetailedObject( ContinuumBuild.class, buildId, BUILD_DETAIL_FG );
}
- public ContinuumBuild getLatestBuildForProject( String projectId )
+ public BuildResult getLatestBuildResultForProject( String projectId )
throws ContinuumStoreException
{
PersistenceManager pm = pmf.getPersistenceManager();
@@ -367,114 +357,24 @@
String buildId = project.getLatestBuildId();
- if ( buildId == null )
- {
- tx.commit();
-
- return null;
- }
-
- Object id = pm.newObjectIdInstance( ContinuumBuild.class, buildId );
-
- Object object = pm.getObjectById( id );
-
- ContinuumBuild build = (ContinuumBuild) pm.detachCopy( object );
-
- tx.commit();
-
- return build;
- }
- finally
- {
- rollback( tx );
- }
- }
-
- public Collection getBuildsForProject( String projectId, int start, int end )
- throws ContinuumStoreException
- {
- ContinuumProject project = (ContinuumProject) getDetailedObject( ContinuumProject.class, projectId,
- PROJECT_DETAIL_FG );
- List builds = new ArrayList( project.getBuilds() );
- Collections.sort( builds, new Comparator()
- {
- public int compare( Object o1, Object o2 )
+ if ( buildId != null )
{
- ContinuumBuild b1 = (ContinuumBuild) o1;
- ContinuumBuild b2 = (ContinuumBuild) o2;
-
- return (int) ( ( b2 != null ? b2.getStartTime() : 0 ) - ( b1 != null ? b1.getStartTime() : 0 ) );
- }
- } );
- return builds;
-/* TODO: remove - check usages and replace by project.getBuilds
- PersistenceManager pm = pmf.getPersistenceManager();
-
- Transaction tx = pm.currentTransaction();
-
- try
- {
- tx.begin();
-
- Extent extent = pm.getExtent( ContinuumBuild.class, true );
-
- Query query = pm.newQuery( extent );
-
- query.setFilter( "this.project.id == id" );
-
- query.declareImports( "import java.lang.String" );
-
- query.declareParameters( "String id" );
-
- query.setOrdering( "startTime descending" );
-
- Collection builds = (Collection) query.execute( projectId );
-
- builds = pm.detachCopyAll( builds );
-
- tx.commit();
-
- return builds;
- }
- finally
- {
- rollback( tx );
- }
-*/
- }
-
- public List getChangedFilesForBuild( String buildId )
- throws ContinuumStoreException
- {
- PersistenceManager pm = pmf.getPersistenceManager();
-
- Transaction tx = pm.currentTransaction();
-
- try
- {
- tx.begin();
+ Object id = pm.newObjectIdInstance( BuildResult.class, Integer.valueOf( buildId ) );
- ContinuumBuild build = getContinuumBuild( pm, buildId );
+ Object object = pm.getObjectById( id );
- ScmResult scmResult = build.getScmResult();
+ BuildResult build = (BuildResult) pm.detachCopy( object );
- if ( scmResult == null )
- {
tx.commit();
- return null;
+ return build;
}
-
- List files = (List) pm.detachCopyAll( scmResult.getChanges() );
-
- tx.commit();
-
- return files;
}
finally
{
rollback( tx );
}
+ return null;
}
public void removeNotifier( ProjectNotifier notifier )
@@ -569,7 +469,7 @@
private ContinuumProject setProjectState( ContinuumProject project )
throws ContinuumStoreException
{
- ContinuumBuild build = getLatestBuildForProject( project.getId() );
+ BuildResult build = getLatestBuildResultForProject( project.getId() );
if ( build == null )
{
@@ -593,13 +493,6 @@
Object id = pm.newObjectIdInstance( ContinuumProject.class, projectId );
return (ContinuumProject) pm.getObjectById( id );
- }
-
- private ContinuumBuild getContinuumBuild( PersistenceManager pm, String buildId )
- {
- Object id = pm.newObjectIdInstance( ContinuumBuild.class, buildId );
-
- return (ContinuumBuild) pm.getObjectById( id );
}
private Object addObject( Object object, String detailedFetchGroup )
Modified: maven/continuum/trunk/continuum-web/src/main/java/org/apache/maven/continuum/web/tool/ContinuumStateContentGenerator.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-web/src/main/java/org/apache/maven/continuum/web/tool/ContinuumStateContentGenerator.java?rev=232681&r1=232680&r2=232681&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-web/src/main/java/org/apache/maven/continuum/web/tool/ContinuumStateContentGenerator.java (original)
+++ maven/continuum/trunk/continuum-web/src/main/java/org/apache/maven/continuum/web/tool/ContinuumStateContentGenerator.java Sun Aug 14 17:34:39 2005
@@ -16,14 +16,13 @@
* limitations under the License.
*/
-import org.codehaus.plexus.formica.web.ContentGenerator;
-import org.codehaus.plexus.logging.AbstractLogEnabled;
-
-import org.apache.maven.continuum.project.ContinuumProject;
-import org.apache.maven.continuum.project.ContinuumProjectState;
-import org.apache.maven.continuum.project.ContinuumBuild;
import org.apache.maven.continuum.Continuum;
import org.apache.maven.continuum.ContinuumException;
+import org.apache.maven.continuum.model.project.BuildResult;
+import org.apache.maven.continuum.project.ContinuumProject;
+import org.apache.maven.continuum.project.ContinuumProjectState;
+import org.codehaus.plexus.formica.web.ContentGenerator;
+import org.codehaus.plexus.logging.AbstractLogEnabled;
/**
* @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
@@ -33,7 +32,9 @@
extends AbstractLogEnabled
implements ContentGenerator
{
- /** @plexus.requirement */
+ /**
+ * @plexus.requirement
+ */
private Continuum continuum;
public String generate( Object item )
@@ -44,9 +45,10 @@
{
ContinuumProject project = (ContinuumProject) item;
+ // TODO: can't we just use project.getState()?
try
{
- ContinuumBuild build = continuum.getLatestBuildForProject( project.getId() );
+ BuildResult build = continuum.getLatestBuildResultForProject( project.getId() );
if ( build == null )
{
@@ -64,7 +66,7 @@
}
else
{
- state = ( (ContinuumBuild) item ).getState();
+ state = ( (BuildResult) item ).getState();
}
if ( state == ContinuumProjectState.NEW )
Modified: maven/continuum/trunk/continuum-xmlrpc/src/main/java/org/apache/maven/continuum/xmlrpc/ContinuumXmlRpc.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-xmlrpc/src/main/java/org/apache/maven/continuum/xmlrpc/ContinuumXmlRpc.java?rev=232681&r1=232680&r2=232681&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-xmlrpc/src/main/java/org/apache/maven/continuum/xmlrpc/ContinuumXmlRpc.java (original)
+++ maven/continuum/trunk/continuum-xmlrpc/src/main/java/org/apache/maven/continuum/xmlrpc/ContinuumXmlRpc.java Sun Aug 14 17:34:39 2005
@@ -43,26 +43,15 @@
Hashtable getScmResultForProject( String projectId );
- Hashtable getLatestBuildForProject( String projectId );
-
// ----------------------------------------------------------------------
// Building
// ----------------------------------------------------------------------
- Hashtable buildProject( String projectId,
- boolean force );
+ Hashtable buildProject( String projectId, boolean force );
// ----------------------------------------------------------------------
// Builds
// ----------------------------------------------------------------------
-
- Hashtable getBuild( String buildId );
-
- Hashtable getBuildsForProject( String projectId,
- int start,
- int end );
-
- Hashtable getChangedFilesForBuild( String buildId );
// ----------------------------------------------------------------------
// Maven 2.x projects
Modified: maven/continuum/trunk/continuum-xmlrpc/src/main/java/org/apache/maven/continuum/xmlrpc/DefaultContinuumXmlRpc.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-xmlrpc/src/main/java/org/apache/maven/continuum/xmlrpc/DefaultContinuumXmlRpc.java?rev=232681&r1=232680&r2=232681&view=diff
==============================================================================
--- maven/continuum/trunk/continuum-xmlrpc/src/main/java/org/apache/maven/continuum/xmlrpc/DefaultContinuumXmlRpc.java (original)
+++ maven/continuum/trunk/continuum-xmlrpc/src/main/java/org/apache/maven/continuum/xmlrpc/DefaultContinuumXmlRpc.java Sun Aug 14 17:34:39 2005
@@ -20,7 +20,6 @@
import org.apache.maven.continuum.execution.shell.ShellBuildExecutor;
import org.apache.maven.continuum.model.scm.ScmResult;
import org.apache.maven.continuum.project.AntProject;
-import org.apache.maven.continuum.project.ContinuumBuild;
import org.apache.maven.continuum.project.ContinuumProject;
import org.apache.maven.continuum.project.MavenOneProject;
import org.apache.maven.continuum.project.MavenTwoProject;
@@ -125,22 +124,6 @@
}
}
- public Hashtable getLatestBuildForProject( String projectId )
- {
- try
- {
- ContinuumBuild build = continuum.getLatestBuildForProject( projectId );
-
- return makeHashtable( "latestBuild", convertContinuumBuild( build ) );
- }
- catch ( Throwable e )
- {
- return handleException( "ContinuumXmlRpc.getLatestBuildForProject()", "Project id: '" + projectId + "'.",
- e );
- }
-
- }
-
// ----------------------------------------------------------------------
// Build handling
// ----------------------------------------------------------------------
@@ -156,69 +139,6 @@
catch ( Throwable e )
{
return handleException( "ContinuumXmlRpc.buildProject()", "Project id: '" + projectId + "'.", e );
- }
- }
-
- public Hashtable getBuild( String buildId )
- {
- try
- {
- ContinuumBuild build = continuum.getBuild( buildId );
-
- return makeHashtable( "build", convertContinuumBuild( build ) );
- }
- catch ( Throwable e )
- {
- return handleException( "ContinuumXmlRpc.getBuild()", "Build id: '" + buildId + "'.", e );
- }
- }
-
- public Hashtable getBuildsForProject( String projectId, int start, int end )
- {
- try
- {
- if ( start != 0 || end != 0 )
- {
- getLogger().warn( "ContinuumXmlRpc.getBuildsForProject() " +
- "doesn't support usage of the start and end parameters yet." );
- }
-
- // TODO: use start and end
- Collection builds = continuum.getBuildsForProject( projectId );
-
- Vector result = new Vector( builds.size() );
-
- for ( Iterator it = builds.iterator(); it.hasNext(); )
- {
- result.add( convertContinuumBuild( it.next() ) );
- }
-
- return makeHashtable( "builds", result );
- }
- catch ( Throwable e )
- {
- return handleException( "ContinuumXmlRpc.getBuildsForProject()", "Project id: '" + projectId + "'.", e );
- }
- }
-
- public Hashtable getChangedFilesForBuild( String buildId )
- {
- try
- {
- Collection changedFiles = continuum.getChangedFilesForBuild( buildId );
-
- Vector result = new Vector( changedFiles.size() );
-
- for ( Iterator it = changedFiles.iterator(); it.hasNext(); )
- {
- result.add( convertScmFile( it.next() ) );
- }
-
- return makeHashtable( "changedFiles", result );
- }
- catch ( Throwable e )
- {
- return handleException( "ContinuumXmlRpc.getBuildResultForProject()", "Build id: '" + buildId + "'.", e );
}
}