continuum-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dand...@apache.org
Subject svn commit: r209882 - in /maven/continuum/trunk/continuum-xfire: ./ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/maven/ src/main/java/org/apache/maven/continuum/ src/main/java/org/apache/maven/cont...
Date Fri, 08 Jul 2005 20:42:33 GMT
Author: dandiep
Date: Fri Jul  8 13:42:29 2005
New Revision: 209882

URL: http://svn.apache.org/viewcvs?rev=209882&view=rev
Log:
Adding SOAP support

Added:
    maven/continuum/trunk/continuum-xfire/
    maven/continuum/trunk/continuum-xfire/pom.xml
    maven/continuum/trunk/continuum-xfire/src/
    maven/continuum/trunk/continuum-xfire/src/main/
    maven/continuum/trunk/continuum-xfire/src/main/java/
    maven/continuum/trunk/continuum-xfire/src/main/java/org/
    maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/
    maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/
    maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/
    maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/
    maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/Build.java
    maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/CheckOutScmResult.java
    maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/ContinuumClientFactory.java
    maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/ContinuumWebService.java
    maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/DelegatingContinuumWebService.java
    maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/Developer.java
    maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/Project.java
    maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/UpdateScmResult.java
    maven/continuum/trunk/continuum-xfire/src/main/resources/
    maven/continuum/trunk/continuum-xfire/src/main/resources/META-INF/
    maven/continuum/trunk/continuum-xfire/src/main/resources/META-INF/plexus/
    maven/continuum/trunk/continuum-xfire/src/main/resources/META-INF/plexus/components.xml
    maven/continuum/trunk/continuum-xfire/src/main/resources/org/
    maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/
    maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/
    maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/
    maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/
    maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/Build.aegis.xml
    maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/CheckOutScmResult.aegis.xml
    maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/ContinuumWebService.aegis.xml
    maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/Developer.aegis.xml
    maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/Project.aegis.xml
    maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/UpdateScmResult.aegis.xml
    maven/continuum/trunk/continuum-xfire/src/test/
    maven/continuum/trunk/continuum-xfire/src/test/java/
    maven/continuum/trunk/continuum-xfire/src/test/java/org/
    maven/continuum/trunk/continuum-xfire/src/test/java/org/apache/
    maven/continuum/trunk/continuum-xfire/src/test/java/org/apache/maven/
    maven/continuum/trunk/continuum-xfire/src/test/java/org/apache/maven/continuum/
    maven/continuum/trunk/continuum-xfire/src/test/java/org/apache/maven/continuum/xfire/
    maven/continuum/trunk/continuum-xfire/src/test/java/org/apache/maven/continuum/xfire/ClientTest.java
    maven/continuum/trunk/continuum-xfire/src/test/java/org/apache/maven/continuum/xfire/ContinuumXFireTest.java
    maven/continuum/trunk/continuum-xfire/src/test/resources/
    maven/continuum/trunk/continuum-xfire/src/test/resources/log4j.properties
    maven/continuum/trunk/continuum-xfire/src/test/resources/org/
    maven/continuum/trunk/continuum-xfire/src/test/resources/org/apache/
    maven/continuum/trunk/continuum-xfire/src/test/resources/org/apache/maven/
    maven/continuum/trunk/continuum-xfire/src/test/resources/org/apache/maven/continuum/
    maven/continuum/trunk/continuum-xfire/src/test/resources/org/apache/maven/continuum/xfire/
    maven/continuum/trunk/continuum-xfire/src/test/resources/org/apache/maven/continuum/xfire/ContinuumXFireTest.xml

Added: maven/continuum/trunk/continuum-xfire/pom.xml
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-xfire/pom.xml?rev=209882&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-xfire/pom.xml (added)
+++ maven/continuum/trunk/continuum-xfire/pom.xml Fri Jul  8 13:42:29 2005
@@ -0,0 +1,78 @@
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.maven.continuum</groupId>
+    <artifactId>continuum-parent</artifactId>
+    <version>1.0</version>
+  </parent>
+  <version>1.0-alpha-3-SNAPSHOT</version>
+  <artifactId>continuum-xfire</artifactId>
+  <name>Continuum XFire Interface</name>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven.continuum</groupId>
+      <artifactId>continuum-model</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.continuum</groupId>
+      <artifactId>continuum-core</artifactId>
+    </dependency>
+    <!-- XFire dependencies -->
+    <dependency>
+      <groupId>org.codehaus.xfire</groupId>
+      <artifactId>xfire-annotations</artifactId>
+      <version>1.0-20050708.185435-12</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.xfire</groupId>
+      <artifactId>xfire-core</artifactId>
+      <version>1.0-20050708.185435-12</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.xfire</groupId>
+      <artifactId>xfire-aegis</artifactId>
+      <version>1.0-20050708.185435-12</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.xfire</groupId>
+      <artifactId>xfire-plexus</artifactId>
+      <version>1.0-20050708.185435-12</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.codehaus.xfire</groupId>
+          <artifactId>xfire-xmpp</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+  </dependencies>
+  <build>
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+        <includes>
+          <include>**/*.xml</include>
+        </includes>
+      </resource>
+      <resource>
+        <directory>src/test/resources</directory>
+        <includes>
+          <include>**/*.xml</include>
+        </includes>
+      </resource>
+    </resources>
+    <plugins>
+      <plugin>
+        <artifactId>maven-commons-attributes-plugin</artifactId>
+        <version>1.0-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <id>foo</id>
+            <goals>
+              <goal>compile</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

