package org.egov.egf.web.adaptor;
import java.lang.reflect.Type;
import org.egov.model.budget.Budget;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
public class BudgetJsonAdaptor implements JsonSerializer<Budget> {
@Override
public JsonElement serialize(final Budget budget, final Type type, final JsonSerializationContext jsc) {
final JsonObject jsonObject = new JsonObject();
if (budget != null) {
if (budget.getName() != null)
jsonObject.addProperty("name", budget.getName());
else
jsonObject.addProperty("name", "");
if (budget.getIsbere() != null)
jsonObject.addProperty("isbere", budget.getIsbere());
else
jsonObject.addProperty("isbere", "");
if (budget.getFinancialYear() != null)
jsonObject.addProperty("financialYear", budget.getFinancialYear().getFinYearRange());
else
jsonObject.addProperty("financialYear", "");
if (budget.getParent() != null){
jsonObject.addProperty("parent", budget.getParent().getName());
jsonObject.addProperty("parentId", budget.getParent().getId());
}
else{
jsonObject.addProperty("parent", "");
jsonObject.addProperty("parentId","");
}
if (budget.getReferenceBudget() != null){
jsonObject.addProperty("reference", budget.getReferenceBudget().getName());
jsonObject.addProperty("referenceId", budget.getReferenceBudget().getId());
}
else
{
jsonObject.addProperty("reference", "");
jsonObject.addProperty("referenceId", "");
}
if (budget.getIsActiveBudget())
jsonObject.addProperty("isActiveBudget", Boolean.toString(true).toUpperCase());
else
jsonObject.addProperty("isActiveBudget", Boolean.toString(false).toUpperCase());
if (budget.getIsPrimaryBudget())
jsonObject.addProperty("isPrimaryBudget", Boolean.toString(true).toUpperCase());
else
jsonObject.addProperty("isPrimaryBudget", Boolean.toString(false).toUpperCase());
jsonObject.addProperty("id", budget.getId());
}
return jsonObject;
}
}