Skip to content

Commit

Permalink
[NOJIRA]
Browse files Browse the repository at this point in the history
Added an initial IndexWriter.commit immediately after creation.
Modified chaining resolver list removal to use removeIf, avoiding
concurrency exception.
  • Loading branch information
Bill Smith committed Aug 27, 2018
1 parent 4e5e8a3 commit ebc6eb1
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ public IndexWriterService indexWriterService() {
IndexWriter indexWriter = indexWriterMap.get(resourceId);
if (indexWriter == null) {
indexWriter = createIndexWriter(directoryService.getDirectory(resourceId));
indexWriter.commit();
indexWriterMap.put(resourceId, indexWriter);
}
return indexWriter;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,7 @@
import edu.internet2.tier.shibboleth.admin.ui.service.MetadataResolverService;
import edu.internet2.tier.shibboleth.admin.ui.service.MetadataResolversPositionOrderContainerService;
import lombok.extern.slf4j.Slf4j;
import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
import net.shibboleth.utilities.java.support.resolver.ResolverException;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.StringField;
import org.apache.lucene.index.IndexWriter;
import org.opensaml.saml.metadata.resolver.ChainingMetadataResolver;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
Expand Down Expand Up @@ -130,11 +125,7 @@ public ResponseEntity<?> create(@RequestBody MetadataResolver newResolver) throw
private void updateChainingMetadataResolver(MetadataResolver persistedResolver) throws IOException, ResolverException {
org.opensaml.saml.metadata.resolver.MetadataResolver openSamlResolver = metadataResolverConverterService.convertToOpenSamlRepresentation(persistedResolver);
List<org.opensaml.saml.metadata.resolver.MetadataResolver> resolverList = new ArrayList<>(((ChainingMetadataResolver) chainingMetadataResolver).getResolvers());
for (org.opensaml.saml.metadata.resolver.MetadataResolver resolver : resolverList) {
if (resolver.getId().equals(persistedResolver.getResourceId())) {
resolverList.remove(resolver);
}
}
resolverList.removeIf(resolver -> resolver.getId().equals(persistedResolver.getResourceId()));
resolverList.add(openSamlResolver);
((ChainingMetadataResolver) chainingMetadataResolver).setResolvers(resolverList);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,7 @@ public OpenSamlChainingMetadataResolver(@Nonnull List<MetadataResolver> mutableR
}

@Override
public void setResolvers(@Nonnull @NonnullElements final List<? extends MetadataResolver> newResolvers)
throws ResolverException {
public void setResolvers(@Nonnull @NonnullElements final List<? extends MetadataResolver> newResolvers) {
if (newResolvers == null || newResolvers.isEmpty()) {
mutableResolvers = Collections.emptyList();
return;
Expand Down

0 comments on commit ebc6eb1

Please sign in to comment.