Skip to content

Commit

Permalink
SHIBUI-836: wip
Browse files Browse the repository at this point in the history
  • Loading branch information
dima767 committed Sep 11, 2018
1 parent 4b84cde commit ad2533a
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.opensaml;

import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.FileBackedHttpMetadataResolver;
import edu.internet2.tier.shibboleth.admin.util.TokenPlaceholderResolvers;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
import net.shibboleth.utilities.java.support.resolver.ResolverException;
import net.shibboleth.utilities.java.support.xml.ParserPool;
Expand All @@ -13,6 +14,7 @@
import javax.annotation.Nullable;

import static edu.internet2.tier.shibboleth.admin.util.DurationUtility.toMillis;
import static edu.internet2.tier.shibboleth.admin.util.TokenPlaceholderResolvers.placeholderResolverService;

/**
* @author Bill Smith (wsmith@unicon.net)
Expand All @@ -38,8 +40,12 @@ public OpenSamlFileBackedHTTPMetadataResolver(ParserPool parserPool,
OpenSamlMetadataResolverConstructorHelper.updateOpenSamlMetadataResolverFromReloadableMetadataResolverAttributes(
this, sourceResolver.getReloadableMetadataResolverAttributes(), parserPool);

this.setBackupFile(sourceResolver.getBackingFile());
this.setBackupFileInitNextRefreshDelay(toMillis(sourceResolver.getBackupFileInitNextRefreshDelay()));
//TODO: complete resolving placeholders everywhere
//This might throw runtime exception if unable to resolve placeholders sent from higher layers
this.setBackupFile(placeholderResolverService().resolveValueFromTokenPlaceholder(sourceResolver.getBackingFile()));
this.setBackupFileInitNextRefreshDelay(toMillis(placeholderResolverService()
.resolveValueFromTokenPlaceholder(sourceResolver.getBackupFileInitNextRefreshDelay())));

this.setInitializeFromBackupFile(sourceResolver.getInitializeFromBackupFile());

//TODO: Where does this get set in OpenSAML land?
Expand All @@ -63,6 +69,7 @@ protected void processConditionalRetrievalHeaders(HttpResponse response) {
protected void initMetadataResolver() throws ComponentInitializationException {
super.initMetadataResolver();


delegate.addIndexedDescriptorsFromBackingStore(this.getBackingStore(),
this.sourceResolver.getResourceId(),
indexWriter);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,14 @@
import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.DynamicMetadataResolverAttributes;
import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.HttpMetadataResolverAttributes;
import edu.internet2.tier.shibboleth.admin.ui.domain.resolvers.ReloadableMetadataResolverAttributes;
import edu.internet2.tier.shibboleth.admin.util.TokenPlaceholderResolvers;
import net.shibboleth.utilities.java.support.xml.ParserPool;
import org.opensaml.saml.metadata.resolver.MetadataResolver;
import org.opensaml.saml.metadata.resolver.impl.AbstractDynamicMetadataResolver;
import org.opensaml.saml.metadata.resolver.impl.AbstractReloadingMetadataResolver;

import static edu.internet2.tier.shibboleth.admin.util.DurationUtility.toMillis;
import static edu.internet2.tier.shibboleth.admin.util.TokenPlaceholderResolvers.placeholderResolverService;

/**
* @author Bill Smith (wsmith@unicon.net)
Expand Down Expand Up @@ -85,9 +87,12 @@ public static void updateOpenSamlMetadataResolverFromReloadableMetadataResolverA
//TODO: This takes a ParserPool. We've got a ParserPoolRef in attributes.getParserPoolRef(). Should we use it for anything?
reloadingMetadataResolver.setParserPool(parserPool);

//TODO: finish placeholder resolving
if (attributes != null) {
if (attributes.getExpirationWarningThreshold() != null) {
reloadingMetadataResolver.setExpirationWarningThreshold(toMillis(attributes.getExpirationWarningThreshold()));
reloadingMetadataResolver
.setExpirationWarningThreshold(toMillis(placeholderResolverService()
.resolveValueFromTokenPlaceholder(attributes.getExpirationWarningThreshold())));
}
if (attributes.getMaxRefreshDelay() != null) {
reloadingMetadataResolver.setMaxRefreshDelay(toMillis(attributes.getMaxRefreshDelay()));
Expand Down

0 comments on commit ad2533a

Please sign in to comment.