@Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(id).append(",").append(description).append(", blocks "); String delimiter = ""; for (ClusterBlockLevel level : levels) { sb.append(delimiter).append(level.name()); delimiter = ","; } return sb.toString(); }
private static EnumMap<ClusterBlockLevel, ImmutableLevelHolder> generateLevelHolders(Set<ClusterBlock> global, ImmutableOpenMap<String, Set<ClusterBlock>> indicesBlocks) { EnumMap<ClusterBlockLevel, ImmutableLevelHolder> levelHolders = new EnumMap<>(ClusterBlockLevel.class); for (final ClusterBlockLevel level : ClusterBlockLevel.values()) { Predicate<ClusterBlock> containsLevel = block -> block.contains(level); Set<ClusterBlock> newGlobal = unmodifiableSet(global.stream() .filter(containsLevel) .collect(toSet())); ImmutableOpenMap.Builder<String, Set<ClusterBlock>> indicesBuilder = ImmutableOpenMap.builder(); for (ObjectObjectCursor<String, Set<ClusterBlock>> entry : indicesBlocks) { indicesBuilder.put(entry.key, unmodifiableSet(entry.value.stream() .filter(containsLevel) .collect(toSet()))); } levelHolders.put(level, new ImmutableLevelHolder(newGlobal, indicesBuilder.build())); } return levelHolders; }
private static ImmutableLevelHolder[] generateLevelHolders(Set<ClusterBlock> global, ImmutableOpenMap<String, Set<ClusterBlock>> indicesBlocks) { ImmutableLevelHolder[] levelHolders = new ImmutableLevelHolder[ClusterBlockLevel.values().length]; for (final ClusterBlockLevel level : ClusterBlockLevel.values()) { Predicate<ClusterBlock> containsLevel = block -> block.contains(level); Set<ClusterBlock> newGlobal = unmodifiableSet(global.stream() .filter(containsLevel) .collect(toSet())); ImmutableOpenMap.Builder<String, Set<ClusterBlock>> indicesBuilder = ImmutableOpenMap.builder(); for (ObjectObjectCursor<String, Set<ClusterBlock>> entry : indicesBlocks) { indicesBuilder.put(entry.key, unmodifiableSet(entry.value.stream() .filter(containsLevel) .collect(toSet()))); } levelHolders[level.ordinal()] = new ImmutableLevelHolder(newGlobal, indicesBuilder.build()); } return levelHolders; }
ClusterBlocks(ImmutableSet<ClusterBlock> global, ImmutableMap<String, ImmutableSet<ClusterBlock>> indicesBlocks) { this.global = global; this.indicesBlocks = indicesBlocks; levelHolders = new ImmutableLevelHolder[ClusterBlockLevel.values().length]; for (ClusterBlockLevel level : ClusterBlockLevel.values()) { ImmutableSet.Builder<ClusterBlock> globalBuilder = ImmutableSet.builder(); for (ClusterBlock block : global) { if (block.contains(level)) { globalBuilder.add(block); } } ImmutableMap.Builder<String, ImmutableSet<ClusterBlock>> indicesBuilder = ImmutableMap.builder(); for (Map.Entry<String, ImmutableSet<ClusterBlock>> entry : indicesBlocks.entrySet()) { ImmutableSet.Builder<ClusterBlock> indexBuilder = ImmutableSet.builder(); for (ClusterBlock block : entry.getValue()) { if (block.contains(level)) { indexBuilder.add(block); } } indicesBuilder.put(entry.getKey(), indexBuilder.build()); } levelHolders[level.id()] = new ImmutableLevelHolder(globalBuilder.build(), indicesBuilder.build()); } }
public ImmutableSet<ClusterBlock> global(ClusterBlockLevel level) { return levelHolders[level.id()].global(); }
public ImmutableOpenMap<String, Set<ClusterBlock>> indices(ClusterBlockLevel level) { return levelHolders[level.ordinal()].indices(); }
@Override public void readFrom(StreamInput in) throws IOException { id = in.readVInt(); description = in.readString(); final int len = in.readVInt(); ArrayList<ClusterBlockLevel> levels = new ArrayList<>(); for (int i = 0; i < len; i++) { levels.add(ClusterBlockLevel.fromId(in.readVInt())); } this.levels = EnumSet.copyOf(levels); retryable = in.readBoolean(); disableStatePersistence = in.readBoolean(); status = RestStatus.readFrom(in); }
public ImmutableMap<String, ImmutableSet<ClusterBlock>> indices(ClusterBlockLevel level) { return levelHolders[level.id()].indices(); }
public Set<ClusterBlock> global(ClusterBlockLevel level) { return levelHolders[level.ordinal()].global(); }
@Override public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException { builder.startObject(Integer.toString(id)); builder.field("description", description); builder.field("retryable", retryable); if (disableStatePersistence) { builder.field("disable_state_persistence", disableStatePersistence); } builder.startArray("levels"); for (ClusterBlockLevel level : levels) { builder.value(level.name().toLowerCase(Locale.ROOT)); } builder.endArray(); builder.endObject(); return builder; }
private static EnumMap<ClusterBlockLevel, ImmutableLevelHolder> generateLevelHolders(Set<ClusterBlock> global, ImmutableOpenMap<String, Set<ClusterBlock>> indicesBlocks) { EnumMap<ClusterBlockLevel, ImmutableLevelHolder> levelHolders = new EnumMap<>(ClusterBlockLevel.class); for (final ClusterBlockLevel level : ClusterBlockLevel.values()) { Predicate<ClusterBlock> containsLevel = block -> block.contains(level); Set<ClusterBlock> newGlobal = unmodifiableSet(global.stream() .filter(containsLevel) .collect(toSet())); ImmutableOpenMap.Builder<String, Set<ClusterBlock>> indicesBuilder = ImmutableOpenMap.builder(); for (ObjectObjectCursor<String, Set<ClusterBlock>> entry : indicesBlocks) { indicesBuilder.put(entry.key, unmodifiableSet(entry.value.stream() .filter(containsLevel) .collect(toSet()))); } levelHolders.put(level, new ImmutableLevelHolder(newGlobal, indicesBuilder.build())); } return levelHolders; }
@Override public void writeTo(StreamOutput out) throws IOException { out.writeVInt(id); out.writeString(description); out.writeVInt(levels.size()); for (ClusterBlockLevel level : levels) { out.writeVInt(level.id()); } out.writeBoolean(retryable); out.writeBoolean(disableStatePersistence); RestStatus.writeTo(out, status); }
@Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(id).append(",").append(description).append(", blocks "); String delimiter = ""; for (ClusterBlockLevel level : levels) { sb.append(delimiter).append(level.name()); delimiter = ","; } return sb.toString(); }
private static EnumMap<ClusterBlockLevel, ImmutableLevelHolder> generateLevelHolders(Set<ClusterBlock> global, ImmutableOpenMap<String, Set<ClusterBlock>> indicesBlocks) { EnumMap<ClusterBlockLevel, ImmutableLevelHolder> levelHolders = new EnumMap<>(ClusterBlockLevel.class); for (final ClusterBlockLevel level : ClusterBlockLevel.values()) { Predicate<ClusterBlock> containsLevel = block -> block.contains(level); Set<ClusterBlock> newGlobal = unmodifiableSet(global.stream() .filter(containsLevel) .collect(toSet())); ImmutableOpenMap.Builder<String, Set<ClusterBlock>> indicesBuilder = ImmutableOpenMap.builder(); for (ObjectObjectCursor<String, Set<ClusterBlock>> entry : indicesBlocks) { indicesBuilder.put(entry.key, unmodifiableSet(entry.value.stream() .filter(containsLevel) .collect(toSet()))); } levelHolders.put(level, new ImmutableLevelHolder(newGlobal, indicesBuilder.build())); } return levelHolders; }
@Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(id).append(",").append(description).append(", blocks "); String delimiter = ""; for (ClusterBlockLevel level : levels) { sb.append(delimiter).append(level.name()); delimiter = ","; } return sb.toString(); }
@Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(id).append(",").append(description).append(", blocks "); String delimiter = ""; for (ClusterBlockLevel level : levels) { sb.append(delimiter).append(level.name()); delimiter = ","; } return sb.toString(); }
@Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(id).append(",").append(description).append(", blocks "); String delimiter = ""; for (ClusterBlockLevel level : levels) { sb.append(delimiter).append(level.name()); delimiter = ","; } return sb.toString(); }
@Override public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException { builder.startObject(Integer.toString(id)); builder.field("description", description); builder.field("retryable", retryable); if (disableStatePersistence) { builder.field("disable_state_persistence", disableStatePersistence); } builder.startArray("levels"); for (ClusterBlockLevel level : levels) { builder.value(level.name().toLowerCase(Locale.ROOT)); } builder.endArray(); builder.endObject(); return builder; }
@Override public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException { builder.startObject(Integer.toString(id)); builder.field("description", description); builder.field("retryable", retryable); if (disableStatePersistence) { builder.field("disable_state_persistence", disableStatePersistence); } builder.startArray("levels"); for (ClusterBlockLevel level : levels) { builder.value(level.name().toLowerCase(Locale.ROOT)); } builder.endArray(); builder.endObject(); return builder; }
@Override public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException { builder.startObject(Integer.toString(id)); builder.field("description", description); builder.field("retryable", retryable); if (disableStatePersistence) { builder.field("disable_state_persistence", disableStatePersistence); } builder.startArray("levels"); for (ClusterBlockLevel level : levels) { builder.value(level.name().toLowerCase(Locale.ROOT)); } builder.endArray(); builder.endObject(); return builder; }