package qa.qcri.aidr.trainer.api.template; import java.util.HashSet; import java.util.List; import java.util.Set; import org.apache.log4j.Logger; import qa.qcri.aidr.dbmanager.dto.CollectionDTO; import qa.qcri.aidr.dbmanager.dto.ModelFamilyDTO; import qa.qcri.aidr.dbmanager.dto.NominalAttributeDTO; import qa.qcri.aidr.dbmanager.dto.NominalLabelDTO; /** * Created with IntelliJ IDEA. * User: jilucas * Date: 9/23/13 * Time: 8:55 AM * To change this template use File | Settings | File Templates. */ public class CrisisJsonOutput { private static Logger logger=Logger.getLogger(CrisisJsonOutput.class); public CrisisJsonModel crisisJsonModelGenerator(CollectionDTO crisis){ CrisisJsonModel crisisJsonModel = new CrisisJsonModel(); if (crisis != null) { logger.info("received crisis = " + crisis.getCode() + ", id = " + crisis.getCrisisID()); } else { logger.info("received crisis = " + crisis); } crisisJsonModel.setCrisisID(crisis.getCrisisID()); crisisJsonModel.setCode(crisis.getCode()); crisisJsonModel.setName(crisis.getName()); List<ModelFamilyDTO> modelFamilySet = crisis.getModelFamiliesDTO(); Set<NominalAttributeJsonModel> nominalAttributeJsonModelSetTemp = new HashSet <NominalAttributeJsonModel>(); for(ModelFamilyDTO obj : modelFamilySet){ //if(obj.isIsActive()){ NominalAttributeJsonModel nominalAttributeJsonModel = new NominalAttributeJsonModel(); NominalAttributeDTO nominalAttribute= obj.getNominalAttributeDTO(); List<NominalLabelDTO> nominalLabelSet = nominalAttribute.getNominalLabelsDTO(); nominalAttributeJsonModel.setCode(nominalAttribute.getCode()); nominalAttributeJsonModel.setName(nominalAttribute.getName()); nominalAttributeJsonModel.setDescription(nominalAttribute.getDescription()); nominalAttributeJsonModel.setNominalAttributeID(nominalAttribute.getNominalAttributeId()); Set<NominalLabelJsonModel> nominalLabelJsonModelSetTemp = new HashSet <NominalLabelJsonModel>(); for(NominalLabelDTO nominalLabel : nominalLabelSet){ NominalLabelJsonModel nominalLabelJsonModel = new NominalLabelJsonModel(); nominalLabelJsonModel.setName(nominalLabel.getName()); nominalLabelJsonModel.setNorminalLabelCode(nominalLabel.getNominalLabelCode()); nominalLabelJsonModel.setNorminalLabelID(nominalLabel.getNominalLabelId().longValue()); nominalLabelJsonModel.setDescription(nominalLabel.getDescription()); nominalLabelJsonModel.setSequence(nominalLabel.getSequence()); nominalLabelJsonModelSetTemp.add(nominalLabelJsonModel) ; } nominalAttributeJsonModel.setNominalLabelJsonModelSet(nominalLabelJsonModelSetTemp); nominalAttributeJsonModelSetTemp.add(nominalAttributeJsonModel); //} } crisisJsonModel.setNominalAttributeJsonModelSet(nominalAttributeJsonModelSetTemp); return crisisJsonModel; } }