Skip to content

Provide and Read "agents" "dataItems" & "portables" from input.pb

Request Summary

Instead of using Reflections to find all used classes that extend "Agent", "DataItem", or "Portable", read all required class names from a new section "ModelData.Classes" in the protobuf file. Ignore the section "ModelDataJavaPackages" in this case. Log a warning that "ModelDataJavaPackages" is ignored, if it is also provided.

If the "ModelData.Classes" is not provided in the protobuf file, scan classes using section "ModelDataJavaPackages". Log a deprecation warning.

If neither "ModelData.Classes" nor "ModelDataJavaPackages" is provided, raise an error explaining that one of the two sections is required, and terminate.

If a class is to be instantiated that is not registered previously on the new protobuf section, raise a clear error message containing:

  • which class is missing
  • where to add the class in the schema

Use case

  • Speed up of the FAME-Core initialisation process since full package scans are avoided at runtime.
  • Allows adding support for other programming languages of model classes later on.
Edited by Christoph Schimeczek
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information