Added: maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/Build.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/Build.java?rev=209882&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/Build.java (added)
+++ maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/Build.java Fri Jul  8 13:42:29 2005
@@ -0,0 +1,118 @@
+package org.apache.maven.continuum.xfire;
+
+import java.util.Date;
+
+public class Build
+{
+    private String id;
+    private int state;
+    private boolean forced;
+    private Date startTime;
+    private Date endTime;
+    private String error;
+    private String standardOutput;
+    private String standardError;
+    private int exitCode;
+    
+    private UpdateScmResult updateScmResult;
+
+    public Date getEndTime()
+    {
+        return endTime;
+    }
+
+    public void setEndTime(Date endTime)
+    {
+        this.endTime = endTime;
+    }
+
+    public String getError()
+    {
+        return error;
+    }
+
+    public void setError(String error)
+    {
+        this.error = error;
+    }
+
+    public int getExitCode()
+    {
+        return exitCode;
+    }
+
+    public void setExitCode(int exitCode)
+    {
+        this.exitCode = exitCode;
+    }
+
+    public boolean isForced()
+    {
+        return forced;
+    }
+
+    public void setForced(boolean forced)
+    {
+        this.forced = forced;
+    }
+
+    public String getId()
+    {
+        return id;
+    }
+
+    public void setId(String id)
+    {
+        this.id = id;
+    }
+
+    public String getStandardError()
+    {
+        return standardError;
+    }
+
+    public void setStandardError(String standardError)
+    {
+        this.standardError = standardError;
+    }
+
+    public String getStandardOutput()
+    {
+        return standardOutput;
+    }
+
+    public void setStandardOutput(String standardOutput)
+    {
+        this.standardOutput = standardOutput;
+    }
+
+    public Date getStartTime()
+    {
+        return startTime;
+    }
+
+    public void setStartTime(Date startTime)
+    {
+        this.startTime = startTime;
+    }
+
+    public int getState()
+    {
+        return state;
+    }
+
+    public void setState(int state)
+    {
+        this.state = state;
+    }
+
+    public UpdateScmResult getUpdateScmResult()
+    {
+        return updateScmResult;
+    }
+
+    public void setUpdateScmResult(UpdateScmResult updateScmResult)
+    {
+        this.updateScmResult = updateScmResult;
+    }
+}

