Class SearchAggregationControl

  • All Implemented Interfaces:
    Observer, VariableResolver, IControl, IDataBoundControl, IDataControl, IRenderer

    @StableMinor(version="14.0",
                 sinceVersion="9.0")
    public class SearchAggregationControl
    extends InputHiddenControl
    Control responsible for manage user's aggregations. It is expected to be attached to a SearchSource.
    The request parameter for this control is expected to have the following JSON format:
    { "currentUserQuery": "current user search query", "aggregated": { "some.aggregated.field.id": ["aggregated value 1", "aggregated value 2"], "other.aggregated.field.id": ["other aggregated value 1", "other aggregated value 2", "other aggregated value 3"] } }

    The currentUserQuery string is the current user search query (stored in the first time user typed a search query). The aggregated object is a map of aggregated values (that will be used to filter the big data query).
    Sets source parameter values of aggregated values (filtered values) and aggregations (the aggregations that will be performed in Big data API).

    XML data available for XSLT rendering:

    Since:
    9.0.0
    Version:
    $Revision: 24476 $ $Date: 2021-04-28 11:28:23 -0300 (Wed, 28 Apr 2021) $
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected String getAggregatedValuesXML​(DocumentTypeField field, Set<Object> aggregatedValues)
      Returns a XML string containing the aggregated values (user's applied filters).
      The expected XML string format is as follows:
      <aggregatedValues fieldId="field.full.id"> <!-- Example for Service field: --> <aggregatedValue> <aggregationGroupTitle>Service</aggregationGroupTitle> <value>lumis.service.news</value> <displayName>News</displayName> </aggregatedValue> <!-- Example for Service Instance field: --> <aggregatedValue> <aggregationGroupTitle>Service instance</aggregationGroupTitle> <value>46F55AF56C5149CB999B66A01C99BF40</value> <displayName>Products</displayName> </aggregatedValue> <!-- Example for Category field: --> <aggregatedValue> <aggregationGroupTitle>Product Type</aggregationGroupTitle> <value>B460F41DFF9E4839B64DDFBC1A0C0850</value> <displayName>Digital Reflex Camera</displayName> </aggregatedValue> <!-- Example for Tag field: --> <aggregatedValue> <aggregationGroupTitle>Color</aggregationGroupTitle> <value>Red</value> <displayName>Red</displayName> </aggregatedValue> ...</div> </td> </tr> <tr id="i1" class="rowColor"> <td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAggregationId(lumis.portal.bigdata.DocumentTypeField)">getAggregationId</a></span>&#8203;(<a href="../../portal/bigdata/DocumentTypeField.html" title="class in lumis.portal.bigdata">DocumentTypeField</a>&nbsp;field)</code></th> <td class="colLast"> <div class="block">Returns the aggregation identifier to be used in aggregation of the given field.</div> </td> </tr> <tr id="i2" class="altColor"> <td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAggregationResultXML(lumis.portal.bigdata.DocumentTypeField,lumis.portal.bigdata.query.IAggregationResult)">getAggregationResultXML</a></span>&#8203;(<a href="../../portal/bigdata/DocumentTypeField.html" title="class in lumis.portal.bigdata">DocumentTypeField</a>&nbsp;field, <a href="../../portal/bigdata/query/IAggregationResult.html" title="interface in lumis.portal.bigdata.query">IAggregationResult</a>&nbsp;result)</code></th> <td class="colLast"> <div class="block">Returns a XML string of the given aggregation results for the given field.<br> The expected XML string format is as follows:<br> <xmp> <!-- Example for Service field: --> <aggregationResult fieldId="field.fullId"> <aggregationGroups> <aggregationGroup> Service <aggregations> <aggregation> <value>lumis.service.news</value> <displayName>News</displayName> <documentCount>10</documentCount> </aggregation> <aggregation> <value>lumis.service.document</value> <displayName>Documents</displayName> <documentCount>5</documentCount> </aggregation> ...</div> </td> </tr> <tr id="i3" class="rowColor"> <td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="../../portal/bigdata/query/IAggregation.html" title="interface in lumis.portal.bigdata.query">IAggregation</a>&gt;</code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAggregations()">getAggregations</a></span>()</code></th> <td class="colLast"> <div class="block">Returns the aggregations that will be performed in search.</div> </td> </tr> <tr id="i4" class="altColor"> <td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="../../portal/bigdata/DocumentTypeField.html" title="class in lumis.portal.bigdata">DocumentTypeField</a>&gt;</code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFieldsToBeAggregated()">getFieldsToBeAggregated</a></span>()</code></th> <td class="colLast"> <div class="block">Returns a collection of fields that will be aggregated in search.</div> </td> </tr> <tr id="i5" class="rowColor"> <td class="colFirst"><code>void</code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#loadFromRequest()">loadFromRequest</a></span>()</code></th> <td class="colLast">&nbsp;</td> </tr> <tr id="i6" class="altColor"> <td class="colFirst"><code>void</code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRenderData()">setRenderData</a></span>()</code></th> <td class="colLast">&nbsp;</td> </tr> <tr id="i7" class="rowColor"> <td class="colFirst"><code>protected void</code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSourceParameter(lumis.doui.source.Source,java.lang.String)">setSourceParameter</a></span>&#8203;(<a href="../source/Source.html" title="class in lumis.doui.source">Source</a>&nbsp;source, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;parameterName)</code></th> <td class="colLast"> <div class="block">Sets the parameter with the given name in the given source.</div> </td> </tr> <tr id="i8" class="altColor"> <td class="colFirst"><code>protected void</code></td> <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setValueFromSource()">setValueFromSource</a></span>()</code></th> <td class="colLast">&nbsp;</td> </tr> </table> <ul class="blockList"> <li class="blockList"><a id="methods.inherited.from.class.lumis.doui.control.inputtext.InputHiddenControl"> <!-- --> </a> <h3>Methods inherited from class&nbsp;lumis.doui.control.inputtext.<a href="../control/inputtext/InputHiddenControl.html" title="class in lumis.doui.control.inputtext">InputHiddenControl</a></h3> <code><a href="../control/inputtext/InputHiddenControl.html#autoAddValidators()">autoAddValidators</a></code></li> </ul> <ul class="blockList"> <li class="blockList"><a id="methods.inherited.from.class.lumis.doui.control.inputtext.InputTextControl"> <!-- --> </a> <h3>Methods inherited from class&nbsp;lumis.doui.control.inputtext.<a href="../control/inputtext/InputTextControl.html" title="class in lumis.doui.control.inputtext">InputTextControl</a></h3> <code><a href="../control/inputtext/InputTextControl.html#buildSubControls()">buildSubControls</a>, <a href="../control/inputtext/InputTextControl.html#fixedIdentifierRequired()">fixedIdentifierRequired</a>, <a href="../control/inputtext/InputTextControl.html#init(org.w3c.dom.Node,lumis.doui.control.ControlContainer,lumis.doui.control.IControl)">init</a></code></li> </ul> <ul class="blockList"> <li class="blockList"><a id="methods.inherited.from.class.lumis.doui.control.DataBoundControl"> <!-- --> </a> <h3>Methods inherited from class&nbsp;lumis.doui.control.<a href="../control/DataBoundControl.html" title="class in lumis.doui.control">DataBoundControl</a></h3> <code><a href="../control/DataBoundControl.html#autoAddDateTimeValueValidator()">autoAddDateTimeValueValidator</a>, <a href="../control/DataBoundControl.html#autoAddDoubleValueValidator()">autoAddDoubleValueValidator</a>, <a href="../control/DataBoundControl.html#autoAddFileSizeValidator()">autoAddFileSizeValidator</a>, <a href="../control/DataBoundControl.html#autoAddIntegerValueValidator()">autoAddIntegerValueValidator</a>, <a href="../control/DataBoundControl.html#autoAddLengthValidator()">autoAddLengthValidator</a>, <a href="../control/DataBoundControl.html#autoAddLongValueValidator()">autoAddLongValueValidator</a>, <a href="../control/DataBoundControl.html#autoAddRequiredValueValidator()">autoAddRequiredValueValidator</a>, <a href="../control/DataBoundControl.html#createConverter()">createConverter</a>, <a href="../control/DataBoundControl.html#createDataType()">createDataType</a>, <a href="../control/DataBoundControl.html#getDataId()">getDataId</a>, <a href="../control/DataBoundControl.html#getFieldName()">getFieldName</a>, <a href="../control/DataBoundControl.html#getProcessActionHandlerParameterName()">getProcessActionHandlerParameterName</a>, <a href="../control/DataBoundControl.html#getReload()">getReload</a>, <a href="../control/DataBoundControl.html#getRequestHelpDefinition()">getRequestHelpDefinition</a>, <a href="../control/DataBoundControl.html#getRuntimeDefaultSource()">getRuntimeDefaultSource</a>, <a href="../control/DataBoundControl.html#getSource()">getSource</a>, <a href="../control/DataBoundControl.html#getSourceById(java.lang.String)">getSourceById</a>, <a href="../control/DataBoundControl.html#getSourceContext()">getSourceContext</a>, <a href="../control/DataBoundControl.html#getUnboundedConverter()">getUnboundedConverter</a>, <a href="../control/DataBoundControl.html#setDefaultValue()">setDefaultValue</a>, <a href="../control/DataBoundControl.html#setRawValue(java.lang.Object)">setRawValue</a>, <a href="../control/DataBoundControl.html#setReload(boolean)">setReload</a>, <a href="../control/DataBoundControl.html#setSourceParameter(java.lang.String,java.lang.String)">setSourceParameter</a>, <a href="../control/DataBoundControl.html#setValid(boolean)">setValid</a>, <a href="../control/DataBoundControl.html#setValueFromSource(S)">setValueFromSource</a>, <a href="../control/DataBoundControl.html#update(java.util.Observable,java.lang.Object)">update</a></code></li> </ul> <ul class="blockList"> <li class="blockList"><a id="methods.inherited.from.class.lumis.doui.control.DataControl"> <!-- --> </a> <h3>Methods inherited from class&nbsp;lumis.doui.control.<a href="../control/DataControl.html" title="class in lumis.doui.control">DataControl</a></h3> <code><a href="../control/DataControl.html#convertValueToControlValue(java.lang.Object,java.util.Locale,java.lang.String)">convertValueToControlValue</a>, <a href="../control/DataControl.html#getConverter()">getConverter</a>, <a href="../control/DataControl.html#getDataType()">getDataType</a>, <a href="../control/DataControl.html#getDefaultValue()">getDefaultValue</a>, <a href="../control/DataControl.html#getParameterValue(java.lang.String)">getParameterValue</a>, <a href="../control/DataControl.html#getProcessActionIds()">getProcessActionIds</a>, <a href="../control/DataControl.html#getRequestParameterName()">getRequestParameterName</a>, <a href="../control/DataControl.html#getValue()">getValue</a>, <a href="../control/DataControl.html#getValue(java.lang.Class)">getValue</a>, <a href="../control/DataControl.html#getValueClass()">getValueClass</a>, <a href="../control/DataControl.html#initProcessActionIds()">initProcessActionIds</a>, <a href="../control/DataControl.html#isTrim()">isTrim</a>, <a href="../control/DataControl.html#loadSubControlFromRequest(lumis.doui.control.IControl)">loadSubControlFromRequest</a>, <a href="../control/DataControl.html#loadSubControlsFromRequest()">loadSubControlsFromRequest</a>, <a href="../control/DataControl.html#setProcessActionHandlerParameter(lumis.doui.processaction.IProcessActionHandler,java.lang.String)">setProcessActionHandlerParameter</a>, <a href="../control/DataControl.html#setProcessActionHandlerParameter(lumis.doui.processaction.IProcessActionHandler,java.lang.String,java.lang.Object)">setProcessActionHandlerParameter</a>, <a href="../control/DataControl.html#setProcessActionHandlerParameters(lumis.doui.processaction.IProcessActionHandler)">setProcessActionHandlerParameters</a>, <a href="../control/DataControl.html#setSourceParameters()">setSourceParameters</a>, <a href="../control/DataControl.html#setTrim(boolean)">setTrim</a>, <a href="../control/DataControl.html#setValue(java.lang.Object)">setValue</a>, <a href="../control/DataControl.html#valueIsArray()">valueIsArray</a></code></li> </ul> <ul class="blockList"> <li class="blockList"><a id="methods.inherited.from.class.lumis.doui.control.Control"> <!-- --> </a> <h3>Methods inherited from class&nbsp;lumis.doui.control.<a href="../control/Control.html" title="class in lumis.doui.control">Control</a></h3> <code><a href="../control/Control.html#appendSubControl(org.w3c.dom.Node)">appendSubControl</a>, <a href="../control/Control.html#appendSubControls(java.lang.String)">appendSubControls</a>, <a href="../control/Control.html#applyOnEventScripts()">applyOnEventScripts</a>, <a href="../control/Control.html#convertToStandardValue(java.lang.String)">convertToStandardValue</a>, <a href="../control/Control.html#createContainer(java.lang.String)">createContainer</a>, <a href="../control/Control.html#disconnect()">disconnect</a>, <a href="../control/Control.html#generateControlId()">generateControlId</a>, <a href="../control/Control.html#generateControlIdPrefix()">generateControlIdPrefix</a>, <a href="../control/Control.html#getAdditionalParameters(org.w3c.dom.Node)">getAdditionalParameters</a>, <a href="../control/Control.html#getAdditionalParameters(org.w3c.dom.Node,boolean)">getAdditionalParameters</a>, <a href="../control/Control.html#getAncestor(java.lang.Class)">getAncestor</a>, <a href="../control/Control.html#getChildControls()">getChildControls</a>, <a href="../control/Control.html#getClientEventHandlerScript(java.lang.String,boolean)">getClientEventHandlerScript</a>, <a href="../control/Control.html#getControlResource()">getControlResource</a>, <a href="../control/Control.html#getId()">getId</a>, <a href="../control/Control.html#getLocale()">getLocale</a>, <a href="../control/Control.html#getName()">getName</a>, <a href="../control/Control.html#getNamespace()">getNamespace</a>, <a href="../control/Control.html#getParentControl()">getParentControl</a>, <a href="../control/Control.html#getPrepareForReadScript()">getPrepareForReadScript</a>, <a href="../control/Control.html#getRenderData()">getRenderData</a>, <a href="../control/Control.html#getResources()">getResources</a>, <a href="../control/Control.html#getScriptActionValidation(org.w3c.dom.Node%5B%5D,java.lang.String,lumis.util.ITransaction)">getScriptActionValidation</a>, <a href="../control/Control.html#getStringsToLocalize()">getStringsToLocalize</a>, <a href="../control/Control.html#getType()">getType</a>, <a href="../control/Control.html#getValidationScript(org.w3c.dom.Node)">getValidationScript</a>, <a href="../control/Control.html#getWindowProperties(java.lang.String)">getWindowProperties</a>, <a href="../control/Control.html#getWindowProperties(java.lang.String,java.lang.String)">getWindowProperties</a>, <a href="../control/Control.html#isRequired()">isRequired</a>, <a href="../control/Control.html#isValid()">isValid</a>, <a href="../control/Control.html#localize(java.lang.String)">localize</a>, <a href="../control/Control.html#localizeStrings()">localizeStrings</a>, <a href="../control/Control.html#processCustomTags(java.lang.String)">processCustomTags</a>, <a href="../control/Control.html#registerOnEventScript(java.lang.String,java.lang.String)">registerOnEventScript</a>, <a href="../control/Control.html#removeChild(lumis.doui.control.IControl)">removeChild</a>, <a href="../control/Control.html#removeChildren()">removeChildren</a>, <a href="../control/Control.html#resolveVariable(java.lang.String)">resolveVariable</a>, <a href="../control/Control.html#setName(java.lang.String)">setName</a>, <a href="../control/Control.html#setRuntimeAttributes()">setRuntimeAttributes</a></code></li> </ul> <ul class="blockList"> <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object"> <!-- --> </a> <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3> <code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li> </ul> <ul class="blockList"> <li class="blockList"><a id="methods.inherited.from.class.lumis.doui.control.IControl"> <!-- --> </a> <h3>Methods inherited from interface&nbsp;lumis.doui.control.<a href="../control/IControl.html" title="interface in lumis.doui.control">IControl</a></h3> <code><a href="../control/IControl.html#createContainer(java.lang.String)">createContainer</a>, <a href="../control/IControl.html#disconnect()">disconnect</a>, <a href="../control/IControl.html#getChildControls()">getChildControls</a>, <a href="../control/IControl.html#getControlResource()">getControlResource</a>, <a href="../control/IControl.html#getId()">getId</a>, <a href="../control/IControl.html#getName()">getName</a>, <a href="../control/IControl.html#getParentControl()">getParentControl</a>, <a href="../control/IControl.html#getPrepareForReadScript()">getPrepareForReadScript</a>, <a href="../control/IControl.html#getRenderData()">getRenderData</a>, <a href="../control/IControl.html#getResources()">getResources</a>, <a href="../control/IControl.html#getType()">getType</a>, <a href="../control/IControl.html#isValid()">isValid</a>, <a href="../control/IControl.html#registerOnEventScript(java.lang.String,java.lang.String)">registerOnEventScript</a>, <a href="../control/IControl.html#removeChild(lumis.doui.control.IControl)">removeChild</a>, <a href="../control/IControl.html#removeChildren()">removeChildren</a>, <a href="../control/IControl.html#setRuntimeAttributes()">setRuntimeAttributes</a></code></li> </ul> <ul class="blockList"> <li class="blockList"><a id="methods.inherited.from.class.lumis.doui.control.IDataControl"> <!-- --> </a> <h3>Methods inherited from interface&nbsp;lumis.doui.control.<a href="../control/IDataControl.html" title="interface in lumis.doui.control">IDataControl</a></h3> <code><a href="../control/IDataControl.html#getConverter()">getConverter</a>, <a href="../control/IDataControl.html#getProcessActionIds()">getProcessActionIds</a>, <a href="../control/IDataControl.html#getValue()">getValue</a>, <a href="../control/IDataControl.html#getValue(java.lang.Class)">getValue</a>, <a href="../control/IDataControl.html#setProcessActionHandlerParameters(lumis.doui.processaction.IProcessActionHandler)">setProcessActionHandlerParameters</a>, <a href="../control/IDataControl.html#setValue(java.lang.Object)">setValue</a></code></li> </ul> <ul class="blockList"> <li class="blockList"><a id="methods.inherited.from.class.lumis.doui.render.IRenderer"> <!-- --> </a> <h3>Methods inherited from interface&nbsp;lumis.doui.render.<a href="../render/IRenderer.html" title="interface in lumis.doui.render">IRenderer</a></h3> <code><a href="../render/IRenderer.html#getResources()">getResources</a></code></li> </ul> </li> </ul> </section> </li> </ul> </div> <div class="details"> <ul class="blockList"> <li class="blockList"> <!-- ============ FIELD DETAIL =========== --> <section role="region"> <ul class="blockList"> <li class="blockList"><a id="field.detail"> <!-- --> </a> <h3>Field Detail</h3> <a id="aggregatedValues"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>aggregatedValues</h4> <pre>protected&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="../../portal/bigdata/DocumentTypeField.html" title="class in lumis.portal.bigdata">DocumentTypeField</a>,&#8203;<a href="https://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt;&gt; aggregatedValues</pre> </li> </ul> <a id="currentUserQuery"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>currentUserQuery</h4> <pre>protected&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a> currentUserQuery</pre> </li> </ul> <a id="aggregationIdsByFieldFullId"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>aggregationIdsByFieldFullId</h4> <pre>protected&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt; aggregationIdsByFieldFullId</pre> </li> </ul> </li> </ul> </section> <!-- ========= CONSTRUCTOR DETAIL ======== --> <section role="region"> <ul class="blockList"> <li class="blockList"><a id="constructor.detail"> <!-- --> </a> <h3>Constructor Detail</h3> <a id="&lt;init&gt;()"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>SearchAggregationControl</h4> <pre>public&nbsp;SearchAggregationControl()</pre> </li> </ul> </li> </ul> </section> <!-- ============ METHOD DETAIL ========== --> <section role="region"> <ul class="blockList"> <li class="blockList"><a id="method.detail"> <!-- --> </a> <h3>Method Detail</h3> <a id="loadFromRequest()"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>loadFromRequest</h4> <pre class="methodSignature">public&nbsp;void&nbsp;loadFromRequest() throws <a href="../../portal/PortalException.html" title="class in lumis.portal">PortalException</a></pre> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../control/IDataControl.html#loadFromRequest()">loadFromRequest</a></code>&nbsp;in interface&nbsp;<code><a href="../control/IDataControl.html" title="interface in lumis.doui.control">IDataControl</a></code></dd> <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> <dd><code><a href="../control/DataBoundControl.html#loadFromRequest()">loadFromRequest</a></code>&nbsp;in class&nbsp;<code><a href="../control/DataBoundControl.html" title="class in lumis.doui.control">DataBoundControl</a></code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../portal/PortalException.html" title="class in lumis.portal">PortalException</a></code></dd> </dl> </li> </ul> <a id="setSourceParameter(lumis.doui.source.Source,java.lang.String)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>setSourceParameter</h4> <pre class="methodSignature">protected&nbsp;void&nbsp;setSourceParameter&#8203;(<a href="../source/Source.html" title="class in lumis.doui.source">Source</a>&nbsp;source, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;parameterName) throws <a href="../../portal/PortalException.html" title="class in lumis.portal">PortalException</a></pre> <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../control/DataControl.html#setSourceParameter(lumis.doui.source.Source,java.lang.String)">DataControl</a></code></span></div> <div class="block">Sets the parameter with the given name in the given source.</div> <dl> <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> <dd><code><a href="../control/DataControl.html#setSourceParameter(lumis.doui.source.Source,java.lang.String)">setSourceParameter</a></code>&nbsp;in class&nbsp;<code><a href="../control/DataControl.html" title="class in lumis.doui.control">DataControl</a></code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>source</code> - the source</dd> <dd><code>parameterName</code> - the parameter name</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../portal/PortalException.html" title="class in lumis.portal">PortalException</a></code></dd> </dl> </li> </ul> <a id="setValueFromSource()"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>setValueFromSource</h4> <pre class="methodSignature">protected&nbsp;void&nbsp;setValueFromSource() throws <a href="../../portal/PortalException.html" title="class in lumis.portal">PortalException</a></pre> <dl> <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> <dd><code><a href="../control/DataBoundControl.html#setValueFromSource()">setValueFromSource</a></code>&nbsp;in class&nbsp;<code><a href="../control/DataBoundControl.html" title="class in lumis.doui.control">DataBoundControl</a></code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../portal/PortalException.html" title="class in lumis.portal">PortalException</a></code></dd> </dl> </li> </ul> <a id="setRenderData()"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>setRenderData</h4> <pre class="methodSignature">public&nbsp;void&nbsp;setRenderData() throws <a href="../../portal/PortalException.html" title="class in lumis.portal">PortalException</a></pre> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../control/IControl.html#setRenderData()">setRenderData</a></code>&nbsp;in interface&nbsp;<code><a href="../control/IControl.html" title="interface in lumis.doui.control">IControl</a></code></dd> <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> <dd><code><a href="../control/inputtext/InputTextControl.html#setRenderData()">setRenderData</a></code>&nbsp;in class&nbsp;<code><a href="../control/inputtext/InputTextControl.html" title="class in lumis.doui.control.inputtext">InputTextControl</a></code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../portal/PortalException.html" title="class in lumis.portal">PortalException</a></code></dd> </dl> </li> </ul> <a id="getAggregatedValuesXML(lumis.portal.bigdata.DocumentTypeField,java.util.Set)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getAggregatedValuesXML</h4> <pre class="methodSignature">protected&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;getAggregatedValuesXML&#8203;(<a href="../../portal/bigdata/DocumentTypeField.html" title="class in lumis.portal.bigdata">DocumentTypeField</a>&nbsp;field, <a href="https://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt;&nbsp;aggregatedValues) throws <a href="../../portal/PortalException.html" title="class in lumis.portal">PortalException</a></pre> <div class="block">Returns a XML string containing the aggregated values (user's applied filters).<br> The expected XML string format is as follows:<br> <xmp> <aggregatedValues fieldId="field.full.id"> <!-- Example for Service field: --> <aggregatedValue> <aggregationGroupTitle>Service</aggregationGroupTitle> <value>lumis.service.news</value> <displayName>News</displayName> </aggregatedValue> <!-- Example for Service Instance field: --> <aggregatedValue> <aggregationGroupTitle>Service instance</aggregationGroupTitle> <value>46F55AF56C5149CB999B66A01C99BF40</value> <displayName>Products</displayName> </aggregatedValue> <!-- Example for Category field: --> <aggregatedValue> <aggregationGroupTitle>Product Type</aggregationGroupTitle> <value>B460F41DFF9E4839B64DDFBC1A0C0850</value> <displayName>Digital Reflex Camera</displayName> </aggregatedValue> <!-- Example for Tag field: --> <aggregatedValue> <aggregationGroupTitle>Color</aggregationGroupTitle> <value>Red</value> <displayName>Red</displayName> </aggregatedValue> ... </aggregatedValues>
      Parameters:
      field - the field that received the given filters.
      aggregatedValues - the user's applied filters values.
      Returns:
      the XML string.
      Throws:
      PortalException
      Since:
      9.0.0
      • getAggregationResultXML

        protected String getAggregationResultXML​(DocumentTypeField field,
                                                 IAggregationResult result)
                                          throws PortalException
        Returns a XML string of the given aggregation results for the given field.
        The expected XML string format is as follows:
        <!-- Example for Service field: --> <aggregationResult fieldId="field.fullId"> <aggregationGroups> <aggregationGroup> <title>Service</title> <aggregations> <aggregation> <value>lumis.service.news</value> <displayName>News</displayName> <documentCount>10</documentCount> </aggregation> <aggregation> <value>lumis.service.document</value> <displayName>Documents</displayName> <documentCount>5</documentCount> </aggregation> ... </aggregations> </aggregationGroup> </aggregationGroups> </aggregationResult> <!-- Example for Service Instance field: --> <aggregationResult fieldId="field.fullId"> <aggregationGroups> <aggregationGroup> <title>Service instance</title> <aggregations> <aggregation> <value>46F55AF56C5149CB999B66A01C99BF40</value> <displayName>Products</displayName> <documentCount>10</documentCount> </aggregation> <aggregation> <value>02763D0A79634869AB23B0AB97201D9C</value> <displayName>Support</displayName> <documentCount>5</documentCount> </aggregation> ... </aggregations> </aggregationGroup> </aggregationGroups> </aggregationResult> <!-- Example for Categorization field: --> <aggregationResult fieldId="field.fullId"> <aggregationGroups> <aggregationGroup> <title>Brand</title> <aggregations> <aggregation> <value>4BA761C464854916A8CA454A6CE4B43D</value> <displayName>Nikon</displayName> <documentCount>10</documentCount> </aggregation> <aggregation> <value>7F643135B0BA401D8A78233F1D951D37</value> <displayName>Canon</displayName> <documentCount>5</documentCount> </aggregation> ... </aggregations> </aggregationGroup> <aggregationGroup> <title>Type</title> <aggregations> <aggregation> <value>838D178164B344E4A2B199DFF1AECB11</value> <displayName>Electronics</displayName> <aggregations> <aggregation> <value>829F31F3285E40CCAB8AB835AE0E7773<value> <displayName>Photography</displayName> <aggregations> <aggregation> <value>64BA56067F284C7DA0D9AAF624C184A6</value> <displayName>Compacts</displayName> <documentCount>10</documentCount> </aggregation> <aggregation> <value>B460F41DFF9E4839B64DDFBC1A0C0850</value> <displayName>Reflex</displayName> <documentCount>5</documentCount> </aggregation> ... </aggregations> <aggregation/> ... </aggregations> </aggregation> ... </aggregations> </aggregationGroup> ... </aggregationGroups> </aggregationResult> <!-- Example for Tag field: --> <aggregationResult fieldId="field.fullId"> <aggregationGroups> <aggregationGroup> <title>Color</title> <aggregations> <aggregation> <value>Red</value> <displayName>Red</displayName> <documentCount>10</documentCount> </aggregation> <aggregation> <value>Black</value> <displayName>Black</displayName> <documentCount>5</documentCount> </aggregation> ... </aggregations> </aggregationGroup> </aggregationGroups> </aggregationResult>
        Parameters:
        field - the aggregation results' field.
        result - the aggregation result.
        Returns:
        a XML string
        Throws:
        PortalException
        Since:
        9.0.0
      • getFieldsToBeAggregated

        protected Collection<DocumentTypeField> getFieldsToBeAggregated()
                                                                 throws PortalException
        Returns a collection of fields that will be aggregated in search.
        Returns:
        a collection of fields that will be aggregated in search.
        Throws:
        PortalException
        Since:
        9.0.0
      • getAggregations

        protected List<IAggregation> getAggregations()
                                              throws PortalException
        Returns the aggregations that will be performed in search.
        Returns:
        the aggregations that will be performed in search.
        Throws:
        PortalException
        Since:
        9.0.0
      • getAggregationId

        protected String getAggregationId​(DocumentTypeField field)
        Returns the aggregation identifier to be used in aggregation of the given field.
        Parameters:
        field - the field.
        Returns:
        the aggregation identifier to be used in aggregation of the given field.
        Since:
        9.0.0