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>
  • Constructor Details

    • AnalyticsTablePortlet

      public AnalyticsTablePortlet()
  • Method Details

    • getViewPagePath

      protected String getViewPagePath()
      Specified by:
      getViewPagePath in class AbstractAnalyticsPortlet<io.meeds.analytics.model.filter.AnalyticsTableFilter>
    • getFilterClass

      protected Class<io.meeds.analytics.model.filter.AnalyticsTableFilter> getFilterClass()
      Specified by:
      getFilterClass in class AbstractAnalyticsPortlet<io.meeds.analytics.model.filter.AnalyticsTableFilter>
    • readSettingsReadOnly

      protected void readSettingsReadOnly(javax.portlet.ResourceRequest request, javax.portlet.ResourceResponse response) throws javax.portlet.PortletException, IOException
      Overrides:
      readSettingsReadOnly in class AbstractAnalyticsPortlet<io.meeds.analytics.model.filter.AnalyticsTableFilter>
      Throws:
      javax.portlet.PortletException
      IOException
    • readSettings

      protected void readSettings(javax.portlet.ResourceRequest request, javax.portlet.ResourceResponse response) throws javax.portlet.PortletException, IOException
      Specified by:
      readSettings in class AbstractAnalyticsPortlet<io.meeds.analytics.model.filter.AnalyticsTableFilter>
      Throws:
      javax.portlet.PortletException
      IOException
    • readData

      protected void readData(javax.portlet.ResourceRequest request, javax.portlet.ResourceResponse response) throws javax.portlet.PortletException, IOException
      Specified by:
      readData in class AbstractAnalyticsPortlet<io.meeds.analytics.model.filter.AnalyticsTableFilter>
      Throws:
      javax.portlet.PortletException
      IOException
    • 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 as readData(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:
      exportExcel in class AbstractAnalyticsPortlet<io.meeds.analytics.model.filter.AnalyticsTableFilter>
      Throws:
      javax.portlet.PortletException
      IOException