Added: maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/CheckOutScmResult.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/CheckOutScmResult.java?rev=209882&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/CheckOutScmResult.java (added)
+++ maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/CheckOutScmResult.java Fri Jul  8 13:42:29 2005
@@ -0,0 +1,59 @@
+package org.apache.maven.continuum.xfire;
+
+/*
+ * Copyright 2004-2005 The Apache Software Foundation.
+ *
+ * Licensed 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.util.List;
+
+public class CheckOutScmResult
+{
+    private List checkedOutFiles;
+    private boolean success;
+    private String providerMessage;
+    private String commandOutput;
+    
+    public List getCheckedOutFiles()
+    {
+        return checkedOutFiles;
+    }
+    public void setCheckedOutFiles(List checkedOutFiles)
+    {
+        this.checkedOutFiles = checkedOutFiles;
+    }
+    public String getCommandOutput()
+    {
+        return commandOutput;
+    }
+    public void setCommandOutput(String commandOutput)
+    {
+        this.commandOutput = commandOutput;
+    }
+    public String getProviderMessage()
+    {
+        return providerMessage;
+    }
+    public void setProviderMessage(String providerMessage)
+    {
+        this.providerMessage = providerMessage;
+    }
+    public boolean isSuccess()
+    {
+        return success;
+    }
+    public void setSuccess(boolean success)
+    {
+        this.success = success;
+    }
+}

Added: maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/ContinuumClientFactory.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/ContinuumClientFactory.java?rev=209882&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/ContinuumClientFactory.java (added)
+++ maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/ContinuumClientFactory.java Fri Jul  8 13:42:29 2005
@@ -0,0 +1,40 @@
+package org.apache.maven.continuum.xfire;
+
+/*
+ * Copyright 2004-2005 The Apache Software Foundation.
+ *
+ * Licensed 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.MalformedURLException;
+
+import org.codehaus.xfire.annotations.AnnotationServiceFactory;
+import org.codehaus.xfire.annotations.commons.CommonsWebAttributes;
+import org.codehaus.xfire.client.XFireProxyFactory;
+import org.codehaus.xfire.service.Service;
+import org.codehaus.xfire.transport.http.SoapHttpTransport;
+
+public class ContinuumClientFactory
+{
+    public static ContinuumWebService createClient(String url) 
+        throws MalformedURLException
+    {
+        AnnotationServiceFactory asf = new AnnotationServiceFactory(new CommonsWebAttributes(), null, null);
+        
+        Service clientService = asf.create(ContinuumWebService.class);
+        
+        SoapHttpTransport transport = new SoapHttpTransport();
+        
+        XFireProxyFactory proxy = new XFireProxyFactory();
+        return (ContinuumWebService) proxy.create(transport, clientService, url);
+    }
+}

Added: maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/ContinuumWebService.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/ContinuumWebService.java?rev=209882&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/ContinuumWebService.java (added)
+++ maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/ContinuumWebService.java Fri Jul  8 13:42:29 2005
@@ -0,0 +1,102 @@
+package org.apache.maven.continuum.xfire;
+
+/*
+ * Copyright 2004-2005 The Apache Software Foundation.
+ *
+ * Licensed 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.util.Collection;
+
+import org.codehaus.xfire.fault.XFireFault;
+
+import org.codehaus.xfire.annotations.commons.*;
+
+/**
+ * @@WebService(name = "Continuum", targetNamespace = "http://continuum.maven.apache.org")
+ */
+public interface ContinuumWebService
+{
+    String ROLE = ContinuumWebService.class.getName();
+
+    /**
+     * @@WebMethod()
+     * @@.projectId WebParam("ProjectId")
+     * @@.return WebResult("Project")
+     */ 
+    Project getProject(String projectId) throws XFireFault;
+    
+    /**
+     * @@WebMethod()
+     * @@.projectInfo WebParam("Project")
+     */ 
+    void updateProject(Project projectInfo) throws XFireFault;
+    
+    /**
+     * @@WebMethod()
+     * @@.project WebParam("Project")
+     * @@.return WebResult("ProjectId")
+     */ 
+    String addProject(Project project) throws XFireFault;
+
+    /**
+     * @@WebMethod()
+     * @@.projectId WebParam("ProjectId")
+     * @@.return WebResult("Builds")
+     */ 
+    Collection getBuilds(String projectId) throws XFireFault;
+    
+    /**
+     * @@WebMethod()
+     * @@.return WebResult("Projects")
+     */ 
+    Collection getProjects() throws XFireFault;
+    
+    /**
+     * @@WebMethod()
+     * @throws XFireFault 
+     * @@.projectId WebParam("ProjectId")
+     * @@.return WebResult("Build")
+     */ 
+    Build getLatestBuild( String projectId ) throws XFireFault;
+    
+    /**
+     * @@WebMethod()
+     * @@.projectId WebParam("ProjectId")
+     */
+    void removeProject( String projectId )
+        throws XFireFault;
+
+    /**
+     * @@WebMethod()
+     * @@.projectId WebParam("ProjectId")
+     * @@.force WebResult("Force")
+     */ 
+    void buildProject( String projectId, boolean force )
+        throws XFireFault;
+    
+    /**
+     * @@WebMethod()
+     * @@.id WebParam("ProjectId")
+     */
+    void checkoutProject( String id )
+        throws XFireFault;
+    
+    /**
+     * @@WebMethod()
+     * @@.projectId WebParam("ProjectId")
+     * @@.return WebResult(name="CheckOutScmResult", targetNamespace="http://continuum.maven.apache.org")
+     */
+    CheckOutScmResult getCheckOutScmResult( String projectId )
+        throws XFireFault;
+
+}

