/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.smartitengineering.generator.engine.webservice.adapter; import com.smartitengineering.generator.engine.domain.Map; import com.smartitengineering.generator.engine.domain.Map.Entries; import com.smartitengineering.generator.engine.webservice.domain.ReportConfig; import com.smartitengineering.generator.engine.domain.ReportConfig.EmailConfig; import com.smartitengineering.generator.engine.domain.SourceCode; import com.smartitengineering.generator.engine.domain.SourceCode.Code; import com.smartitengineering.generator.engine.webservice.domain.SourceCodeType; import com.smartitengineering.util.bean.adapter.AbstractAdapterHelper; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import org.apache.commons.lang.StringUtils; /** * * @author saumitra */ public class ReportConfigAdapterHelper extends AbstractAdapterHelper<ReportConfig, com.smartitengineering.generator.engine.domain.ReportConfig> { @Override protected com.smartitengineering.generator.engine.domain.ReportConfig newTInstance() { return new com.smartitengineering.generator.engine.domain.ReportConfig(); } @Override protected void mergeFromF2T(ReportConfig f, com.smartitengineering.generator.engine.domain.ReportConfig t) { t.setName(f.getName()); t.setId(f.getId()); t.setTrigger(f.getCronExpression()); List<EmailConfig> emailConfigs = new ArrayList<EmailConfig>(); for (com.smartitengineering.generator.engine.webservice.domain.EmailConfig config : f.getEmailConfig()) { EmailConfig emailConfig = new EmailConfig(); emailConfig.setBcc(config.getBcc()); emailConfig.setCc(config.getCc()); emailConfig.setTo(config.getTo()); emailConfig.setRepresentationName(config.getRepresentationName()); emailConfig.setSubject(config.getSubject()); emailConfigs.add(emailConfig); } t.setEmailConfig(emailConfigs); if (f.getCode() != null && f.getCode().getCodeType() != null && StringUtils.isNotBlank(f.getCode().getCode())) { SourceCode sourceCode = new SourceCode(); t.setEmbeddedSourceCode(sourceCode); Code code = new Code(); sourceCode.setCode(code); code.setCodeType(Code.CodeType.valueOf(f.getCode().getCodeType().name())); code.setEmbeddedCode(f.getCode().getCode()); } if (f.getParams() != null && !f.getParams().isEmpty()) { Map map = new Map(); List<Entries> entries = new ArrayList<Entries>(); map.setEntries(entries); for (java.util.Map.Entry<String, String> entry : f.getParams().entrySet()) { Entries tEntries = new Entries(); tEntries.setKey(entry.getKey()); tEntries.setValue(entry.getValue()); entries.add(tEntries); } } } @Override protected ReportConfig convertFromT2F(com.smartitengineering.generator.engine.domain.ReportConfig t) { ReportConfig reportConfig = new ReportConfig(); reportConfig.setId(t.getId()); reportConfig.setName(t.getName()); reportConfig.setCronExpression(t.getTrigger()); List<com.smartitengineering.generator.engine.webservice.domain.EmailConfig> emailConfigs = new ArrayList<com.smartitengineering.generator.engine.webservice.domain.EmailConfig>(); for (EmailConfig emailConfig : t.getEmailConfig()) { com.smartitengineering.generator.engine.webservice.domain.EmailConfig config = new com.smartitengineering.generator.engine.webservice.domain.EmailConfig(); config.setBcc(new ArrayList<String>(emailConfig.getBcc())); config.setCc(new ArrayList<String>(emailConfig.getCc())); config.setTo(new ArrayList<String>(emailConfig.getTo())); config.setSubject(emailConfig.getSubject()); config.setRepresentationName(emailConfig.getRepresentationName()); emailConfigs.add(config); } if (t.getParams() != null && t.getParams().getEntries() != null && !t.getParams().getEntries().isEmpty()) { java.util.Map<String, String> map = new LinkedHashMap<String, String>(); for (Entries entry : t.getParams().getEntries()) { map.put(entry.getKey(), entry.getValue()); } reportConfig.setParams(map); } if (t.getEmbeddedSourceCode() != null) { com.smartitengineering.generator.engine.webservice.domain.SourceCode code = getSourceCode( t.getEmbeddedSourceCode()); reportConfig.setCode(code); } else if (t.getCodeOnDemand() != null) { com.smartitengineering.generator.engine.webservice.domain.SourceCode code = getSourceCode(t.getCodeOnDemand(). getCode()); reportConfig.setCode(code); } reportConfig.setEmailConfig(emailConfigs); return reportConfig; } private com.smartitengineering.generator.engine.webservice.domain.SourceCode getSourceCode( SourceCode embeddedSourceCode) { if (embeddedSourceCode == null || embeddedSourceCode.getCode().getCodeType() == null || embeddedSourceCode.getCode(). getEmbeddedCode() == null) { return null; } com.smartitengineering.generator.engine.webservice.domain.SourceCode sourceCode = new com.smartitengineering.generator.engine.webservice.domain.SourceCode(); sourceCode.setCode(embeddedSourceCode.getCode().getEmbeddedCode()); sourceCode.setCodeType(SourceCodeType.valueOf(embeddedSourceCode.getCode().getCodeType().name())); return sourceCode; } }