public static class Builder { private String index; private State state = State.OPEN; private long version = 1; private long mappingVersion = 1; private long settingsVersion = 1; private long[] primaryTerms = null; private Settings settings = Settings.Builder.EMPTY_SETTINGS; private final ImmutableOpenMap.Builder<String, MappingMetaData> mappings; private final ImmutableOpenMap.Builder<String, AliasMetaData> aliases; private final ImmutableOpenMap.Builder<String, DiffableStringMap> customMetaData; private final ImmutableOpenIntMap.Builder<Set<String>> inSyncAllocationIds; private final ImmutableOpenMap.Builder<String, RolloverInfo> rolloverInfos; private Integer routingNumShards; public Builder(String index) { this.index = index; this.mappings = ImmutableOpenMap.builder(); this.aliases = ImmutableOpenMap.builder(); this.customMetaData = ImmutableOpenMap.builder(); this.inSyncAllocationIds = ImmutableOpenIntMap.builder(); this.rolloverInfos = ImmutableOpenMap.builder(); } public Builder(IndexMetaData indexMetaData) { this.index = indexMetaData.getIndex().getName(); this.state = indexMetaData.state; this.version = indexMetaData.version; this.mappingVersion = indexMetaData.mappingVersion;
public static class Builder { private String index; private State state = State.OPEN; private long version = 1; private long[] primaryTerms = null; private Settings settings = Settings.Builder.EMPTY_SETTINGS; private final ImmutableOpenMap.Builder<String, MappingMetaData> mappings; private final ImmutableOpenMap.Builder<String, AliasMetaData> aliases; private final ImmutableOpenMap.Builder<String, Custom> customs; private final ImmutableOpenIntMap.Builder<Set<String>> inSyncAllocationIds; private final ImmutableOpenMap.Builder<String, RolloverInfo> rolloverInfos; private Integer routingNumShards; public Builder(String index) { this.index = index; this.mappings = ImmutableOpenMap.builder(); this.aliases = ImmutableOpenMap.builder(); this.customs = ImmutableOpenMap.builder(); this.inSyncAllocationIds = ImmutableOpenIntMap.builder(); this.rolloverInfos = ImmutableOpenMap.builder(); } public Builder(IndexMetaData indexMetaData) { this.index = indexMetaData.getIndex().getName(); this.state = indexMetaData.state; this.version = indexMetaData.version; this.settings = indexMetaData.getSettings(); this.primaryTerms = indexMetaData.primaryTerms.clone(); this.mappings = ImmutableOpenMap.builder(indexMetaData.mappings);
public static class Builder { private String index; private State state = State.OPEN; private long version = 1; private long mappingVersion = 1; private long settingsVersion = 1; private long[] primaryTerms = null; private Settings settings = Settings.Builder.EMPTY_SETTINGS; private final ImmutableOpenMap.Builder<String, MappingMetaData> mappings; private final ImmutableOpenMap.Builder<String, AliasMetaData> aliases; private final ImmutableOpenMap.Builder<String, DiffableStringMap> customMetaData; private final ImmutableOpenIntMap.Builder<Set<String>> inSyncAllocationIds; private final ImmutableOpenMap.Builder<String, RolloverInfo> rolloverInfos; private Integer routingNumShards; public Builder(String index) { this.index = index; this.mappings = ImmutableOpenMap.builder(); this.aliases = ImmutableOpenMap.builder(); this.customMetaData = ImmutableOpenMap.builder(); this.inSyncAllocationIds = ImmutableOpenIntMap.builder(); this.rolloverInfos = ImmutableOpenMap.builder(); } public Builder(IndexMetaData indexMetaData) { this.index = indexMetaData.getIndex().getName(); this.state = indexMetaData.state; this.version = indexMetaData.version; this.mappingVersion = indexMetaData.mappingVersion;
public static class Builder { private String clusterUUID; private long version; private Settings transientSettings = Settings.Builder.EMPTY_SETTINGS; private Settings persistentSettings = Settings.Builder.EMPTY_SETTINGS; private final ImmutableOpenMap.Builder<String, IndexMetaData> indices; private final ImmutableOpenMap.Builder<String, IndexTemplateMetaData> templates; private final ImmutableOpenMap.Builder<String, Custom> customs; public Builder() { clusterUUID = "_na_"; indices = ImmutableOpenMap.builder(); templates = ImmutableOpenMap.builder(); customs = ImmutableOpenMap.builder(); indexGraveyard(IndexGraveyard.builder().build()); // create new empty index graveyard to initialize } public Builder(MetaData metaData) { this.clusterUUID = metaData.clusterUUID; this.transientSettings = metaData.transientSettings; this.persistentSettings = metaData.persistentSettings; this.version = metaData.version; this.indices = ImmutableOpenMap.builder(metaData.indices); this.templates = ImmutableOpenMap.builder(metaData.templates); this.customs = ImmutableOpenMap.builder(metaData.customs); }
xContentBuilder.prettyPrint(); xContentBuilder.startObject(); indexSettings.toXContent(xContentBuilder, new ToXContent.MapParams(Collections.singletonMap("flat_settings", "true"))); xContentBuilder.endObject(); builder.append(Strings.toString(xContentBuilder));
xContentBuilder.prettyPrint(); xContentBuilder.startObject(); indexSettings.toXContent(xContentBuilder, new ToXContent.MapParams(Collections.singletonMap("flat_settings", "true"))); xContentBuilder.endObject(); builder.append(Strings.toString(xContentBuilder));
xContentBuilder.prettyPrint(); xContentBuilder.startObject(); indexSettings.toXContent(xContentBuilder, new ToXContent.MapParams(Collections.singletonMap("flat_settings", "true"))); xContentBuilder.endObject(); builder.append(xContentBuilder.string());
indexMetaData.getSettings().toXContent(builder, new MapParams(Collections.singletonMap("flat_settings", "true"))); builder.endObject();
indexMetaData.getSettings().toXContent(builder, new MapParams(Collections.singletonMap("flat_settings", "true"))); builder.endObject();
final boolean shuffled, final boolean addRandomFields) throws IOException { final ToXContent.Params params = new ToXContent.MapParams(singletonMap(RestSearchAction.TYPED_KEYS_PARAM, "true")); final XContentType xContentType = randomFrom(XContentType.values()); final boolean humanReadable = randomBoolean();
private static class PrefixedSecureSettings implements SecureSettings { private final SecureSettings delegate; private final UnaryOperator<String> addPrefix; private final UnaryOperator<String> removePrefix; private final Predicate<String> keyPredicate; private final SetOnce<Set<String>> settingNames = new SetOnce<>(); PrefixedSecureSettings(SecureSettings delegate, String prefix, Predicate<String> keyPredicate) { this.delegate = delegate; this.addPrefix = s -> prefix + s; this.removePrefix = s -> s.substring(prefix.length()); this.keyPredicate = keyPredicate; } @Override public boolean isLoaded() { return delegate.isLoaded(); } @Override public Set<String> getSettingNames() { synchronized (settingNames) { if (settingNames.get() == null) { Set<String> names = delegate.getSettingNames().stream() .filter(keyPredicate).map(removePrefix).collect(Collectors.toSet()); settingNames.set(Collections.unmodifiableSet(names)); } } return settingNames.get(); }
@Override protected void assertFromXContent(T aggregation, ParsedAggregation parsedAggregation) throws IOException { assertTrue(parsedAggregation instanceof ParsedSingleBucketAggregation); ParsedSingleBucketAggregation parsed = (ParsedSingleBucketAggregation) parsedAggregation; assertEquals(aggregation.getDocCount(), parsed.getDocCount()); InternalAggregations aggregations = aggregation.getAggregations(); Map<String, Aggregation> expectedAggregations = new HashMap<>(); int expectedNumberOfAggregations = 0; for (Aggregation expectedAggregation : aggregations) { // since we shuffle xContent, we cannot rely on the order of the original inner aggregations for comparison assertTrue(expectedAggregation instanceof InternalAggregation); expectedAggregations.put(expectedAggregation.getName(), expectedAggregation); expectedNumberOfAggregations++; } int parsedNumberOfAggregations = 0; for (Aggregation parsedAgg : parsed.getAggregations()) { assertTrue(parsedAgg instanceof ParsedAggregation); assertTrue(expectedAggregations.keySet().contains(parsedAgg.getName())); Aggregation expectedInternalAggregation = expectedAggregations.get(parsedAgg.getName()); final XContentType xContentType = randomFrom(XContentType.values()); final ToXContent.Params params = new ToXContent.MapParams(singletonMap(RestSearchAction.TYPED_KEYS_PARAM, "true")); BytesReference expectedBytes = toXContent(expectedInternalAggregation, xContentType, params, false); BytesReference actualBytes = toXContent(parsedAgg, xContentType, params, false); assertToXContentEquivalent(expectedBytes, actualBytes, xContentType); parsedNumberOfAggregations++; } assertEquals(expectedNumberOfAggregations, parsedNumberOfAggregations); Class<? extends ParsedSingleBucketAggregation> parsedClass = implementationClass(); assertTrue(parsedClass != null && parsedClass.isInstance(parsedAggregation)); }
@Inject public MetaStateService(Settings settings, NodeEnvironment nodeEnv) { super(settings); this.nodeEnv = nodeEnv; this.format = XContentType.fromRestContentType(settings.get(FORMAT_SETTING, "smile")); if (this.format == XContentType.SMILE) { Map<String, String> params = Maps.newHashMap(); params.put("binary", "true"); formatParams = new ToXContent.MapParams(params); Map<String, String> gatewayModeParams = Maps.newHashMap(); gatewayModeParams.put("binary", "true"); gatewayModeParams.put(MetaData.CONTEXT_MODE_PARAM, MetaData.CONTEXT_MODE_GATEWAY); gatewayModeFormatParams = new ToXContent.MapParams(gatewayModeParams); } else { formatParams = ToXContent.EMPTY_PARAMS; Map<String, String> gatewayModeParams = Maps.newHashMap(); gatewayModeParams.put(MetaData.CONTEXT_MODE_PARAM, MetaData.CONTEXT_MODE_GATEWAY); gatewayModeFormatParams = new ToXContent.MapParams(gatewayModeParams); } indexStateFormat = indexStateFormat(format, formatParams); globalStateFormat = globalStateFormat(format, gatewayModeFormatParams); }
static void createQueryBuilderField(Version indexVersion, BinaryFieldMapper qbField, QueryBuilder queryBuilder, ParseContext context) throws IOException { if (indexVersion.onOrAfter(Version.V_6_0_0_beta2)) { try (ByteArrayOutputStream stream = new ByteArrayOutputStream()) { try (OutputStreamStreamOutput out = new OutputStreamStreamOutput(stream)) { out.setVersion(indexVersion); out.writeNamedWriteable(queryBuilder); byte[] queryBuilderAsBytes = stream.toByteArray(); qbField.parse(context.createExternalValueContext(queryBuilderAsBytes)); } } } else { try (XContentBuilder builder = XContentFactory.contentBuilder(QUERY_BUILDER_CONTENT_TYPE)) { queryBuilder.toXContent(builder, new MapParams(Collections.emptyMap())); builder.flush(); byte[] queryBuilderAsBytes = BytesReference.toBytes(BytesReference.bytes(builder)); context.doc().add(new Field(qbField.name(), queryBuilderAsBytes, qbField.fieldType())); } } }
void updateAuthPassword(final String newPassword) { AccessController.doPrivileged((PrivilegedAction<Void>) () -> { Settings updatedSettings = Settings.builder() .put(settings) .put("auth.basic.password", newPassword) .build(); AuthConfig updatedAuthConfig = new AuthConfig(updatedSettings); try (OutputStream outputStream = Files.newOutputStream(configFile); XContentBuilder contentBuilder = XContentFactory.yamlBuilder(outputStream)) { contentBuilder.startObject(); updatedSettings.toXContent(contentBuilder, new ToXContent.MapParams(Collections.singletonMap("flat_settings", "true"))); contentBuilder.endObject(); BucklerConfig.this.settings = updatedSettings; BucklerConfig.this.authConfig = updatedAuthConfig; } catch (IOException e) { throw new AuthConfigUpdateException("Failed to write Buckler configuration to the file", e); } return null; }); }
static void createQueryBuilderField(Version indexVersion, BinaryFieldMapper qbField, QueryBuilder queryBuilder, ParseContext context) throws IOException { if (indexVersion.onOrAfter(Version.V_6_0_0_beta2)) { try (ByteArrayOutputStream stream = new ByteArrayOutputStream()) { try (OutputStreamStreamOutput out = new OutputStreamStreamOutput(stream)) { out.setVersion(indexVersion); out.writeNamedWriteable(queryBuilder); byte[] queryBuilderAsBytes = stream.toByteArray(); qbField.parse(context.createExternalValueContext(queryBuilderAsBytes)); } } } else { try (XContentBuilder builder = XContentFactory.contentBuilder(QUERY_BUILDER_CONTENT_TYPE)) { queryBuilder.toXContent(builder, new MapParams(Collections.emptyMap())); builder.flush(); byte[] queryBuilderAsBytes = BytesReference.toBytes(BytesReference.bytes(builder)); context.doc().add(new Field(qbField.name(), queryBuilderAsBytes, qbField.fieldType())); } } }
@Override public String param(String key, String defaultValue) { return super.param(key, delegate.param(key, defaultValue)); }
@Override public String param(String key, String defaultValue) { return super.param(key, delegate.param(key, defaultValue)); }
@Override public boolean paramAsBoolean(String key, boolean defaultValue) { return Booleans.parseBoolean(param(key), defaultValue); }