listenerSummary = new ReleaseListenerSummary();
if ( getContinuum().getConfiguration().isDistributedBuildEnabled() )
{
DistributedReleaseManager releaseManager = getContinuum().getDistributedReleaseManager();
try
{
Map map = releaseManager.getListener( releaseId );
if ( map != null && !map.isEmpty() )
{
int state = DistributedReleaseUtil.getReleaseState( map );
listenerSummary.setPhases( DistributedReleaseUtil.getReleasePhases( map ) );
listenerSummary.setCompletedPhases( DistributedReleaseUtil.getCompletedReleasePhases( map ) );
listenerSummary.setInProgress( DistributedReleaseUtil.getReleaseInProgress( map ) );
listenerSummary.setError( DistributedReleaseUtil.getReleaseError( map ) );
username = DistributedReleaseUtil.getUsername( map );
if ( state == ContinuumReleaseManagerListener.FINISHED )
{
result = releaseManager.getReleaseResult( releaseId );
return SUCCESS;
}
else
{
throw new Exception( "The release operation with id " + releaseId + "has not finished yet." );
}
}
else
{
throw new Exception( "There is no finished release operation with id " + releaseId );
}
}
catch ( BuildAgentConfigurationException e )
{
List<Object> args = new ArrayList<Object>();
args.add( e.getMessage() );
addActionError( getText( "releaseViewResult.error", args ) );
return RELEASE_ERROR;
}
}
else
{
ContinuumReleaseManager releaseManager = getContinuum().getReleaseManager();
listenerSummary = releaseManager.getListener( releaseId );
if ( listenerSummary != null )
{
username = listenerSummary.getUsername();
if ( listenerSummary.getState() == ContinuumReleaseManagerListener.FINISHED )
{
result = (ReleaseResult) releaseManager.getReleaseResults().get( releaseId );
return SUCCESS;
}
else
{