Added: maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/DelegatingContinuumWebService.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/DelegatingContinuumWebService.java?rev=209882&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/DelegatingContinuumWebService.java (added)
+++ maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/DelegatingContinuumWebService.java Fri Jul  8 13:42:29 2005
@@ -0,0 +1,363 @@
+package org.apache.maven.continuum.xfire;
+
+/*
+ * Copyright 2004-2005 The Apache Software Foundation.
+ *
+ * Licensed 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.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.maven.continuum.Continuum;
+import org.apache.maven.continuum.ContinuumException;
+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;
+import org.apache.maven.continuum.project.ShellProject;
+import org.apache.maven.continuum.scm.ScmFile;
+import org.codehaus.xfire.fault.XFireFault;
+
+public class DelegatingContinuumWebService
+    implements ContinuumWebService
+{
+    Continuum continuum; 
+
+    public void checkoutProject(String id)
+        throws XFireFault
+    {
+        try
+        {
+            continuum.checkoutProject(id);
+        }
+        catch (ContinuumException e)
+        {
+            throw new XFireFault(e.getCause());
+        }
+    }
+
+    public String addProject(Project projectInfo)
+        throws XFireFault
+    {
+        try
+        {
+            if (projectInfo.getType().equals("maven-one"))
+            {
+                MavenOneProject project = new MavenOneProject();
+                project.setGoals(projectInfo.getGoals());
+                
+                convertToLocal(projectInfo, project);
+
+                return continuum.addMavenOneProject(project);
+            }
+            else if (projectInfo.getType().equals("maven-two"))
+            {
+                MavenTwoProject project = new MavenTwoProject();
+                project.setGoals(projectInfo.getGoals());
+                
+                convertToLocal(projectInfo, project);
+                
+                return continuum.addMavenTwoProject(project);
+            }
+            else if (projectInfo.getType().equals("shell"))
+            {
+                ShellProject project = new ShellProject();
+                project.setExecutable(projectInfo.getExecutable());
+                
+                convertToLocal(projectInfo, project);
+                
+                return continuum.addShellProject(project);
+            }
+            else if (projectInfo.getType().equals("ant"))
+            {
+                AntProject project = new AntProject();
+                project.setExecutable(projectInfo.getExecutable());
+                project.setTargets(projectInfo.getTargets());
+                
+                convertToLocal(projectInfo, project);
+                
+                return continuum.addAntProject(project);
+            }
+            else
+            {
+                throw new XFireFault("Invalid project type: " + projectInfo.getType() + 
+                                     ". Must be maven-one, maven-two, shell, or ant.", 
+                                     XFireFault.SENDER);
+            }
+        }
+        catch (Throwable e)
+        {
+            e.printStackTrace();
+            throw new XFireFault(e);
+        }
+    }
+
+    private void convertToLocal(Project info, ContinuumProject project)
+        throws XFireFault
+    {
+        project.setName(info.getName());
+        project.setVersion(info.getVersion());
+        project.setScmUrl(info.getScmUrl());
+        project.setUrl(info.getUrl());
+    }
+
+    public void buildProject(String projectId, boolean force)
+        throws XFireFault
+    {
+        try
+        {
+            continuum.buildProject(projectId, force);
+        }
+        catch (ContinuumException e)
+        {
+            throw new XFireFault(e);
+        }
+    }
+
+    public Collection getBuilds(String projectId) throws XFireFault
+    {
+        try
+        {
+            Collection localBuilds = continuum.getBuildsForProject(projectId);
+            ArrayList builds = new ArrayList();
+            
+            for (Iterator itr = localBuilds.iterator(); itr.hasNext();)
+            {
+                builds.add(convertToRemote((ContinuumBuild) itr.next()));
+            }
+            
+            return builds;
+        }
+        catch (ContinuumException e)
+        {
+            throw new XFireFault(e);
+        }
+    }
+
+
+    public CheckOutScmResult getCheckOutScmResult(String projectId)
+        throws XFireFault
+    {
+        try
+        {
+            org.apache.maven.continuum.scm.CheckOutScmResult localCSR = 
+                continuum.getCheckOutScmResultForProject(projectId);
+            
+            if (localCSR == null) return null;
+            
+            return convertToRemote(localCSR);
+        }
+        catch (ContinuumException e)
+        {
+            throw new XFireFault(e);
+        }
+    }
+
+    private CheckOutScmResult convertToRemote(org.apache.maven.continuum.scm.CheckOutScmResult localUSR)
+    {
+        CheckOutScmResult result = new CheckOutScmResult();
+        result.setCommandOutput(localUSR.getCommandOutput());
+        result.setProviderMessage(localUSR.getProviderMessage());
+        result.setSuccess(localUSR.isSuccess());
+        
+        ArrayList files = new ArrayList();
+        for (Iterator itr = localUSR.getCheckedOutFiles().iterator(); itr.hasNext();)
+        {
+            ScmFile file = (ScmFile) itr.next();
+            files.add(file.getPath());
+        }
+        result.setCheckedOutFiles(files);
+        
+        return result;
+    }
+
+    public Build getLatestBuild(String projectId) throws XFireFault
+    {
+        try
+        {
+            ContinuumBuild build = continuum.getLatestBuildForProject(projectId);
+            
+            return convertToRemote(build);
+        }
+        catch (ContinuumException e)
+        {
+            throw new XFireFault(e);
+        }
+    }
+
+
+    private Build convertToRemote(ContinuumBuild build)
+    {
+        Build remBuild = new Build();
+        remBuild.setEndTime(new Date(build.getEndTime()));
+        remBuild.setStartTime(new Date(build.getStartTime()));
+        remBuild.setError(build.getError());
+        remBuild.setExitCode(build.getExitCode());
+        remBuild.setForced(build.isForced());
+        remBuild.setId(build.getId());
+        remBuild.setStandardError(build.getStandardError());
+        remBuild.setStandardOutput(build.getStandardOutput());
+        remBuild.setState(build.getState());
+        remBuild.setUpdateScmResult(convertToRemote(build.getUpdateScmResult()));
+        return remBuild;
+    }
+
+    private UpdateScmResult convertToRemote(org.apache.maven.continuum.scm.UpdateScmResult localUSR)
+    {
+        UpdateScmResult result = new UpdateScmResult();
+        result.setCommandOutput(localUSR.getCommandOutput());
+        result.setProviderMessage(localUSR.getProviderMessage());
+        result.setSuccess(localUSR.isSuccess());
+        
+        ArrayList files = new ArrayList();
+        for (Iterator itr = localUSR.getUpdatedFiles().iterator(); itr.hasNext();)
+        {
+            ScmFile file = (ScmFile) itr.next();
+            files.add(file.getPath());
+        }
+        result.setUpdatedFiles(files);
+        
+        return result;
+    }
+
+    public Project getProject(String projectId)
+        throws XFireFault
+    {
+        try
+        {
+            ContinuumProject project = continuum.getProject(projectId);
+            return createProjectInfo(project);
+        }
+        catch (ContinuumException e)
+        {
+            throw new XFireFault(e);
+        }
+    }
+
+    private Project createProjectInfo(ContinuumProject project)
+        throws XFireFault
+    {
+        Project projectInfo = new Project();
+        projectInfo.setId(project.getId());
+        
+        convertToProjectInfo(project, projectInfo);
+        
+        return projectInfo;
+    }
+    
+    private void convertToProjectInfo(ContinuumProject project, Project projectInfo)
+        throws XFireFault
+    {
+        if (project instanceof MavenOneProject)
+        {
+            projectInfo.setGoals(((MavenOneProject)project).getGoals());
+            projectInfo.setType("maven-one");
+        }
+        else if (project instanceof MavenTwoProject)
+        {
+            projectInfo.setGoals(((MavenTwoProject)project).getGoals());
+            projectInfo.setType("maven-two");
+        }
+        else if (project instanceof ShellProject)
+        {
+            projectInfo.setExecutable(((ShellProject)project).getExecutable());
+            projectInfo.setType("shell");
+        }
+        else if (project instanceof AntProject)
+        {
+            projectInfo.setExecutable(((AntProject)project).getExecutable());
+            projectInfo.setTargets(((AntProject)project).getTargets());
+            projectInfo.setType("ant");
+        }
+        else
+        {
+            throw new XFireFault("Invalid project type for id " + project.getId(), 
+                                 XFireFault.SENDER);
+        }
+
+        projectInfo.setName(project.getName());
+        projectInfo.setVersion(project.getVersion());
+        projectInfo.setScmUrl(project.getScmUrl());
+        projectInfo.setUrl(project.getUrl());
+    }
+
+    public Collection getProjects() throws XFireFault
+    {
+        try
+        {
+            Collection projects = continuum.getProjects();
+            
+            List infos = new ArrayList();
+            for (Iterator itr = projects.iterator(); itr.hasNext();)
+            {
+                infos.add(createProjectInfo((ContinuumProject) itr.next()));
+            }
+            return infos;
+        }
+        catch (ContinuumException e)
+        {
+            throw new XFireFault(e);
+        }
+    }
+
+
+    public void removeProject(String projectId)
+        throws XFireFault
+    {
+        try
+        {
+            continuum.removeProject(projectId);
+        }
+        catch (ContinuumException e)
+        {
+            throw new XFireFault(e);
+        }
+    }
+
+
+    public void updateProject(Project projectInfo)
+        throws XFireFault
+    {
+        try
+        {
+            ContinuumProject project = continuum.getProject(projectInfo.getId());
+            
+            convertToLocal(projectInfo, project);
+            
+            if (project instanceof MavenOneProject)
+            {
+                continuum.updateMavenOneProject((MavenOneProject)project);
+            }
+            else if (project instanceof MavenTwoProject)
+            {
+                continuum.updateMavenTwoProject((MavenTwoProject)project);
+            }
+            else if (project instanceof ShellProject)
+            {
+                continuum.updateShellProject((ShellProject)project);
+            }
+            else if (project instanceof AntProject)
+            {
+                continuum.updateAntProject((AntProject)project);
+            }
+        }
+        catch (ContinuumException e)
+        {
+            throw new XFireFault(e);
+        }
+    }
+}

Added: maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/Developer.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/Developer.java?rev=209882&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/Developer.java (added)
+++ maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/Developer.java Fri Jul  8 13:42:29 2005
@@ -0,0 +1,39 @@
+package org.apache.maven.continuum.xfire;
+
+/*
+ * Copyright 2004-2005 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ */
+public class Developer
+{
+    private String name;
+    private String email;
+    
+    public String getEmail()
+    {
+        return email;
+    }
+    public void setEmail(String email)
+    {
+        this.email = email;
+    }
+    public String getName()
+    {
+        return name;
+    }
+    public void setName(String name)
+    {
+        this.name = name;
+    }
+}

