From eb44f0da2c472a2f30cd82443e19d74c2743499a Mon Sep 17 00:00:00 2001 From: Scott Cantor Date: Tue, 20 Feb 2007 04:28:11 +0000 Subject: [PATCH] Add logging. --- saml/saml2/metadata/impl/MetadataProvider.cpp | 30 ++++++++++++++++----------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/saml/saml2/metadata/impl/MetadataProvider.cpp b/saml/saml2/metadata/impl/MetadataProvider.cpp index 27da6cd..f79eec0 100644 --- a/saml/saml2/metadata/impl/MetadataProvider.cpp +++ b/saml/saml2/metadata/impl/MetadataProvider.cpp @@ -60,52 +60,58 @@ void SAML_API opensaml::saml2md::registerMetadataFilters() SAMLConfig::getConfig().MetadataFilterManager.registerFactory(SIGNATURE_METADATA_FILTER, SignatureMetadataFilterFactory); } -static const XMLCh Blacklist[] = UNICODE_LITERAL_23(B,l,a,c,k,l,i,s,t,M,e,t,a,d,a,t,a,F,i,l,t,e,r); -static const XMLCh Whitelist[] = UNICODE_LITERAL_23(W,h,i,t,e,l,i,s,t,M,e,t,a,d,a,t,a,F,i,l,t,e,r); -static const XMLCh SigFilter[] = UNICODE_LITERAL_23(S,i,g,n,a,t,u,r,e,M,e,t,a,d,a,t,a,F,i,l,t,e,r); -static const XMLCh Exclude[] = UNICODE_LITERAL_7(E,x,c,l,u,d,e); -static const XMLCh Include[] = UNICODE_LITERAL_7(I,n,c,l,u,d,e); -static const XMLCh GenericMetadataFilter[] = UNICODE_LITERAL_14(M,e,t,a,d,a,t,a,F,i,l,t,e,r); -static const XMLCh type[] = UNICODE_LITERAL_4(t,y,p,e); +static const XMLCh _MetadataFilter[] = UNICODE_LITERAL_14(M,e,t,a,d,a,t,a,F,i,l,t,e,r); +static const XMLCh Blacklist[] = UNICODE_LITERAL_23(B,l,a,c,k,l,i,s,t,M,e,t,a,d,a,t,a,F,i,l,t,e,r); +static const XMLCh Whitelist[] = UNICODE_LITERAL_23(W,h,i,t,e,l,i,s,t,M,e,t,a,d,a,t,a,F,i,l,t,e,r); +static const XMLCh SigFilter[] = UNICODE_LITERAL_23(S,i,g,n,a,t,u,r,e,M,e,t,a,d,a,t,a,F,i,l,t,e,r); +static const XMLCh Exclude[] = UNICODE_LITERAL_7(E,x,c,l,u,d,e); +static const XMLCh Include[] = UNICODE_LITERAL_7(I,n,c,l,u,d,e); +static const XMLCh type[] = UNICODE_LITERAL_4(t,y,p,e); MetadataProvider::MetadataProvider(const DOMElement* e) { #ifdef _DEBUG NDC ndc("MetadataProvider"); #endif + Category& log = Category::getInstance(SAML_LOGCAT".Metadata"); SAMLConfig& conf=SAMLConfig::getConfig(); // Locate any default recognized filters and plugins. try { DOMElement* child = e ? XMLHelper::getFirstChildElement(e) : NULL; while (child) { - if (XMLString::equals(child->getLocalName(),GenericMetadataFilter)) { + if (XMLString::equals(child->getLocalName(),_MetadataFilter)) { auto_ptr_char t(child->getAttributeNS(NULL,type)); - if (t.get()) + if (t.get() && *t.get()) { + log.info("building MetadataFilter of type %s", t.get()); m_filters.push_back(conf.MetadataFilterManager.newPlugin(t.get(),child)); - else - throw UnknownExtensionException(" element found with no type attribute"); + } } else if (XMLString::equals(child->getLocalName(),SigFilter)) { + log.info("building MetadataFilter of type %s", SIGNATURE_METADATA_FILTER); m_filters.push_back(conf.MetadataFilterManager.newPlugin(SIGNATURE_METADATA_FILTER,child)); } else if (XMLString::equals(child->getLocalName(),Whitelist)) { + log.info("building MetadataFilter of type %s", WHITELIST_METADATA_FILTER); m_filters.push_back(conf.MetadataFilterManager.newPlugin(WHITELIST_METADATA_FILTER,child)); } else if (XMLString::equals(child->getLocalName(),Blacklist)) { + log.info("building MetadataFilter of type %s", BLACKLIST_METADATA_FILTER); m_filters.push_back(conf.MetadataFilterManager.newPlugin(BLACKLIST_METADATA_FILTER,child)); } else if (XMLString::equals(child->getLocalName(),Include)) { + log.info("building MetadataFilter of type %s", WHITELIST_METADATA_FILTER); m_filters.push_back(conf.MetadataFilterManager.newPlugin(WHITELIST_METADATA_FILTER,e)); } else if (XMLString::equals(child->getLocalName(),Exclude)) { + log.info("building MetadataFilter of type %s", BLACKLIST_METADATA_FILTER); m_filters.push_back(conf.MetadataFilterManager.newPlugin(BLACKLIST_METADATA_FILTER,e)); } child = XMLHelper::getNextSiblingElement(child); } } catch (XMLToolingException& ex) { - Category::getInstance(SAML_LOGCAT".Metadata").error("caught exception while installing filters: %s", ex.what()); + log.error("caught exception while installing filters: %s", ex.what()); for_each(m_filters.begin(),m_filters.end(),xmltooling::cleanup()); throw; } -- 2.1.4