On 23/05/11 16:13, André Dietisheim wrote:
Hi guys

I just finished cleaning my Deltacloud java client code and pushed
things to my DC fork on github.
I added 2 java projects (org.jboss.tools.deltacloud.client &
org.jboss.tools.deltacloud.client.test) to the java folder in clients/.
I'd greatly appreciate if anybody could have a look at it and verify
that I added things in the way you'd have expected it (since I'm not
much git experienced so far).

https://github.com/apache/deltacloud/pull/1

As soon as the code is moved over to your repo, we'll remove the client
from our repo and include a jar'ed version of it in our tooling.

Cheers
André

ACK from me - some notes (some of this might be of use to anyone else who'd like to test):

*** slight issue with (I am guessing) the unmarshalling of the instance actions. From some_instance.toString() I get something like:

Instance:       i-4bf52625
Owner:          297467797945
Image:          ami-f51aff9c
Realm:          us-east-1d
Profile:                m1.small
State:          STOPPED
Actions:        org.jboss.tools.deltacloud.client.Action@152c4d9
                org.jboss.tools.deltacloud.client.Action@f99ff5

*** junit test suites are green:

  ==> running ec2 driver:
--> java org.junit.runner.JUnitCore org.jboss.tools.internal.deltacloud.client.test.DeltaCloudClientTestSuite
JUnit version 4.6
......................
Time: 0.504

OK (22 tests)


  ==> running mock driver:
--> java org.junit.runner.JUnitCore org.jboss.tools.internal.deltacloud.client.test.DeltaCloudClientIntegrationTestSuite
..........................
Time: 200.531

OK (31 tests)

*** needs documentation! (i guess this is something we can add later). It wasn't clear how to use the client - in particular I wasn't sure how to invoke actions (like Instance.start/stop etc)

*** A simple test class (pretty small so I copy/paste) - forgive the noobiness of my java - its been a while!:

import org.jboss.tools.deltacloud.client.* ;
import java.util.* ;
public class TestClient
{
  public static void main(String [] args)
  {
    try
    {
      String user = args[0];
      String pass = args[1];
DeltaCloudClient the_client = new DeltaCloudClientImpl("http://localhost:3001";, user, pass) ;
//IMAGES
      List images = the_client.listImages();
System.out.println("A total of " + images.size() + " images was returned");
      ListIterator litr = images.listIterator() ;
      while (litr.hasNext())
      {
          System.out.println(litr.next().toString()) ;
      }
//DRIVER
      API.Driver the_driver = the_client.getServerType();
System.out.println("Current server driver is " + the_driver.toString());
//INSTANCES
      List instances = the_client.listInstances();
      System.out.println(instances.size() + " instances returned");
      ListIterator inst_litr = instances.listIterator();
      Instance current;
      while(inst_litr.hasNext())
      {
        current = (Instance) inst_litr.next();
        System.out.println(current.toString());
//      current.stop(the_client)
//      current.destroy(the_client);
      }
      //create instance
      //Instance my_server = the_client.createInstance("ami-f51aff9c");

    }
    catch (Exception dcce)
    {
      dcce.printStackTrace() ;
    }
  }
}

*** we need to wait for michal since he is admin of the github repo before we push. For the record and as David said, the github repo is just a mirror of the (git) svn repo @ apache. An alternative way of contributing (but I stress, github is perfectly acceptable):

<initialise the local repo>:
mkdir deltacloud; cd deltacloud; git svn init -s https://svn.apache.org/repos/asf/incubator/deltacloud; git svn fetch --log-window-size 10000

<make a branch for your changes>:
git branch -b my_branch

<make lots of changes, add files, etc. Now commit the changes>
git commit -a

<see what changes you've made>
git status

<check which branch you're on>
git branch

<fetch any new items from master and rebase your code before sending a patch>
git checkout master; git svn rebase; git rebase master my_branch

<make a patch>
git format-patch -o /some/directory/for/your/patches

<send the patch>
git send-email --compose --subject 'subject' --thread /some/directory/for/your/patches/* --to [email protected]

marios

Reply via email to