Added: maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/Project.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/Project.java?rev=209882&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/Project.java (added)
+++ maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/Project.java Fri Jul  8 13:42:29 2005
@@ -0,0 +1,115 @@
+package org.apache.maven.continuum.xfire;
+
+/*
+ * Copyright 2004-2005 The Apache Software Foundation.
+ *
+ * Licensed 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.util.List;
+
+public class Project
+{
+    private String name;
+    private String version;
+    private List developers;
+    // private List notifiers;
+    private String scmUrl;
+    private String url;
+     private String id;
+    private String type;
+    
+    private String executable;
+    private String targets;
+    private String goals;
+    
+    public String getUrl()
+    {
+        return url;
+    }
+    public void setUrl(String url)
+    {
+        this.url = url;
+    }
+    public String getExecutable()
+    {
+        return executable;
+    }
+    public void setExecutable(String executable)
+    {
+        this.executable = executable;
+    }
+    public String getGoals()
+    {
+        return goals;
+    }
+    public void setGoals(String goals)
+    {
+        this.goals = goals;
+    }
+    public String getTargets()
+    {
+        return targets;
+    }
+    public void setTargets(String targets)
+    {
+        this.targets = targets;
+    }
+    public String getId()
+    {
+        return id;
+    }
+    public void setId(String id)
+    {
+        this.id = id;
+    }
+    public String getType()
+    {
+        return type;
+    }
+    public void setType(String type)
+    {
+        this.type = type;
+    }
+    public String getName()
+    {
+        return name;
+    }
+    public void setName(String name)
+    {
+        this.name = name;
+    }
+    public List getDevelopers()
+    {
+        return developers;
+    }
+    public void setDevelopers(List developers)
+    {
+        this.developers = developers;
+    }
+    public String getScmUrl()
+    {
+        return scmUrl;
+    }
+    public void setScmUrl(String scmUrl)
+    {
+        this.scmUrl = scmUrl;
+    }
+    public String getVersion()
+    {
+        return version;
+    }
+    public void setVersion(String version)
+    {
+        this.version = version;
+    }
+}

Added: maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/UpdateScmResult.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/UpdateScmResult.java?rev=209882&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/UpdateScmResult.java (added)
+++ maven/continuum/trunk/continuum-xfire/src/main/java/org/apache/maven/continuum/xfire/UpdateScmResult.java Fri Jul  8 13:42:29 2005
@@ -0,0 +1,59 @@
+package org.apache.maven.continuum.xfire;
+
+/*
+ * Copyright 2004-2005 The Apache Software Foundation.
+ *
+ * Licensed 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.util.List;
+
+public class UpdateScmResult
+{
+    private List updatedFiles;
+    private boolean success;
+    private String providerMessage;
+    private String commandOutput;
+    
+    public List getUpdatedFiles()
+    {
+        return updatedFiles;
+    }
+    public void setUpdatedFiles(List updatedFiles)
+    {
+        this.updatedFiles = updatedFiles;
+    }
+    public String getCommandOutput()
+    {
+        return commandOutput;
+    }
+    public void setCommandOutput(String commandOutput)
+    {
+        this.commandOutput = commandOutput;
+    }
+    public String getProviderMessage()
+    {
+        return providerMessage;
+    }
+    public void setProviderMessage(String providerMessage)
+    {
+        this.providerMessage = providerMessage;
+    }
+    public boolean isSuccess()
+    {
+        return success;
+    }
+    public void setSuccess(boolean success)
+    {
+        this.success = success;
+    }
+}

Added: maven/continuum/trunk/continuum-xfire/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-xfire/src/main/resources/META-INF/plexus/components.xml?rev=209882&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-xfire/src/main/resources/META-INF/plexus/components.xml (added)
+++ maven/continuum/trunk/continuum-xfire/src/main/resources/META-INF/plexus/components.xml Fri Jul  8 13:42:29 2005
@@ -0,0 +1,44 @@
+<component-set>
+  <components>
+
+    <component>
+      <role>org.apache.maven.continuum.xfire.ContinuumWebService</role>
+      <implementation>org.apache.maven.continuum.xfire.DelegatingContinuumWebService</implementation>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.continuum.Continuum</role>
+        </requirement>
+      </requirements>
+    </component>
+    
+    <!--
+     |
+     | XFire
+     |
+     |-->
+
+    <component>
+      <role>org.codehaus.xfire.plexus.config.ConfigurationService</role>
+      <implementation>org.codehaus.xfire.plexus.config.DefaultConfigurationService</implementation>
+      <configuration>
+        <services>
+          <service>
+            
+            <name>Continuum</name>
+            <namespace>http://continuum.maven.apache.org/</namespace>
+            <serviceClass>org.apache.maven.continuum.xfire.ContinuumWebService</serviceClass>
+            <annotations>org.codehaus.xfire.annotations.commons.CommonsWebAttributes</annotations>
+            
+          </service>
+        </services>
+      </configuration>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.xfire.plexus.config.Configurator</role>
+          <role-hint>annotation</role-hint>
+        </requirement>
+      </requirements>
+    </component>
+    
+  </components>
+</component-set>

Added: maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/Build.aegis.xml
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/Build.aegis.xml?rev=209882&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/Build.aegis.xml (added)
+++ maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/Build.aegis.xml Fri Jul  8 13:42:29 2005
@@ -0,0 +1,3 @@
+<mappings xmlns:c="http://continuum.maven.apache.org/">
+  <mapping name="c:Build"/>
+</mappings>
\ No newline at end of file

Added: maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/CheckOutScmResult.aegis.xml
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/CheckOutScmResult.aegis.xml?rev=209882&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/CheckOutScmResult.aegis.xml (added)
+++ maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/CheckOutScmResult.aegis.xml Fri Jul  8 13:42:29 2005
@@ -0,0 +1,5 @@
+<mappings xmlns:c="http://continuum.maven.apache.org/">
+  <mapping name="c:CheckOutScmResult">
+    <property name="checkedOutFiles" componentType="java.lang.String"/>
+  </mapping>
+</mappings>
\ No newline at end of file

Added: maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/ContinuumWebService.aegis.xml
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/ContinuumWebService.aegis.xml?rev=209882&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/ContinuumWebService.aegis.xml (added)
+++ maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/ContinuumWebService.aegis.xml Fri Jul  8 13:42:29 2005
@@ -0,0 +1,10 @@
+<mappings xmlns:c="http://continuum.maven.apache.org">
+  <mapping>
+    <method name="getBuilds">
+      <return-type componentType="org.apache.maven.continuum.xfire.Build"/>
+    </method>
+    <method name="getProjects">
+      <return-type componentType="org.apache.maven.continuum.xfire.Project"/>
+    </method>
+  </mapping>
+</mappings>
\ No newline at end of file

Added: maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/Developer.aegis.xml
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/Developer.aegis.xml?rev=209882&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/Developer.aegis.xml (added)
+++ maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/Developer.aegis.xml Fri Jul  8 13:42:29 2005
@@ -0,0 +1,3 @@
+<mappings xmlns:c="http://continuum.maven.apache.org/">
+  <mapping name="c:Developer"/>
+</mappings>
\ No newline at end of file

Added: maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/Project.aegis.xml
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/Project.aegis.xml?rev=209882&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/Project.aegis.xml (added)
+++ maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/Project.aegis.xml Fri Jul  8 13:42:29 2005
@@ -0,0 +1,5 @@
+<mappings xmlns:c="http://continuum.maven.apache.org/">
+  <mapping name="c:Project">
+    <property name="developers" componentType="org.apache.maven.continuum.xfire.Developer"/>
+  </mapping>
+</mappings>
\ No newline at end of file

Added: maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/UpdateScmResult.aegis.xml
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/UpdateScmResult.aegis.xml?rev=209882&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/UpdateScmResult.aegis.xml (added)
+++ maven/continuum/trunk/continuum-xfire/src/main/resources/org/apache/maven/continuum/xfire/UpdateScmResult.aegis.xml Fri Jul  8 13:42:29 2005
@@ -0,0 +1,5 @@
+<mappings xmlns:c="http://continuum.maven.apache.org/">
+  <mapping name="c:UpdateScmResult">
+    <property name="updatedFiles" componentType="java.lang.String"/>
+  </mapping>
+</mappings>
\ No newline at end of file

Added: maven/continuum/trunk/continuum-xfire/src/test/java/org/apache/maven/continuum/xfire/ClientTest.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-xfire/src/test/java/org/apache/maven/continuum/xfire/ClientTest.java?rev=209882&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-xfire/src/test/java/org/apache/maven/continuum/xfire/ClientTest.java (added)
+++ maven/continuum/trunk/continuum-xfire/src/test/java/org/apache/maven/continuum/xfire/ClientTest.java Fri Jul  8 13:42:29 2005
@@ -0,0 +1,44 @@
+package org.apache.maven.continuum.xfire;
+
+/*
+ * Copyright 2004-2005 The Apache Software Foundation.
+ *
+ * Licensed 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.project.ContinuumProject;
+import org.codehaus.xfire.client.XFireProxyFactory;
+import org.codehaus.xfire.fault.XFireFault;
+import org.codehaus.xfire.plexus.PlexusXFireTest;
+import org.codehaus.xfire.plexus.config.ConfigurationService;
+import org.codehaus.xfire.service.Service;
+import org.codehaus.xfire.service.ServiceRegistry;
+import org.codehaus.xfire.soap.SoapConstants;
+import org.codehaus.xfire.transport.Channel;
+import org.codehaus.xfire.transport.local.LocalTransport;
+import org.codehaus.xfire.wsdl.WSDLWriter;
+import org.codehaus.yom.Document;
+
+/**
+ * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
+ * @version $Id: XmlRpcHelperTest.java,v 1.1.1.1 2005/03/29 20:42:10 trygvis Exp $
+ */
+public class ClientTest
+    extends PlexusXFireTest
+{
+    public void testService() throws Exception
+    {
+        ContinuumWebService service = 
+            ContinuumClientFactory.createClient("http://localhost/continuum/service/Continuum");
+    }
+}

