package processingtype
- Alphabetic
- Public
- All
Type Members
- final case class CombinedProcessingTypeData(statusNameToStateDefinitionsMapping: Map[StatusName, StateDefinitionDeduplicationResult], parametersService: ScenarioParametersService) extends Product with Serializable
- final case class DeploymentData(validDeploymentManager: ValidatedNel[String, DeploymentManager], metaDataInitializer: MetaDataInitializer, scenarioPropertiesConfig: Map[String, ScenarioPropertyConfig], additionalValidators: List[CustomProcessValidator], deploymentManagerType: DeploymentManagerType, engineSetupName: EngineSetupName) extends Product with Serializable
- case class DeploymentManagerType(value: String) extends Product with Serializable
- final case class DesignerModelData(modelData: ModelData, staticDefinitionForDynamicComponents: Map[ComponentId, ComponentStaticDefinition], processingMode: ProcessingMode) extends Product with Serializable
- final case class EngineNameInputData(defaultName: EngineSetupName, identity: Any, nameSpecifiedInConfig: Option[EngineSetupName]) extends Product with Serializable
- class MoreThanOneProcessingTypeFoundError extends BadRequestError
- final case class ParametersToProcessingTypeMappingAmbiguousException(unambiguousMapping: Map[ScenarioParameters, List[ProcessingType]]) extends ScenarioParametersConfigurationError with Product with Serializable
- final case class ProcessingModeCategoryWithInvalidEngineSetupsOnly(invalidParametersCombination: Map[(ProcessingMode, String), List[String]]) extends ScenarioParametersConfigurationError with Product with Serializable
- final case class ProcessingTypeData extends Product with Serializable
-
trait
ProcessingTypeDataProvider[+Data, +CombinedData] extends AnyRef
ProcessingType is a context of application.
ProcessingType is a context of application. One ProcessingType can't see data from another ProcessingType. Services run inside one ProcessingType scope behave differently from services run in another scope.
This class is meant to provide access to some scope of data inside context of application to the user. We don't want to pass all ProcessingType's data to every service because it would complicate testing of services and would broke isolation between areas of application. Due to that, this class is a
Functor(to be preciseBiFunctorbut more on that below) which allows to transform the scope ofData.Sometimes it is necessary to have access also to combination of data across all ProcessingTypes. Due to that this class is a
BiFunctorwhich second value named asCombinedDataThis class caches
DataandCombinedDatawrapped inProcessingTypeDataStateto avoid computations of transformations during each lookup toData/CombinedData. It behave similar toObservablewhere given transformedProcessingTypeDataProvidercheck its parent ifProcessingTypeDataState.stateIdentitychanged.ProcessingType is associated with Category e.g. Fraud Detection, Marketing. Given user has access to certain categories see
LoggedUser.can. Due to that, during each access toData, user is authorized if he/she has access to category. - trait ProcessingTypeDataReader extends LazyLogging
-
class
ProcessingTypeDataReload extends ProcessingTypeDataProvider[ProcessingTypeData, CombinedProcessingTypeData] with LazyLogging
This implements *simplistic* reloading of ProcessingTypeData - treat it as experimental/working PoC
This implements *simplistic* reloading of ProcessingTypeData - treat it as experimental/working PoC
One of the biggest issues is that it can break current operations - when reloadAll is invoked, e.g. during process deploy via FlinkRestManager it may very well happen that http backed is closed between two Flink invocations. To handle this correctly we probably need sth like: def withProcessingTypeData(processingType: ProcessingType)(action: ProcessingTypeData=>Future[T]): Future[T] to be able to wait for all operations to complete
Another thing that needs careful consideration is handling exception during ProcessingTypeData creation/closing - probably during close we want to catch exception and try to proceed, but during creation it can be a bit tricky...
- trait ProcessingTypeDataState[+Data, +CombinedData] extends AnyRef
- class ProcessingTypeNotFoundError extends BadRequestError
- sealed abstract class ScenarioParametersConfigurationError extends Exception
- class ScenarioParametersService extends AnyRef
- final case class ScenarioParametersWithEngineSetupErrors(parameters: ScenarioParameters, engineSetupErrors: List[String]) extends Product with Serializable
- final class ValueWithRestriction[+T] extends AnyRef
Value Members
- object CombinedProcessingTypeData extends Serializable
- object InvalidDeploymentManagerStub extends DeploymentManager
- object ProcessingTypeData extends Serializable
- object ProcessingTypeDataConfigurationReader extends LazyLogging
- object ProcessingTypeDataProvider
- object ProcessingTypeDataReader extends ProcessingTypeDataReader
- object ProcessingTypeDataState
- object ScenarioParametersDeterminer
- object ScenarioParametersService
- object ValueWithRestriction