Index: continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-slave/src/main/java/org/apache/continuum/distributed/transport/slave/ProxyMasterAgentTransportService.java =================================================================== --- continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-slave/src/main/java/org/apache/continuum/distributed/transport/slave/ProxyMasterAgentTransportService.java (revision 725375) +++ continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-slave/src/main/java/org/apache/continuum/distributed/transport/slave/ProxyMasterAgentTransportService.java (working copy) @@ -23,12 +23,14 @@ import java.util.Map; import org.apache.continuum.distributed.transport.MasterBuildAgentTransportService; -import org.apache.xmlrpc.client.XmlRpcClient; -import org.apache.xmlrpc.client.XmlRpcClientConfigImpl; -import org.apache.xmlrpc.client.util.ClientFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.atlassian.xmlrpc.AuthenticationInfo; +import com.atlassian.xmlrpc.Binder; +import com.atlassian.xmlrpc.BindingException; +import com.atlassian.xmlrpc.DefaultBinder; + /** * ProxyMasterAgentTransportService */ @@ -40,53 +42,81 @@ MasterBuildAgentTransportService master; public ProxyMasterAgentTransportService( URL serviceUrl ) + throws Exception { this( serviceUrl, null, null ); } public ProxyMasterAgentTransportService( URL serviceUrl, String login, String password ) + throws Exception { - XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl() + Binder binder = new DefaultBinder(); + AuthenticationInfo authnInfo = new AuthenticationInfo( login, password ); + + try { - public boolean isEnabledForExtensions() - { - return true; - } - }; - - if ( login != null && !"".equals( login ) ) + master = binder.bind( MasterBuildAgentTransportService.class, serviceUrl, authnInfo ); + } + catch ( BindingException e ) { - config.setBasicUserName( login ); - config.setBasicPassword( password ); + log.error( "Can't bind service interface " + MasterBuildAgentTransportService.class.getName() + " to " + serviceUrl.toExternalForm() + " using " + authnInfo.getUsername() + ", " + authnInfo.getPassword(), e ); + throw new Exception( "Can't bind service interface " + MasterBuildAgentTransportService.class.getName() + " to " + serviceUrl.toExternalForm() + " using " + authnInfo.getUsername() + ", " + authnInfo.getPassword(), e); } - config.setServerURL( serviceUrl ); - - XmlRpcClient client = new XmlRpcClient(); - client.setConfig( config ); - ClientFactory factory = new ClientFactory( client ); - master = (MasterBuildAgentTransportService) factory.newInstance( MasterBuildAgentTransportService.class ); } - public void returnBuildResult( Map buildResult ) + public Boolean returnBuildResult( Map buildResult ) throws Exception { - master.returnBuildResult( buildResult ); - log.info( "Returning the build result." ); + Boolean result = null; + + try + { + result = master.returnBuildResult( buildResult ); + log.info( "Returning the build result." ); + } + catch ( Exception e ) + { + log.error( "Failed to return the build result.", e ); + throw new Exception( "Failed to return the build result", e); + } + + return result; } - public void returnScmResult( Map scmResult ) + public Boolean returnScmResult( Map scmResult ) throws Exception { - master.returnScmResult( scmResult ); - log.info( "Returning the scm result." ); + Boolean result = null; + + try + { + result = master.returnScmResult( scmResult ); + log.info( "Returning the scm result." ); + } + catch ( Exception e ) + { + log.error( "Failed to return the SCM result.", e ); + throw new Exception( "Failed to return the SCM result", e); + } + + return result; } - public boolean ping() + public Boolean ping() throws Exception { - boolean result = master.ping(); + Boolean result = null; - log.info( "Ping " + (result ? "ok" : "failed") ); + try + { + result = master.ping(); + log.info( "Ping " + ( result.booleanValue() ? "ok" : "failed" ) ); + } + catch ( Exception e ) + { + log.info( "Ping error" ); + throw new Exception( "Ping error", e ); + } return result; } Index: continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-slave/src/main/java/org/apache/continuum/distributed/transport/slave/DefaultSlaveBuildAgentTransportService.java =================================================================== --- continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-slave/src/main/java/org/apache/continuum/distributed/transport/slave/DefaultSlaveBuildAgentTransportService.java (revision 725375) +++ continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-slave/src/main/java/org/apache/continuum/distributed/transport/slave/DefaultSlaveBuildAgentTransportService.java (working copy) @@ -37,25 +37,31 @@ { private Logger log = LoggerFactory.getLogger( this.getClass() ); - private ContinuumBuildAgentService buildAgentService; + private ContinuumBuildAgentService continuumBuildAgentService; - public DefaultSlaveBuildAgentTransportService() + public DefaultSlaveBuildAgentTransportService( ContinuumBuildAgentService continuumBuildAgentService ) { - log.info( "asdfasdfasdfasdf" ); + this.continuumBuildAgentService = continuumBuildAgentService; } - public void buildProjects( List projectsBuildContext ) + public Boolean buildProjects( List projectsBuildContext ) throws Exception { + Boolean result = Boolean.FALSE; + try { - buildAgentService.buildProjects( projectsBuildContext ); + continuumBuildAgentService.buildProjects( projectsBuildContext ); + result = Boolean.TRUE; + log.info( "Building projects." ); } catch ( ContinuumBuildAgentException e ) { log.error( "Failed to build projects.", e ); } + + return result; } public List getAvailableInstallations() @@ -65,7 +71,7 @@ try { - installations = buildAgentService.getAvailableInstallations(); + installations = continuumBuildAgentService.getAvailableInstallations(); log.info( "Available installations: " + installations.size() ); } catch ( ContinuumBuildAgentException e ) @@ -83,7 +89,7 @@ try { - buildAgentService.getBuildResult( projectId ); + continuumBuildAgentService.getBuildResult( projectId ); log.info( "Build result for project " + projectId + " acquired." ); } catch ( ContinuumBuildAgentException e ) @@ -94,41 +100,38 @@ return buildResult; } - public int getProjectCurrentlyBuilding() + public Integer getProjectCurrentlyBuilding() throws Exception { - int projectId = buildAgentService.getProjectCurrentlyBuilding(); + Integer projectId = new Integer( continuumBuildAgentService.getProjectCurrentlyBuilding() ); - log.info( "Currently building project " + projectId ); + log.info( "Currently building project " + projectId.intValue() ); return projectId; } - public boolean isBusy() + public Boolean isBusy() throws Exception { - boolean busy = buildAgentService.isBusy(); + Boolean busy = null; + try + { + busy = new Boolean( continuumBuildAgentService.isBusy() ); + log.info( "Build agent is " + ( busy ? "" : "not" ) + " busy." ); + } + catch ( ContinuumBuildAgentException e ) + { + log.error( "Failed to determine if master is busy.", e ); + } - log.info( "Build agent is " + ( busy ? "" : "not" ) + " busy." ); - return busy; } - public boolean ping() + public Boolean ping() throws Exception { log.info( "Ping ok" ); - return true; + return Boolean.TRUE; } - - public ContinuumBuildAgentService getBuildAgentService() - { - return buildAgentService; - } - - public void setBuildAgentService( ContinuumBuildAgentService buildAgentService ) - { - this.buildAgentService = buildAgentService; - } } Index: continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-master/src/main/java/org/apache/continuum/distributed/transport/master/ProxySlaveAgentTransportService.java =================================================================== --- continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-master/src/main/java/org/apache/continuum/distributed/transport/master/ProxySlaveAgentTransportService.java (revision 725375) +++ continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-master/src/main/java/org/apache/continuum/distributed/transport/master/ProxySlaveAgentTransportService.java (working copy) @@ -25,12 +25,14 @@ import org.apache.continuum.buildagent.model.Installation; import org.apache.continuum.distributed.transport.SlaveBuildAgentTransportService; -import org.apache.xmlrpc.client.XmlRpcClient; -import org.apache.xmlrpc.client.XmlRpcClientConfigImpl; -import org.apache.xmlrpc.client.util.ClientFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.atlassian.xmlrpc.AuthenticationInfo; +import com.atlassian.xmlrpc.Binder; +import com.atlassian.xmlrpc.BindingException; +import com.atlassian.xmlrpc.DefaultBinder; + /** * ProxySlaveAgentTransportService */ @@ -41,51 +43,46 @@ private SlaveBuildAgentTransportService slave; - private XmlRpcClient client; - public ProxySlaveAgentTransportService( URL serviceUrl ) + throws Exception { this( serviceUrl, null, null ); } public ProxySlaveAgentTransportService( URL serviceUrl, String login, String password ) + throws Exception { - XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl() + Binder binder = new DefaultBinder(); + AuthenticationInfo authnInfo = new AuthenticationInfo( login, password ); + + try { - public boolean isEnabledForExtensions() - { - return true; - } - }; - - if ( login != null && !"".equals( login ) ) + slave = binder.bind( SlaveBuildAgentTransportService.class, serviceUrl, authnInfo ); + } + catch ( BindingException e ) { - config.setBasicUserName( login ); - config.setBasicPassword( password ); + log.error( "Can't bind service interface " + SlaveBuildAgentTransportService.class.getName() + " to " + serviceUrl.toExternalForm() + " using " + authnInfo.getUsername() + ", " + authnInfo.getPassword(), e ); + throw new Exception( "Can't bind service interface " + SlaveBuildAgentTransportService.class.getName() + " to " + serviceUrl.toExternalForm() + " using " + authnInfo.getUsername() + ", " + authnInfo.getPassword(), e); } - config.setServerURL( serviceUrl ); - - client = new XmlRpcClient(); - client.setConfig( config ); - ClientFactory factory = new ClientFactory( client ); - slave = (SlaveBuildAgentTransportService) factory.newInstance( SlaveBuildAgentTransportService.class ); } - public void buildProjects( List projectsBuildContext ) + public Boolean buildProjects( List projectsBuildContext ) throws Exception { + Boolean result = null; + try { - //slave.buildProjects( projectsBuildContext ); + result = slave.buildProjects( projectsBuildContext ); log.info( "Building projects." ); - Thread.sleep( 2000000 ); - log.info( "Build finished" ); } catch ( Exception e ) { log.error( "Failed to build projects.", e ); throw new Exception( "Failed to build projects.", e ); } + + return result; } public List getAvailableInstallations() @@ -114,7 +111,7 @@ try { - slave.getBuildResult( projectId ); + buildResult = slave.getBuildResult( projectId ); log.info( "Build result for project " + projectId + " acquired." ); } catch ( Exception e ) @@ -126,34 +123,60 @@ return buildResult; } - public int getProjectCurrentlyBuilding() + public Integer getProjectCurrentlyBuilding() throws Exception { - int projectId = slave.getProjectCurrentlyBuilding(); + Integer projectId = null; - log.info( "Currently building project " + projectId ); + try + { + projectId = slave.getProjectCurrentlyBuilding(); + log.info( "Currently building project " + projectId ); + } + catch ( Exception e ) + { + log.error( "Failed to get the currently building project", e ); + throw new Exception( "Failed to get the currently building project", e ); + } return projectId; } - public boolean isBusy() + public Boolean isBusy() throws Exception { - boolean busy = slave.isBusy(); + Boolean busy = null; - log.info( "Build agent is " + ( busy ? "" : "not" ) + " busy." ); + try + { + busy = slave.isBusy(); + log.info( "Build agent is " + ( busy.booleanValue() ? "" : "not" ) + " busy." ); + } + catch ( Exception e ) + { + log.error( "Failed to determine if the build agent is busy.", e ); + throw new Exception( "Failed to determine if the build agent is busy.", e ); + } return busy; } - public boolean ping() + public Boolean ping() throws Exception { - //boolean result = slave.ping(); - boolean result = true; - - log.info( "Ping " + (result ? "ok" : "failed") ); + Boolean result = null; + try + { + result = slave.ping(); + log.info( "Ping " + ( result.booleanValue() ? "ok" : "failed" ) ); + } + catch ( Exception e ) + { + log.info( "Ping error" ); + throw new Exception( "Ping error", e ); + } + return result; } } Index: continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-master/src/main/java/org/apache/continuum/distributed/transport/master/DefaultMasterBuildAgentTransportService.java =================================================================== --- continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-master/src/main/java/org/apache/continuum/distributed/transport/master/DefaultMasterBuildAgentTransportService.java (revision 725375) +++ continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-master/src/main/java/org/apache/continuum/distributed/transport/master/DefaultMasterBuildAgentTransportService.java (working copy) @@ -33,23 +33,27 @@ { private Logger log = LoggerFactory.getLogger( this.getClass() ); - public void returnBuildResult( Map buildResult ) + public Boolean returnBuildResult( Map buildResult ) throws Exception { log.info( "Build result returned." ); + + return Boolean.TRUE; } - public void returnScmResult( Map scmResult ) + public Boolean returnScmResult( Map scmResult ) throws Exception { log.info( "SCM result returned." ); + + return Boolean.TRUE; } - public boolean ping() + public Boolean ping() throws Exception { - log.info( "Ping" ); + log.info( "Ping ok" ); - return true; + return Boolean.TRUE; } } Index: continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-master/pom.xml =================================================================== --- continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-master/pom.xml (revision 725375) +++ continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-master/pom.xml (working copy) @@ -33,29 +33,4 @@ continuum-distributed-build-transport-common - - - - org.codehaus.mojo - exec-maven-plugin - 1.1 - - - - exec - - - - - java - org.apache.continuum.distributed.transport.master.SampleClient - - http://localhost:9191/xmlrpc - login - password - - - - - Index: continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-tests/src/test/it/org/apache/continuum/distributed/transport/tests/SlaveBuildAgentTransportServiceTest.java =================================================================== --- continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-tests/src/test/it/org/apache/continuum/distributed/transport/tests/SlaveBuildAgentTransportServiceTest.java (revision 0) +++ continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-tests/src/test/it/org/apache/continuum/distributed/transport/tests/SlaveBuildAgentTransportServiceTest.java (revision 0) @@ -0,0 +1,122 @@ +package org.apache.continuum.distributed.transport.tests; + +/* + * 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 java.net.URL; +import java.util.Collections; + +import junit.framework.TestCase; + +import org.apache.continuum.distributed.transport.SlaveBuildAgentTransportService; +import org.apache.continuum.distributed.transport.master.ProxySlaveAgentTransportService; +import org.springframework.beans.factory.BeanFactory; +import org.springframework.beans.factory.xml.XmlBeanFactory; +import org.springframework.core.io.ClassPathResource; + +/** + * SlaveBuildAgentTransportServiceTest + */ +public class SlaveBuildAgentTransportServiceTest + extends TestCase +{ + private SlaveBuildAgentTransportService slaveProxy; + + private BeanFactory beanFactory = new XmlBeanFactory( new ClassPathResource( "applicationContext.xml" ) ); + + protected void setUp() + throws Exception + { + super.setUp(); + + slaveProxy = new ProxySlaveAgentTransportService( new URL( "http://localhost:9191/slave-xmlrpc"), null , null ); + } + + public void testBuildProjects() + { + try + { + slaveProxy.buildProjects( Collections.EMPTY_LIST ); + } + catch ( Exception e ) + { + fail( e.getMessage() ); + } + } + + public void testGetAvailableInstallations() + { + try + { + slaveProxy.getAvailableInstallations(); + } + catch ( Exception e ) + { + fail( e.getMessage() ); + } + } + + public void testGetBuildResult() + { + try + { + slaveProxy.getBuildResult( 0 ); + } + catch ( Exception e ) + { + fail( e.getMessage() ); + } + } + + public void testGetProjectCurrentlyBuilding() + { + try + { + slaveProxy.getProjectCurrentlyBuilding(); + } + catch ( Exception e ) + { + fail( e.getMessage() ); + } + } + + public void testIsBusy() + { + try + { + slaveProxy.isBusy().booleanValue(); + } + catch ( Exception e ) + { + fail( e.getMessage() ); + } + } + + public void testPing() + { + try + { + slaveProxy.ping(); + } + catch ( Exception e ) + { + fail( e.getMessage() ); + } + } +} Index: continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-tests/src/test/it/org/apache/continuum/distributed/transport/tests/MasterBuildAgentTransportServiceTest.java =================================================================== --- continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-tests/src/test/it/org/apache/continuum/distributed/transport/tests/MasterBuildAgentTransportServiceTest.java (revision 0) +++ continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-tests/src/test/it/org/apache/continuum/distributed/transport/tests/MasterBuildAgentTransportServiceTest.java (revision 0) @@ -0,0 +1,86 @@ +package org.apache.continuum.distributed.transport.tests; + +/* + * 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 java.net.URL; +import java.util.HashMap; + +import junit.framework.TestCase; + +import org.apache.continuum.distributed.transport.MasterBuildAgentTransportService; +import org.apache.continuum.distributed.transport.slave.ProxyMasterAgentTransportService; +import org.springframework.beans.factory.BeanFactory; +import org.springframework.beans.factory.xml.XmlBeanFactory; +import org.springframework.core.io.ClassPathResource; + +/** + * MasterBuildAgentTransportServiceTest + */ +public class MasterBuildAgentTransportServiceTest + extends TestCase +{ + private MasterBuildAgentTransportService masterProxy; + + private BeanFactory beanFactory = new XmlBeanFactory( new ClassPathResource( "applicationContext.xml" ) ); + + protected void setUp() + throws Exception + { + super.setUp(); + + masterProxy = new ProxyMasterAgentTransportService( new URL( "http://localhost:9191/master-xmlrpc"), null , null ); + } + + public void testReturnBuildResult() + { + try + { + masterProxy.returnBuildResult( new HashMap() ); + } + catch ( Exception e ) + { + fail( e.getMessage() ); + } + } + + public void testReturnScmResult() + { + try + { + masterProxy.returnScmResult( new HashMap() ); + } + catch ( Exception e ) + { + fail( e.getMessage() ); + } + } + + public void testPing() + { + try + { + masterProxy.ping(); + } + catch ( Exception e ) + { + fail( e.getMessage() ); + } + } +} Index: continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-tests/src/jetty-env.xml =================================================================== --- continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-tests/src/jetty-env.xml (revision 0) +++ continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-tests/src/jetty-env.xml (revision 0) @@ -0,0 +1,23 @@ + + + + + + Index: continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-tests/src/main/resources/applicationContext.xml =================================================================== --- continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-tests/src/main/resources/applicationContext.xml (revision 0) +++ continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-tests/src/main/resources/applicationContext.xml (revision 0) @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-tests/src/main/resources/log4j.xml =================================================================== --- continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-tests/src/main/resources/log4j.xml (revision 0) +++ continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-tests/src/main/resources/log4j.xml (revision 0) @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + Index: continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-tests/src/main/webapp/index.jsp =================================================================== --- continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-tests/src/main/webapp/index.jsp (revision 0) +++ continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-tests/src/main/webapp/index.jsp (revision 0) @@ -0,0 +1,5 @@ + + +

Hello World!

+ + Index: continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-tests/src/main/webapp/WEB-INF/web.xml =================================================================== --- continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-tests/src/main/webapp/WEB-INF/web.xml (revision 0) +++ continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-tests/src/main/webapp/WEB-INF/web.xml (revision 0) @@ -0,0 +1,61 @@ + + + + Continuum Distributed Build Transport Tests + + + org.springframework.web.context.ContextLoaderListener + + + + contextConfigLocation + + classpath*:/META-INF/spring-context.xml + classpath*:/applicationContext.xml + + + + + MasterXmlRpcServlet + + com.atlassian.xmlrpc.spring.BinderSpringXmlRpcServlet + + + serviceListBeanName + xmlrpcServicesList + + + enabledForExtensions + true + + 1 + + + + SlaveXmlRpcServlet + + com.atlassian.xmlrpc.spring.BinderSpringXmlRpcServlet + + + serviceListBeanName + xmlrpcServicesList + + + enabledForExtensions + true + + 1 + + + + MasterXmlRpcServlet + /master-xmlrpc + + + + SlaveXmlRpcServlet + /slave-xmlrpc + + Index: continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-tests/pom.xml =================================================================== --- continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-tests/pom.xml (revision 0) +++ continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-tests/pom.xml (revision 0) @@ -0,0 +1,113 @@ + + + + + continuum-distributed-build-transport + org.apache.continuum + 1.3.1-SNAPSHOT + + 4.0.0 + org.apache.continuum + continuum-distributed-build-transport-tests + war + Continuum :: Distributed Build :: Transport :: Tests + http://continuum.apache.org + + + org.apache.continuum + continuum-distributed-build-transport-slave + 1.3.1-SNAPSHOT + + + org.apache.continuum + continuum-distributed-build-transport-master + 1.3.1-SNAPSHOT + + + org.springframework + spring-web + 2.5.4 + + + + + src/test/it + + + org.mortbay.jetty + maven-jetty-plugin + 6.1.11 + + 10 + / + stopkey + 9192 + ${basedir}/src/jetty-env.xml + + + 9191 + 60000 + + + + + + start-jetty + pre-integration-test + + run + + + 0 + true + + + + stop-jetty + post-integration-test + + stop + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.4.3 + + true + + + + integration-tests + integration-test + + test + + + false + + + + + + + Index: continuum-distributed-build/continuum-distributed-build-transport/pom.xml =================================================================== --- continuum-distributed-build/continuum-distributed-build-transport/pom.xml (revision 725375) +++ continuum-distributed-build/continuum-distributed-build-transport/pom.xml (working copy) @@ -30,6 +30,7 @@ continuum-distributed-build-transport-common continuum-distributed-build-transport-master continuum-distributed-build-transport-slave + continuum-distributed-build-transport-tests Index: continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-common/src/main/java/org/apache/continuum/distributed/transport/SlaveBuildAgentTransportService.java =================================================================== --- continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-common/src/main/java/org/apache/continuum/distributed/transport/SlaveBuildAgentTransportService.java (revision 725375) +++ continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-common/src/main/java/org/apache/continuum/distributed/transport/SlaveBuildAgentTransportService.java (working copy) @@ -5,6 +5,8 @@ import org.apache.continuum.buildagent.model.Installation; +import com.atlassian.xmlrpc.ServiceObject; + /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -27,17 +29,18 @@ /** * SlaveBuildAgentTransportService */ +@ServiceObject( "SlaveBuildAgentTransportService" ) public interface SlaveBuildAgentTransportService { - void buildProjects( List projectsBuildContext ) throws Exception; + public Boolean buildProjects( List projectsBuildContext ) throws Exception; - Map getBuildResult( int projectId ) throws Exception; + public Map getBuildResult( int projectId ) throws Exception; - int getProjectCurrentlyBuilding() throws Exception; + public Integer getProjectCurrentlyBuilding() throws Exception; - List getAvailableInstallations() throws Exception; + public List getAvailableInstallations() throws Exception; - boolean isBusy() throws Exception; + public Boolean isBusy() throws Exception; - boolean ping() throws Exception; + public Boolean ping() throws Exception; } Index: continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-common/src/main/java/org/apache/continuum/distributed/transport/MasterBuildAgentTransportService.java =================================================================== --- continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-common/src/main/java/org/apache/continuum/distributed/transport/MasterBuildAgentTransportService.java (revision 725375) +++ continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-common/src/main/java/org/apache/continuum/distributed/transport/MasterBuildAgentTransportService.java (working copy) @@ -2,6 +2,8 @@ import java.util.Map; +import com.atlassian.xmlrpc.ServiceObject; + /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -24,11 +26,12 @@ /** * MasterBuildAgentTransportService */ +@ServiceObject( "MasterBuildAgentTransportService" ) public interface MasterBuildAgentTransportService { - void returnBuildResult( Map buildResult ) throws Exception; + public Boolean returnBuildResult( Map buildResult ) throws Exception; - void returnScmResult( Map scmResult ) throws Exception; + public Boolean returnScmResult( Map scmResult ) throws Exception; - boolean ping() throws Exception; + public Boolean ping() throws Exception; } Index: continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-common/pom.xml =================================================================== --- continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-common/pom.xml (revision 725375) +++ continuum-distributed-build/continuum-distributed-build-transport/continuum-distributed-build-transport-common/pom.xml (working copy) @@ -29,24 +29,19 @@ - org.apache.xmlrpc - xmlrpc-common - 3.0 + com.atlassian.xmlrpc + atlassian-xmlrpc-binder + 0.8.2 - org.apache.xmlrpc - xmlrpc-server - 3.0 + com.atlassian.xmlrpc + atlassian-xmlrpc-binder-server-spring + 0.8.2 - org.apache.xmlrpc - xmlrpc-client - 3.0 - - org.apache.continuum continuum-buildagent - 1.3-SNAPSHOT + 1.3.1-SNAPSHOT org.slf4j