package fr.inria.diversify.persistence.json.output; import fr.inria.diversify.transformation.Transformation; import fr.inria.diversify.transformation.ast.ASTReplace; import org.json.JSONException; import org.json.JSONObject; /** * Created by marodrig on 08/01/2015. */ public class JsonAstReplaceOutput extends JsonAstTransformationOutput { /** * Puts the transformation data into the JSON Object. * * @param object Objecto to putDataToJSON data * @param transformation Transformation to obtain data from */ protected void putDataToJSON(JSONObject object, Transformation transformation) throws JSONException { if (transformation instanceof ASTReplace) { super.putDataToJSON(object, transformation); ASTReplace d = (ASTReplace) transformation; object.put(TRANSPLANT_POINT, codeFragmentToJSON(d.getTransplantationPoint())); object.put(TRANSPLANT, codeFragmentToJSON(d.getTransplant())); object.put(VARIABLE_MAP, d.getVarMapping()); } } @Override public boolean canStore(Transformation t) { return t instanceof ASTReplace; } }