org.apache.solr.rest
Class DynamicFieldCollectionResource

java.lang.Object
  extended by org.restlet.resource.Resource
      extended by org.restlet.resource.UniformResource
          extended by org.restlet.resource.ServerResource
              extended by org.apache.solr.rest.DynamicFieldCollectionResource
All Implemented Interfaces:
GETable

public class DynamicFieldCollectionResource
extends org.restlet.resource.ServerResource
implements GETable

This class responds to requests at /solr/(corename)/schema/dynamicfields

To restrict the set of dynamic fields in the response, specify a comma and/or space separated list of dynamic field patterns in the "fl" query parameter.


Field Summary
protected static String INCLUDE_DYNAMIC_PARAM
           
 
Constructor Summary
DynamicFieldCollectionResource()
           
 
Method Summary
 void doInit()
          Pulls the "fl" param from the request and splits it to get the requested list of fields.
 org.restlet.representation.Representation get()
           
protected  String getContentType()
           
protected  SimpleOrderedMap<Object> getFieldProperties(SchemaField field)
          Get the properties for a given field.
protected  LinkedHashSet<String> getRequestedFields()
           
protected  IndexSchema getSchema()
           
protected  SolrCore getSolrCore()
           
protected  SolrQueryRequest getSolrRequest()
           
protected  SolrQueryResponse getSolrResponse()
           
protected  void handleException(org.slf4j.Logger log)
          If there is an exception on the SolrResponse: error info is added to the SolrResponse; the response status code is set to the error code from the exception; and the exception message is added to the list of things to be logged.
protected  void handlePostExecution(org.slf4j.Logger log)
          Deal with an exception on the SolrResponse, fill in response header info, and log the accumulated messages on the SolrResponse.
protected static String urlDecode(String str)
          Decode URL-encoded strings as UTF-8, and avoid converting "+" to space
 
Methods inherited from class org.restlet.resource.ServerResource
abort, commit, delete, delete, describeVariants, doCatch, doConditionalHandle, doError, doHandle, doHandle, doNegotiatedHandle, get, getAttribute, getInfo, getInfo, getOnSent, getPreferredVariant, getVariants, getVariants, handle, hasAnnotations, head, head, isAnnotated, isAutoCommitting, isCommitted, isConditional, isExisting, isInRole, isNegotiated, options, options, post, post, put, put, redirectPermanent, redirectPermanent, redirectSeeOther, redirectSeeOther, redirectTemporary, redirectTemporary, setAllowedMethods, setAnnotated, setAttribute, setAutoCommitting, setChallengeRequests, setCommitted, setConditional, setCookieSettings, setDimensions, setExisting, setLocationRef, setLocationRef, setNegotiated, setOnSent, setProxyChallengeRequests, setServerInfo, setStatus, setStatus, setStatus, setStatus, updateAllowedMethods, updateDimensions
 
Methods inherited from class org.restlet.resource.Resource
doError, doRelease, getAllowedMethods, getApplication, getChallengeRequests, getChallengeResponse, getClientInfo, getConditions, getConnegService, getContext, getConverterService, getCookies, getCookieSettings, getDimensions, getHostRef, getLocationRef, getLogger, getMatrix, getMatrixValue, getMaxForwards, getMetadataService, getMethod, getOriginalRef, getProtocol, getProxyChallengeRequests, getProxyChallengeResponse, getQuery, getQueryValue, getRanges, getReference, getReferrerRef, getRequest, getRequestAttributes, getRequestCacheDirectives, getRequestEntity, getResponse, getResponseAttributes, getResponseCacheDirectives, getResponseEntity, getRootRef, getServerInfo, getStatus, getStatusService, init, isConfidential, isLoggable, release, setApplication, setQueryValue, setRequest, setResponse, toObject, toRepresentation, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

INCLUDE_DYNAMIC_PARAM

protected static final String INCLUDE_DYNAMIC_PARAM
See Also:
Constant Field Values
Constructor Detail

DynamicFieldCollectionResource

public DynamicFieldCollectionResource()
Method Detail

doInit

public void doInit()
            throws org.restlet.resource.ResourceException
Pulls the "fl" param from the request and splits it to get the requested list of fields. The (Dynamic)FieldCollectionResource classes will then restrict the fields sent back in the response to those on this list. The (Dynamic)FieldResource classes ignore this list, since the (dynamic) field is specified in the URL path, rather than in a query parameter.

Also pulls the "showDefaults" param from the request, for use by all subclasses to include default values from the associated field type in the response. By default this param is off.

Throws:
org.restlet.resource.ResourceException

get

public org.restlet.representation.Representation get()
Specified by:
get in interface GETable
Overrides:
get in class org.restlet.resource.ServerResource

getRequestedFields

protected LinkedHashSet<String> getRequestedFields()

getFieldProperties

protected SimpleOrderedMap<Object> getFieldProperties(SchemaField field)
Get the properties for a given field.

Parameters:
field - not required to exist in the schema

getSolrCore

protected SolrCore getSolrCore()

getSchema

protected IndexSchema getSchema()

getSolrRequest

protected SolrQueryRequest getSolrRequest()

getSolrResponse

protected SolrQueryResponse getSolrResponse()

getContentType

protected String getContentType()

handlePostExecution

protected void handlePostExecution(org.slf4j.Logger log)
Deal with an exception on the SolrResponse, fill in response header info, and log the accumulated messages on the SolrResponse.


handleException

protected void handleException(org.slf4j.Logger log)
If there is an exception on the SolrResponse:


urlDecode

protected static String urlDecode(String str)
                           throws UnsupportedEncodingException
Decode URL-encoded strings as UTF-8, and avoid converting "+" to space

Throws:
UnsupportedEncodingException


Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.