/* ********************************** * SetQualities.java * SetQualities * **********************************/ package sdg.admin.utils; import edu.neu.ccs.demeterf.*; import gen.*; import sdg.local.utils.*; /** * @author Alex Dubreuil */ public class SetQualities extends Bc { private Store store; public SetQualities(Store s) { store = s; } public Transaction combine(Transaction trans) { return trans; } public FinishTrans combine(FinishTrans trans) { Derivative d = DerivativesFinder.derByName(store, trans.derivativeName()); return new FinishTrans(trans.derivativeName(), setQual(d.optraw.inner(), trans.finish)); } public static PlayerTransaction setQs(PlayerTransaction pTrans, Store s, Control c){ return new Traversal(new SetQualities(s), c).traverse(pTrans); } private FinishedProduct setQual(RawMaterial rm, FinishedProduct fp) { return new FinishedProduct(fp.ip, ComputeQuality.quality(rm, fp.ip.assignment)); } } // //class SetQuality extends Bc{ // public Derivative combine(Derivative d) { return d; } // public Derivative combine(Derivative d, // String name, // PlayerID seller, // Option buyer, // Price price, // Type type, // Some rm, // Some fp) // { // return new Derivative(name, seller, buyer, price, type, rm, // Option.some(new FinishedProduct(fp.inner().ip, // ComputeQuality.quality(rm.inner(), fp.inner().ip.assignment)))); // } //}