Added: maven/continuum/trunk/continuum-xfire/src/test/java/org/apache/maven/continuum/xfire/ContinuumXFireTest.java
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-xfire/src/test/java/org/apache/maven/continuum/xfire/ContinuumXFireTest.java?rev=209882&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-xfire/src/test/java/org/apache/maven/continuum/xfire/ContinuumXFireTest.java (added)
+++ maven/continuum/trunk/continuum-xfire/src/test/java/org/apache/maven/continuum/xfire/ContinuumXFireTest.java Fri Jul  8 13:42:29 2005
@@ -0,0 +1,105 @@
+package org.apache.maven.continuum.xfire;
+
+/*
+ * Copyright 2004-2005 The Apache Software Foundation.
+ *
+ * Licensed 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.util.Collection;
+
+import org.apache.maven.continuum.project.ContinuumProject;
+import org.codehaus.xfire.client.XFireProxyFactory;
+import org.codehaus.xfire.fault.XFireFault;
+import org.codehaus.xfire.plexus.PlexusXFireTest;
+import org.codehaus.xfire.plexus.config.ConfigurationService;
+import org.codehaus.xfire.service.Service;
+import org.codehaus.xfire.service.ServiceRegistry;
+import org.codehaus.xfire.soap.SoapConstants;
+import org.codehaus.xfire.transport.Channel;
+import org.codehaus.xfire.transport.local.LocalTransport;
+import org.codehaus.xfire.wsdl.WSDLWriter;
+import org.codehaus.yom.Document;
+
+/**
+ * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
+ * @version $Id: XmlRpcHelperTest.java,v 1.1.1.1 2005/03/29 20:42:10 trygvis Exp $
+ */
+public class ContinuumXFireTest
+    extends PlexusXFireTest
+{
+    public void testService() throws Exception
+    {
+        lookup(ConfigurationService.ROLE);
+        
+        Service clientService = getXFire().getServiceRegistry().getService("Continuum");
+        
+        ServiceRegistry reg = getXFire().getServiceRegistry();
+        LocalTransport transport = new LocalTransport();
+        Service service = reg.getService("Continuum");
+        Channel channel = transport.createChannel(service);
+        
+        XFireProxyFactory proxy = new XFireProxyFactory();
+        ContinuumWebService ws = (ContinuumWebService) proxy.create(transport, clientService, channel.getUri());
+
+        Project project = new Project();
+        project.setScmUrl("scm:local:file://../continuum-test-projects/shell");
+        project.setExecutable("script.sh");
+        project.setType("shell");
+        
+        String id = ws.addProject(project);
+        
+        Project p2 = ws.getProject(id);
+        assertNotNull(p2.getId());
+        assertEquals(project.getType(), p2.getType());
+        assertEquals(project.getUrl(), p2.getUrl());
+        assertEquals(project.getScmUrl(), p2.getScmUrl());
+        assertEquals(project.getExecutable(), p2.getExecutable());
+        
+        CheckOutScmResult result = ws.getCheckOutScmResult(id);
+
+        Collection builds = ws.getBuilds(id);
+        
+        ws.removeProject(id);
+        
+        try
+        {
+            ws.getProject(id);
+            fail("xfire fault should have been thrown.");
+        }
+        catch (XFireFault fault)
+        {
+        }
+    }
+    
+    public void testWSDL()
+        throws Exception
+    {
+        lookup(ConfigurationService.ROLE);
+
+        ContinuumProject project = null;
+
+        Document doc = getWSDLDocument("Continuum");
+        
+        printNode(doc);
+        
+        addNamespace("wsdl", WSDLWriter.WSDL11_NS);
+        addNamespace("wsdlsoap", WSDLWriter.WSDL11_SOAP_NS);
+        addNamespace("xsd", SoapConstants.XSD);
+        
+        // rudimentary check for operations
+        assertValid("//wsdl:operation[@name='addProject']", doc);
+        assertValid("//wsdl:operation[@name='updateProject']", doc);
+        assertValid("//wsdl:operation[@name='removeProject']", doc);
+    }
+}

