All Classes and Interfaces
Class
Description
Non JPA version of Extended State Entity.
A super class to instantiate a service.
Specifies the metadata for the actions that are allowed for this entity.
Uses a Spring controller with additional annotations to initiate a Chenile Service.
Uses a special bean to configure all trajectories.
A command becomes an attachable command if other commands can attach themselves to it using an attachment descriptor.
Contains the meta data about the attachment of a command to another.
Implement this interface to supply a list of authorities that we would like to validate
against the Principal to see if this service can be accessed.
ErrorNumException
with HTTP status code of 400.A generic interceptor for other Chenile Interceptors to override.
Extend this action if it is desired to obtain access to properties that have been set up per state descriptor in the STD.
Extend this to initialize anything like event definitions etc.
Implementation of query store.
A security test container initiating class.
Interface defines a contract for classes that look up objects from various DI frameworks (aka Bean factories)
This annotation specifies that this particular method needs a body type selector for
determining the type that the body needs to convert to.
Implement this interface if a command can be bypassed.
Implement this interface if you want to create your own custom key out of the
input params passed to a method.
Builds all caches that have been configured during startup
Values that can be used to configure a cache.
Caches an operation return value using the service name, operation name and the parameters
that were passed to the operation.
The key for a cache constructed using input parameters for a method.
Retrieve and store canned reports.
A chain is a command that executes a chain of other commands.
This class is used by
FilterChain
.This class specifies a save point.
The context that is required to be passed to filter chain.
Marker annotation to make a new annotation.
The core class that contains the entire ChenileConfiguration.
Annotate all chenile controllers with this annotation.
Class creates a bunch of Spring Beans.
The entry point to the Chenile highway.
Chenile keeps track of events.
Picks up all the event resources and registers all the events in Chenile.
Runs after all the events and services are registered in Chenile.
Handles all exceptions by:
Translating all errors and warnings to international language.
A bidirectional exchange that navigates between different Chenile Interceptors.
Builds an exchange from a service name and an operation name
This interface emits information about a Chenile Service.
This class provides information about all services registered in this running instance of Chenile.
Annotate a class in a Chenile service controller to make it listen to MQ-TT topics.
This will bind the topic to an invocation of this service/operation.
This will bind the topic to an invocation of this service/operation.
The ChenileParamType is required when the method signature of a service does
not match the method signature of the controller.
This is required to state the possible response codes for successful responses.
This is not required for error responses since the exception will already have the response code for error responses.
This is not required for error responses since the exception will already have the response code for error responses.
This communicates with SpringRestTemplate to find the errors from the returned response.
Picks up all the file watch resources and registers all of them in
ChenileConfiguration
ChenileConfiguration provides for extension
points for registering new type of resources.Defines a chenile service.
Concrete class for initializing services from Json resources
Initializes a trajectory definition.
This file exists for transferring version information to ChenileConfiguration.
This interceptor, if configured, acts like an edge switch for a service i.e.
A command is designed to be a unit of work.
Custom digester rule to process either the command or attach Descriptor.
Base class to implement command functionality.
Stores the meta data about all the commands that have been configured in the system.
Actions (both actions and transition actions) implement this interface to obtain access to custom properties that can be set.
A helper class to obtain the properties for the current action (as passed in the flow context).
This annotation will need to be used at the spring
Configuration
class
This annotation does the same thing as ConditionalOnTrajectory
However it does this behaviour for health checkers rather than the services
You can then use this annotation to accomplish this.This annotation helps to replace service references with new ones.
Generate a Chenile Service Registry configuration from
ChenileConfiguration
ErrorNumException
with HTTP status code of 500 meant for configuration errors.Constants for HTTP module.
Chenile MQTT constants
Find the correct service to invoke.
This is a class that can be used to obtain access to headers passed in the transport.
This class must be extended by Chenile controllers who use annotation to configure a service.
Useful as an enhancement over the ObjectCreateRule for digester.
Useful as an enhancement over the ObjectCreateRule for digester.
A singleton object that is used in all the methods to store and retrieve values
Cucumber recommends an enum since it acts like a perfect singleton.
Cucumber recommends an enum since it acts like a perfect singleton.
Cucumber steps to facilitate running tests using normal IN-VM testing (NOT REST based)
These steps are generic since they leverage the scripting language and JSON PATH etc.
These steps are generic since they leverage the scripting language and JSON PATH etc.
This object stores the various tags that are supported by the XML configurator along
with their associated properties.
This object stores the various tags that are supported by the XML configurator along
with their associated properties.
This Command delegates control to a method of an underlying object whose reference is
passed to this command.
This command does nothing.
ALl the errors that have been defined for Chenile core.
Chenile MQTT error codes.
Chenile Proxy error codes
An exception that has a HTTP status code and a custom subErrorCode (which can be a specific
error)
These two errors make the exception very specific
It can contain further errors that are supported by the
ResponseMessage
Values for the severity field in
ResponseMessage
This is a specific subclass of
Router
that uses OGNL to evaluate a boolean expression
on the context.An abstraction to extract actions and their meta data and share them across transitions.
A sequential way of processing an event within the same thread.
This annotation specifies that this particular method subscribes to an event.
Calls the exception handler that is defined in Chenile properties.
A variation of the Chain for AOP like surround processing.
Repeatedly, execute the attached commands till the expression specified by
condition evaluates to false.
A generic response that would be returned for all the services.
Constructs a generic response from the response and exception that has been thrown.
Any class that copies headers from the existing context to the new
ChenileExchange
Defines all the header names in one place.
All Health Checkers must implement this interface
Health Checker can be attached to any service
Health checkers will be exposed via a GET method
A base class that provides basic health check info about all services.
Display help information on chenile-config-maven-plugin.
Call
Call
mvn chenile-config:help -Ddetail=true -Dgoal=<goal-name>
to display parameter details.Bind a parameter of an Operation to a message.
This is a generic controller that is used if JSON is used to configure a Chenile service.
Invokes the remote service using HTTP
The HTTP Method that is supported by the service.
Uses JSON configurations to initiate Chenile HTTP.
Generates IDs given a request context.
Implements an IF action using the same expression language as the one supported by the
ScriptingStrategy
.A DTO that provides a condensed version of services along with the operations that they support
Health checker for the ChenileInfoService
This is a "dummy" command which needs to be attached to a parent command that
supports this type of command.
Key for the tenant specific cache.
Used to connect to Keycloak.
Invokes the Chenile Entry point locally since this service is local.
Logs the output from the response object.
This is the version of the
GenericResponse
for asynchronous processing.Implement this interface if you are able to persist a log record.
Describes the manual state.
Allows Ognl to support an object that is a map with a few properties defined like normal
java beans.
Allows Ognl to support an object that is a map with a few properties defined like normal
java beans.
Given an OperationDefinition and a service class, this class computes the java.lang.reflect.Method
Defines the MIME type supported by the particular service.
Sets up Eclipse Paho for communicating with MQ-TT broker using configurations
The entry point that is invoked by the Mqtt subscriber when a message arrives at a topic.
A collection of general purpose utilities for MQ-TT.
Detects the
ChenileMqtt
annotated classes in the Application Context and
populates the mqttConfig for later use by MqttEntryPoint
Topic and Qos can be configured at the service level.Used to publish MQTT messages.
MQTT subscription call back that supports receiving messages, reconnects etc.
This can be used in lieu of the default Message Source.
An implementation of the query service using Mybatis.
Avoids creation of multiple routers by allowing an expression that can be utilized on the
context to obtain the route.
Contains details about the particular operation of a service.
Interpolates all the operation specific processors on the client side for Chenile Proxy
Calls a bunch of interceptors defined at the level of the particular operation.
Reads the configuration of the Orchestration possibly from multiple sources and makes it available for anyone to use it.
A base implementation of OrchConfigurator that stores all the relevant information in internal variables and provides
the services as expected by OrchConfigurator.
Applicable for commands that choose to be aware of their orchestration configuration.
The execution interface of the orchestrator.
This command triggers the chain of responsibility by storing and executing the first
command in the chain.
Internal class used to preserve the order of execution of commands.
Links OWIZ to the Spring framework.
Defines an individual parameter that is accepted by an operation of a sevice.
Wrapper around Ognl.parseExpression() which uses caching.
This class can act as a
HeaderCopier
Calls a bunch of interceptors called as "post processors".
Calls a bunch of interceptors called as "pre processors".
Creates a proxy for a chenile interface.
Sets up the beans for Chenile Proxy and registers them in Spring.
Returns the correct route based on if the service is local or remote
Registers query beans in Spring
This sets up a query service.
Reads the query definitions from a JSON file that has been passed to it.
Unused for now
For specific queries, we should restrict the results only to authorized
users.
This class calculates the correct type for the response body.
A detailed response message that contains a bunch of information.
Cucumber steps to facilitate injection of security tokens into the MVC request header.
See the methods below for the precise Gherkin language that has been created.
See the methods below for the precise Gherkin language that has been created.
Cucumber steps to facilitate running tests using Spring MOCK MVC.
These steps are generic since they leverage the scripting language and JSON PATH etc.
These steps are generic since they leverage the scripting language and JSON PATH etc.
A router is a command that executes one of several commands based on a routing string.
Set up the scheduler for the relevant services if applicable
Schedule definition.
Mimics a script.
Actions implement this interface to get hold of a scripting strategy that is set by the STM framework.
A base class for all script aware generic actions.
This provides the authorities that are required to access this service.
The value() of the class is the enum which specifies if the given resource is PROTECTED or UNPROTECTED.
The value() of the class is the enum which specifies if the given resource is PROTECTED or UNPROTECTED.
This interceptor uses
SecurityConfig
to secure this particular resource.It first looks at the
SecurityConfig to see if there are any guarding authorities for this service.ErrorNumException
with HTTP status code of 500 for runtime errors.This command invokes a service gathering inputs from
ChenileExchange
.Interpolates all the service specific processors on the client side for Chenile Proxy
Calls a bunch of interceptors defined at the level of the particular service.
Sets specific parts of the context to a value.
Implements a split aggregate functionality.
Utilities that allow testing of Aurora errors and warnings
An encapsulation of what constitutes a state.
Every entity that has a state that should be tracked must implement this interface.
All workflow entities (aka State entities) are managed using this interface.
Workflow entities contain state.
Workflow entities contain state.
A generic implementation of the
StateEntityService
for all state entities.This object stores the various tags that are supported by the XML configurator along
with their associated properties.
An implementation of a state transition machine.
Implement this interface to become an STM entry or exit action
A base action that can serve as a "do nothing" action.
Provides information about available actions for a given state etc.
This class returns the applicable authorities for the
StateEntityServiceImpl.processById(String, String, Object)
method.Selects the body type of the
ChenileExchange
based on the event Id passed
This should be used as the body type selector for the StateEntityServiceImpl.process(org.chenile.stm.StateEntity, String, Object)
method.Custom exception for the STM framework.
An interface that is used by a State Transition Machine implementation to obtain the
State Transition Diagram configuration.
A base implementation of STMFlowStore FlowStoreReaders parse various
representations of the flow (such as in an xml or in a db) and call the
addflow() method in this class.
The main STM implementation.
An interface that is available for the STM Transition action.
Generates a PLANT UML state diagram for the STate Transition Diagram
An interface that would be used to invoke a security strategy.
This interface is useful to implement the actual logic to update the state to the new state ID.
SubclassBodyTypeSelector uses the Subclass registry to determine the appropriate subclass based on the type to distinguish
between subclasses.
This is a registry of mapping base classes to the appropriate subclasses.
For example, if there is a base class
For example, if there is a base class
Vehicle
which is subclassed by Car.The combination of service and operation that are mapped to a Chenile event.
Emulates a switch construct.
A class that looks for a specific resource (using
TenantSpecificResourceLoader.tenantSpecificPath
) from the class path.The trajectory definition details.
For a given service, map a new Spring bean reference for a particular trajectory.
Processes all the trajectories
ConditionalOnTrajectory
annotations.Determines the target type for the body of the ChenileExchange and populates that into
ChenileExchange.getBodyType()
Uses registered bodyTypeSelectors either at ChenileServiceDefinition
or OperationDefinition
Performs a transformation from JSON to the
ChenileExchange.getBodyType()
mentioned in the
ChenileExchange
Interface implemented by the descriptors that support transient actions.
Registers the beans that are needed for chenile-http
As per HTTP convention, all custom headers start with "x-"
This interceptor copies all headers that start with "x-" into the context.
Extract and set warnings to response objects (either objects or maps)
Keeps the different components attached to various work flows in a registry.
Provides an xml implementation of the FlowStoreReader.
Chief class for the framework.