Class ApplicationInstallerImpl
java.lang.Object
org.bonitasoft.engine.api.impl.application.installer.ApplicationInstallerImpl
- All Implemented Interfaces:
ApplicationInstaller
@Component
@ConditionalOnSingleCandidate(ApplicationInstaller.class)
public class ApplicationInstallerImpl
extends Object
implements ApplicationInstaller
Main entry point to deploy an
ApplicationArchive.- Author:
- Baptiste Mesta., Danila Mazour, Haroun El Alami
-
Constructor Summary
ConstructorsConstructorDescriptionApplicationInstallerImpl(InstallationService installationService, BusinessDataModelRepository bdmRepository, UserTransactionService transactionService, SessionAccessor sessionAccessor, SessionService sessionService, TenantStateManager tenantStateManager, BusinessArchiveArtifactsManager businessArchiveArtifactsManager, ApplicationImporter applicationImporter) -
Method Summary
Modifier and TypeMethodDescriptionprotected LongdeployProcess(org.bonitasoft.engine.bpm.bar.BusinessArchive businessArchive, org.bonitasoft.engine.api.result.ExecutionResult executionResult) voiddisableOldProcesses(List<Long> installedProcessIds, org.bonitasoft.engine.api.result.ExecutionResult executionResult) voidenableResolvedProcesses(List<Long> processDefinitionIds, org.bonitasoft.engine.api.result.ExecutionResult executionResult) protected SPlatformUpdateBuilder<T> Tvoidinstall(ApplicationArchive applicationArchive) installArtifacts(ApplicationArchive applicationArchive, org.bonitasoft.engine.api.result.ExecutionResult executionResult) protected StringinstallBusinessDataModel(byte[] zip) protected voidinstallBusinessDataModel(ApplicationArchive applicationArchive) protected voidinstallLivingApplications(ApplicationArchive applicationArchive, org.bonitasoft.engine.api.result.ExecutionResult executionResult, org.bonitasoft.engine.business.application.ApplicationImportPolicy policy) protected voidinstallOrganization(ApplicationArchive applicationArchive, org.bonitasoft.engine.api.result.ExecutionResult executionResult) protected voidinstallOrUpdateLayouts(ApplicationArchive applicationArchive, org.bonitasoft.engine.api.result.ExecutionResult executionResult) protected voidinstallOrUpdatePages(ApplicationArchive applicationArchive, org.bonitasoft.engine.api.result.ExecutionResult executionResult) protected voidinstallOrUpdateRestApiExtensions(ApplicationArchive applicationArchive, org.bonitasoft.engine.api.result.ExecutionResult executionResult) protected voidinstallOrUpdateThemes(ApplicationArchive applicationArchive, org.bonitasoft.engine.api.result.ExecutionResult executionResult) installProcesses(ApplicationArchive applicationArchive, org.bonitasoft.engine.api.result.ExecutionResult executionResult) protected voidinstallUnitPage(File pageFile, String precisePageType, org.bonitasoft.engine.api.result.ExecutionResult executionResult) From the Engine perspective, all custom pages, layouts, themes, custom Rest APIs are of typePageprotected <T> TinTransaction(Callable<T> callable) voidvoidprotected voidvoidupdate(ApplicationArchive applicationArchive) voidupdateApplicationVersion(String version) updateArtifacts(ApplicationArchive applicationArchive, org.bonitasoft.engine.api.result.ExecutionResult executionResult) protected StringupdateBusinessDataModel(ApplicationArchive applicationArchive) voidupdateConfiguration(File configurationFileArchive, org.bonitasoft.engine.api.result.ExecutionResult executionResult) Update configuration with the given bconf fileprotected voidupdateOrganization(ApplicationArchive applicationArchive, org.bonitasoft.engine.api.result.ExecutionResult executionResult)
-
Constructor Details
-
ApplicationInstallerImpl
public ApplicationInstallerImpl(InstallationService installationService, @Qualifier("businessDataModelRepository") BusinessDataModelRepository bdmRepository, UserTransactionService transactionService, SessionAccessor sessionAccessor, SessionService sessionService, TenantStateManager tenantStateManager, @Qualifier("dependencyResolver") BusinessArchiveArtifactsManager businessArchiveArtifactsManager, ApplicationImporter applicationImporter)
-
-
Method Details
-
install
public void install(ApplicationArchive applicationArchive) throws org.bonitasoft.engine.exception.ApplicationInstallationException - Specified by:
installin interfaceApplicationInstaller- Throws:
org.bonitasoft.engine.exception.ApplicationInstallationException
-
installArtifacts
protected List<Long> installArtifacts(ApplicationArchive applicationArchive, org.bonitasoft.engine.api.result.ExecutionResult executionResult) throws Exception - Throws:
Exception
-
update
public void update(ApplicationArchive applicationArchive) throws org.bonitasoft.engine.exception.ApplicationInstallationException - Specified by:
updatein interfaceApplicationInstaller- Throws:
org.bonitasoft.engine.exception.ApplicationInstallationException
-
resumeTenantInSession
- Throws:
Exception
-
pauseTenantInSession
- Throws:
Exception
-
updateArtifacts
protected List<Long> updateArtifacts(ApplicationArchive applicationArchive, org.bonitasoft.engine.api.result.ExecutionResult executionResult) throws Exception - Throws:
Exception
-
updateApplicationVersion
public void updateApplicationVersion(String version) throws org.bonitasoft.platform.exception.PlatformException - Throws:
org.bonitasoft.platform.exception.PlatformException
-
getPlatformUpdateBuilder
-
disableOldProcesses
public void disableOldProcesses(List<Long> installedProcessIds, org.bonitasoft.engine.api.result.ExecutionResult executionResult) throws org.bonitasoft.engine.exception.SearchException, SBonitaException, org.bonitasoft.engine.bpm.process.ProcessDefinitionNotFoundException - Throws:
org.bonitasoft.engine.exception.SearchExceptionSBonitaExceptionorg.bonitasoft.engine.bpm.process.ProcessDefinitionNotFoundException
-
enableResolvedProcesses
public void enableResolvedProcesses(List<Long> processDefinitionIds, org.bonitasoft.engine.api.result.ExecutionResult executionResult) throws org.bonitasoft.engine.bpm.process.ProcessDeployException - Throws:
org.bonitasoft.engine.bpm.process.ProcessDeployException
-
installOrganization
protected void installOrganization(ApplicationArchive applicationArchive, org.bonitasoft.engine.api.result.ExecutionResult executionResult) throws Exception - Throws:
Exception
-
updateOrganization
protected void updateOrganization(ApplicationArchive applicationArchive, org.bonitasoft.engine.api.result.ExecutionResult executionResult) throws Exception - Throws:
Exception
-
installBusinessDataModel
- Throws:
Exception
-
updateBusinessDataModel
protected String updateBusinessDataModel(ApplicationArchive applicationArchive) throws org.bonitasoft.engine.business.data.InvalidBusinessDataModelException, org.bonitasoft.engine.business.data.BusinessDataRepositoryDeploymentException - Throws:
org.bonitasoft.engine.business.data.InvalidBusinessDataModelExceptionorg.bonitasoft.engine.business.data.BusinessDataRepositoryDeploymentException
-
uninstallBusinessDataModel
protected void uninstallBusinessDataModel() throws org.bonitasoft.engine.business.data.BusinessDataRepositoryDeploymentException- Throws:
org.bonitasoft.engine.business.data.BusinessDataRepositoryDeploymentException
-
installBusinessDataModel
protected String installBusinessDataModel(byte[] zip) throws org.bonitasoft.engine.business.data.InvalidBusinessDataModelException, org.bonitasoft.engine.business.data.BusinessDataRepositoryDeploymentException - Throws:
org.bonitasoft.engine.business.data.InvalidBusinessDataModelExceptionorg.bonitasoft.engine.business.data.BusinessDataRepositoryDeploymentException
-
installLivingApplications
protected void installLivingApplications(ApplicationArchive applicationArchive, org.bonitasoft.engine.api.result.ExecutionResult executionResult, org.bonitasoft.engine.business.application.ApplicationImportPolicy policy) throws org.bonitasoft.engine.exception.AlreadyExistsException, org.bonitasoft.engine.exception.ImportException, org.bonitasoft.engine.exception.ApplicationInstallationException - Throws:
org.bonitasoft.engine.exception.AlreadyExistsExceptionorg.bonitasoft.engine.exception.ImportExceptionorg.bonitasoft.engine.exception.ApplicationInstallationException
-
installOrUpdatePages
protected void installOrUpdatePages(ApplicationArchive applicationArchive, org.bonitasoft.engine.api.result.ExecutionResult executionResult) throws IOException, org.bonitasoft.engine.exception.BonitaException - Throws:
IOExceptionorg.bonitasoft.engine.exception.BonitaException
-
installOrUpdateLayouts
protected void installOrUpdateLayouts(ApplicationArchive applicationArchive, org.bonitasoft.engine.api.result.ExecutionResult executionResult) throws IOException, org.bonitasoft.engine.exception.BonitaException - Throws:
IOExceptionorg.bonitasoft.engine.exception.BonitaException
-
installOrUpdateThemes
protected void installOrUpdateThemes(ApplicationArchive applicationArchive, org.bonitasoft.engine.api.result.ExecutionResult executionResult) throws IOException, org.bonitasoft.engine.exception.BonitaException - Throws:
IOExceptionorg.bonitasoft.engine.exception.BonitaException
-
installOrUpdateRestApiExtensions
protected void installOrUpdateRestApiExtensions(ApplicationArchive applicationArchive, org.bonitasoft.engine.api.result.ExecutionResult executionResult) throws IOException, org.bonitasoft.engine.exception.BonitaException - Throws:
IOExceptionorg.bonitasoft.engine.exception.BonitaException
-
installUnitPage
protected void installUnitPage(File pageFile, String precisePageType, org.bonitasoft.engine.api.result.ExecutionResult executionResult) throws IOException, org.bonitasoft.engine.exception.BonitaException From the Engine perspective, all custom pages, layouts, themes, custom Rest APIs are of typePage- Throws:
IOExceptionorg.bonitasoft.engine.exception.BonitaException
-
installProcesses
protected List<Long> installProcesses(ApplicationArchive applicationArchive, org.bonitasoft.engine.api.result.ExecutionResult executionResult) throws org.bonitasoft.engine.bpm.bar.InvalidBusinessArchiveFormatException, IOException, org.bonitasoft.engine.bpm.process.ProcessDeployException - Throws:
org.bonitasoft.engine.bpm.bar.InvalidBusinessArchiveFormatExceptionIOExceptionorg.bonitasoft.engine.bpm.process.ProcessDeployException
-
updateConfiguration
public void updateConfiguration(File configurationFileArchive, org.bonitasoft.engine.api.result.ExecutionResult executionResult) throws Exception Update configuration with the given bconf file- Specified by:
updateConfigurationin interfaceApplicationInstaller- Parameters:
configurationFileArchive- A bconf fileexecutionResult-- Throws:
Exception
-
deployProcess
protected Long deployProcess(org.bonitasoft.engine.bpm.bar.BusinessArchive businessArchive, org.bonitasoft.engine.api.result.ExecutionResult executionResult) throws org.bonitasoft.engine.bpm.process.ProcessDeployException - Throws:
org.bonitasoft.engine.bpm.process.ProcessDeployException
-
inSession
- Throws:
Exception
-
inTransaction
protected <T> T inTransaction(Callable<T> callable) throws org.bonitasoft.engine.exception.ApplicationInstallationException - Throws:
org.bonitasoft.engine.exception.ApplicationInstallationException
-