Class ReportingGatewayHook
java.lang.Object
com.inductiveautomation.ignition.gateway.model.AbstractGatewayModuleHook
com.inductiveautomation.reporting.gateway.ReportingGatewayHook
- All Implemented Interfaces:
GatewayModuleHook
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<T> T
executeReport
(String projectName, String reportPath, Map<String, Object> parameters, ReportProcessor<T> reportProcessor) Execute a report.<T> T
executeReport
(String projectName, String reportPath, Map<String, Object> parameters, ReportProcessor<T> reportProcessor, Consumer<ReportRenderContext> contextSetup) static ReportingGatewayHook
get
(GatewayContext context) Grabs the Reporting Module's Gateway hook instance from the gateway contextint
Used by the mounting underneath /res/module-id/* and /data/module-id/* as an alternate mounting path instead of your module id, if present.getReportData
(String projectName, String reportPath, ReportDataConfiguration dataConfig, Map<String, Object> parameters, boolean sampleData, ReportExecutionContext execContext) getReportData
(String projectName, String reportPath, ReportDataConfiguration dataConfig, Map<String, Object> parameters, Map<String, Object> extraConfigs, boolean sampleData, ReportExecutionContext execContext) Returns the RPC implementation for this module, if any.void
initializeScriptManager
(ScriptManager manager) Initialize a newly-instantiated script manager.boolean
boolean
void
mountRouteHandlers
(RouteGroup routes) Provides a chance for the module to mount any route handlers it wants.void
notifyLicenseStateChanged
(LicenseState licenseState) Notify module hook when the license state has changed.void
onMountedResourceRequest
(String resourcePath, jakarta.servlet.http.HttpServletResponse response) Called prior to a 'mounted resource request' being fulfilled by requests to the mounted resource servlet serving resources from /res/module-id/ (or /res/alias/ ifGatewayModuleHook.getMountPathAlias()
is implemented).void
setup
(GatewayContext context) Called before register.void
shutdown()
Called to shutdown this module.void
startup
(LicenseState licenseState) Called to initialize the module.Methods inherited from class com.inductiveautomation.ignition.gateway.model.AbstractGatewayModuleHook
configureDeserializer, configureFunctionFactory, configureSerializer
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.inductiveautomation.ignition.gateway.model.GatewayModuleHook
getExtensionPoints, getRecordMigrationStrategies, isFreeModule
-
Constructor Details
-
ReportingGatewayHook
public ReportingGatewayHook()
-
-
Method Details
-
get
Grabs the Reporting Module's Gateway hook instance from the gateway context -
setup
Description copied from interface:GatewayModuleHook
Called before register. The module can create data structures, loggers, etc. The module should not reach out to other parts of the system and expect them to be ready or created yet. -
startup
Description copied from interface:GatewayModuleHook
Called to initialize the module. Will only be called once. Persistence interface is available, but only in read-only mode. -
shutdown
public void shutdown()Description copied from interface:GatewayModuleHook
Called to shutdown this module. Note that this instance will never be started back up - a new one will be created if a restart is desired -
getContext
-
getRegistry
-
isMakerEditionCompatible
public boolean isMakerEditionCompatible()- Returns:
true
if this module opts-in to participating in Ignition Maker Edition. Default isfalse
. If you override this and return true, your module will become activated when running in a Maker Edition installation.
-
executeReport
@Nullable public <T> T executeReport(String projectName, String reportPath, Map<String, Object> parameters, ReportProcessor<T> reportProcessor) throws ExceptionExecute a report. This involves reading and decoding the report resource from the project, fetching the data for the report, and having the reportmill engine turn the report template into an actualized report.- Parameters:
reportProcessor
- Assuming report execution gets this far, this object will be given a chance to act upon the finished report. It can also convert the report into a different format and return it, which will then be the return value of this whole method.- Returns:
- the return value of the reportProcessor, or null if the report was cancelled
- Throws:
Exception
- if anything goes wrong, like missing project, missing report, invalid report, data fetch issues, etc.
-
onMountedResourceRequest
public void onMountedResourceRequest(String resourcePath, jakarta.servlet.http.HttpServletResponse response) Description copied from interface:GatewayModuleHook
Called prior to a 'mounted resource request' being fulfilled by requests to the mounted resource servlet serving resources from /res/module-id/ (or /res/alias/ ifGatewayModuleHook.getMountPathAlias()
is implemented). It is called after the target resource has been successfully located.Primarily intended as an opportunity to amend/alter the response's headers for purposes such as establishing Cache-Control. By default, Ignition sets no additional headers on a resource request.
- Parameters:
resourcePath
- path to the resource being returned by the mounted resource requestresponse
- the response to read/amend.
-
executeReport
@Nullable public <T> T executeReport(String projectName, String reportPath, Map<String, Object> parameters, ReportProcessor<T> reportProcessor, Consumer<ReportRenderContext> contextSetup) throws Exception- Throws:
Exception
-
getReportData
public ReportExecutionData getReportData(String projectName, String reportPath, ReportDataConfiguration dataConfig, Map<String, Object> parameters, boolean sampleData, ReportExecutionContext execContext) throws Exception- Throws:
Exception
-
getReportData
public ReportExecutionData getReportData(String projectName, String reportPath, ReportDataConfiguration dataConfig, Map<String, Object> parameters, Map<String, throws ExceptionObject> extraConfigs, boolean sampleData, ReportExecutionContext execContext) - Throws:
Exception
-
initializeScriptManager
Description copied from interface:GatewayModuleHook
Initialize a newly-instantiated script manager. This will be called exactly once for any givenScriptManager
instance. Usually this will involve callingScriptManager.addScriptModule(String, Object)
, which reflectively loads the public (instance and static) java functions from the given object into the scripting environment, at the provided path.This function may be called before
GatewayModuleHook.startup(LicenseState)
, but never beforeGatewayModuleHook.setup(GatewayContext)
.- Specified by:
initializeScriptManager
in interfaceGatewayModuleHook
- Overrides:
initializeScriptManager
in classAbstractGatewayModuleHook
-
getStatusManager
-
mountRouteHandlers
Description copied from interface:GatewayModuleHook
Provides a chance for the module to mount any route handlers it wants. These will be active at /main/data/module-id/* SeeRouteGroup
for details. Will be called after startup(). -
getMountPathAlias
Description copied from interface:GatewayModuleHook
Used by the mounting underneath /res/module-id/* and /data/module-id/* as an alternate mounting path instead of your module id, if present. -
getMountedResourceFolder
- Returns:
- the path to a folder in one of the module's gateway jar files that should be mounted at /res/module-id/foldername
-
notifyLicenseStateChanged
Description copied from interface:GatewayModuleHook
Notify module hook when the license state has changed. This could only contain changes for the module or it could contain a change to the platform license (version, restrictions such as expiration date, sqltag count...)- Specified by:
notifyLicenseStateChanged
in interfaceGatewayModuleHook
- Overrides:
notifyLicenseStateChanged
in classAbstractGatewayModuleHook
-
getLicenseEdition
-
getLimitedReportCount
public int getLimitedReportCount() -
isTrialMode
public boolean isTrialMode() -
getLogger
-
getRpcImplementation
Description copied from interface:GatewayModuleHook
Returns the RPC implementation for this module, if any. This is the recommended way to expose RPC functions to the Designer or Vision Client if required. The return value will be cached for the lifetime of the Gateway.- Specified by:
getRpcImplementation
in interfaceGatewayModuleHook
- Overrides:
getRpcImplementation
in classAbstractGatewayModuleHook
- See Also:
-