All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.solr.client.solrj.request.ReplicationApi Maven / Gradle / Ivy

There is a newer version: 9.7.0
Show newest version
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.solr.client.solrj.request;

import org.apache.solr.client.solrj.JacksonParsingResponse;
import org.apache.solr.client.solrj.ResponseParser;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.impl.InputStreamResponseParser;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.SolrParams;

// WARNING: This class is generated from a Mustache template; any intended
// changes should be made to the underlying template and not this file directly.

/**
 * Experimental SolrRequest's and SolrResponse's for replication, generated from an OAS.
 *
 * 

See individual request and response classes for more detailed and relevant information. * *

All SolrRequest implementations rely on v2 APIs which may require a SolrClient configured to * use the '/api' path prefix, instead of '/solr'. * * @lucene.experimental */ public class ReplicationApi { public static class FetchFileListResponse extends JacksonParsingResponse { public FetchFileListResponse() { super(org.apache.solr.client.api.model.FileListResponse.class); } } public static class FetchFileList extends SolrRequest { private final String coreName; private final Long generation; /** * Create a FetchFileList request object. * * @param coreName Path param - * @param generation Path param - The generation number of the index */ public FetchFileList(String coreName, Long generation) { super( SolrRequest.METHOD.valueOf("GET"), "/cores/{coreName}/replication/files".replace("{" + "coreName" + "}", coreName)); this.coreName = coreName; this.generation = generation; } // TODO Hardcode this for now, but in reality we'll want to parse this out of the Operation data // somehow @Override public String getRequestType() { return SolrRequestType.ADMIN.toString(); } @Override public ApiVersion getApiVersion() { return ApiVersion.V2; } @Override public SolrParams getParams() { final ModifiableSolrParams params = new ModifiableSolrParams(); if (generation != null) { params.add("generation", generation.toString()); } return params; } @Override protected FetchFileListResponse createResponse(SolrClient client) { return new FetchFileListResponse(); } @Override public ResponseParser getResponseParser() { return new InputStreamResponseParser("json"); } } public static class FetchIndexVersionResponse extends JacksonParsingResponse { public FetchIndexVersionResponse() { super(org.apache.solr.client.api.model.IndexVersionResponse.class); } } public static class FetchIndexVersion extends SolrRequest { private final String coreName; /** * Create a FetchIndexVersion request object. * * @param coreName Path param - */ public FetchIndexVersion(String coreName) { super( SolrRequest.METHOD.valueOf("GET"), "/cores/{coreName}/replication/indexversion".replace("{" + "coreName" + "}", coreName)); this.coreName = coreName; } // TODO Hardcode this for now, but in reality we'll want to parse this out of the Operation data // somehow @Override public String getRequestType() { return SolrRequestType.ADMIN.toString(); } @Override public ApiVersion getApiVersion() { return ApiVersion.V2; } @Override public SolrParams getParams() { final ModifiableSolrParams params = new ModifiableSolrParams(); return params; } @Override protected FetchIndexVersionResponse createResponse(SolrClient client) { return new FetchIndexVersionResponse(); } @Override public ResponseParser getResponseParser() { return new InputStreamResponseParser("json"); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy