CRLMODData.java [src/java/crlmod] Revision: Date:
/*
* $Id: 1.0+62 CRLMODData.java a170e1637ffa 2021-12-20 od $
*
* This file is part of the Cloud Services Integration Platform (CSIP),
* a Model-as-a-Service framework, API, and application suite.
*
* 2012-2024, OMSLab, Colorado State University.
*
* OMSLab licenses this file to you under the MIT license.
* See the LICENSE file in the project root for more information.
*/
package crlmod;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import com.google.gson.JsonPrimitive;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
import crlmod.nodes.Barrier;
import crlmod.nodes.Contour;
import crlmod.nodes.Fuel;
import crlmod.nodes.HydraulicElementSystem;
import crlmod.nodes.PermeableBarrier;
import crlmod.nodes.Strip;
import java.lang.reflect.Type;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;
import rotation_utils.nodes.*;
/**
*
* @author LYaege
*/
public class CRLMODData {
public List<RotationFile> rotationFiles = new ArrayList<>();
public int rotationFileCount;
public List<Operation> operations = new ArrayList<>();
public int operationCount;
public List<Crop> crops = new ArrayList<>();
public int cropCount;
public List<Residue> residues = new ArrayList<>();
public int residueCount;
public List<Barrier> barriers = new ArrayList<>();
public int barriersCount;
public List<Contour> contours = new ArrayList<>();
public int contoursCount;
public List<Fuel> fuels = new ArrayList<>();
public int fuelsCount;
public List<Strip> strips = new ArrayList<>();
public int stripsCount;
public List<PermeableBarrier> permeablebarriers = new ArrayList<>();
public int permeableBarrierCount;
public List<HydraulicElementSystem> hydraulicElementSystems = new ArrayList<>();
public int hydraulicElementSystemCount;
public JSONObject getJson() throws JSONException {
Gson gson = new GsonBuilder().registerTypeAdapter(LocalDate.class, new JsonSerializer<LocalDate>() {
@Override
public JsonElement serialize(LocalDate t, Type type, JsonSerializationContext jsc) {
JsonPrimitive e = new JsonPrimitive(t.format(DateTimeFormatter.ISO_DATE));
return e;
}
}).create();
return new JSONObject(gson.toJson(this));
}
public void addRotation(Rotation rot) {
RotationFile rFile = new RotationFile();
rFile.rotation = rot;
rotationFiles.add(rFile);
}
public void addOperation(Operation op) {
operations.add(op);
}
public void addCrop(Crop crop) {
crops.add(crop);
}
public void addResidue(Residue residue) {
residues.add(residue);
}
public void addBarrier(Barrier barrier) {
barriers.add(barrier);
}
public void addContour(Contour contour) {
contours.add(contour);
}
public void addStrip(Strip strip) {
strips.add(strip);
}
public void addFuel(Fuel fuel) {
fuels.add(fuel);
}
public void addPermeableBarrier(PermeableBarrier pmb) {
permeablebarriers.add(pmb);
}
public void addHydraulicElementSystem(HydraulicElementSystem hes) {
hydraulicElementSystems.add(hes);
}
}