Class PackageUtils


  • public class PackageUtils
    extends Object
    • 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
    • Constructor Detail

      • PackageUtils

        public PackageUtils()
    • 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 client
        buffer - File contents
        name - 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 request
        path - 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 request
        path - 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)
      • print

        public static void print​(String color,
                                 Object message)
      • validateCollections

        public static String[] validateCollections​(String[] collections)
      • getCollectionParamsPath

        public static String getCollectionParamsPath​(String collection)