use of org.btrplace.model.VM in project scheduler by btrplace.
the class SeqConverter method fromJSON.
@Override
public Seq fromJSON(Model mo, JSONObject o) throws JSONConverterException {
checkId(o);
List<VM> s = new ArrayList<>();
for (Object ob : (JSONArray) o.get("vms")) {
s.add(getVM(mo, (Integer) ob));
}
return new Seq(s);
}
use of org.btrplace.model.VM in project scheduler by btrplace.
the class PrecedenceConverter method toJSON.
@Override
public JSONObject toJSON(Precedence precedence) {
JSONObject c = new JSONObject();
Iterator<VM> it = precedence.getInvolvedVMs().iterator();
c.put("id", getJSONId());
c.put("vm1", JSONs.elementToJSON(it.next()));
c.put("vm2", JSONs.elementToJSON(it.next()));
c.put("continuous", precedence.isContinuous());
return c;
}
use of org.btrplace.model.VM in project scheduler by btrplace.
the class ShareableResourceConverter method parseVMs.
private static void parseVMs(Model mo, ShareableResource rc, Object o) throws JSONConverterException {
if (o != null) {
try {
JSONObject values = (JSONObject) o;
for (Map.Entry<String, Object> e : values.entrySet()) {
String k = e.getKey();
VM u = getVM(mo, Integer.parseInt(k));
int v = Integer.parseInt(e.getValue().toString());
rc.setConsumption(u, v);
}
} catch (ClassCastException cc) {
throw new JSONConverterException("Unable to read the VMs at key 'vms'. Expect a JSONObject but got a '" + o.getClass().getName() + "'", cc);
}
}
}
use of org.btrplace.model.VM in project scheduler by btrplace.
the class NamingServiceConverterTest method test.
@Test
public void test() throws JSONConverterException {
NamingService<VM> ns = NamingService.newVMNS();
Model mo = new DefaultModel();
for (int i = 0; i < 10; i++) {
VM v = mo.newVM();
ns.register(v, "VM " + i);
}
NamingServiceConverter nsc = new NamingServiceConverter();
JSONObject o = nsc.toJSON(ns);
System.out.println(o);
@SuppressWarnings("unchecked") NamingService<VM> ns2 = (NamingService<VM>) nsc.fromJSON(mo, o);
Assert.assertEquals(ns, ns2);
}
use of org.btrplace.model.VM in project scheduler by btrplace.
the class SliceRcComparatorTest method testDescending.
@Test
public void testDescending() {
List<Slice> l = makeSlices();
ShareableResource rc = new ShareableResource("cpu");
for (Slice s : l) {
rc.setConsumption(s.getSubject(), rnd.nextInt(10));
}
SliceRcComparator cmp = new SliceRcComparator(rc, false);
Collections.sort(l, cmp);
for (int i = 0; i < l.size() - 1; i++) {
VM u1 = l.get(i).getSubject();
VM u2 = l.get(i + 1).getSubject();
Assert.assertTrue(rc.getConsumption(u1) >= rc.getConsumption(u2));
}
}
Aggregations