All Classes and Interfaces
Class
Description
Abstract class to allow to search server object and convert them to client object
The base class for our Mapped Diagnostic Contexts (MDC).
Wraps a Bonita job.
Mapping for a document
Abstract class to allow to search server object and convert them to client object
This command starts the process in the specified activity (if you need to specify several activities as start points,
please, use
MultipleStartPointsProcessCommand).Main entry point to deploy an
ApplicationArchive.Interface for all
ArchivedPersistentObject.AssignmentOperationExecutorStrategy is the default Bonita strategy to execute data assignment operations
Default implementation backed to a slf4j logger.
Represent a rule to execute to grant access or not.
author Emmanuel Duchastenier
Used to identify API methods that can be called if the maintenance mode is enabled.
Used to identify API methods that can be called if a Node is not started.
Utility class to convert a value to a specific type if compatible.
Represents a Bonita configuration property.
This is the interface we use to wrap the ThreadPool that execute works
A factory to create executor service that will be given to the WorkService
Retrieve configuration files from database and from classpath
Annotation to be used on fields to inject a property value from the environment.
Spring
BeanPostProcessor that parses BonitaProperty and sets the value of the annotated field.A runnable that notifies a listener of its state
Custom Quartz scheduler implementation that exposes the internal QuartzScheduler.
simply hold a cached thread pool executor to handle common asynchronous tasks
Factory to construct works
Service allowing to broadcast a call made on services to the other nodes of a Cluster
This implementation does nothing, to be used in a single node environment.
Handles the resolution of Process Dependencies.
Represents a Evaluation Context to reference / retrieve Business Data.
The BusinessDataRepository service allows to manage Business Data operations.
Aspect to handle events for business data repository operations.
- APPLICATION
- |
- GLOBAL
- |
- ------- TENANT ------
- | | |
- PROCESS1 - PROCESS2 - PROCESS3
A command is a class that is called from the API and executed on the server side.
It is used to extend the engine behavior.
It is used to extend the engine behavior.
Adding context information about Connector definition and instance to exception for better logging
Log connector execution time when the connector took more than the configured threshold
Execute connectors directly
Contains the instantiated connector and its result
It is used to give make the connector service return both the instantiated connector and its result
in order to be able to call disconnect on it in the execute operation method
This service wraps the connector service and add engine variables like apiAccessor, engineExecutionContext.
Validate that a value is assignable to a given contract type
Validate tasks inputs according to given contract
Contract validator factory - might be replaced by a spring configuration
Install custom application if one exists under a specific folder.
Indicates that a Bonita API method handles transactions itself, and thus does not need to use the generic transaction
mechanism.
General mechanism for lookup is to look in specific flow node to search a data instance.
Deprecated.
Deprecated.
DateConverter is now used.Identical to
RegexFileFilter, but accept files based on the complete file
path and name, not only its name.Use ThreadPoolExecutor as ExecutorService
The handling of threads relies on the JVM
The rules to create new thread are:
- If the number of threads is less than the corePoolSize, create a new Thread to run a new task.
This is the default engine clock that return the real system time
Service used to import default provided living applications at startup, such as:
Bonita Admin Application
Bonita User Application
Update provided profiles from profiles.xml from classpath
Helper class that set/get/update document on API level (it uses the process definition)
Updates of creates a document of the process.
Handles document lists
this operation accepts only a List of
DocumentValueCompilationProgress which do nothing
Used by JdtCompiler
The
EngineClock give the current time to the engine.Initialize the engine and create/start or not the platform based on bonita-platform.xml
properties used are:
platform.create -- create the platform on startup
node.start -- start the platform (node) on startup
node.stop -- stop the platform (node) on shutdown
Allows the execution of an action against an Object that is instance of Entity or List
Wrapper over entity getter method
Wrapper over entity getter method
Do not ignore property annotated with JsonIgnore as we manage this with a links property instead.
Interface to be implemented by classes that need access to the
EntityManagerFactory.Represent an enum which enum values can be convertible to other types.
Strategy to handle one kind of event: TIMER, ERROR, SIGNAL or MESSAGE
This is the manager of all the events triggered by other services.
Handle event depending on its type
TODO
* Move all code that instantiate process/execute flow node after a event was triggered here + make it call
reachedCatchEvent
* For event sub process: the instantiate process must cancel all activities then instantiate the process
* the instantiate event subprocess method is like the start of the process executor but with less things: factorise
it
* check that there is no execution issues with event sub process (add more test)
* add test for each kind of start event in event sub process
* try to trigger event subprocess with multiple events
Utility methods to get maps that match process as wanted
Work that is responsible of executing a flow node.
An experimental SPI that can be used but might change in any version of Bonita.
Allow to evaluate one kind of expression
the kind of expression that this evaluator is responsible for is define by the
ExpressionExecutorStrategy.getExpressionKind() Client
implements this interface in order to add
a new kind of expressionUsed to identify a kind of expression
e.g.
Report incident in a log file located inside the bonita home
Is a tenant service must be declared in tenant part
This is a fixed clock with some methods to change this fixed time
Only used for testing purpose
Adding context information about Flow Node & Process definition and instance to exception for better logging
Created by Vincent Elcrin
Date: 17/12/13
Time: 17:34
Recover flow nodes
Default implementation of the activity state manager.
For a given flow node type, this class maintains the supported flow node states and the sequence
and transitions from one state to another.
Returns the most recent archived process instance from the archives.
Hibernate implementation of the persistence service
This service allow to manage the users and organizations and membership and the relations between them.
Default implementation of the Identity service
This implementation does not serialize fields by calling the JsonGenerator.
Service that report incidents to an administrator
to tell the engine that a setter is used to inject services
This Rule authorizes a user, if this user is the manager of another user involved in the given process instance.
Invokes a method on a Java Object.
This stategy is not used directly,
BusinessDataJavaMethodOperationExecutorStrategy is first executed and then delegate to that one.
Compiler based on JDTCompiler
List all possible change of elements of the scheduler service
Some of these methods are enriched with aspects to throw events.
Tells the engine how to retrieve and update a left operand having the specified type
e.g.
Evaluate a list of SExpression, represented by the
SExpression.getDependencies() method.Abstract class to regroup common code used by subclasses to import living applications.
Use to login on the platform when inside the same JVM
Transactional work that lock the process instance
This work try to lock a process instance, if it can't be locked before the end of the TIMEOUT, we reschedule the fill
stack of work on the work service.
This service allows to synchronize access to a resource using ReadWrite lock pattern.
This class is for Add call to techinalLoggerService.log with severity TRACE in all Service Implementation public
method
This API gives access to maintenance administration tasks.
Modified version of the default implementation, with the following change:
For case overview, also authorize access for a manager of a user involved in the case.
Service used to import provided living applications that are mandatory for the platform to start, such as:
Bonita Super Admin Application
Bonita Application Directory
These constants are used as logging keys for Mapped Diagnostic Context (MDC).
Provides usefull methods for working with MDC.
Like
Callable but throwing a checked exceptionLike
Callable but throwing 2 checked exceptionsLike
Callable but throwing 3 checked exceptionsMDCHelper.CheckedCallable4<V,E1 extends Throwable,E2 extends Throwable,E3 extends Throwable,E4 extends Throwable>
Like
Callable but throwing 4 checked exceptionsLike
Runnable but throwing a checked exceptionLike
Runnable but throwing 2 checked exceptionsLike
Runnable but throwing 3 checked exceptionsMDCHelper.CheckedRunnable4<E1 extends Throwable,E2 extends Throwable,E3 extends Throwable,E4 extends Throwable>
Like
Runnable but throwing 4 checked exceptionsA
ThreadPoolExecutor that transmits the MDC to the executing threadResets all "In Progress" BPMN Message couples so that they can be triggered again on next cron.
This command starts the process in the specified activity(ies).
This class allow to provide a configuration for the current node
We should be able to have one different per node
Work that notify a container that a flow node is in completed state
e.g.
Represents null value returned by
NullCheckingUtil.findNull(Object...).Deprecated.
OffsetDateTimeConverter is now used.It's used when we check if the queries who return a list have an "Order by" clause.
Service that allows to map an arbitrary String key to a (Custom) Page or URL.
Retrieve a String parameter from the ParameterService.
ExpressionExecutorStrategy to evaluate a 'Pattern', that is a String message into which some parameters
are replaced by their values.Utility methods to get maps that match process as wanted
Permission service implementation
Interface for all
PersistentObject.Listen to events happening to all classloaders (all tenants, platform-wide)
Provides runtime information about the platform.
Updates the platform information using directly the
PersistenceServiceHandle the lifecycle of the platform: start, stop.
Spring event published when the Bonita Platform has finished to start.
Make search case insensitive in postgres by using `ilike` instead of `like`
Adding context information about Process definition to exception for better logging
This class handles the continuation of unfinished process instances
passed as parameter in
ProcessesRecover.execute(RecoveryMonitor, List) method.Adding context information about Process definition and instance to exception for better logging
Define rules to be executed before the start of a process, right after its creation.
Import profiles with mapping using Policy
Handles storage and retrieval of profile temporary md5 file.
This is a hack to let Quartz access datasource beans from SprigContext
Quartz support custom connection providers but not non primitive parameters for them
This is a hack to let Quartz access datasource beans from SprigContext
Quartz support custom connection providers but not non primitive parameters for them
This is a hack to let Quartz access datasource beans from SprigContext
Quartz support custom connection providers but not non primitive parameters for them
The Recovery handler is responsible for recovering all candidate elements
at Engine startup.
The RecoveryScheduler is responsible to trigger the recovery mechanism periodically.
Responsible to recover from incidents like database or network outage.
Transaction content to remove a list of categories from a Process definition.
author Emmanuel Duchastenier
Thrown when access to a given page or URL is not allowed for a given key.
Exception indicating an error occurred during CRUD (Create, Read, Update, Delete) operations on business data.
Thrown by a
Command when something unexpected happens during execution.Thrown by a
Command that is called using insufficient or wrong parameters.Adapter to execute client connector objects in the server side
User contact info: can be personal or professional contact information.
Thrown when the
SContractDefinition is not fulfilled.Identity related exception indicating that the
SCustomUserInfoDefinition already existsThis exception is thrown if a SDataInstance is not well formed.
Represent the deletion of a persisted element
A document list is a named element that define a list of document on a process
It contains 0 or more document and have a name to reference it in the process instance
It is initialized when the process start using the
SDocumentListDefinition.getExpression() expressionMapping for a document
SearchApplications<E extends org.bonitasoft.engine.business.application.IApplication>
SearchApplicationsOfUser<E extends org.bonitasoft.engine.business.application.IApplication>
Search Waiting events
Parameters ->
searchOptions: the searchOptions
This class load the server api implementation configured using the property `serverApi`.
This class is in charge of calling APIs while adding behavior:
It sets the classloader to the one from platform or tenant
When the method is NOT annotated with
NoSessionRequired, it verifies that the given session is
valid, is on the right scope (tenant or platform), and renew it
When the method is NOT annotated with CustomTransactions, it opens a transaction
When the method is deprecated, it print a warning
When the method or class is NOT annotated with AvailableInMaintenanceMode, it verifies the
maintenance mode
is disabled
When the method or class is annotated with AvailableInMaintenanceMode and onlyAvailableInMaintenanceMode
is set
to true, it verifies the maintenance mode is enabled
When the method is NOT annotated with AvailableOnStoppedNode, it verifies the platform is
running
Wrap the technical logger service to be available to client extensions
Main entry point to access services and api implementation of the engine
ServiceAccessors and APIAccessResolver classes can be overridden in the configuration
under the name `serviceAccessors` and `apiAccessResolver`This is the main entry point to the engine services
To define the context of an exception in the message.
when something went wrong during an execution
FIXME: this class is only used in tests.
An unexpected error happened during the execution of the flow node
The flow node might be in an inconsistent state
Represents flownode state counters for a given process instance.
Exception related to the identity module
Listens to events occurring on a single tenant-level classloader.
Thrown when the evaluation of the condition of the connector instance is invalid.
content of the page is not valid
Exception happening during a life cycle operation such as start/stop of tenant services
author Emmanuel Duchastenier
Used to get pending activities of a user.
Exception related to the platform module
Exception related to the platform module
Exception related to the platform module
Spring bean accessor that get its configuration from configuration file in classpath and in database
author Emmanuel Duchastenier
Thread start when the engine is ready.
This is code that are returned by state when they are execute
DONE is when the state is finished and executed correctly
EXECUTING when there is still work to be done on the state (so the state must not change)
Interface of a scheduled job.
Exception related to the platform module
Exception related to the platform module
Exception related to the platform module
Exception related to the platform module
Exception related to the platform module
Exception related to the platform module
Exception related to the platform module
Exception related to the platform module
String manipulation utilitary class.
Thrown when a process fails to deploy because of V6 form presence in the bar to deploy.
Happens when a work could not be executed because its preconditions where not met.
result of the execution of a task using the broadcast service
Handles the restart of elements when the tenant is started (strategy is different in cluster)
Handles the lifecycle of tenant services: start, stop, (pause, resume -> will be removed)
Does not handle state of the tenant in database
Store and access the current session id of the current thread
Job factory that inject the transaction service
Must modify this to inject the configuration service instead
Specify what to do when some job were not triggered in time.
A work that wrap an other work in a transaction
This work manages the transaction in its handleFailure method.
This
UserFilterService implementation injects, in method
#executeFilter(long, SUserFilterDefinition, Map, ClassLoader) a new expression to
access the APIAccessor for User filters.List all possible change of elements of the identity service
Used to identify tenant-level API methods that require taking a functional
lock when they are called.
this a callback called when a work finish.
Trigger the asynchronous execution of a work
This service allows register the execution of a work at the end of the current transaction
Directly calls the WorkExecutorService
Supported return types are:
java.lang.String
java.lang.Double
java.lang.Boolean
java.lang.Long
java.lang.Integer
java.lang.Float
org.w3c.dom.Node
org.w3c.dom.NodeList
DateAndTimeConverteris now used.