System Properties

From FMR Knowledge Base
Revision as of 03:26, 11 July 2023 by Plazarou (talk | contribs) (Properties which may be Dynamically changed)
Jump to navigation Jump to search

Overview

System Properties are generally set when the Java virual machine that is running Fusion Registry is launched. However the Registry provides a way to list all of the System properties and also provides the ability to set their values. Note that setting some of the system properties will have no effect on the running Registry as these must be supplied at startup time . The properties that can be changed and for the change to have an effect are listed below.

Obtaining System Properties

A root or an admin user of Fusion Registry can access the System Properites, returned in JSON form, by performing a GET request to the url:

http://[server]:[port]/FusionRegistry/ws/secure/settings/getSystemProperties

As this is a secure Web Service the user must be logged on, or supply correct credentials. The result is an array of JSON objects, where each object has a Key and a Value For example:

{
  Key: "edi.lenient.enabled",
  Value: "true"
}

Setting System Properties

A root or an admin user of Fusion Registry can set a System Properites by performing a POST request to the url:

http://[server]:[port]/FusionRegistry/ws/secure/settings/setSystemProperty

Appropriate credential must be supplied. The input format is JSON of the form

{
    "Key": "edi.lenient.enabled",
    "Value": "false"
}

If the "value" specified is blank this will have the effect of removing the property. For example the following will remove the property "ENFORCE_STRICT_SDMX_2.1":

{
    "Key": "ENFORCE_STRICT_SDMX_2.1",
    "Value": ""
}

Properties which may be Dynamically changed

Changing a property whilst the Registry is running may not have any effect. The following properties can be changed and their effect will be immediate:


Property Default Value Effect
edi.lenient.enabled false Sets the EDI Leniency of the Registry
edi.enforce.primarymeasure.enabled false Sets whether a Primary Measure should be enforced in EDI
edi.forceTimeFormatSeriesAttr.enabled false Sets whether a series attribute of TIME_FORMAT should be created
edi.skipagencycheck.enabled false When writing an EDI data file, does not check that the Agencies of the Dataflow and DSD match. When writing an EDI structure file, does not check that cross-referenced components are of the same aganecy as the DSD. This feature is part of EDI Leniency mode.
edi.dsi.dataflow.enabled false When reading an EDI file, determines whether the DSI segment should be used to refer to a Dataflow
ENFORCE_STRICT_SDMX_2.1 false Puts the Registry into Enforcing Strict values for SDMX 2.1


Week data is of the format: YYYY-Www
Monthly data is of the format: YYYY-Mmm
Half-Yearly data is of the format: YYYY-S[1-2]

edi.datagroup.identifier unset Sets how the Registry sets the Group name when reading an EDI data file
TF_ALTERNATE_HALF_YEAR false Sets the Registry into Alternate Half Year mode
ENFORCE_STRICT_SDMX_2.1 true Enforces Strict mode
edi.dsi.dataflow.enabled true Switches the DSI from refering to the Datafllow
edi.skipagencycheck.enabled true Ignores the Agency check when evaluating the DSI file