[java-shib-metadata] branch main updated: IDP-2116 - Add metrics for MetadataResolvers
Scott Cantor
cantor.2 at osu.edu
Tue May 23 20:05:50 UTC 2023
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch main
in repository java-shib-metadata.
View the commit online:
http://git.shibboleth.net/view/?p=java-shib-metadata.git;a=commit;h=65c92bf244a2291dca93cfd5e14704a593a9b010
The following commit(s) were added to refs/heads/main by this push:
new 65c92bf2 IDP-2116 - Add metrics for MetadataResolvers
65c92bf2 is described below
commit 65c92bf244a2291dca93cfd5e14704a593a9b010
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Tue May 23 16:05:48 2023 -0400
IDP-2116 - Add metrics for MetadataResolvers
https://shibboleth.atlassian.net/browse/IDP-2116
Move metricsBaseName to base schema type.
Default in a metricsBaseName if not set.
---
.../metadata/AbstractDynamicMetadataProviderParser.java | 4 ----
.../spring/metadata/AbstractMetadataProviderParser.java | 17 +++++++++++++++--
.../src/main/resources/schema/shibboleth-metadata.xsd | 17 ++++++++---------
.../spring/metadata/fileBackedHTTPEntities.xml | 3 ++-
.../net/shibboleth/spring/metadata/fileEntities.xml | 2 +-
.../shibboleth/spring/metadata/http-entities-client.xml | 3 ++-
6 files changed, 28 insertions(+), 18 deletions(-)
diff --git a/shib-metadata-spring/src/main/java/net/shibboleth/spring/metadata/AbstractDynamicMetadataProviderParser.java b/shib-metadata-spring/src/main/java/net/shibboleth/spring/metadata/AbstractDynamicMetadataProviderParser.java
index 7b18d359..dc372a37 100644
--- a/shib-metadata-spring/src/main/java/net/shibboleth/spring/metadata/AbstractDynamicMetadataProviderParser.java
+++ b/shib-metadata-spring/src/main/java/net/shibboleth/spring/metadata/AbstractDynamicMetadataProviderParser.java
@@ -73,10 +73,6 @@ public abstract class AbstractDynamicMetadataProviderParser extends AbstractMeta
AttributeSupport.ensureAttributeValue(element, null, "indexesRef"));
}
- if (element.hasAttributeNS(null, "metricsBaseName")) {
- builder.addPropertyValue("metricsBaseName", element.getAttributeNS(null, "metricsBaseName"));
- }
-
builder.addPropertyReference("parserPool", getParserPoolRef(element));
processPersistentCachingProperties(element, parserContext, builder);
diff --git a/shib-metadata-spring/src/main/java/net/shibboleth/spring/metadata/AbstractMetadataProviderParser.java b/shib-metadata-spring/src/main/java/net/shibboleth/spring/metadata/AbstractMetadataProviderParser.java
index a9d8bbf7..d23a683c 100644
--- a/shib-metadata-spring/src/main/java/net/shibboleth/spring/metadata/AbstractMetadataProviderParser.java
+++ b/shib-metadata-spring/src/main/java/net/shibboleth/spring/metadata/AbstractMetadataProviderParser.java
@@ -144,6 +144,7 @@ public abstract class AbstractMetadataProviderParser extends AbstractCustomBeanD
builder.setInitMethodName("initialize");
builder.setDestroyMethodName("destroy");
builder.setLazyInit(true);
+
final BeanDefinitionBuilder childBeanDefinitionBuilder =
BeanDefinitionBuilder.genericBeanDefinition(getNativeBeanClass(element));
doNativeParse(element, parserContext, childBeanDefinitionBuilder);
@@ -162,6 +163,7 @@ public abstract class AbstractMetadataProviderParser extends AbstractCustomBeanD
}
}
+// Checkstyle: CyclomaticComplexity OFF
/**
* Parse the element into the provider builder. This has the same function as the more usual
* {@link AbstractSingleBeanDefinitionParser#doParse(Element, ParserContext, BeanDefinitionBuilder)} but it may need
@@ -179,13 +181,23 @@ public abstract class AbstractMetadataProviderParser extends AbstractCustomBeanD
builder.setDestroyMethodName("destroy");
builder.setLazyInit(true);
- builder.addPropertyValue("id", StringSupport.trimOrNull(element.getAttributeNS(null, "id")));
-
+ final String resolverId = StringSupport.trimOrNull(element.getAttributeNS(null, "id"));
+ builder.addPropertyValue("id", resolverId);
+
final QName resolverType = DOMTypeSupport.getXSIType(element);
if (resolverType != null) {
builder.addPropertyValue("type", resolverType.getLocalPart());
}
+ if (!isChaining(element)) {
+ if (element.hasAttributeNS(null, "metricsBaseName")) {
+ builder.addPropertyValue("metricsBaseName", element.getAttributeNS(null, "metricsBaseName"));
+ } else if (resolverType != null && resolverId != null) {
+ builder.addPropertyValue("metricsBaseName",
+ "net.shibboleth.idp.metadata." + resolverType.getLocalPart() + "." + resolverId);
+ }
+ }
+
if (isPresentNotChaining(element, "failFastInitialization")) {
builder.addPropertyValue("failFastInitialization",
SpringSupport.getStringValueAsBoolean(element.getAttributeNS(null, "failFastInitialization")));
@@ -224,6 +236,7 @@ public abstract class AbstractMetadataProviderParser extends AbstractCustomBeanD
}
}
}
+// Checkstyle: CyclomaticComplexity ON
/**
* Process predicate-related options.
diff --git a/shib-metadata-spring/src/main/resources/schema/shibboleth-metadata.xsd b/shib-metadata-spring/src/main/resources/schema/shibboleth-metadata.xsd
index f0884845..83bd4c1d 100644
--- a/shib-metadata-spring/src/main/resources/schema/shibboleth-metadata.xsd
+++ b/shib-metadata-spring/src/main/resources/schema/shibboleth-metadata.xsd
@@ -722,14 +722,6 @@
</documentation>
</annotation>
</attribute>
- <attribute name="metricsBaseName" type="shibmd:string">
- <annotation>
- <documentation>
- Prefix name for metrics exposed by this resolver, defaults to the class name
- and the bean ID.
- </documentation>
- </annotation>
- </attribute>
</extension>
</complexContent>
</complexType>
@@ -870,8 +862,15 @@
provider tree with the lowest sortKey first.
</documentation>
</annotation>
-
</attribute>
+ <attribute name="metricsBaseName" type="shibmd:string">
+ <annotation>
+ <documentation>
+ Prefix name for metrics exposed by this resolver, defaults to the resolver type
+ and the bean ID.
+ </documentation>
+ </annotation>
+ </attribute>
</complexType>
<element name="MetadataFilter" type="shibmd:MetadataFilterType">
diff --git a/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/fileBackedHTTPEntities.xml b/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/fileBackedHTTPEntities.xml
index 302aac94..05098fb1 100644
--- a/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/fileBackedHTTPEntities.xml
+++ b/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/fileBackedHTTPEntities.xml
@@ -6,7 +6,8 @@
id="fileBackedHTTPEntities" xsi:type="metadata:FileBackedHTTPMetadataProvider"
backingFile="%{DIR}/spoolFileEntities.xml"
- metadataURL="%{metadataURL}">
+ metadataURL="%{metadataURL}"
+ metricsBaseName="fileBackedHTTPEntities">
</metadata:MetadataProvider>
\ No newline at end of file
diff --git a/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/fileEntities.xml b/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/fileEntities.xml
index 2cb87c33..4e538a7f 100644
--- a/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/fileEntities.xml
+++ b/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/fileEntities.xml
@@ -5,7 +5,7 @@
urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd"
parserPoolRef="myParserPool" refreshDelayFactor="0.5" maxRefreshDelay="PT55M" minRefreshDelay="PT15M" expirationWarningThreshold="PT12H"
- id="fileEntities" xsi:type="metadata:FilesystemMetadataProvider" metadataFile="%{DIR}/entities.xml">
+ id="fileEntities" xsi:type="metadata:FilesystemMetadataProvider" metadataFile="%{DIR}/entities.xml" metricsBaseName="fileEntities">
</metadata:MetadataProvider>
\ No newline at end of file
diff --git a/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/http-entities-client.xml b/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/http-entities-client.xml
index 27303aae..c239d7dc 100644
--- a/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/http-entities-client.xml
+++ b/shib-metadata-spring/src/test/resources/net/shibboleth/spring/metadata/http-entities-client.xml
@@ -8,7 +8,8 @@
id="HTTPEntities" xsi:type="metadata:FileBackedHTTPMetadataProvider"
backingFile="%{DIR}/spoolhttpentitiesClient.xml"
httpClientRef="apacheClient"
- metadataURL="%{metadataURL}">
+ metadataURL="%{metadataURL}"
+ metricsBaseName="HTTPEntities">
</metadata:MetadataProvider>
\ No newline at end of file
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list