[java-identity-provider] branch master updated: Fix files incorrectly checked in as DOS format.
Scott Cantor
cantor.2 at osu.edu
Mon May 1 21:07:37 EDT 2017
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch master
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=4c69a91c2b8f555bfb3c59d39b015577bec0b63a
The following commit(s) were added to refs/heads/master by this push:
new 4c69a91 Fix files incorrectly checked in as DOS format.
4c69a91 is described below
commit 4c69a91c2b8f555bfb3c59d39b015577bec0b63a
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Mon May 1 21:07:30 2017 -0400
Fix files incorrectly checked in as DOS format.
---
.../ResolverAttributeDefinitionDependency.java | 70 +++----
.../resolver/ResolverDataConnectorDependency.java | 164 ++++++++--------
.../impl/InputAttributeDefinitionParser.java | 80 ++++----
.../spring/impl/InputDataConnectorParser.java | 142 +++++++-------
.../resolver/spring/DependencyTypesTest.java | 146 +++++++-------
.../main/resources/conf/admin/general-admin.xml | 106 +++++-----
.../main/resources/conf/authn/mfa-authn-config.xml | 198 +++++++++----------
.../resources/system/conf/general-admin-system.xml | 214 ++++++++++-----------
.../resources/system/flows/admin/storage-beans.xml | 84 ++++----
.../resources/system/flows/admin/storage-flow.xml | 88 ++++-----
idp-core/src/main/resources/logback.xml | 28 +--
.../resources/net/shibboleth/idp/installer/ant.xml | 12 +-
.../idp/installer/metadata-generator.xml | 36 ++--
.../SingleLogoutProfileConfigurationTest.java | 120 ++++++------
14 files changed, 744 insertions(+), 744 deletions(-)
diff --git a/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/ResolverAttributeDefinitionDependency.java b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/ResolverAttributeDefinitionDependency.java
index 6705b7d..a875b41 100644
--- a/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/ResolverAttributeDefinitionDependency.java
+++ b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/ResolverAttributeDefinitionDependency.java
@@ -1,35 +1,35 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.attribute.resolver;
-
-/**
- * A Dependency that references to an Attribute Definition.
- */
-public final class ResolverAttributeDefinitionDependency extends ResolverPluginDependency {
-
- /**
- * Constructor.
- *
- * @param pluginId
- */
- public ResolverAttributeDefinitionDependency(final String pluginId) {
- super(pluginId);
- // TODO Auto-generated constructor stub
- }
-
-}
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.idp.attribute.resolver;
+
+/**
+ * A Dependency that references to an Attribute Definition.
+ */
+public final class ResolverAttributeDefinitionDependency extends ResolverPluginDependency {
+
+ /**
+ * Constructor.
+ *
+ * @param pluginId
+ */
+ public ResolverAttributeDefinitionDependency(final String pluginId) {
+ super(pluginId);
+ // TODO Auto-generated constructor stub
+ }
+
+}
diff --git a/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/ResolverDataConnectorDependency.java b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/ResolverDataConnectorDependency.java
index 4dfd40e..c24253f 100644
--- a/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/ResolverDataConnectorDependency.java
+++ b/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/ResolverDataConnectorDependency.java
@@ -1,82 +1,82 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.attribute.resolver;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.annotation.Nullable;
-
-/**
- *
- */
-public final class ResolverDataConnectorDependency extends ResolverPluginDependency {
-
- private boolean allAttributes = false;
-
- private Set<String> attributeNames = Collections.EMPTY_SET;
-
- /**
- * Constructor.
- *
- * @param pluginId
- */
- public ResolverDataConnectorDependency(final String pluginId) {
- super(pluginId);
- }
-
- /**
- * @return Returns the allAttributes.
- */
- public boolean isAllAttributes() {
- return allAttributes;
- }
-
- /**
- * @param all The allAttributes to set.
- */
- public void setAllAttributes(final boolean all) {
- allAttributes = all;
- }
-
- /**
- * @return Returns the attributeNames.
- */
- public Collection<String> getAttributeNames() {
- return attributeNames;
- }
-
- /**
- * @param names The attributeNames to set.
- */
- public void setAttributeNames(final Collection<String> names) {
- attributeNames = new HashSet(names);
- }
-
- /**
- * {@inheritDoc}
- * @deprecated("Used SetAttributeNames instead")
- */
- @Override @Deprecated public void setDependencyAttributeId(@Nullable final String attributeId) {
- super.setDependencyAttributeId(attributeId);
- }
-
-
-}
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.idp.attribute.resolver;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.annotation.Nullable;
+
+/**
+ *
+ */
+public final class ResolverDataConnectorDependency extends ResolverPluginDependency {
+
+ private boolean allAttributes = false;
+
+ private Set<String> attributeNames = Collections.EMPTY_SET;
+
+ /**
+ * Constructor.
+ *
+ * @param pluginId
+ */
+ public ResolverDataConnectorDependency(final String pluginId) {
+ super(pluginId);
+ }
+
+ /**
+ * @return Returns the allAttributes.
+ */
+ public boolean isAllAttributes() {
+ return allAttributes;
+ }
+
+ /**
+ * @param all The allAttributes to set.
+ */
+ public void setAllAttributes(final boolean all) {
+ allAttributes = all;
+ }
+
+ /**
+ * @return Returns the attributeNames.
+ */
+ public Collection<String> getAttributeNames() {
+ return attributeNames;
+ }
+
+ /**
+ * @param names The attributeNames to set.
+ */
+ public void setAttributeNames(final Collection<String> names) {
+ attributeNames = new HashSet(names);
+ }
+
+ /**
+ * {@inheritDoc}
+ * @deprecated("Used SetAttributeNames instead")
+ */
+ @Override @Deprecated public void setDependencyAttributeId(@Nullable final String attributeId) {
+ super.setDependencyAttributeId(attributeId);
+ }
+
+
+}
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/impl/InputAttributeDefinitionParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/impl/InputAttributeDefinitionParser.java
index 1d1642f..24b1e1d 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/impl/InputAttributeDefinitionParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/impl/InputAttributeDefinitionParser.java
@@ -1,41 +1,41 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.attribute.resolver.spring.impl;
-
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.attribute.resolver.ResolverAttributeDefinitionDependency;
-import net.shibboleth.idp.attribute.resolver.ResolverPluginDependency;
-import net.shibboleth.idp.attribute.resolver.spring.ResolverPluginDependencyParser;
-
-import org.w3c.dom.Element;
-
-/** Bean definition parser for a {@link ResolverPluginDependency}. */
-public class InputAttributeDefinitionParser extends ResolverPluginDependencyParser {
-
- /** Element name. */
- @Nonnull public static final QName ELEMENT_NAME =
- new QName(AttributeResolverNamespaceHandler.NAMESPACE, "InputAttributeDefinition");
-
- /** {@inheritDoc} */
- @Override protected Class<ResolverAttributeDefinitionDependency> getBeanClass(@Nullable final Element element) {
- return ResolverAttributeDefinitionDependency.class;
- }
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.idp.attribute.resolver.spring.impl;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+import javax.xml.namespace.QName;
+
+import net.shibboleth.idp.attribute.resolver.ResolverAttributeDefinitionDependency;
+import net.shibboleth.idp.attribute.resolver.ResolverPluginDependency;
+import net.shibboleth.idp.attribute.resolver.spring.ResolverPluginDependencyParser;
+
+import org.w3c.dom.Element;
+
+/** Bean definition parser for a {@link ResolverPluginDependency}. */
+public class InputAttributeDefinitionParser extends ResolverPluginDependencyParser {
+
+ /** Element name. */
+ @Nonnull public static final QName ELEMENT_NAME =
+ new QName(AttributeResolverNamespaceHandler.NAMESPACE, "InputAttributeDefinition");
+
+ /** {@inheritDoc} */
+ @Override protected Class<ResolverAttributeDefinitionDependency> getBeanClass(@Nullable final Element element) {
+ return ResolverAttributeDefinitionDependency.class;
+ }
}
\ No newline at end of file
diff --git a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/impl/InputDataConnectorParser.java b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/impl/InputDataConnectorParser.java
index d75594b..ff95168 100644
--- a/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/impl/InputDataConnectorParser.java
+++ b/idp-attribute-resolver-spring/src/main/java/net/shibboleth/idp/attribute/resolver/spring/impl/InputDataConnectorParser.java
@@ -1,72 +1,72 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.attribute.resolver.spring.impl;
-
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.attribute.resolver.ResolverDataConnectorDependency;
-import net.shibboleth.idp.attribute.resolver.ResolverPluginDependency;
-import net.shibboleth.idp.attribute.resolver.spring.ResolverPluginDependencyParser;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.BeanCreationException;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
-/** Bean definition parser for a {@link ResolverPluginDependency}. */
-public class InputDataConnectorParser extends ResolverPluginDependencyParser {
-
- /** Element name. */
- @Nonnull public static final QName ELEMENT_NAME =
- new QName(AttributeResolverNamespaceHandler.NAMESPACE, "InputDataConnector");
-
- /** Class logger. */
- @Nonnull private final Logger log = LoggerFactory.getLogger(InputDataConnectorParser.class);
-
- /** {@inheritDoc} */
- @Override protected Class<ResolverDataConnectorDependency> getBeanClass(@Nullable final Element element) {
- return ResolverDataConnectorDependency.class;
- }
-
- /** {@inheritDoc} */
- @Override protected void doParse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
- @Nonnull final BeanDefinitionBuilder builder) {
- super.doParse(config, parserContext, builder);
-
- final String attributes = StringSupport.trimOrNull(config.getAttributeNS(null, "attributeNames"));
- final String allAttributes = StringSupport.trimOrNull(config.getAttributeNS(null, "allAttributes"));
- if (attributes != null) {
- if (allAttributes != null) {
- log.error("attributeNames and allAttributes are mutually exclusive");
- throw new BeanCreationException(ELEMENT_NAME.getLocalPart() + ": attributeNames and allAttributes are mutually exclusive");
- }
- builder.addPropertyValue("attributeNames", attributes);
- } else if (allAttributes != null) {
- builder.addPropertyValue("allAttributes", allAttributes);
- } else {
- log.error("One of attributeNames or allAttributes must be specified");
- throw new BeanCreationException(ELEMENT_NAME.getLocalPart() + ": One of attributeNames or allAttributes must be specified");
- }
- }
-
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.idp.attribute.resolver.spring.impl;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+import javax.xml.namespace.QName;
+
+import net.shibboleth.idp.attribute.resolver.ResolverDataConnectorDependency;
+import net.shibboleth.idp.attribute.resolver.ResolverPluginDependency;
+import net.shibboleth.idp.attribute.resolver.spring.ResolverPluginDependencyParser;
+import net.shibboleth.utilities.java.support.primitive.StringSupport;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.BeanCreationException;
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import org.springframework.beans.factory.xml.ParserContext;
+import org.w3c.dom.Element;
+
+/** Bean definition parser for a {@link ResolverPluginDependency}. */
+public class InputDataConnectorParser extends ResolverPluginDependencyParser {
+
+ /** Element name. */
+ @Nonnull public static final QName ELEMENT_NAME =
+ new QName(AttributeResolverNamespaceHandler.NAMESPACE, "InputDataConnector");
+
+ /** Class logger. */
+ @Nonnull private final Logger log = LoggerFactory.getLogger(InputDataConnectorParser.class);
+
+ /** {@inheritDoc} */
+ @Override protected Class<ResolverDataConnectorDependency> getBeanClass(@Nullable final Element element) {
+ return ResolverDataConnectorDependency.class;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void doParse(@Nonnull final Element config, @Nonnull final ParserContext parserContext,
+ @Nonnull final BeanDefinitionBuilder builder) {
+ super.doParse(config, parserContext, builder);
+
+ final String attributes = StringSupport.trimOrNull(config.getAttributeNS(null, "attributeNames"));
+ final String allAttributes = StringSupport.trimOrNull(config.getAttributeNS(null, "allAttributes"));
+ if (attributes != null) {
+ if (allAttributes != null) {
+ log.error("attributeNames and allAttributes are mutually exclusive");
+ throw new BeanCreationException(ELEMENT_NAME.getLocalPart() + ": attributeNames and allAttributes are mutually exclusive");
+ }
+ builder.addPropertyValue("attributeNames", attributes);
+ } else if (allAttributes != null) {
+ builder.addPropertyValue("allAttributes", allAttributes);
+ } else {
+ log.error("One of attributeNames or allAttributes must be specified");
+ throw new BeanCreationException(ELEMENT_NAME.getLocalPart() + ": One of attributeNames or allAttributes must be specified");
+ }
+ }
+
}
\ No newline at end of file
diff --git a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/DependencyTypesTest.java b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/DependencyTypesTest.java
index dde2170..c76eecc 100644
--- a/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/DependencyTypesTest.java
+++ b/idp-attribute-resolver-spring/src/test/java/net/shibboleth/idp/attribute/resolver/spring/DependencyTypesTest.java
@@ -1,73 +1,73 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.attribute.resolver.spring;
-
-import net.shibboleth.idp.attribute.resolver.AttributeDefinition;
-import net.shibboleth.idp.attribute.resolver.ResolverAttributeDefinitionDependency;
-import net.shibboleth.idp.attribute.resolver.ResolverDataConnectorDependency;
-
-import org.springframework.beans.factory.BeanDefinitionStoreException;
-import org.springframework.context.support.GenericApplicationContext;
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-/**
- *
- */
-public class DependencyTypesTest extends BaseAttributeDefinitionParserTest {
-
- @Test public void springList() {
- final ResolverDataConnectorDependency re = getBean(BEAN_FILE_PATH + "inputDataConnector1.xml", ResolverDataConnectorDependency.class, new GenericApplicationContext());
-
- Assert.assertEquals(re.getDependencyPluginId(), "DC1");
- Assert.assertFalse(re.isAllAttributes());
- Assert.assertEquals(re.getAttributeNames().size(), 3);
- Assert.assertTrue(re.getAttributeNames().contains("1"));
- Assert.assertTrue(re.getAttributeNames().contains("2"));
- Assert.assertTrue(re.getAttributeNames().contains("3"));
- }
-
- @Test public void allAttributeDataConnector() {
- final ResolverDataConnectorDependency re = getBean(BEAN_FILE_PATH + "inputDataConnector2.xml", ResolverDataConnectorDependency.class, new GenericApplicationContext());
-
- Assert.assertEquals(re.getDependencyPluginId(), "DC2");
- Assert.assertTrue(re.isAllAttributes());
- Assert.assertTrue(re.getAttributeNames().isEmpty());
- }
-
- @Test(expectedExceptions={BeanDefinitionStoreException.class,}) public void bothAttributeDataConnector() {
- getBean(BEAN_FILE_PATH + "inputDataConnector3.xml", ResolverDataConnectorDependency.class, new GenericApplicationContext());
- }
-
- @Test(expectedExceptions={BeanDefinitionStoreException.class,}) public void neitherAttributeDataConnector() {
- getBean(BEAN_FILE_PATH + "inputDataConnector4.xml", ResolverDataConnectorDependency.class, new GenericApplicationContext());
- }
-
- @Test public void attributeInput() {
- final ResolverAttributeDefinitionDependency re = getBean(BEAN_FILE_PATH + "inputAttributeDefinition1.xml", ResolverAttributeDefinitionDependency.class, new GenericApplicationContext());
-
- Assert.assertEquals(re.getDependencyPluginId(), "AD1");
- }
-
- @Test(dependsOnMethods={"attributeInput", "allAttributeDataConnector"}) public void simple() {
- final AttributeDefinition attr = getBean(BEAN_FILE_PATH + "simpleDependencies.xml", AttributeDefinition.class, new GenericApplicationContext());
-
- Assert.assertEquals(attr.getDependencies().size(), 3);
- }
-
-}
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.idp.attribute.resolver.spring;
+
+import net.shibboleth.idp.attribute.resolver.AttributeDefinition;
+import net.shibboleth.idp.attribute.resolver.ResolverAttributeDefinitionDependency;
+import net.shibboleth.idp.attribute.resolver.ResolverDataConnectorDependency;
+
+import org.springframework.beans.factory.BeanDefinitionStoreException;
+import org.springframework.context.support.GenericApplicationContext;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+/**
+ *
+ */
+public class DependencyTypesTest extends BaseAttributeDefinitionParserTest {
+
+ @Test public void springList() {
+ final ResolverDataConnectorDependency re = getBean(BEAN_FILE_PATH + "inputDataConnector1.xml", ResolverDataConnectorDependency.class, new GenericApplicationContext());
+
+ Assert.assertEquals(re.getDependencyPluginId(), "DC1");
+ Assert.assertFalse(re.isAllAttributes());
+ Assert.assertEquals(re.getAttributeNames().size(), 3);
+ Assert.assertTrue(re.getAttributeNames().contains("1"));
+ Assert.assertTrue(re.getAttributeNames().contains("2"));
+ Assert.assertTrue(re.getAttributeNames().contains("3"));
+ }
+
+ @Test public void allAttributeDataConnector() {
+ final ResolverDataConnectorDependency re = getBean(BEAN_FILE_PATH + "inputDataConnector2.xml", ResolverDataConnectorDependency.class, new GenericApplicationContext());
+
+ Assert.assertEquals(re.getDependencyPluginId(), "DC2");
+ Assert.assertTrue(re.isAllAttributes());
+ Assert.assertTrue(re.getAttributeNames().isEmpty());
+ }
+
+ @Test(expectedExceptions={BeanDefinitionStoreException.class,}) public void bothAttributeDataConnector() {
+ getBean(BEAN_FILE_PATH + "inputDataConnector3.xml", ResolverDataConnectorDependency.class, new GenericApplicationContext());
+ }
+
+ @Test(expectedExceptions={BeanDefinitionStoreException.class,}) public void neitherAttributeDataConnector() {
+ getBean(BEAN_FILE_PATH + "inputDataConnector4.xml", ResolverDataConnectorDependency.class, new GenericApplicationContext());
+ }
+
+ @Test public void attributeInput() {
+ final ResolverAttributeDefinitionDependency re = getBean(BEAN_FILE_PATH + "inputAttributeDefinition1.xml", ResolverAttributeDefinitionDependency.class, new GenericApplicationContext());
+
+ Assert.assertEquals(re.getDependencyPluginId(), "AD1");
+ }
+
+ @Test(dependsOnMethods={"attributeInput", "allAttributeDataConnector"}) public void simple() {
+ final AttributeDefinition attr = getBean(BEAN_FILE_PATH + "simpleDependencies.xml", AttributeDefinition.class, new GenericApplicationContext());
+
+ Assert.assertEquals(attr.getDependencies().size(), 3);
+ }
+
+}
diff --git a/idp-conf/src/main/resources/conf/admin/general-admin.xml b/idp-conf/src/main/resources/conf/admin/general-admin.xml
index 6e9fc19..9b3b180 100644
--- a/idp-conf/src/main/resources/conf/admin/general-admin.xml
+++ b/idp-conf/src/main/resources/conf/admin/general-admin.xml
@@ -1,53 +1,53 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:context="http://www.springframework.org/schema/context"
- xmlns:util="http://www.springframework.org/schema/util" xmlns:p="http://www.springframework.org/schema/p"
- xmlns:c="http://www.springframework.org/schema/c" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
- http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
-
- default-init-method="initialize"
- default-destroy-method="destroy">
-
- <util:list id="shibboleth.AvailableAdminFlows">
-
- <!-- Status Page -->
- <bean parent="shibboleth.AdminFlow"
- c:id="http://shibboleth.net/ns/profiles/status"
- p:loggingId="%{idp.service.logging.status:Status}"
- p:policyName="%{idp.status.accessPolicy:AccessByIPAddress}" />
-
- <!-- Service Reload -->
- <bean parent="shibboleth.AdminFlow"
- c:id="http://shibboleth.net/ns/profiles/reload-service-configuration"
- p:loggingId="%{idp.service.logging.serviceReload:Reload}"
- p:policyName="%{idp.reload.accessPolicy:AccessByIPAddress}" />
-
- <!-- MetadataResolver Reload -->
- <bean parent="shibboleth.AdminFlow"
- c:id="http://shibboleth.net/ns/profiles/reload-metadata"
- p:loggingId="%{idp.service.logging.serviceReload:Reload}"
- p:policyName="%{idp.reload.accessPolicy:AccessByIPAddress}" />
-
- <!-- AttributeResolver Debugging -->
- <bean parent="shibboleth.AdminFlow"
- c:id="http://shibboleth.net/ns/profiles/resolvertest"
- p:loggingId="%{idp.service.logging.resolvertest:ResolverTest}"
- p:policyName="%{idp.resolvertest.accessPolicy:AccessByIPAddress}" />
-
- <!-- REST StorageService Access -->
- <bean parent="shibboleth.AdminFlow"
- c:id="http://shibboleth.net/ns/profiles/storage"
- p:loggingId="Storage"
- p:policyName="AccessByIPAddress" />
-
- <!-- REST Interface to Metrics -->
- <bean parent="shibboleth.AdminFlow"
- c:id="http://shibboleth.net/ns/profiles/metrics"
- p:loggingId="Metrics"
- p:policyNameLookupStrategy-ref="shibboleth.metrics.AccessPolicyStrategy" />
-
- </util:list>
-
-</beans>
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xmlns:util="http://www.springframework.org/schema/util" xmlns:p="http://www.springframework.org/schema/p"
+ xmlns:c="http://www.springframework.org/schema/c" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
+ http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
+
+ default-init-method="initialize"
+ default-destroy-method="destroy">
+
+ <util:list id="shibboleth.AvailableAdminFlows">
+
+ <!-- Status Page -->
+ <bean parent="shibboleth.AdminFlow"
+ c:id="http://shibboleth.net/ns/profiles/status"
+ p:loggingId="%{idp.service.logging.status:Status}"
+ p:policyName="%{idp.status.accessPolicy:AccessByIPAddress}" />
+
+ <!-- Service Reload -->
+ <bean parent="shibboleth.AdminFlow"
+ c:id="http://shibboleth.net/ns/profiles/reload-service-configuration"
+ p:loggingId="%{idp.service.logging.serviceReload:Reload}"
+ p:policyName="%{idp.reload.accessPolicy:AccessByIPAddress}" />
+
+ <!-- MetadataResolver Reload -->
+ <bean parent="shibboleth.AdminFlow"
+ c:id="http://shibboleth.net/ns/profiles/reload-metadata"
+ p:loggingId="%{idp.service.logging.serviceReload:Reload}"
+ p:policyName="%{idp.reload.accessPolicy:AccessByIPAddress}" />
+
+ <!-- AttributeResolver Debugging -->
+ <bean parent="shibboleth.AdminFlow"
+ c:id="http://shibboleth.net/ns/profiles/resolvertest"
+ p:loggingId="%{idp.service.logging.resolvertest:ResolverTest}"
+ p:policyName="%{idp.resolvertest.accessPolicy:AccessByIPAddress}" />
+
+ <!-- REST StorageService Access -->
+ <bean parent="shibboleth.AdminFlow"
+ c:id="http://shibboleth.net/ns/profiles/storage"
+ p:loggingId="Storage"
+ p:policyName="AccessByIPAddress" />
+
+ <!-- REST Interface to Metrics -->
+ <bean parent="shibboleth.AdminFlow"
+ c:id="http://shibboleth.net/ns/profiles/metrics"
+ p:loggingId="Metrics"
+ p:policyNameLookupStrategy-ref="shibboleth.metrics.AccessPolicyStrategy" />
+
+ </util:list>
+
+</beans>
diff --git a/idp-conf/src/main/resources/conf/authn/mfa-authn-config.xml b/idp-conf/src/main/resources/conf/authn/mfa-authn-config.xml
index 6c6a306..ef3b80e 100644
--- a/idp-conf/src/main/resources/conf/authn/mfa-authn-config.xml
+++ b/idp-conf/src/main/resources/conf/authn/mfa-authn-config.xml
@@ -1,99 +1,99 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:context="http://www.springframework.org/schema/context"
- xmlns:util="http://www.springframework.org/schema/util"
- xmlns:p="http://www.springframework.org/schema/p"
- xmlns:c="http://www.springframework.org/schema/c"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
- http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
-
- default-init-method="initialize"
- default-destroy-method="destroy">
-
- <!--
- This is a map of transition rules that guide the behavior of the MFA flow
- and controls how factors are sequenced, skipped, etc. The key of each entry
- is the name of the step/flow out of which control is passing. The starting
- rule has an empty key.
-
- Each entry is a bean inherited from "shibboleth.authn.MFA.Transition". Per
- the Javadoc for net.shibboleth.idp.authn.MultiFactorAuthenticationTransition:
-
- p:nextFlow (String)
- - A flow to run if the previous step signaled a "proceed" event, for simple
- transitions.
-
- p:nextFlowStrategy (Function<ProfileRequestContext,String>)
- - A function to run if the previous step signaled a "proceed" event, for dynamic
- transitions. Returning null ends the MFA process.
-
- p:nextFlowStrategyMap (Map<String,Object> where Object is String or Function<ProfileRequestContext,String>)
- - Fully dynamic way of expressing control paths. Map is keyed by a previously
- signaled event and the value is a flow to run or a function to
- return the flow to run. Returning null ends the MFA process.
-
- When no rule is provided, there's an implicit "null" that ends the MFA flow
- with whatever event was last signaled. If the "proceed" event from a step is
- the final event, then the MFA process attempts to complete itself successfully.
- -->
- <util:map id="shibboleth.authn.MFA.TransitionMap">
- <!-- First rule runs the IPAddress login flow. -->
- <entry key="">
- <bean parent="shibboleth.authn.MFA.Transition" p:nextFlow="authn/IPAddress" />
- </entry>
-
- <!--
- Second rule runs a function if IPAddress succeeds, to determine whether an additional
- factor is required.
- -->
- <entry key="authn/IPAddress">
- <bean parent="shibboleth.authn.MFA.Transition" p:nextFlowStrategy-ref="checkSecondFactor" />
- </entry>
-
- <!-- An implicit final rule will return whatever the final flow returns. -->
- </util:map>
-
- <!-- Example script to see if second factor is required. -->
- <bean id="checkSecondFactor" parent="shibboleth.ContextFunctions.Scripted" factory-method="inlineScript"
- p:customObject-ref="shibboleth.AttributeResolverService">
- <constructor-arg>
- <value>
- <![CDATA[
- nextFlow = "authn/Password";
-
- // Go straight to second factor if we have to, or set up for an attribute lookup first.
- authCtx = input.getSubcontext("net.shibboleth.idp.authn.context.AuthenticationContext");
- mfaCtx = authCtx.getSubcontext("net.shibboleth.idp.authn.context.MultiFactorAuthenticationContext");
- if (mfaCtx.isAcceptable()) {
- // Attribute check is required to decide if first factor alone is enough.
- resCtx = input.getSubcontext(
- "net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext", true);
-
- // Look up the username using a standard function.
- usernameLookupStrategyClass
- = Java.type("net.shibboleth.idp.session.context.navigate.CanonicalUsernameLookupStrategy");
- usernameLookupStrategy = new usernameLookupStrategyClass();
- resCtx.setPrincipal(usernameLookupStrategy.apply(input));
-
- resCtx.getRequestedIdPAttributeNames().add("allowedLoginMethods");
- resCtx.resolveAttributes(custom);
-
- // Check for an attribute that authorizes use of first factor.
- attribute = resCtx.getResolvedIdPAttributes().get("allowedLoginMethods");
- valueType = Java.type("net.shibboleth.idp.attribute.StringAttributeValue");
- if (attribute != null && attribute.getValues().contains(new valueType("IPAddress"))) {
- nextFlow = null;
- }
-
- input.removeSubcontext(resCtx); // cleanup
- }
-
- nextFlow; // pass control to second factor or end with the first
- ]]>
- </value>
- </constructor-arg>
- </bean>
-
-</beans>
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xmlns:util="http://www.springframework.org/schema/util"
+ xmlns:p="http://www.springframework.org/schema/p"
+ xmlns:c="http://www.springframework.org/schema/c"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
+ http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
+
+ default-init-method="initialize"
+ default-destroy-method="destroy">
+
+ <!--
+ This is a map of transition rules that guide the behavior of the MFA flow
+ and controls how factors are sequenced, skipped, etc. The key of each entry
+ is the name of the step/flow out of which control is passing. The starting
+ rule has an empty key.
+
+ Each entry is a bean inherited from "shibboleth.authn.MFA.Transition". Per
+ the Javadoc for net.shibboleth.idp.authn.MultiFactorAuthenticationTransition:
+
+ p:nextFlow (String)
+ - A flow to run if the previous step signaled a "proceed" event, for simple
+ transitions.
+
+ p:nextFlowStrategy (Function<ProfileRequestContext,String>)
+ - A function to run if the previous step signaled a "proceed" event, for dynamic
+ transitions. Returning null ends the MFA process.
+
+ p:nextFlowStrategyMap (Map<String,Object> where Object is String or Function<ProfileRequestContext,String>)
+ - Fully dynamic way of expressing control paths. Map is keyed by a previously
+ signaled event and the value is a flow to run or a function to
+ return the flow to run. Returning null ends the MFA process.
+
+ When no rule is provided, there's an implicit "null" that ends the MFA flow
+ with whatever event was last signaled. If the "proceed" event from a step is
+ the final event, then the MFA process attempts to complete itself successfully.
+ -->
+ <util:map id="shibboleth.authn.MFA.TransitionMap">
+ <!-- First rule runs the IPAddress login flow. -->
+ <entry key="">
+ <bean parent="shibboleth.authn.MFA.Transition" p:nextFlow="authn/IPAddress" />
+ </entry>
+
+ <!--
+ Second rule runs a function if IPAddress succeeds, to determine whether an additional
+ factor is required.
+ -->
+ <entry key="authn/IPAddress">
+ <bean parent="shibboleth.authn.MFA.Transition" p:nextFlowStrategy-ref="checkSecondFactor" />
+ </entry>
+
+ <!-- An implicit final rule will return whatever the final flow returns. -->
+ </util:map>
+
+ <!-- Example script to see if second factor is required. -->
+ <bean id="checkSecondFactor" parent="shibboleth.ContextFunctions.Scripted" factory-method="inlineScript"
+ p:customObject-ref="shibboleth.AttributeResolverService">
+ <constructor-arg>
+ <value>
+ <![CDATA[
+ nextFlow = "authn/Password";
+
+ // Go straight to second factor if we have to, or set up for an attribute lookup first.
+ authCtx = input.getSubcontext("net.shibboleth.idp.authn.context.AuthenticationContext");
+ mfaCtx = authCtx.getSubcontext("net.shibboleth.idp.authn.context.MultiFactorAuthenticationContext");
+ if (mfaCtx.isAcceptable()) {
+ // Attribute check is required to decide if first factor alone is enough.
+ resCtx = input.getSubcontext(
+ "net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext", true);
+
+ // Look up the username using a standard function.
+ usernameLookupStrategyClass
+ = Java.type("net.shibboleth.idp.session.context.navigate.CanonicalUsernameLookupStrategy");
+ usernameLookupStrategy = new usernameLookupStrategyClass();
+ resCtx.setPrincipal(usernameLookupStrategy.apply(input));
+
+ resCtx.getRequestedIdPAttributeNames().add("allowedLoginMethods");
+ resCtx.resolveAttributes(custom);
+
+ // Check for an attribute that authorizes use of first factor.
+ attribute = resCtx.getResolvedIdPAttributes().get("allowedLoginMethods");
+ valueType = Java.type("net.shibboleth.idp.attribute.StringAttributeValue");
+ if (attribute != null && attribute.getValues().contains(new valueType("IPAddress"))) {
+ nextFlow = null;
+ }
+
+ input.removeSubcontext(resCtx); // cleanup
+ }
+
+ nextFlow; // pass control to second factor or end with the first
+ ]]>
+ </value>
+ </constructor-arg>
+ </bean>
+
+</beans>
diff --git a/idp-conf/src/main/resources/system/conf/general-admin-system.xml b/idp-conf/src/main/resources/system/conf/general-admin-system.xml
index 628ca49..32d1066 100644
--- a/idp-conf/src/main/resources/system/conf/general-admin-system.xml
+++ b/idp-conf/src/main/resources/system/conf/general-admin-system.xml
@@ -1,107 +1,107 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:context="http://www.springframework.org/schema/context"
- xmlns:util="http://www.springframework.org/schema/util"
- xmlns:p="http://www.springframework.org/schema/p"
- xmlns:c="http://www.springframework.org/schema/c"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
- http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
-
- default-init-method="initialize"
- default-destroy-method="destroy">
-
- <import resource="../../conf/admin/general-admin.xml" />
- <import resource="../../conf/admin/metrics.xml" />
-
- <!-- A parent bean to default some of the flow boilerplate. -->
-
- <bean id="shibboleth.AdminFlow" abstract="true"
- class="net.shibboleth.idp.admin.BasicAdministrativeFlowDescriptor"
- p:servletRequest-ref="shibboleth.HttpServletRequest"
- p:nonBrowserSupported="false" />
-
- <!-- Function for returning custom access control policies for access to metrics. -->
-
- <bean id="shibboleth.metrics.AccessPolicyStrategy" parent="shibboleth.ContextFunctions.Expression"
- c:expression="#custom.get('policyMap').get(#input.getSubcontext(T(net.shibboleth.idp.profile.context.SpringRequestContext)).getRequestContext().getFlowScope().get('metricId')) ?: #custom.get('defaultPolicy')"
- c:outputType="#{T(java.lang.String)}">
- <property name="customObject">
- <map>
- <entry key="policyMap" value-ref="shibboleth.metrics.AccessPolicyMap" />
- <entry key="defaultPolicy" value-ref="shibboleth.metrics.DefaultAccessPolicy" />
- </map>
- </property>
- </bean>
-
- <!-- MetricRegistry we can control with logging categories. -->
- <bean id="shibboleth.metrics.MetricRegistry"
- class="org.opensaml.core.metrics.FilteredMetricRegistry"
- p:metricFilter-ref="shibboleth.metrics.LoggerDrivenMetricFilter" />
-
- <bean id="shibboleth.metrics.LoggerDrivenMetricFilter"
- class="org.opensaml.core.metrics.LoggerDrivenMetricFilter"
- c:_0="metrics."
- c:_1="#{getObject('shibboleth.metrics.MetricLevelMap')}" />
-
- <!-- Parent beans for registering MetricSets and Metrics. -->
-
- <bean id="shibboleth.metrics.RegisterMetricSets" abstract="true"
- class="org.springframework.beans.factory.config.MethodInvokingBean"
- p:targetObject-ref="shibboleth.metrics.MetricRegistry"
- p:targetMethod="registerMultiple" />
-
- <bean id="shibboleth.metrics.RegisterMetric" abstract="true"
- class="org.springframework.beans.factory.config.MethodInvokingBean"
- p:targetObject-ref="shibboleth.metrics.MetricRegistry"
- p:targetMethod="register" />
-
- <bean id="shibboleth.metrics.HTTPReporter" abstract="true" destroy-method="stop"
- class="net.shibboleth.idp.metrics.impl.HTTPReporter"
- c:registry-ref="shibboleth.metrics.MetricRegistry"
- c:filter="#{null}"
- p:httpClient-ref="shibboleth.NonCachingHttpClient" />
-
- <!-- Some predefined metric sets, only created if installed by user. -->
-
- <bean id="shibboleth.metrics.CoreGaugeSet" class="net.shibboleth.idp.metrics.impl.CoreGaugeSet" lazy-init="true" />
-
- <bean id="shibboleth.metrics.IdPGaugeSet" class="net.shibboleth.idp.metrics.impl.IdPGaugeSet" lazy-init="true" />
-
- <bean id="shibboleth.metrics.LoggingGaugeSet"
- class="net.shibboleth.idp.metrics.ReloadableServiceGaugeSet" lazy-init="true"
- c:metricName="logging"
- p:service-ref="shibboleth.LoggingService" />
-
- <bean id="shibboleth.metrics.AccessControlGaugeSet"
- class="net.shibboleth.idp.metrics.ReloadableServiceGaugeSet" lazy-init="true"
- c:metricName="accesscontrol"
- p:service-ref="shibboleth.ReloadableAccessControlService" />
-
- <bean id="shibboleth.metrics.MetadataGaugeSet"
- class="net.shibboleth.idp.saml.metadata.impl.MetadataResolverServiceGaugeSet" lazy-init="true"
- c:metricName="metadata"
- p:service-ref="shibboleth.MetadataResolverService" />
-
- <bean id="shibboleth.metrics.RelyingPartyGaugeSet"
- class="net.shibboleth.idp.metrics.ReloadableServiceGaugeSet" lazy-init="true"
- c:metricName="relyingparty"
- p:service-ref="shibboleth.RelyingPartyResolverService" />
-
- <bean id="shibboleth.metrics.NameIdentifierGaugeSet"
- class="net.shibboleth.idp.metrics.ReloadableServiceGaugeSet" lazy-init="true"
- c:metricName="nameid"
- p:service-ref="shibboleth.NameIdentifierGenerationService" />
-
- <bean id="shibboleth.metrics.AttributeResolverGaugeSet"
- class="net.shibboleth.idp.attribute.resolver.impl.AttributeResolverServiceGaugeSet" lazy-init="true"
- c:metricName="attribute.resolver"
- p:service-ref="shibboleth.AttributeResolverService" />
-
- <bean id="shibboleth.metrics.AttributeFilterGaugeSet"
- class="net.shibboleth.idp.metrics.ReloadableServiceGaugeSet" lazy-init="true"
- c:metricName="attribute.filter"
- p:service-ref="shibboleth.AttributeFilterService" />
-
-</beans>
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xmlns:util="http://www.springframework.org/schema/util"
+ xmlns:p="http://www.springframework.org/schema/p"
+ xmlns:c="http://www.springframework.org/schema/c"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
+ http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
+
+ default-init-method="initialize"
+ default-destroy-method="destroy">
+
+ <import resource="../../conf/admin/general-admin.xml" />
+ <import resource="../../conf/admin/metrics.xml" />
+
+ <!-- A parent bean to default some of the flow boilerplate. -->
+
+ <bean id="shibboleth.AdminFlow" abstract="true"
+ class="net.shibboleth.idp.admin.BasicAdministrativeFlowDescriptor"
+ p:servletRequest-ref="shibboleth.HttpServletRequest"
+ p:nonBrowserSupported="false" />
+
+ <!-- Function for returning custom access control policies for access to metrics. -->
+
+ <bean id="shibboleth.metrics.AccessPolicyStrategy" parent="shibboleth.ContextFunctions.Expression"
+ c:expression="#custom.get('policyMap').get(#input.getSubcontext(T(net.shibboleth.idp.profile.context.SpringRequestContext)).getRequestContext().getFlowScope().get('metricId')) ?: #custom.get('defaultPolicy')"
+ c:outputType="#{T(java.lang.String)}">
+ <property name="customObject">
+ <map>
+ <entry key="policyMap" value-ref="shibboleth.metrics.AccessPolicyMap" />
+ <entry key="defaultPolicy" value-ref="shibboleth.metrics.DefaultAccessPolicy" />
+ </map>
+ </property>
+ </bean>
+
+ <!-- MetricRegistry we can control with logging categories. -->
+ <bean id="shibboleth.metrics.MetricRegistry"
+ class="org.opensaml.core.metrics.FilteredMetricRegistry"
+ p:metricFilter-ref="shibboleth.metrics.LoggerDrivenMetricFilter" />
+
+ <bean id="shibboleth.metrics.LoggerDrivenMetricFilter"
+ class="org.opensaml.core.metrics.LoggerDrivenMetricFilter"
+ c:_0="metrics."
+ c:_1="#{getObject('shibboleth.metrics.MetricLevelMap')}" />
+
+ <!-- Parent beans for registering MetricSets and Metrics. -->
+
+ <bean id="shibboleth.metrics.RegisterMetricSets" abstract="true"
+ class="org.springframework.beans.factory.config.MethodInvokingBean"
+ p:targetObject-ref="shibboleth.metrics.MetricRegistry"
+ p:targetMethod="registerMultiple" />
+
+ <bean id="shibboleth.metrics.RegisterMetric" abstract="true"
+ class="org.springframework.beans.factory.config.MethodInvokingBean"
+ p:targetObject-ref="shibboleth.metrics.MetricRegistry"
+ p:targetMethod="register" />
+
+ <bean id="shibboleth.metrics.HTTPReporter" abstract="true" destroy-method="stop"
+ class="net.shibboleth.idp.metrics.impl.HTTPReporter"
+ c:registry-ref="shibboleth.metrics.MetricRegistry"
+ c:filter="#{null}"
+ p:httpClient-ref="shibboleth.NonCachingHttpClient" />
+
+ <!-- Some predefined metric sets, only created if installed by user. -->
+
+ <bean id="shibboleth.metrics.CoreGaugeSet" class="net.shibboleth.idp.metrics.impl.CoreGaugeSet" lazy-init="true" />
+
+ <bean id="shibboleth.metrics.IdPGaugeSet" class="net.shibboleth.idp.metrics.impl.IdPGaugeSet" lazy-init="true" />
+
+ <bean id="shibboleth.metrics.LoggingGaugeSet"
+ class="net.shibboleth.idp.metrics.ReloadableServiceGaugeSet" lazy-init="true"
+ c:metricName="logging"
+ p:service-ref="shibboleth.LoggingService" />
+
+ <bean id="shibboleth.metrics.AccessControlGaugeSet"
+ class="net.shibboleth.idp.metrics.ReloadableServiceGaugeSet" lazy-init="true"
+ c:metricName="accesscontrol"
+ p:service-ref="shibboleth.ReloadableAccessControlService" />
+
+ <bean id="shibboleth.metrics.MetadataGaugeSet"
+ class="net.shibboleth.idp.saml.metadata.impl.MetadataResolverServiceGaugeSet" lazy-init="true"
+ c:metricName="metadata"
+ p:service-ref="shibboleth.MetadataResolverService" />
+
+ <bean id="shibboleth.metrics.RelyingPartyGaugeSet"
+ class="net.shibboleth.idp.metrics.ReloadableServiceGaugeSet" lazy-init="true"
+ c:metricName="relyingparty"
+ p:service-ref="shibboleth.RelyingPartyResolverService" />
+
+ <bean id="shibboleth.metrics.NameIdentifierGaugeSet"
+ class="net.shibboleth.idp.metrics.ReloadableServiceGaugeSet" lazy-init="true"
+ c:metricName="nameid"
+ p:service-ref="shibboleth.NameIdentifierGenerationService" />
+
+ <bean id="shibboleth.metrics.AttributeResolverGaugeSet"
+ class="net.shibboleth.idp.attribute.resolver.impl.AttributeResolverServiceGaugeSet" lazy-init="true"
+ c:metricName="attribute.resolver"
+ p:service-ref="shibboleth.AttributeResolverService" />
+
+ <bean id="shibboleth.metrics.AttributeFilterGaugeSet"
+ class="net.shibboleth.idp.metrics.ReloadableServiceGaugeSet" lazy-init="true"
+ c:metricName="attribute.filter"
+ p:service-ref="shibboleth.AttributeFilterService" />
+
+</beans>
diff --git a/idp-conf/src/main/resources/system/flows/admin/storage-beans.xml b/idp-conf/src/main/resources/system/flows/admin/storage-beans.xml
index e01f090..a3415fa 100644
--- a/idp-conf/src/main/resources/system/flows/admin/storage-beans.xml
+++ b/idp-conf/src/main/resources/system/flows/admin/storage-beans.xml
@@ -1,42 +1,42 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans
- xmlns="http://www.springframework.org/schema/beans"
- xmlns:c="http://www.springframework.org/schema/c"
- xmlns:context="http://www.springframework.org/schema/context"
- xmlns:p="http://www.springframework.org/schema/p"
- xmlns:util="http://www.springframework.org/schema/util"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
- http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
- default-init-method="initialize"
- default-destroy-method="destroy">
-
- <bean class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer"
- p:placeholderPrefix="%{" p:placeholderSuffix="}" />
-
- <!-- Profile ID for flow. -->
- <bean id="shibboleth.AdminProfileId" class="java.lang.String" c:_0="http://shibboleth.net/ns/profiles/storage" />
-
- <!-- Default operation/resource suppliers for access checks. -->
-
- <bean id="shibboleth.AdminOperationLookupStrategy" parent="shibboleth.ContextFunctions.Expression"
- c:outputType="#{T(java.lang.String)}"
- c:expression="#custom.getMethod()"
- p:customObject-ref="shibboleth.HttpServletRequest" />
-
- <bean id="shibboleth.AdminResourceLookupStrategy" parent="shibboleth.ContextFunctions.Expression"
- c:outputType="#{T(java.lang.String)}"
- c:expression="#input.getSubcontext(T(net.shibboleth.idp.profile.context.SpringRequestContext)).getRequestContext().getFlowScope().get('context')" />
-
- <!-- Work beans. -->
-
- <bean id="DoStorageOperation" class="net.shibboleth.idp.admin.impl.DoStorageOperation" scope="prototype"
- p:httpServletRequest-ref="shibboleth.HttpServletRequest"
- p:httpServletResponse-ref="shibboleth.HttpServletResponse"
- p:objectMapper-ref="shibboleth.JSONObjectMapper" />
-
- <bean id="RecordResponseComplete" class="net.shibboleth.idp.profile.impl.RecordResponseComplete" scope="prototype" />
-
-
-</beans>
+<?xml version="1.0" encoding="UTF-8"?>
+<beans
+ xmlns="http://www.springframework.org/schema/beans"
+ xmlns:c="http://www.springframework.org/schema/c"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xmlns:p="http://www.springframework.org/schema/p"
+ xmlns:util="http://www.springframework.org/schema/util"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
+ http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
+ default-init-method="initialize"
+ default-destroy-method="destroy">
+
+ <bean class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer"
+ p:placeholderPrefix="%{" p:placeholderSuffix="}" />
+
+ <!-- Profile ID for flow. -->
+ <bean id="shibboleth.AdminProfileId" class="java.lang.String" c:_0="http://shibboleth.net/ns/profiles/storage" />
+
+ <!-- Default operation/resource suppliers for access checks. -->
+
+ <bean id="shibboleth.AdminOperationLookupStrategy" parent="shibboleth.ContextFunctions.Expression"
+ c:outputType="#{T(java.lang.String)}"
+ c:expression="#custom.getMethod()"
+ p:customObject-ref="shibboleth.HttpServletRequest" />
+
+ <bean id="shibboleth.AdminResourceLookupStrategy" parent="shibboleth.ContextFunctions.Expression"
+ c:outputType="#{T(java.lang.String)}"
+ c:expression="#input.getSubcontext(T(net.shibboleth.idp.profile.context.SpringRequestContext)).getRequestContext().getFlowScope().get('context')" />
+
+ <!-- Work beans. -->
+
+ <bean id="DoStorageOperation" class="net.shibboleth.idp.admin.impl.DoStorageOperation" scope="prototype"
+ p:httpServletRequest-ref="shibboleth.HttpServletRequest"
+ p:httpServletResponse-ref="shibboleth.HttpServletResponse"
+ p:objectMapper-ref="shibboleth.JSONObjectMapper" />
+
+ <bean id="RecordResponseComplete" class="net.shibboleth.idp.profile.impl.RecordResponseComplete" scope="prototype" />
+
+
+</beans>
diff --git a/idp-conf/src/main/resources/system/flows/admin/storage-flow.xml b/idp-conf/src/main/resources/system/flows/admin/storage-flow.xml
index c5451f8..9a179aa 100644
--- a/idp-conf/src/main/resources/system/flows/admin/storage-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/admin/storage-flow.xml
@@ -1,44 +1,44 @@
-<flow xmlns="http://www.springframework.org/schema/webflow"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/webflow http://www.springframework.org/schema/webflow/spring-webflow.xsd"
- parent="admin.abstract">
-
- <on-start>
- <!-- Extract PATH_INFO containing account key and operation. -->
- <evaluate expression="flowRequestContext.getActiveFlow().getId()" result="flowScope.flowId" />
- <evaluate expression="externalContext.getNativeRequest().getPathInfo().length() gt flowId.length() + 2 ? externalContext.getNativeRequest().getPathInfo().substring(flowId.length() + 2) : 'all'" result="flowScope.pathInfo" />
- <evaluate expression="pathInfo.split('/')" result="flowScope.pathInfoArray" />
- <evaluate expression="pathInfoArray.length gt 0 ? T(net.shibboleth.utilities.java.support.net.URISupport).doURLDecode(pathInfoArray[0]) : null" result="flowScope.storageServiceId" />
- <evaluate expression="pathInfoArray.length gt 1 ? T(net.shibboleth.utilities.java.support.net.URISupport).doURLDecode(pathInfoArray[1]) : null" result="flowScope.context" />
- <evaluate expression="pathInfoArray.length gt 2 ? T(net.shibboleth.utilities.java.support.net.URISupport).doURLDecode(pathInfoArray[2]) : null" result="flowScope.key" />
- </on-start>
-
- <!-- Start action. -->
-
- <action-state id="InitializeProfileRequestContext">
- <evaluate expression="InitializeProfileRequestContext" />
- <evaluate expression="'proceed'" />
-
- <!-- Branch to determine if authentication is required. -->
- <transition on="proceed" to="DoAdminPreamble" />
- </action-state>
-
- <!-- Resume actual flow processing. -->
-
- <action-state id="DoProfileWork">
- <evaluate expression="CheckAccess" />
- <evaluate expression="WriteAuditLog" />
- <evaluate expression="DoStorageOperation" />
- <evaluate expression="RecordResponseComplete" />
- <evaluate expression="'proceed'" />
-
- <transition on="proceed" to="end" />
- </action-state>
-
- <!-- Terminus -->
-
- <end-state id="end" />
-
- <bean-import resource="storage-beans.xml" />
-
-</flow>
+<flow xmlns="http://www.springframework.org/schema/webflow"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/webflow http://www.springframework.org/schema/webflow/spring-webflow.xsd"
+ parent="admin.abstract">
+
+ <on-start>
+ <!-- Extract PATH_INFO containing account key and operation. -->
+ <evaluate expression="flowRequestContext.getActiveFlow().getId()" result="flowScope.flowId" />
+ <evaluate expression="externalContext.getNativeRequest().getPathInfo().length() gt flowId.length() + 2 ? externalContext.getNativeRequest().getPathInfo().substring(flowId.length() + 2) : 'all'" result="flowScope.pathInfo" />
+ <evaluate expression="pathInfo.split('/')" result="flowScope.pathInfoArray" />
+ <evaluate expression="pathInfoArray.length gt 0 ? T(net.shibboleth.utilities.java.support.net.URISupport).doURLDecode(pathInfoArray[0]) : null" result="flowScope.storageServiceId" />
+ <evaluate expression="pathInfoArray.length gt 1 ? T(net.shibboleth.utilities.java.support.net.URISupport).doURLDecode(pathInfoArray[1]) : null" result="flowScope.context" />
+ <evaluate expression="pathInfoArray.length gt 2 ? T(net.shibboleth.utilities.java.support.net.URISupport).doURLDecode(pathInfoArray[2]) : null" result="flowScope.key" />
+ </on-start>
+
+ <!-- Start action. -->
+
+ <action-state id="InitializeProfileRequestContext">
+ <evaluate expression="InitializeProfileRequestContext" />
+ <evaluate expression="'proceed'" />
+
+ <!-- Branch to determine if authentication is required. -->
+ <transition on="proceed" to="DoAdminPreamble" />
+ </action-state>
+
+ <!-- Resume actual flow processing. -->
+
+ <action-state id="DoProfileWork">
+ <evaluate expression="CheckAccess" />
+ <evaluate expression="WriteAuditLog" />
+ <evaluate expression="DoStorageOperation" />
+ <evaluate expression="RecordResponseComplete" />
+ <evaluate expression="'proceed'" />
+
+ <transition on="proceed" to="end" />
+ </action-state>
+
+ <!-- Terminus -->
+
+ <end-state id="end" />
+
+ <bean-import resource="storage-beans.xml" />
+
+</flow>
diff --git a/idp-core/src/main/resources/logback.xml b/idp-core/src/main/resources/logback.xml
index b7ec7cc..4c9fc6d 100644
--- a/idp-core/src/main/resources/logback.xml
+++ b/idp-core/src/main/resources/logback.xml
@@ -1,14 +1,14 @@
-<configuration>
-
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <charset>UTF-8</charset>
- <Pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} [%5level] : %logger: %msg%n</Pattern>
- </encoder>
- </appender>
-
- <root level="warn">
- <appender-ref ref="STDOUT" />
- </root>
-
-</configuration>
+<configuration>
+
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
+ <charset>UTF-8</charset>
+ <Pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} [%5level] : %logger: %msg%n</Pattern>
+ </encoder>
+ </appender>
+
+ <root level="warn">
+ <appender-ref ref="STDOUT" />
+ </root>
+
+</configuration>
diff --git a/idp-installer/src/main/resources/net/shibboleth/idp/installer/ant.xml b/idp-installer/src/main/resources/net/shibboleth/idp/installer/ant.xml
index 7a8079f..314aa4e 100644
--- a/idp-installer/src/main/resources/net/shibboleth/idp/installer/ant.xml
+++ b/idp-installer/src/main/resources/net/shibboleth/idp/installer/ant.xml
@@ -1,7 +1,7 @@
-<?xml version="1.0"?>
-<antlib>
- <taskdef name="selfsignedcert" classname="net.shibboleth.idp.installer.ant.SelfSignedCertificateGeneratorTask"/>
- <taskdef name="keystorestrategy" classname="net.shibboleth.idp.installer.ant.BasicKeystoreKeyStrategyTask"/>
- <taskdef name="mergeproperties" classname="net.shibboleth.idp.installer.ant.MergePropertiesTask"/>
- <taskdef name="metadatagenerate" classname="net.shibboleth.idp.installer.ant.MetadataGeneratorTask"/>
+<?xml version="1.0"?>
+<antlib>
+ <taskdef name="selfsignedcert" classname="net.shibboleth.idp.installer.ant.SelfSignedCertificateGeneratorTask"/>
+ <taskdef name="keystorestrategy" classname="net.shibboleth.idp.installer.ant.BasicKeystoreKeyStrategyTask"/>
+ <taskdef name="mergeproperties" classname="net.shibboleth.idp.installer.ant.MergePropertiesTask"/>
+ <taskdef name="metadatagenerate" classname="net.shibboleth.idp.installer.ant.MetadataGeneratorTask"/>
</antlib>
\ No newline at end of file
diff --git a/idp-installer/src/main/resources/net/shibboleth/idp/installer/metadata-generator.xml b/idp-installer/src/main/resources/net/shibboleth/idp/installer/metadata-generator.xml
index dea0f5f..047fa4a 100644
--- a/idp-installer/src/main/resources/net/shibboleth/idp/installer/metadata-generator.xml
+++ b/idp-installer/src/main/resources/net/shibboleth/idp/installer/metadata-generator.xml
@@ -1,19 +1,19 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:context="http://www.springframework.org/schema/context"
- xmlns:util="http://www.springframework.org/schema/util" xmlns:p="http://www.springframework.org/schema/p"
- xmlns:c="http://www.springframework.org/schema/c" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
- http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
- <bean
- class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer"
- p:placeholderPrefix="%{" p:placeholderSuffix="}" />
-
- <context:property-placeholder />
-
- <bean id="IdPConfiguration"
- class="net.shibboleth.idp.installer.metadata.MetadataGeneratorParameters"
- p:encryptionCertResource="%{idp.encryption.cert}" p:signingCertResource="%{idp.signing.cert}"
- p:entityID="%{idp.entityID}" p:scope="%{idp.scope}" />
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xmlns:util="http://www.springframework.org/schema/util" xmlns:p="http://www.springframework.org/schema/p"
+ xmlns:c="http://www.springframework.org/schema/c" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
+ http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
+ <bean
+ class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer"
+ p:placeholderPrefix="%{" p:placeholderSuffix="}" />
+
+ <context:property-placeholder />
+
+ <bean id="IdPConfiguration"
+ class="net.shibboleth.idp.installer.metadata.MetadataGeneratorParameters"
+ p:encryptionCertResource="%{idp.encryption.cert}" p:signingCertResource="%{idp.signing.cert}"
+ p:entityID="%{idp.entityID}" p:scope="%{idp.scope}" />
</beans>
\ No newline at end of file
diff --git a/idp-saml-api/src/test/java/net/shibboleth/idp/saml/saml2/profile/config/SingleLogoutProfileConfigurationTest.java b/idp-saml-api/src/test/java/net/shibboleth/idp/saml/saml2/profile/config/SingleLogoutProfileConfigurationTest.java
index 02e6dbd..5d8fd31 100644
--- a/idp-saml-api/src/test/java/net/shibboleth/idp/saml/saml2/profile/config/SingleLogoutProfileConfigurationTest.java
+++ b/idp-saml-api/src/test/java/net/shibboleth/idp/saml/saml2/profile/config/SingleLogoutProfileConfigurationTest.java
@@ -1,61 +1,61 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.saml.saml2.profile.config;
-
-import net.shibboleth.idp.saml.profile.config.BasicSAMLArtifactConfiguration;
-import net.shibboleth.idp.saml.profile.config.SAMLArtifactConfiguration;
-import net.shibboleth.utilities.java.support.logic.FunctionSupport;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-/** Unit test for {@link SingleLogoutProfileConfiguration}. */
-public class SingleLogoutProfileConfigurationTest {
-
- @Test
- public void testProfileId() {
- Assert.assertEquals(SingleLogoutProfileConfiguration.PROFILE_ID,
- "http://shibboleth.net/ns/profiles/saml2/logout");
-
- final SingleLogoutProfileConfiguration config = new SingleLogoutProfileConfiguration();
- Assert.assertEquals(config.getId(), SingleLogoutProfileConfiguration.PROFILE_ID);
- }
-
- @Test
- public void testArtifactConfiguration() {
- final SingleLogoutProfileConfiguration config = new SingleLogoutProfileConfiguration();
- Assert.assertNull(config.getArtifactConfiguration());
-
- final SAMLArtifactConfiguration artifactConfiguration = new BasicSAMLArtifactConfiguration();
- config.setArtifactConfiguration(artifactConfiguration);
-
- Assert.assertSame(config.getArtifactConfiguration(), artifactConfiguration);
- }
-
- @Test
- public void testIndirectArtifactConfiguration() {
- final SingleLogoutProfileConfiguration config = new SingleLogoutProfileConfiguration();
-
- final SAMLArtifactConfiguration artifactConfiguration = new BasicSAMLArtifactConfiguration();
- config.setArtifactConfigurationLookupStrategy(
- FunctionSupport.<ProfileRequestContext,SAMLArtifactConfiguration>constant(artifactConfiguration));
-
- Assert.assertSame(config.getArtifactConfiguration(), artifactConfiguration);
- }
-
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements. See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.idp.saml.saml2.profile.config;
+
+import net.shibboleth.idp.saml.profile.config.BasicSAMLArtifactConfiguration;
+import net.shibboleth.idp.saml.profile.config.SAMLArtifactConfiguration;
+import net.shibboleth.utilities.java.support.logic.FunctionSupport;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+/** Unit test for {@link SingleLogoutProfileConfiguration}. */
+public class SingleLogoutProfileConfigurationTest {
+
+ @Test
+ public void testProfileId() {
+ Assert.assertEquals(SingleLogoutProfileConfiguration.PROFILE_ID,
+ "http://shibboleth.net/ns/profiles/saml2/logout");
+
+ final SingleLogoutProfileConfiguration config = new SingleLogoutProfileConfiguration();
+ Assert.assertEquals(config.getId(), SingleLogoutProfileConfiguration.PROFILE_ID);
+ }
+
+ @Test
+ public void testArtifactConfiguration() {
+ final SingleLogoutProfileConfiguration config = new SingleLogoutProfileConfiguration();
+ Assert.assertNull(config.getArtifactConfiguration());
+
+ final SAMLArtifactConfiguration artifactConfiguration = new BasicSAMLArtifactConfiguration();
+ config.setArtifactConfiguration(artifactConfiguration);
+
+ Assert.assertSame(config.getArtifactConfiguration(), artifactConfiguration);
+ }
+
+ @Test
+ public void testIndirectArtifactConfiguration() {
+ final SingleLogoutProfileConfiguration config = new SingleLogoutProfileConfiguration();
+
+ final SAMLArtifactConfiguration artifactConfiguration = new BasicSAMLArtifactConfiguration();
+ config.setArtifactConfigurationLookupStrategy(
+ FunctionSupport.<ProfileRequestContext,SAMLArtifactConfiguration>constant(artifactConfiguration));
+
+ Assert.assertSame(config.getArtifactConfiguration(), artifactConfiguration);
+ }
+
}
\ 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