From 735e90e92f411650f0d707de997591cf01bb7348 Mon Sep 17 00:00:00 2001 From: Scott Cantor Date: Wed, 22 Feb 2012 17:54:40 +0000 Subject: [PATCH] Small adjustments to filters --- .../metadata/impl/BlacklistMetadataFilter.cpp | 8 +++--- .../metadata/impl/EntityRoleMetadataFilter.cpp | 32 ++++++++-------------- .../metadata/impl/WhitelistMetadataFilter.cpp | 6 ++-- 3 files changed, 19 insertions(+), 27 deletions(-) diff --git a/saml/saml2/metadata/impl/BlacklistMetadataFilter.cpp b/saml/saml2/metadata/impl/BlacklistMetadataFilter.cpp index 283047c..d3175b2 100644 --- a/saml/saml2/metadata/impl/BlacklistMetadataFilter.cpp +++ b/saml/saml2/metadata/impl/BlacklistMetadataFilter.cpp @@ -90,7 +90,7 @@ void BlacklistMetadataFilter::doFilter(XMLObject& xmlObject) const try { EntitiesDescriptor& entities = dynamic_cast(xmlObject); if (found(entities.getName())) - throw MetadataFilterException("BlacklistMetadataFilter instructed to filter the root/only group in the metadata."); + throw MetadataFilterException(BLACKLIST_METADATA_FILTER" MetadataFilter instructed to filter the root/only group in the metadata."); doFilter(entities); return; } @@ -100,18 +100,18 @@ void BlacklistMetadataFilter::doFilter(XMLObject& xmlObject) const try { EntityDescriptor& entity = dynamic_cast(xmlObject); if (found(entity.getEntityID())) - throw MetadataFilterException("BlacklistMetadataFilter instructed to filter the root/only entity in the metadata."); + throw MetadataFilterException(BLACKLIST_METADATA_FILTER" MetadataFilter instructed to filter the root/only entity in the metadata."); return; } catch (bad_cast&) { } - throw MetadataFilterException("BlacklistMetadataFilter was given an improper metadata instance to filter."); + throw MetadataFilterException(BLACKLIST_METADATA_FILTER" MetadataFilter was given an improper metadata instance to filter."); } void BlacklistMetadataFilter::doFilter(EntitiesDescriptor& entities) const { - Category& log=Category::getInstance(SAML_LOGCAT".MetadataFilter.Blacklist"); + Category& log=Category::getInstance(SAML_LOGCAT".MetadataFilter."BLACKLIST_METADATA_FILTER); VectorOf(EntityDescriptor) v=entities.getEntityDescriptors(); for (VectorOf(EntityDescriptor)::size_type i=0; i -#include using namespace opensaml::saml2md; using namespace xmltooling::logging; using namespace xmltooling; -using namespace boost; using namespace std; namespace opensaml { @@ -104,30 +102,24 @@ EntityRoleMetadataFilter::EntityRoleMetadataFilter(const DOMElement* e) void EntityRoleMetadataFilter::doFilter(XMLObject& xmlObject) const { -#ifdef _DEBUG - NDC ndc("doFilter"); -#endif - - try { - doFilter(dynamic_cast(xmlObject)); - return; - } - catch (bad_cast&) { - } - - try { - doFilter(dynamic_cast(xmlObject)); - return; + EntitiesDescriptor* group = dynamic_cast(&xmlObject); + if (group) { + doFilter(*group); } - catch (bad_cast&) { + else { + EntityDescriptor* entity = dynamic_cast(&xmlObject); + if (entity) { + doFilter(*entity); + } + else { + throw MetadataFilterException(ENTITYROLE_METADATA_FILTER" MetadataFilter was given an improper metadata instance to filter."); + } } - - throw MetadataFilterException("EntityRoleWhiteList MetadataFilter was given an improper metadata instance to filter."); } void EntityRoleMetadataFilter::doFilter(EntitiesDescriptor& entities) const { - Category& log=Category::getInstance(SAML_LOGCAT".MetadataFilter.EntityRoleWhiteList"); + Category& log=Category::getInstance(SAML_LOGCAT".MetadataFilter."ENTITYROLE_METADATA_FILTER); VectorOf(EntityDescriptor) v = entities.getEntityDescriptors(); for (VectorOf(EntityDescriptor)::size_type i = 0; i < v.size(); ) { diff --git a/saml/saml2/metadata/impl/WhitelistMetadataFilter.cpp b/saml/saml2/metadata/impl/WhitelistMetadataFilter.cpp index 61ddbc2..f671edc 100644 --- a/saml/saml2/metadata/impl/WhitelistMetadataFilter.cpp +++ b/saml/saml2/metadata/impl/WhitelistMetadataFilter.cpp @@ -100,18 +100,18 @@ void WhitelistMetadataFilter::doFilter(XMLObject& xmlObject) const try { EntityDescriptor& entity = dynamic_cast(xmlObject); if (!found(entity.getEntityID())) - throw MetadataFilterException("WhitelistMetadataFilter instructed to filter the root/only entity in the metadata."); + throw MetadataFilterException(WHITELIST_METADATA_FILTER" MetadataFilter instructed to filter the root/only entity in the metadata."); return; } catch (bad_cast&) { } - throw MetadataFilterException("WhitelistMetadataFilter was given an improper metadata instance to filter."); + throw MetadataFilterException(WHITELIST_METADATA_FILTER" MetadataFilter was given an improper metadata instance to filter."); } void WhitelistMetadataFilter::doFilter(EntitiesDescriptor& entities) const { - Category& log=Category::getInstance(SAML_LOGCAT".MetadataFilter.Whitelist"); + Category& log=Category::getInstance(SAML_LOGCAT".MetadataFilter."WHITELIST_METADATA_FILTER); VectorOf(EntityDescriptor) v=entities.getEntityDescriptors(); for (VectorOf(EntityDescriptor)::size_type i=0; i