Added: maven/continuum/trunk/continuum-xfire/src/test/resources/log4j.properties
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-xfire/src/test/resources/log4j.properties?rev=209882&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-xfire/src/test/resources/log4j.properties (added)
+++ maven/continuum/trunk/continuum-xfire/src/test/resources/log4j.properties Fri Jul  8 13:42:29 2005
@@ -0,0 +1,9 @@
+# Set root logger level to DEBUG and its only appender to A1.
+log4j.rootLogger=DEBUG, A1
+
+# A1 is set to be a ConsoleAppender.
+log4j.appender.A1=org.apache.log4j.ConsoleAppender
+
+# A1 uses PatternLayout.
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
\ No newline at end of file

Added: maven/continuum/trunk/continuum-xfire/src/test/resources/org/apache/maven/continuum/xfire/ContinuumXFireTest.xml
URL: http://svn.apache.org/viewcvs/maven/continuum/trunk/continuum-xfire/src/test/resources/org/apache/maven/continuum/xfire/ContinuumXFireTest.xml?rev=209882&view=auto
==============================================================================
--- maven/continuum/trunk/continuum-xfire/src/test/resources/org/apache/maven/continuum/xfire/ContinuumXFireTest.xml (added)
+++ maven/continuum/trunk/continuum-xfire/src/test/resources/org/apache/maven/continuum/xfire/ContinuumXFireTest.xml Fri Jul  8 13:42:29 2005
@@ -0,0 +1,26 @@
+<plexus>
+  <components>
+    <component>
+      <role>org.codehaus.plexus.notification.RecipientSource</role>
+      <implementation>org.apache.maven.continuum.notification.ContinuumRecipientSource</implementation>
+      <configuration>
+        <toOverride>nobody@localhost</toOverride>
+      </configuration>
+    </component>
+    <!--
+     |
+     | These point to the flows that we use as part of the runtime.
+     |
+     | TODO: these should probably be packaged in the core package but the plexus-workflow package would
+     | need to be modified in order to find them all packaged in the JAR.
+     |
+     -->
+    <component>
+      <role>org.codehaus.plexus.workflow.WorkflowEngine</role>
+      <implementation>org.codehaus.plexus.workflow.DefaultWorkflowEngine</implementation>
+      <configuration>
+        <workflowDirectory>${basedir}/../continuum-plexus-application/src/conf/workflows</workflowDirectory>
+      </configuration>
+    </component>
+  </components>
+</plexus>



Mime
View raw message