Documentation Index
Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt
Use this file to discover all available pages before exploring further.
4.1.3-AS6.1 to 5.0.0-AS6.1
Migrate from Atoti What-If 4.1.3-AS6.1 to 5.0.0-AS6.1. Consult the Atoti What-If 5.0.0-AS6.1 release notes and changelog for a complete view of changes.Database schema migration
This release adds aPARENTBRANCH column to the DATASTORE_SIMULATIONS table to support chaining branches of what-if simulations.
Automatic migration (Liquibase)
Atoti What-If now uses Liquibase to manage schema migrations. If your application uses the provided Liquibase changelog, the migration is applied automatically on startup:DATABASECHANGELOG table, so this statement is only ever executed once per database.
Manual migration
If you manage your database schema manually, run the following SQL against yourSUBMISSIONS schema before starting the application:
Overview
Atoti What-If 5.0.0 introduces a Spring Boot Starter that auto-configures all necessary beans. This is a major release that simplifies integration while removing several deprecated classes and methods.Recommended migration process
- Back up your project.
- Update the Atoti What-If dependency to use the Spring Boot Starter.
- Provide the required beans (
IDatabaseServiceandIWhatIfPersistenceProperties). - Remove manual bean definitions that are now auto-configured.
- Configure properties in
application.ymlorapplication.properties. - Update code using removed classes, methods, or constructors.
- Confirm successful build and startup.
Update dependencies
Update Atoti What-If to version 5.0.0-AS6.1
Replace the old dependency with the new Spring Boot Starter:- Atoti What-If 4.1.3-AS6.1:
- Atoti What-If 5.0.0-AS6.1:
Provide required beans
The Spring Boot Starter requires two beans from your application:IDatabaseService
Provided by your Atoti Server application:IWhatIfPersistenceProperties
Provides Hibernate configuration for simulation persistence:Remove manual bean definitions
The following beans are now auto-configured and should be removed from your configuration:| Bean | Auto-configuration class |
|---|---|
DatabaseSimulationEngine | WhatIfCoreConfig |
IUniqueIdGenerator | WhatIfCoreConfig |
ISimulationPersistenceManager | WhatIfPersistenceConfig |
IDatabaseSimulationsSecurityManager | WhatIfSecurityConfig |
IDatabaseSimulationsWorkflow | WhatIfWorkflowConfig |
DatabaseSimulationsRestService | WhatIfRestConfig |
@ConditionalOnMissingBean.
Configure properties
Security and distribution settings are now managed through properties:Removed classes
DatabaseSimulationPersistenceManager
DatabaseSimulationPersistenceManager has been removed. Use HibernateSimulationPersistenceManager instead.
- Before:
- After:
Exception classes in DatabaseSimulationsRestService
The inner exception classes inDatabaseSimulationsRestService have been removed. Use the standalone classes in com.activeviam.tools.whatif.rest instead:
| Removed class | Replacement |
|---|---|
DatabaseSimulationsRestService.ActiveViamSimulationException | com.activeviam.tools.whatif.rest.ActiveViamSimulationException |
DatabaseSimulationsRestService.ActiveViamUnauthorizedException | com.activeviam.tools.whatif.rest.ActiveViamUnauthorizedException |
DatabaseSimulationsRestService.ActiveViamDeletionException | com.activeviam.tools.whatif.rest.ActiveViamDeletionException |
DatabaseSimulationsRestService.ActiveViamUnknownSimulationException | com.activeviam.tools.whatif.rest.ActiveViamUnknownSimulationException |
Removed constructors
RestDistributedDatabaseService
The constructors accepting adistributedPivot parameter have been removed. Use the constructors without the pivot parameter.
- Before:
- After:
Removed methods
RestDistributedDatabaseService.isConsistentStatus()
TheisConsistentStatus() method has been removed.
Constructor changes
If you are instantiating classes directly (without the starter), note the following changes:DatabaseSimulationsRestService
DatabaseSimulationsRestService now uses constructor injection with three required parameters:
DatabaseSimulationsWorkflow
DatabaseSimulationsWorkflow now uses constructor injection with five required parameters: