private SortedMap<String, AliasOrIndex> buildAliasAndIndexLookup() { SortedMap<String, AliasOrIndex> aliasAndIndexLookup = new TreeMap<>(); for (ObjectCursor<IndexMetaData> cursor : indices.values()) { IndexMetaData indexMetaData = cursor.value; AliasOrIndex existing = aliasAndIndexLookup.put(indexMetaData.getIndex().getName(), new AliasOrIndex.Index(indexMetaData)); assert existing == null : "duplicate for " + indexMetaData.getIndex(); for (ObjectObjectCursor<String, AliasMetaData> aliasCursor : indexMetaData.getAliases()) { AliasMetaData aliasMetaData = aliasCursor.value; aliasAndIndexLookup.compute(aliasMetaData.getAlias(), (aliasName, alias) -> { if (alias == null) { return new AliasOrIndex.Alias(aliasMetaData, indexMetaData); } else { assert alias instanceof AliasOrIndex.Alias : alias.getClass().getName(); ((AliasOrIndex.Alias) alias).addIndex(indexMetaData); return alias; } }); } } aliasAndIndexLookup.values().stream().filter(AliasOrIndex::isAlias) .forEach(alias -> ((AliasOrIndex.Alias) alias).computeAndValidateWriteIndex()); return aliasAndIndexLookup; }
private SortedMap<String, AliasOrIndex> buildAliasAndIndexLookup() { SortedMap<String, AliasOrIndex> aliasAndIndexLookup = new TreeMap<>(); for (ObjectCursor<IndexMetaData> cursor : indices.values()) { IndexMetaData indexMetaData = cursor.value; AliasOrIndex existing = aliasAndIndexLookup.put(indexMetaData.getIndex().getName(), new AliasOrIndex.Index(indexMetaData)); assert existing == null : "duplicate for " + indexMetaData.getIndex(); for (ObjectObjectCursor<String, AliasMetaData> aliasCursor : indexMetaData.getAliases()) { AliasMetaData aliasMetaData = aliasCursor.value; aliasAndIndexLookup.compute(aliasMetaData.getAlias(), (aliasName, alias) -> { if (alias == null) { return new AliasOrIndex.Alias(aliasMetaData, indexMetaData); } else { assert alias instanceof AliasOrIndex.Alias : alias.getClass().getName(); ((AliasOrIndex.Alias) alias).addIndex(indexMetaData); return alias; } }); } } aliasAndIndexLookup.values().stream().filter(AliasOrIndex::isAlias) .forEach(alias -> ((AliasOrIndex.Alias) alias).computeAndValidateWriteIndex()); return aliasAndIndexLookup; }
for (ObjectCursor<IndexMetaData> cursor : indices.values()) { IndexMetaData indexMetaData = cursor.value; aliasAndIndexLookup.put(indexMetaData.getIndex(), new AliasOrIndex.Index(indexMetaData));
for (ObjectCursor<IndexMetaData> cursor : indices.values()) { IndexMetaData indexMetaData = cursor.value; aliasAndIndexLookup.put(indexMetaData.getIndex().getName(), new AliasOrIndex.Index(indexMetaData));
private SortedMap<String, AliasOrIndex> buildAliasAndIndexLookup() { SortedMap<String, AliasOrIndex> aliasAndIndexLookup = new TreeMap<>(); for (ObjectCursor<IndexMetaData> cursor : indices.values()) { IndexMetaData indexMetaData = cursor.value; AliasOrIndex existing = aliasAndIndexLookup.put(indexMetaData.getIndex().getName(), new AliasOrIndex.Index(indexMetaData)); assert existing == null : "duplicate for " + indexMetaData.getIndex(); for (ObjectObjectCursor<String, AliasMetaData> aliasCursor : indexMetaData.getAliases()) { AliasMetaData aliasMetaData = aliasCursor.value; aliasAndIndexLookup.compute(aliasMetaData.getAlias(), (aliasName, alias) -> { if (alias == null) { return new AliasOrIndex.Alias(aliasMetaData, indexMetaData); } else { assert alias instanceof AliasOrIndex.Alias : alias.getClass().getName(); ((AliasOrIndex.Alias) alias).addIndex(indexMetaData); return alias; } }); } } aliasAndIndexLookup.values().stream().filter(AliasOrIndex::isAlias) .forEach(alias -> ((AliasOrIndex.Alias) alias).computeAndValidateWriteIndex()); return aliasAndIndexLookup; }