You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ct...@apache.org on 2011/07/23 12:21:28 UTC

svn commit: r1150083 - in /continuum/trunk: continuum-buildagent/continuum-buildagent-api/src/main/java/org/apache/continuum/buildagent/ continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/ continuum-buildagent/...

Author: ctan
Date: Sat Jul 23 10:21:27 2011
New Revision: 1150083

URL: http://svn.apache.org/viewvc?rev=1150083&view=rev
Log:
fixed unit test

Modified:
    continuum/trunk/continuum-buildagent/continuum-buildagent-api/src/main/java/org/apache/continuum/buildagent/ContinuumBuildAgentService.java
    continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/ContinuumBuildAgentServiceImpl.java
    continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/manager/BuildAgentManager.java
    continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/manager/DefaultBuildAgentManager.java
    continuum/trunk/continuum-core/src/test/java/org/apache/continuum/builder/distributed/manager/DefaultDistributedBuildManagerTest.java

Modified: continuum/trunk/continuum-buildagent/continuum-buildagent-api/src/main/java/org/apache/continuum/buildagent/ContinuumBuildAgentService.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-buildagent/continuum-buildagent-api/src/main/java/org/apache/continuum/buildagent/ContinuumBuildAgentService.java?rev=1150083&r1=1150082&r2=1150083&view=diff
==============================================================================
--- continuum/trunk/continuum-buildagent/continuum-buildagent-api/src/main/java/org/apache/continuum/buildagent/ContinuumBuildAgentService.java (original)
+++ continuum/trunk/continuum-buildagent/continuum-buildagent-api/src/main/java/org/apache/continuum/buildagent/ContinuumBuildAgentService.java Sat Jul 23 10:21:27 2011
@@ -124,7 +124,8 @@ public interface ContinuumBuildAgentServ
     void removeFromBuildQueue( List<String> hashCodes )
         throws ContinuumBuildAgentException;
 
-    boolean ping();
+    boolean ping()
+        throws ContinuumBuildAgentException;
     
     /**
      * Get build agent's platform.

Modified: continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/ContinuumBuildAgentServiceImpl.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/ContinuumBuildAgentServiceImpl.java?rev=1150083&r1=1150082&r2=1150083&view=diff
==============================================================================
--- continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/ContinuumBuildAgentServiceImpl.java (original)
+++ continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/ContinuumBuildAgentServiceImpl.java Sat Jul 23 10:21:27 2011
@@ -34,6 +34,7 @@ import org.apache.commons.lang.StringEsc
 import org.apache.continuum.buildagent.buildcontext.BuildContext;
 import org.apache.continuum.buildagent.buildcontext.manager.BuildContextManager;
 import org.apache.continuum.buildagent.configuration.BuildAgentConfigurationService;
+import org.apache.continuum.buildagent.manager.BuildAgentManager;
 import org.apache.continuum.buildagent.manager.BuildAgentReleaseManager;
 import org.apache.continuum.buildagent.model.Installation;
 import org.apache.continuum.buildagent.taskqueue.PrepareBuildProjectsTask;
@@ -91,6 +92,11 @@ public class ContinuumBuildAgentServiceI
      */
     private BuildAgentReleaseManager buildAgentReleaseManager;
 
+    /**
+     * @plexus.requirement
+     */
+    private BuildAgentManager buildAgentManager;
+
     public void buildProjects( List<Map<String, Object>> projectsBuildContext )
         throws ContinuumBuildAgentException
     {
@@ -907,10 +913,17 @@ public class ContinuumBuildAgentServiceI
     }
 
     public boolean ping()
+        throws ContinuumBuildAgentException
     {
-        log.debug( "Ping Ok" );
-
-        return Boolean.TRUE;
+        try
+        {
+            // check first if it can ping the master
+            return buildAgentManager.pingMaster();
+        }
+        catch ( ContinuumException e )
+        {
+            throw new ContinuumBuildAgentException( e.getMessage() );
+        }
     }
 
     public String getBuildAgentPlatform() 

