Merge pull request #285 from mattstep/master

Add vcpu count to flavor domain object in nova api.
This commit is contained in:
Adrian Cole 2011-12-28 10:13:44 -08:00
commit 5f1d418ab9
7 changed files with 46 additions and 33 deletions

View File

@ -27,54 +27,47 @@ package org.jclouds.openstack.nova.domain;
*/
public class Flavor extends Resource {
public Flavor() {
private final int id;
private final String name;
private final Integer disk;
private final Integer ram;
private final Integer vcpus;
//Required because of how Gson is being used to do wire marshalling with the Server class
private Flavor(){
id=0;
name=null;
disk=null;
ram=null;
vcpus=null;
}
@Override
public String toString() {
return "Flavor [disk=" + disk + ", id=" + id + ", name=" + name + ", ram=" + ram + "]";
}
public Flavor(int id, String name) {
public Flavor(int id, String name, Integer disk, Integer ram, Integer vcpus) {
this.id = id;
this.name = name;
this.disk = disk;
this.ram = ram;
this.vcpus = vcpus;
}
private int id;
private String name;
private Integer disk;
private Integer ram;
public Integer getDisk() {
return disk;
}
public void setDisk(Integer value) {
this.disk = value;
}
public int getId() {
return id;
}
public void setId(int value) {
this.id = value;
}
public String getName() {
return name;
}
public void setName(String value) {
this.name = value;
}
public Integer getRam() {
return ram;
}
public void setRam(Integer value) {
this.ram = value;
public Integer getVcpus() {
return vcpus;
}
@Override
@ -85,6 +78,7 @@ public class Flavor extends Resource {
result = prime * result + id;
result = prime * result + ((name == null) ? 0 : name.hashCode());
result = prime * result + ((ram == null) ? 0 : ram.hashCode());
result = prime * result + ((vcpus == null) ? 0 : vcpus.hashCode());
return result;
}
@ -114,7 +108,16 @@ public class Flavor extends Resource {
return false;
} else if (!ram.equals(other.ram))
return false;
if (vcpus == null) {
if (other.vcpus != null)
return false;
} else if (!vcpus.equals(other.vcpus))
return false;
return true;
}
@Override
public String toString() {
return "Flavor [disk=" + disk + ", id=" + id + ", name=" + name + ", ram=" + ram + ", vcpus=" + vcpus +"]";
}
}

View File

@ -67,7 +67,11 @@ public class Resource {
};
}
private final ConcurrentSkipListMap<LinkType,URI> orderedSelfReferences = new ConcurrentSkipListMap<LinkType,URI>();
private final ConcurrentSkipListMap<LinkType,URI> orderedSelfReferences;
public Resource(){
orderedSelfReferences = new ConcurrentSkipListMap<LinkType,URI>();
}
private void populateOrderedSelfReferences() {
for (Map<String, String> linkProperties : links) {

View File

@ -44,7 +44,7 @@ public class FlavorToHardwareTest {
public void test() throws UnknownHostException, URISyntaxException {
Hardware flavor = convertFlavor();
Hardware tempFlavor = new HardwareBuilder().ids("1").name("256 MB Server")
.processors(ImmutableList.of(new Processor(1.0, 1.0)))
.processors(ImmutableList.of(new Processor(2.0, 2.0)))
.ram(256)
.volumes(ImmutableList.of(
new VolumeBuilder().type(Volume.Type.LOCAL).size(10.0f).durable(true).bootDevice(true).build()))

View File

@ -55,6 +55,7 @@ public class ParseFlavorFromJsonResponseTest {
assertEquals(response.getName(), "256 MB Server");
assertEquals(response.getDisk().intValue(), 10);
assertEquals(response.getRam().intValue(), 256);
assertEquals(response.getVcpus().intValue(), 2);
}
public static Flavor parseFlavor() {

View File

@ -50,7 +50,7 @@ public class ParseFlavorListFromJsonResponseTest {
public void testApplyInputStream() {
InputStream is = getClass().getResourceAsStream("/test_list_flavors.json");
List<Flavor> expects = ImmutableList.of(new Flavor(1, "256 MB Server"), new Flavor(2, "512 MB Server"));
List<Flavor> expects = ImmutableList.of(new Flavor(1, "256 MB Server", null, null, null), new Flavor(2, "512 MB Server", null, null, null));
UnwrapOnlyJsonValue<List<Flavor>> parser = i.getInstance(Key
.get(new TypeLiteral<UnwrapOnlyJsonValue<List<Flavor>>>() {
@ -69,13 +69,15 @@ public class ParseFlavorListFromJsonResponseTest {
List<Flavor> response = parser.apply(new HttpResponse(200, "ok", Payloads.newInputStreamPayload(is)));
assertEquals(response.get(0).getId(), 1);
assertEquals(response.get(0).getName(), "256 MB Server");
assertEquals(response.get(0).getDisk(), new Integer(10));
assertEquals(response.get(0).getRam(), new Integer(256));
assertEquals(response.get(0).getDisk(), Integer.valueOf(10));
assertEquals(response.get(0).getRam(), Integer.valueOf(256));
assertEquals(response.get(0).getVcpus(), Integer.valueOf(2));
assertEquals(response.get(1).getId(), 2);
assertEquals(response.get(1).getName(), "512 MB Server");
assertEquals(response.get(1).getDisk(), new Integer(20));
assertEquals(response.get(1).getRam(), new Integer(512));
assertEquals(response.get(1).getDisk(), Integer.valueOf(20));
assertEquals(response.get(1).getRam(), Integer.valueOf(512));
assertEquals(response.get(1).getVcpus(), Integer.valueOf(5));
}

View File

@ -4,6 +4,7 @@
"name" : "256 MB Server",
"ram" : 256,
"disk" : 10,
"vcpus" : 2,
"links": [
{
"rel" : "self",

View File

@ -5,6 +5,7 @@
"name" : "256 MB Server",
"ram" : 256,
"disk" : 10,
"vcpus" : 2,
"links": [
{
"rel" : "self",
@ -27,6 +28,7 @@
"name" : "512 MB Server",
"ram" : 512,
"disk" : 20,
"vcpus" : 5,
"links": [
{
"rel" : "self",