Below is the list of GSRS extensions. Example configurations can be found in the src/main/resources/application.conf
in each service. For example, the application.conf
for substances is located at substances/src/main/resources/application.conf
.
Status | Extension Type | All Entities? | Specific to | Used for? | How to configure? | Configuration Class? | Name of Configuration Class or Interface | Uses Parameter Field | Requires Explicit Parameters? | Config path |
---|---|---|---|---|---|---|---|---|---|---|
Present from 2.X | Validation Rule | Yes | ALL | Adding warnings, errors, and automatic changes to entiies before saves/updates | Directly Deserialized | interface with defaultImpl | gsrs.validator.ValidatorConfig | "parameters" OR unknown root fields | No | gsrs.validators.{ENTITY} |
Present from 2.X | Entity Processor | Yes | ALL | Application trigger for API CRUD operations. Can run before/after CRUD operations complete. | Directly Deserialized | class | gsrs.entityProcessor.EntityProcessorConfig | "parameters" OR unknown root fields or "with" field | No | gsrs.entityProcessors |
Present from 2.X | Scheduled Task | N/A | N/A | Admin-level tasks that can be run on a schedule or at-will by admin users | Directly Deserialized | static inner class | gsrs.scheduler.GsrsSchedulerTaskPropertiesConfiguration.ScheduledTaskConfig | "parameters" OR unknown root fields | No | gsrs.scheduled-tasks.list |
Present from 2.X | Index Value Maker | Yes | ALL | Recipe for producing custom indexed fields, facets, sort orders and type-ahead suggestions | Directly Deserialized | static inner class | gsrs.indexer.ConfigBasedIndexValueMakerConfiguration.IndexValueMakerConf | "parameters" ONLY! | No | gsrs.indexers.list |
Present from 2.X | Exporter Factory LEGACY | Yes | ALL | Makes custom format exports for a list of an entity (e.g. Excel, CSV, PDF) | No direct localized initialization support | N/A | ix.ginas.exporters.ExporterFactory | N/A | N/A | ix.ginas.export.factories.{ENTITY} |
Present from 3.0.3 | Exporter Factory | Yes | ALL | Makes custom format exports for a list of an entity (e.g. Excel, CSV, PDF) | Directly Deserialized | gsrs.autoconfigure.ExporterFactoryConfig | ix.ginas.export.exporterFactories.{ENTITY} | |||
Present from 2.X | Registered Functions | Yes | ALL | Custom API endpoints for retrieving specific information from a given entity | No direct localized initialization support | gsrs.RegisteredFunctionProperties | ix.api.registeredfunctions | |||
Present from 2.X | Approval ID Generator | No | Substances | Generating an ApprovalID value for substances. The default value used by FDA is to use the UNII generator. | Directly Deserialized | gsrs.module.substance.approval.ApprovalIdConfiguration | ix.ginas.approvalIdGenerator.generatorClass | |||
Present from 2.X | Structure Hasher | No | Substances | Custom mechanism for turning chemical substances into hashes for flex/exact search | Directly Deserialized | gsrs.module.substances.StructureProcessingConfiguration | ix.structure-hasher | |||
Present from 2.X | Hierarchy Finder | No | Substances | Custom mechanism for finding parent/children of a given substance based on criteria | Directly Deserialized | gsrs.module.substance.hierarchy.SubstanceHierarchyFinderConfig | substance.hierarchyFinders.recipes | |||
Present from 3.1 | Import Adapters | Yes | ALL | Behavior of adapters that turn file data into GSRS objects | Directly Deserialized | gsrs.,GsrsFactoryConfiguration | gsrs.importAdapterFactories.{ENTITY} | |||
Present from 3.1 | Data Value Extractor | Yes | ALL | Turns a GSRS entity into a series of key-value pairs to be used for matchups on bulk imports | Directly Deserialized | gsrs.,GsrsFactoryConfiguration | gsrs.matchableCalculators.{ENTITY} | |||
Present from 3.1 | Transform Operation | Yes | ALL | Operation to modify a GSRS object in a specific way. | Directly Deserialized | gsrs.,GsrsFactoryConfiguration | gsrs.availableProcessActions.{ENTITY} |