Skip to main content

Struct Actions

Struct actions are complex data actions designed to be used with the XINA Data Model Standards.

STRUCT_BUFFER_IMPORT

The STRUCT_BUFFER_IMPORT action imports a buffer source file into a model.

Property Value Required
action "struct_buffer_import" yes
model model group specifier yes
origin origin name yes
object_id object ID of data file yes
format string yes
conf jsonobject no
strict_units boolean no (default false)

If the mn column is an integer it will be interpretted as a literal mnemonic ID. Otherwise the name will be parsed from this format:

<name>[(<unit>[;n0=v0|n1=v1|...])]

<name> will be used for the mnemonic name lookup. The comparison is case insensitive and any whitespace is treated as a single underscore. <unit> is optional. If provided, it must match the unit of an associated mnemonic definition, otherwise an error is thrown. The section after unit defines discrete value mapping.

When a data set is imported the XINA server will run the following steps:

  • For each row:
    • validate time and value
    • process mnemonic
      • If mnemonic ID
        • If found in definitions database:
          • If mnemonic is deprecated, throw error
          • Else, use mnemonic for row
        • Else, throw error due to unrecognized ID
      • Else, parse name and optional unit
        • If name match found:
          • If unit is provided and does not match, throw error
          • If mnemonic is deprecated, throw error
          • Else, use mnemonic for row
        • Else, mnemonic is new, create new temporary mnemonic definition based on provided information
  • If any rows contain same mnemonic and time, throw error
  • Check for time overlap in database
    • If found
      • If on_overlap = fail, throw error
      • Else If on_overlap = delete, delete all data from database in time range of imported data
      • Else (on_overlap = ignore), do nothing
  • If new mnemonic definitions created, insert into mnemonic definition database
  • Insert data into mnemonic database

STRUCT_MN_MERGE

The STRUCT_MN_MERGE action merges one or more existing mnemonics into a single existing mnemonic.

STRUCT_MN_EDIT

The STRUCT_MN_EDIT action edits one or more properties of a single existing mnemonic.

Property Value Required
action "struct_mn_edit" yes
database mnemonic definition database specifier yes
mn mnemonic ID yes
name string, new name/unit pair for mnemonic no
state string no

STRUCT_INT_OPEN

The STRUCT_INT_OPEN action opens one or more intervals in a model.

STRUCT_INT_CLOSE

The STRUCT_INT_OPEN action closes one or more intervals in a model.