Interface ConfigDataMergeProcessor

All Known Implementing Classes:
ConfigDataMergeProcessorImpl

public interface ConfigDataMergeProcessor
This class is able to merge two UI States for CPQ.
This is required, because the CPQ UI usually renders only the part (UiGroupData) the user is currently working on. hence when the controller receives the update request from the UI, the data is incomplete, There is the need to fetch the the actual complete state and merge the updates from the UI into it, so that a complete and fully updated configuration state is available for further processing.
Especially for big configurations, with a lot of cstics, this process is much faster than rendering the full state and sending it back along with the updated values.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    completeInput(ConfigurationData targetConfigData)
    Fetches the actual configuration sate from the underlying layers and uses it to complete the given partial configuration state to build a complete and fully update state.
    void
    Merges the source configuration into the target configuration.
  • Method Details

    • completeInput

      void completeInput(ConfigurationData targetConfigData)
      Fetches the actual configuration sate from the underlying layers and uses it to complete the given partial configuration state to build a complete and fully update state. So after the method call the given configuration will contain all values and each value will be updated to the most recent user input.
      Parameters:
      targetConfigData - partial configuration to complete
    • mergeConfigurationData

      void mergeConfigurationData(ConfigurationData source, ConfigurationData target)
      Merges the source configuration into the target configuration. User input in the target configuration has the highest priority, so that it will be kept. The corresponding values of the source configuration are considered out dated and will be discarded.
      Parameters:
      source - source configuration, missing data in the target configuration will be read from here
      target - target configuration, any values present will be kept, only missing data is read from source configuration