Example #1
0
 @Override
 public Capacity buildConstraint(VJobElementBuilder eBuilder, List<PBVJob.vjob.Param> args)
     throws ConstraintBuilderException {
   PBPlacementConstraintBuilders.ensureArity(this, args, 2);
   ManagedElementSet<Node> ns = PBPlacementConstraintBuilders.makeNodes(eBuilder, args.get(0));
   if (ns.isEmpty()) {
     throw new ConstraintBuilderException(args.get(0) + " is an empty set");
   }
   int v = PBPlacementConstraintBuilders.makeInt(args.get(1));
   if (v < 0) {
     throw new ConstraintBuilderException("capacity can not be negative (" + v + ")");
   }
   return new Capacity(ns, v);
 }
Example #2
0
 @Override
 public Root buildConstraint(List<VJobElement> args) throws ConstraintBuilderException {
   if (args.size() != 1) {
     throw new ConstraintBuilderException(this);
   }
   try {
     ManagedElementSet<VirtualMachine> vms = (ManagedElementSet<VirtualMachine>) args.get(0);
     if (vms.isEmpty()) {
       throw new ConstraintBuilderException("Empty set not allowed");
     }
     return new Root(vms);
   } catch (ClassCastException e) {
     throw new ConstraintBuilderException(getSignature(), e);
   }
 }