Package org.apache.solr.packagemanager
Class PackageUtils
- java.lang.Object
-
- org.apache.solr.packagemanager.PackageUtils
-
public class PackageUtils extends Object
-
-
Field Summary
Fields Modifier and Type Field Description static String
CLUSTER_PLUGINS_PATH
static String
CLUSTERPROPS_PATH
static String
LATEST
Represents a version which denotes the latest version available at the moment.static String
PACKAGE_PATH
static String
REPOSITORIES_ZK_PATH
-
Constructor Summary
Constructors Constructor Description PackageUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static SolrPackage.Manifest
fetchManifest(org.apache.solr.client.solrj.SolrClient solrClient, String manifestFilePath, String expectedSHA512)
Fetches a manifest file from the File Store / Package Store.static void
format(StringBuilder sb, Object message)
static void
format(StringBuilder sb, String color, Object message)
static void
formatGreen(StringBuilder sb, Object message)
Console print using green colorstatic String
getCollectionParamsPath(String collection)
static String
getFileFromJarsAsString(List<Path> jars, String filename)
Search through the list of jar files for a given file.static <T> T
getJson(org.apache.solr.client.solrj.SolrClient client, String path, Class<T> klass)
Download JSON from a Solr url and deserialize into klass.static String
getJsonStringFromCollectionApi(org.apache.solr.client.solrj.SolrClient client, String path, org.apache.solr.common.params.SolrParams params)
Returns the response of a collection or core API call as string-ified JSONstatic String
getJsonStringFromNonCollectionApi(org.apache.solr.client.solrj.SolrClient client, String path, org.apache.solr.common.params.SolrParams params)
Returns the response of a collection-agnostic API call as string-ified JSONstatic com.fasterxml.jackson.databind.ObjectMapper
getMapper()
static com.jayway.jsonpath.Configuration
jsonPathConfiguration()
static void
postFile(org.apache.solr.client.solrj.SolrClient client, ByteBuffer buffer, String name, String sig)
Uploads a file to the package store / file store of Solr.static void
print(String color, Object message)
static String
resolve(String str, Map<String,String> defaults, Map<String,String> overrides, Map<String,String> systemParams)
Replace a templatized string with parameter substituted string.static void
uploadKey(byte[] bytes, String path, Path home)
static String[]
validateCollections(String[] collections)
-
-
-
Field Detail
-
LATEST
public static String LATEST
Represents a version which denotes the latest version available at the moment.
-
PACKAGE_PATH
public static String PACKAGE_PATH
-
CLUSTER_PLUGINS_PATH
public static String CLUSTER_PLUGINS_PATH
-
REPOSITORIES_ZK_PATH
public static String REPOSITORIES_ZK_PATH
-
CLUSTERPROPS_PATH
public static String CLUSTERPROPS_PATH
-
-
Method Detail
-
jsonPathConfiguration
public static com.jayway.jsonpath.Configuration jsonPathConfiguration()
-
getMapper
public static com.fasterxml.jackson.databind.ObjectMapper getMapper()
-
postFile
public static void postFile(org.apache.solr.client.solrj.SolrClient client, ByteBuffer buffer, String name, String sig) throws org.apache.solr.client.solrj.SolrServerException, IOException
Uploads a file to the package store / file store of Solr.- Parameters:
client
- A Solr clientbuffer
- File contentsname
- Name of the file as it will appear in the file store (can be hierarchical)sig
- Signature digest (public key should be separately uploaded to ZK)- Throws:
org.apache.solr.client.solrj.SolrServerException
IOException
-
getJson
public static <T> T getJson(org.apache.solr.client.solrj.SolrClient client, String path, Class<T> klass)
Download JSON from a Solr url and deserialize into klass.
-
getFileFromJarsAsString
public static String getFileFromJarsAsString(List<Path> jars, String filename)
Search through the list of jar files for a given file. Returns string of the file contents or null if file wasn't found. This is suitable for looking for manifest or property files within pre-downloaded jar files. Please note that the first instance of the file found is returned.
-
getJsonStringFromCollectionApi
public static String getJsonStringFromCollectionApi(org.apache.solr.client.solrj.SolrClient client, String path, org.apache.solr.common.params.SolrParams params)
Returns the response of a collection or core API call as string-ified JSON- Parameters:
client
- the SolrClient used to make the requestpath
- the HTTP path of the Solr API to hit, starting after the collection or core name (i.e. omitting '/solr/techproducts')params
- query parameters to include when making the request
-
getJsonStringFromNonCollectionApi
public static String getJsonStringFromNonCollectionApi(org.apache.solr.client.solrj.SolrClient client, String path, org.apache.solr.common.params.SolrParams params)
Returns the response of a collection-agnostic API call as string-ified JSON- Parameters:
client
- the SolrClient used to make the requestpath
- the HTTP path of the Solr API to hit, starting after '/solr' (or '/api' for v2 requests)params
- query parameters to include when making the request
-
fetchManifest
public static SolrPackage.Manifest fetchManifest(org.apache.solr.client.solrj.SolrClient solrClient, String manifestFilePath, String expectedSHA512) throws IOException, org.apache.solr.client.solrj.SolrServerException
Fetches a manifest file from the File Store / Package Store. A SHA512 check is enforced after fetching.- Throws:
IOException
org.apache.solr.client.solrj.SolrServerException
-
resolve
public static String resolve(String str, Map<String,String> defaults, Map<String,String> overrides, Map<String,String> systemParams)
Replace a templatized string with parameter substituted string. First applies the overrides, then defaults and then systemParams.
-
formatGreen
public static void formatGreen(StringBuilder sb, Object message)
Console print using green color
-
format
public static void format(StringBuilder sb, Object message)
-
format
public static void format(StringBuilder sb, String color, Object message)
-
uploadKey
public static void uploadKey(byte[] bytes, String path, Path home) throws IOException
- Throws:
IOException
-
-