Package io.meeds.analytics.portlet
Class AnalyticsTablePortlet
java.lang.Object
javax.portlet.GenericPortlet
io.meeds.analytics.portlet.AbstractAnalyticsPortlet<io.meeds.analytics.model.filter.AnalyticsTableFilter>
io.meeds.analytics.portlet.AnalyticsTablePortlet
- All Implemented Interfaces:
javax.portlet.EventPortlet,javax.portlet.Portlet,javax.portlet.PortletConfig,javax.portlet.ResourceServingPortlet
public class AnalyticsTablePortlet
extends AbstractAnalyticsPortlet<io.meeds.analytics.model.filter.AnalyticsTableFilter>
-
Field Summary
Fields inherited from class io.meeds.analytics.portlet.AbstractAnalyticsPortlet
XLSX_CONTENT_TYPE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidexportExcel(javax.portlet.ResourceRequest request, javax.portlet.ResourceResponse response) Fully server-side export: every row is recomputed here from the configured filter (same aggregation calls asreadData(javax.portlet.ResourceRequest, javax.portlet.ResourceResponse), just run once per column instead of once per page), so no row data ever needs to be sent from the browser.protected Class<io.meeds.analytics.model.filter.AnalyticsTableFilter> protected Stringprotected voidreadData(javax.portlet.ResourceRequest request, javax.portlet.ResourceResponse response) protected voidreadSettings(javax.portlet.ResourceRequest request, javax.portlet.ResourceResponse response) protected voidreadSettingsReadOnly(javax.portlet.ResourceRequest request, javax.portlet.ResourceResponse response) Methods inherited from class io.meeds.analytics.portlet.AbstractAnalyticsPortlet
addJSONParam, addLanguageFilter, addLimitFilter, addPeriodFilter, addScopeFilter, addSortFilter, addTimeZoneFilter, canModifySettings, doView, getAnalyticsService, getFilterFromPreferences, getSearchScope, getSpaceService, processAction, readSamples, resolveExportTitle, safeSheetName, serveResource, writeDateCell, writeTimestampCellMethods inherited from class javax.portlet.GenericPortlet
destroy, doDispatch, doEdit, doHeaders, doHelp, getContainerRuntimeOptions, getDefaultNamespace, getInitParameter, getInitParameterNames, getNextPossiblePortletModes, getPortletConfig, getPortletContext, getPortletName, getProcessingEventQNames, getPublicRenderParameterNames, getPublishingEventQNames, getResourceBundle, getSupportedLocales, getTitle, init, init, processEvent, render
-
Constructor Details
-
AnalyticsTablePortlet
public AnalyticsTablePortlet()
-
-
Method Details
-
getViewPagePath
- Specified by:
getViewPagePathin classAbstractAnalyticsPortlet<io.meeds.analytics.model.filter.AnalyticsTableFilter>
-
getFilterClass
- Specified by:
getFilterClassin classAbstractAnalyticsPortlet<io.meeds.analytics.model.filter.AnalyticsTableFilter>
-
readSettingsReadOnly
protected void readSettingsReadOnly(javax.portlet.ResourceRequest request, javax.portlet.ResourceResponse response) throws javax.portlet.PortletException, IOException - Overrides:
readSettingsReadOnlyin classAbstractAnalyticsPortlet<io.meeds.analytics.model.filter.AnalyticsTableFilter>- Throws:
javax.portlet.PortletExceptionIOException
-
readSettings
protected void readSettings(javax.portlet.ResourceRequest request, javax.portlet.ResourceResponse response) throws javax.portlet.PortletException, IOException - Specified by:
readSettingsin classAbstractAnalyticsPortlet<io.meeds.analytics.model.filter.AnalyticsTableFilter>- Throws:
javax.portlet.PortletExceptionIOException
-
readData
protected void readData(javax.portlet.ResourceRequest request, javax.portlet.ResourceResponse response) throws javax.portlet.PortletException, IOException - Specified by:
readDatain classAbstractAnalyticsPortlet<io.meeds.analytics.model.filter.AnalyticsTableFilter>- Throws:
javax.portlet.PortletExceptionIOException
-
exportExcel
protected void exportExcel(javax.portlet.ResourceRequest request, javax.portlet.ResourceResponse response) throws javax.portlet.PortletException, IOException Fully server-side export: every row is recomputed here from the configured filter (same aggregation calls asreadData(javax.portlet.ResourceRequest, javax.portlet.ResourceResponse), just run once per column instead of once per page), so no row data ever needs to be sent from the browser. Two known, deliberate simplifications versus what is displayed on screen:- a column matched by a 3rd-party "cell value extension" (registered
by another addon via
extensionRegistry) is exported with its raw underlying value, since extension rendering only exists client-side and has no server-side equivalent; - previous-period comparison columns are exported as-is (current value only), the on-screen +/-% delta is not recomputed here.
- Overrides:
exportExcelin classAbstractAnalyticsPortlet<io.meeds.analytics.model.filter.AnalyticsTableFilter>- Throws:
javax.portlet.PortletExceptionIOException
- a column matched by a 3rd-party "cell value extension" (registered
by another addon via
-