void PatternLoggingLayout::configure(Configurator& conf) { if (conf.getMode() == Configurator::FROM_CONF) { std::string sPattern; conf.configure("pattern", sPattern, ""); if (!sPattern.empty()) { setPattern(sPattern); } } }
void FieldDefinition::configure(Configurator& conf) { if (conf.getMode() == Configurator::TO_CONF) { Configurator ftRootConf; for (TypeVector::iterator it = m_types.begin(); it != m_types.end(); ++it) { Configurator ftConf; (*it)->configure(ftConf); ftRootConf.configure(_T("field_type"), ftConf.getMap()); } conf.configure(_T("type_define"), ftRootConf.getMap()); } else { Configurator::Iterator it = conf.findConf(_T("type_define")); if (it.hasNext()) { Configurator::ConfMap rootConfMap = AnyCast<Configurator::ConfMap>(it.next().second); Configurator rootConf(rootConfMap); Configurator::Iterator it2 = rootConf.iterator(); while (it2.hasNext()) { Configurator::KeyValuePair kv = it2.next(); if (kv.first == _T("field_type")) { FieldType* pType = new FieldType; Configurator::ConfMap ftMap = AnyCast<Configurator::ConfMap>( kv.second); Configurator ftConf(ftMap); pType->configure(ftConf); addFieldType(*pType); } } } } }
void DocumentTemplate::configure(Configurator& conf) { if (conf.getMode() == Configurator::TO_CONF) { Configurator rootConf; rootConf.configure("doc_tag", m_sDocTag, ""); rootConf.configure("embedded_field", m_sEmbeddedField, ""); Configurator metadataConf; for (Metadata::iterator it = m_metadata.begin(); it != m_metadata.end(); ++it) { Configurator tagConf; (*it).configure(tagConf); metadataConf.configure("meta", tagConf.getMap()); } rootConf.configure("metadata", metadataConf.getMap()); Configurator tagsConf; for (TagVector::iterator it = m_tags.begin(); it != m_tags.end(); ++it) { Configurator tagConf; (*it).configure(tagConf); tagsConf.configure("tag", tagConf.getMap()); } rootConf.configure("tags", tagsConf.getMap()); conf.configure("template", rootConf.getMap()); } else { m_sDocTag.clear(); m_tags.clear(); Configurator::Iterator it = conf.findConf("template"); if (it.hasNext()) { Configurator rootConf(AnyCast<Configurator::ConfMap>(it.next().second)); rootConf.configure("doc_tag", m_sDocTag, ""); rootConf.configure("embedded_field", m_sEmbeddedField, ""); Configurator::Iterator it1 = rootConf.findConf("metadata"); if (it1.hasNext()) { Configurator metadataConf(AnyCast<Configurator::ConfMap>(it1.next().second)); Configurator::Iterator it3 = metadataConf.iterator(); while (it3.hasNext()) { Configurator::KeyValuePair kv = it3.next(); if (kv.first == "meta") { Configurator tagConf(AnyCast<Configurator::ConfMap>(kv.second)); DocumentTemplate::Meta meta; meta.configure(tagConf); m_metadata.push_back(meta); } } } Configurator::Iterator it2 = rootConf.findConf("tags"); if (it2.hasNext()) { Configurator tagsConf(AnyCast<Configurator::ConfMap>(it2.next().second)); Configurator::Iterator it3 = tagsConf.iterator(); while (it3.hasNext()) { Configurator::KeyValuePair kv = it3.next(); if (kv.first == "tag") { Configurator tagConf(AnyCast<Configurator::ConfMap>(kv.second)); DocumentTemplate::Tag tag; tag.configure(tagConf); m_tags.push_back(tag); } } } } } }