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
BLACK
static String
BLUE
static String
CLUSTER_PLUGINS_PATH
static String
CLUSTERPROPS_PATH
static String
CYAN
static String
GREEN
static String
LATEST
Represents a version which denotes the latest version available at the moment.static String
PACKAGE_PATH
static String
PURPLE
static String
RED
static String
REPOSITORIES_ZK_PATH
static String
WHITE
static String
YELLOW
-
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 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(Object message)
static void
print(String color, Object message)
static void
printGreen(Object message)
Console print using green colorstatic void
printRed(Object message)
Console print using red colorstatic 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
-
BLACK
public static String BLACK
-
RED
public static String RED
-
GREEN
public static String GREEN
-
YELLOW
public static String YELLOW
-
BLUE
public static String BLUE
-
PURPLE
public static String PURPLE
-
CYAN
public static String CYAN
-
WHITE
public static String WHITE
-
-
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.
-
printGreen
public static void printGreen(Object message)
Console print using green color
-
printRed
public static void printRed(Object message)
Console print using red color
-
print
public static void print(Object message)
-
uploadKey
public static void uploadKey(byte[] bytes, String path, Path home) throws IOException
- Throws:
IOException
-
-