Modified: continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/manager/BuildAgentManager.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/manager/BuildAgentManager.java?rev=1150083&r1=1150082&r2=1150083&view=diff
==============================================================================
--- continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/manager/BuildAgentManager.java (original)
+++ continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/manager/BuildAgentManager.java Sat Jul 23 10:21:27 2011
@@ -47,4 +47,7 @@ public interface BuildAgentManager
 
     void endPrepareBuild( Map<String, Object> context )
         throws ContinuumException;
+
+    boolean pingMaster()
+        throws ContinuumException;
 }

Modified: continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/manager/DefaultBuildAgentManager.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/manager/DefaultBuildAgentManager.java?rev=1150083&r1=1150082&r2=1150083&view=diff
==============================================================================
--- continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/manager/DefaultBuildAgentManager.java (original)
+++ continuum/trunk/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/manager/DefaultBuildAgentManager.java Sat Jul 23 10:21:27 2011
@@ -26,6 +26,7 @@ import java.util.Map;
 import org.apache.continuum.buildagent.configuration.BuildAgentConfigurationService;
 import org.apache.continuum.distributed.transport.master.MasterBuildAgentTransportClient;
 import org.apache.maven.continuum.ContinuumException;
+import org.codehaus.plexus.util.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -206,4 +207,35 @@ public class DefaultBuildAgentManager
             throw new ContinuumException( "Error while finishing prepare build", e );
         }
     }
+
+    public boolean pingMaster()
+        throws ContinuumException
+    {
+        String continuumServerUrl = buildAgentConfigurationService.getContinuumServerUrl();
+
+        try
+        {
+            if ( StringUtils.isBlank( continuumServerUrl ) )
+            {
+                throw new ContinuumException( "Build agent is not configured properly. Missing continuumServerUrl in the configuration file" );
+            }
+
+            MasterBuildAgentTransportClient client = 
+                new MasterBuildAgentTransportClient( new URL( continuumServerUrl ) )
+            ;
+            return client.ping();
+        }
+        catch ( MalformedURLException e )
+        {
+            log.error(
+                "Invalid continuum server URL '" + continuumServerUrl + "'", e );
+            throw new ContinuumException(
+                "Invalid continuum server URL '" + continuumServerUrl + "'", e );
+        }
+        catch ( Exception e )
+        {
+            log.error( "Unable to ping master " + continuumServerUrl, e );
+            throw new ContinuumException( "Unable to ping master " + continuumServerUrl, e );
+        }
+    }
 }

Modified: continuum/trunk/continuum-core/src/test/java/org/apache/continuum/builder/distributed/manager/DefaultDistributedBuildManagerTest.java
URL: http://svn.apache.org/viewvc/continuum/trunk/continuum-core/src/test/java/org/apache/continuum/builder/distributed/manager/DefaultDistributedBuildManagerTest.java?rev=1150083&r1=1150082&r2=1150083&view=diff
==============================================================================
--- continuum/trunk/continuum-core/src/test/java/org/apache/continuum/builder/distributed/manager/DefaultDistributedBuildManagerTest.java (original)
+++ continuum/trunk/continuum-core/src/test/java/org/apache/continuum/builder/distributed/manager/DefaultDistributedBuildManagerTest.java Sat Jul 23 10:21:27 2011
@@ -523,6 +523,8 @@ public class DefaultDistributedBuildMana
                 one( configurationService ).getBuildAgents();
                 will( returnValue( buildAgents ) );
 
+                one( overallDistributedBuildQueue1 ).getBuildAgentUrl();
+
                 one( overallDistributedBuildQueue1 ).addToDistributedBuildQueue( with( any( Task.class ) ) );
             }
         } );
@@ -571,6 +573,8 @@ public class DefaultDistributedBuildMana
                 one( configurationService ).getBuildAgents();
                 will( returnValue( buildAgents ) );
 
+                one( overallDistributedBuildQueue2 ).getBuildAgentUrl();
+
                 one( overallDistributedBuildQueue2 ).addToDistributedBuildQueue( with( any( Task.class ) ) );
             }
         } );