Class SmoSearchBackendImpl

java.lang.Object
org.apache.maven.search.api.support.SearchBackendSupport
org.apache.maven.search.backend.smo.internal.SmoSearchBackendImpl
All Implemented Interfaces:
Closeable, AutoCloseable, org.apache.maven.search.api.SearchBackend, org.apache.maven.search.api.SearchEngine, SmoSearchBackend

public class SmoSearchBackendImpl extends org.apache.maven.search.api.support.SearchBackendSupport implements SmoSearchBackend
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final Map<String,String>
     
    protected static final com.google.gson.JsonPrimitive
     
    protected static final com.google.gson.JsonPrimitive
     
    protected static final Map<org.apache.maven.search.api.request.Field,String>
     
    protected final String
     
    protected final org.apache.maven.search.api.transport.Transport
     

    Fields inherited from class org.apache.maven.search.api.support.SearchBackendSupport

    backendId, repositoryId
  • Constructor Summary

    Constructors
    Constructor
    Description
    SmoSearchBackendImpl(String backendId, String repositoryId, String smoUri, org.apache.maven.search.api.transport.Transport transport)
    Creates a customized instance of SMO backend, like an in-house instances of SMO or different IDs.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected org.apache.maven.search.api.Record
    convert(com.google.gson.JsonObject doc)
     
    protected String
    cscPaging(org.apache.maven.search.api.SearchRequest searchRequest, HashSet<org.apache.maven.search.api.request.Field> searchedFields)
     
    protected String
     
    protected String
     
    protected String
    extra(org.apache.maven.search.api.SearchRequest searchRequest, HashSet<org.apache.maven.search.api.request.Field> searchedFields)
     
    protected String
    fetch(String serviceUri, Map<String,String> headers)
     
    Returns the base "service URI" that is used by this SMO backend.
    protected static String
    mayGet(String field, com.google.gson.JsonObject object)
     
    protected static void
    mayPut(Map<org.apache.maven.search.api.request.Field,Object> result, org.apache.maven.search.api.request.Field fieldName, Object value)
     
    protected String
    paging(org.apache.maven.search.api.SearchRequest searchRequest, HashSet<org.apache.maven.search.api.request.Field> searchedFields)
     
    protected int
    populateFromRaw(com.google.gson.JsonObject raw, List<org.apache.maven.search.api.Record> page)
     
    search(org.apache.maven.search.api.SearchRequest searchRequest)
     
    protected String
    smoPaging(org.apache.maven.search.api.SearchRequest searchRequest, HashSet<org.apache.maven.search.api.request.Field> searchedFields)
     
    protected String
    toSMOQuery(HashSet<org.apache.maven.search.api.request.Field> searchedFields, org.apache.maven.search.api.request.Query query)
     
    protected String
    toURI(org.apache.maven.search.api.SearchRequest searchRequest)
     

    Methods inherited from class org.apache.maven.search.api.support.SearchBackendSupport

    close, getBackendId, getRepositoryId

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface java.io.Closeable

    close

    Methods inherited from interface org.apache.maven.search.api.SearchBackend

    getBackendId, getRepositoryId
  • Field Details

    • FIELD_TRANSLATION

      protected static final Map<org.apache.maven.search.api.request.Field,String> FIELD_TRANSLATION
    • smoUri

      protected final String smoUri
    • transport

      protected final org.apache.maven.search.api.transport.Transport transport
    • commonHeaders

      protected final Map<String,String> commonHeaders
    • EC_SOURCE_JAR

      protected static final com.google.gson.JsonPrimitive EC_SOURCE_JAR
    • EC_JAVADOC_JAR

      protected static final com.google.gson.JsonPrimitive EC_JAVADOC_JAR
  • Constructor Details

    • SmoSearchBackendImpl

      public SmoSearchBackendImpl(String backendId, String repositoryId, String smoUri, org.apache.maven.search.api.transport.Transport transport)
      Creates a customized instance of SMO backend, like an in-house instances of SMO or different IDs.
  • Method Details

    • discoverVersion

      protected String discoverVersion()
    • getSmoUri

      public String getSmoUri()
      Description copied from interface: SmoSearchBackend
      Returns the base "service URI" that is used by this SMO backend. never null.
      Specified by:
      getSmoUri in interface SmoSearchBackend
    • search

      public SmoSearchResponse search(org.apache.maven.search.api.SearchRequest searchRequest) throws IOException
      Specified by:
      search in interface org.apache.maven.search.api.SearchEngine
      Specified by:
      search in interface SmoSearchBackend
      Throws:
      IOException
    • toURI

      protected String toURI(org.apache.maven.search.api.SearchRequest searchRequest)
    • paging

      protected String paging(org.apache.maven.search.api.SearchRequest searchRequest, HashSet<org.apache.maven.search.api.request.Field> searchedFields)
    • smoPaging

      protected String smoPaging(org.apache.maven.search.api.SearchRequest searchRequest, HashSet<org.apache.maven.search.api.request.Field> searchedFields)
    • cscPaging

      protected String cscPaging(org.apache.maven.search.api.SearchRequest searchRequest, HashSet<org.apache.maven.search.api.request.Field> searchedFields)
    • extra

      protected String extra(org.apache.maven.search.api.SearchRequest searchRequest, HashSet<org.apache.maven.search.api.request.Field> searchedFields)
    • fetch

      protected String fetch(String serviceUri, Map<String,String> headers) throws IOException
      Throws:
      IOException
    • toSMOQuery

      protected String toSMOQuery(HashSet<org.apache.maven.search.api.request.Field> searchedFields, org.apache.maven.search.api.request.Query query)
    • encodeQueryParameterValue

      protected String encodeQueryParameterValue(String parameterValue)
    • populateFromRaw

      protected int populateFromRaw(com.google.gson.JsonObject raw, List<org.apache.maven.search.api.Record> page)
    • convert

      protected org.apache.maven.search.api.Record convert(com.google.gson.JsonObject doc)
    • mayGet

      protected static String mayGet(String field, com.google.gson.JsonObject object)
    • mayPut

      protected static void mayPut(Map<org.apache.maven.search.api.request.Field,Object> result, org.apache.maven.search.api.request.Field fieldName, Object value)