Uses of Class
org.chenile.core.context.ChenileExchange
Package
Description
The Cache interceptor is here.
Cloud edge switch - the interceptor class is defined here
Chenile core beans are initialized in Spring.
Registers key chenile proxy beans in spring
Registers the key query beans in Spring
The core Chenile exchange objects are defined here.
Contains the core Chenile entry point which serves as the entry for the
Chenile ecosystem.
Event processing and logging classes.
Core Chenile initialization and discovery of all Chenile services.
Define Core Chenile interceptors
The chief model classes that contain Service and Operation information.
The Chenile transformation framework that transforms JSON to Object.
Contains the Gherkin language support for Non Rest interactions
This package defines the HTTP entry point for invoking a Chenile service.
The entry point for Chenile MQTT
Contains Chenile proxy builder class.
Chenile proxy interceptors.
Chenile proxy interpolations
Contains key interceptors that can be used in conjunction with the Chenile Query service.
Defines base security constructs.
This class contains the
SecurityInterceptor
Defines annotations to define the authorities for a service / operation.
Defines basic security interfaces for the current user and for services / operations
Implementations for Security which do not make assumptions about the actual security
implementation.
Workflow entry, exit commands etc.
-
Uses of ChenileExchange in org.chenile.cache.interceptor
Modifier and TypeMethodDescriptionprotected boolean
CacheInterceptor.bypassInterception
(ChenileExchange exchange) void
CacheInterceptor.execute
(ChenileExchange exchange) private CacheKey
CacheInterceptor.generate
(ChenileExchange exchange) CacheInterceptor.getCache
(ChenileExchange exchange) private Object
CacheInterceptor.key
(ChenileExchange exchange, ParamDefinition p) -
Uses of ChenileExchange in org.chenile.cloudedgeswitch.interceptor
Modifier and TypeMethodDescriptionCloudEdgeSwitch.addMqttTargetHeaderIfRequired
(ChenileExchange exchange) If this message came from MQTT then the original source must not be receiving this message since that would create duplicates.protected boolean
CloudEdgeSwitch.bypassInterception
(ChenileExchange exchange) private boolean
CloudEdgeSwitch.callCloud
(ChenileExchange exchange) Switch to cloud proxy and invoke it via httpprivate boolean
CloudEdgeSwitch.callEdge
(ChenileExchange exchange, Object serviceReference, ChainContext.SavePoint savePoint) private void
CloudEdgeSwitch.enhanceWarnings
(ErrorNumException exception, ChenileExchange exchange) void
CloudEdgeSwitch.execute
(ChenileExchange exchange) private Object
CloudEdgeSwitch.getRemoteProxy
(ChenileExchange exchange) private void
CloudEdgeSwitch.handleCloud
(ChenileExchange exchange) In the cloud, execute the actual service Upon successful return, send a message to MQTT topicprivate void
CloudEdgeSwitch.handleEdge
(ChenileExchange exchange) In the edge, we will delegate the control to the cloud.private void
CloudEdgeSwitch.handleHttp
(ChenileExchange exchange) private void
CloudEdgeSwitch.handleMqtt
(ChenileExchange exchange) In MQTT, if the message comes to the edge, call the service as usual If it is the cloud, handle it like you do HTTP messagesprivate void
CloudEdgeSwitch.publishMessage
(ChenileExchange exchange, Map<String, Object> headers) private void
CloudEdgeSwitch.switchServiceReference
(Object ref, ChenileExchange exchange) -
Uses of ChenileExchange in org.chenile.configuration.core
Modifier and TypeMethodDescriptionChenileCoreConfiguration.chenileHighway()
ChenileCoreConfiguration.chenileInterceptorChain()
ChenileCoreConfiguration.chenileOrchExecutor()
ChenileCoreConfiguration.exceptionHandlerInterpolation()
ChenileCoreConfiguration.operationSpecificProcessorsInterpolation()
ChenileCoreConfiguration.postProcessorsInterpolation()
ChenileCoreConfiguration.preProcessorsInterpolation()
ChenileCoreConfiguration.serviceSpecificProcessorsInterpolation()
-
Uses of ChenileExchange in org.chenile.configuration.proxy
Modifier and TypeMethodDescriptionProxyConfiguration.chenileProxyHighway()
ProxyConfiguration.chenileProxyInterceptorChain()
ProxyConfiguration.chenileProxyOrchExecutor()
(package private) Chain<ChenileExchange>
ProxyConfiguration.httpChain()
ProxyConfiguration.operationSpecificClientProcessorsInterpolation()
ProxyConfiguration.serviceSpecificClientProcessorsInterpolation()
-
Uses of ChenileExchange in org.chenile.configuration.query.service
Modifier and TypeMethodDescription(package private) Function<ChenileExchange,
String[]> QueryConfiguration.queryAuthorities
(QueryDefinitions queryDefinitions) -
Uses of ChenileExchange in org.chenile.core.context
Modifier and TypeFieldDescriptionprivate ChainContext<ChenileExchange>
ChenileExchange.chainContext
Internal field for the purpose of continuing the interceptor chain.Modifier and TypeMethodDescriptionChenileExchangeBuilder.makeExchange
(String serviceName, String opName, HeaderCopier headerCopier) Modifier and TypeMethodDescriptionvoid
HeaderCopier.copy
(ChenileExchange exchange) void
PopulateContextContainer.copy
(ChenileExchange exchange) protected void
PopulateContextContainer.doPostProcessing
(ChenileExchange exchange) protected void
PopulateContextContainer.doPreProcessing
(ChenileExchange exchange) static void
PopulateContextContainer.populateChenileExchangeFromContext
(ChenileExchange exchange, ContextContainer contextContainer) static void
PopulateContextContainer.populateContextFromChenileExchange
(ChenileExchange exchange, ContextContainer contextContainer) Modifier and TypeMethodDescriptionvoid
ChenileExchange.setChainContext
(ChainContext<ChenileExchange> chainContext) -
Uses of ChenileExchange in org.chenile.core.entrypoint
Modifier and TypeFieldDescriptionprivate OrchExecutor<ChenileExchange>
ChenileEntryPoint.chenileOrchExecutor
Modifier and TypeMethodDescriptionvoid
ChenileEntryPoint.execute
(ChenileExchange chenileExchange) -
Uses of ChenileExchange in org.chenile.core.event
Modifier and TypeMethodDescriptionvoid
EventProcessor.handleEvent
(ChenileEventDefinition ced, ChenileExchange chenileExchange) protected void
EventProcessor.setHeaders
(ChenileExchange chenileExchange) An Extension point to allow subclasses to set the headers in the Chenile Exchange prior to invoking it. -
Uses of ChenileExchange in org.chenile.core.init
Modifier and TypeFieldDescriptionprivate final List<Command<ChenileExchange>>
AbstractServiceInitializer.InterceptorChain.commandList
Modifier and TypeMethodDescriptionstatic Command<ChenileExchange>
AbstractServiceInitializer.constructBodyTypeInterceptorsChain
(String[] bodyTypeInterceptors, ApplicationContext applicationContext) private List<Command<ChenileExchange>>
AbstractServiceInitializer.initInterceptors
(List<String> interceptorCommandNames) Modifier and TypeMethodDescriptionvoid
AbstractServiceInitializer.InterceptorChain.execute
(ChenileExchange exchange) -
Uses of ChenileExchange in org.chenile.core.interceptors
Modifier and TypeMethodDescriptionprotected boolean
BaseChenileInterceptor.bypassInterception
(ChenileExchange exchange) Over-ride this to bypass interception in special circumstancesprotected boolean
LogOutput.bypassInterception
(ChenileExchange exchange) private void
ServiceInvoker.constructApiInvocation
(ChenileExchange exchange) populates the apiInvocation for use by the invokeApi() call aboveprivate void
LogOutput.copyParamHeaders
(LogRecord record, ChenileExchange exchange) protected final void
BaseChenileInterceptor.doContinue
(ChenileExchange exchange) This method needs to be called if you wish to continue processing with the rest of the interception chain.protected void
BaseChenileInterceptor.doPostProcessing
(ChenileExchange exchange) Override this to do post processing.protected void
ChenileExceptionHandler.doPostProcessing
(ChenileExchange exchange) protected void
GenericResponseBuilder.doPostProcessing
(ChenileExchange chenileExchange) protected void
LogOutput.doPostProcessing
(ChenileExchange chenileExchange) protected void
ValidateCopyHeaders.doPostProcessing
(ChenileExchange exchange) protected void
BaseChenileInterceptor.doPreProcessing
(ChenileExchange exchange) Override this to do pre-processing.protected void
ConstructServiceReference.doPreProcessing
(ChenileExchange exchange) protected void
ValidateCopyHeaders.doPreProcessing
(ChenileExchange exchange) void
BaseChenileInterceptor.execute
(ChenileExchange exchange) If this method is over-ridden, make sure that you call doContinue unless you want to end the chain here! This is very important.void
ServiceInvoker.execute
(ChenileExchange chenileExchange) private static MultipartFile
ServiceInvoker.extractMultipart
(String name, ChenileExchange exchange) protected <T extends Annotation>
TBaseChenileInterceptor.getExtensionByAnnotation
(Class<T> klass, ChenileExchange exchange) BaseChenileInterceptor.getExtensionByAnnotation
(String name, ChenileExchange exchange) Deprecated.private HttpStatus
GenericResponseBuilder.getSuccessHttpStatus
(ChenileExchange exchange) private void
ServiceInvoker.invokeApi
(ChenileExchange exchange) private boolean
ConstructServiceReference.isMock
(ChenileExchange exchange) private LogRecord
LogOutput.makeLogRecord
(ChenileExchange exchange) private void
GenericResponseBuilder.populateResponseMessages
(GenericResponse<Object> genericResponse, ChenileExchange exchange) private void
ConstructServiceReference.populateServiceRef
(ChenileExchange exchange, String serviceId, Object ref) private void
GenericResponseBuilder.processFailure
(ChenileExchange exchange) private void
GenericResponseBuilder.processSuccess
(ChenileExchange exchange) protected void
BaseChenileInterceptor.resumeFromSavedPoint
(ChainContext.SavePoint savePoint, ChenileExchange exchange) protected ChainContext.SavePoint
BaseChenileInterceptor.savePoint
(ChenileExchange exchange) This is used when an interceptor needs to save the current position in the interceptor chain with the intent of continuing again from the saved point.private boolean
ConstructServiceReference.trajectoryDoesNotOverrideService
(ChenileExchange exchange) protected void
ChenileExceptionHandler.translateErrors
(ChenileExchange exchange) private void
ChenileExceptionHandler.translateResponseMessages
(ChenileExchange exchange) protected void
ChenileExceptionHandler.translateWarnings
(ChenileExchange exchange) -
Uses of ChenileExchange in org.chenile.core.interceptors.interpolations
Modifier and TypeMethodDescriptionprotected List<Command<ChenileExchange>>
ExceptionHandlerInterpolation.fetchCommands
(ChenileExchange context) protected List<Command<ChenileExchange>>
OperationSpecificProcessorsInterpolation.fetchCommands
(ChenileExchange exchange) protected List<Command<ChenileExchange>>
PostProcessorsInterpolation.fetchCommands
(ChenileExchange context) protected List<Command<ChenileExchange>>
PreProcessorsInterpolation.fetchCommands
(ChenileExchange context) protected List<Command<ChenileExchange>>
ServiceSpecificProcessorsInterpolation.fetchCommands
(ChenileExchange exchange) Modifier and TypeMethodDescriptionprotected List<Command<ChenileExchange>>
ExceptionHandlerInterpolation.fetchCommands
(ChenileExchange context) protected List<Command<ChenileExchange>>
OperationSpecificProcessorsInterpolation.fetchCommands
(ChenileExchange exchange) protected List<Command<ChenileExchange>>
PostProcessorsInterpolation.fetchCommands
(ChenileExchange context) protected List<Command<ChenileExchange>>
PreProcessorsInterpolation.fetchCommands
(ChenileExchange context) protected List<Command<ChenileExchange>>
ServiceSpecificProcessorsInterpolation.fetchCommands
(ChenileExchange exchange) -
Uses of ChenileExchange in org.chenile.core.model
Modifier and TypeFieldDescriptionprotected Command<ChenileExchange>
ChenileServiceDefinition.bodyTypeSelector
protected Command<ChenileExchange>
OperationDefinition.bodyTypeSelector
Sometimes it is possible that the output is not specifiable since it can vary depending on the value of some headers.private List<Command<ChenileExchange>>
ChenileServiceDefinition.clientInterceptorCommands
protected List<Command<ChenileExchange>>
OperationDefinition.clientInterceptorCommands
private List<Command<ChenileExchange>>
ChenileServiceDefinition.interceptorCommands
protected List<Command<ChenileExchange>>
OperationDefinition.interceptorCommands
private List<Command<ChenileExchange>>
ChenileConfiguration.postProcessorCommands
private List<Command<ChenileExchange>>
ChenileConfiguration.preProcessorCommands
Modifier and TypeMethodDescriptionChenileServiceDefinition.getBodyTypeSelector()
OperationDefinition.getBodyTypeSelector()
ChenileServiceDefinition.getClientInterceptorCommands()
OperationDefinition.getClientInterceptorCommands()
ChenileServiceDefinition.getInterceptorCommands()
OperationDefinition.getInterceptorCommands()
ChenileConfiguration.getPostProcessorCommands()
ChenileConfiguration.getPreProcessorCommands()
Modifier and TypeMethodDescriptionvoid
ChenileServiceDefinition.setBodyTypeSelector
(Command<ChenileExchange> bodyTypeSelector) void
OperationDefinition.setBodyTypeSelector
(Command<ChenileExchange> command) void
ChenileServiceDefinition.setClientInterceptorCommands
(List<Command<ChenileExchange>> clientInterceptorCommands) void
OperationDefinition.setClientInterceptorCommands
(List<Command<ChenileExchange>> clientInterceptorCommands) void
ChenileServiceDefinition.setInterceptorCommands
(List<Command<ChenileExchange>> interceptorCommands) void
OperationDefinition.setInterceptorCommands
(List<Command<ChenileExchange>> commands) -
Uses of ChenileExchange in org.chenile.core.transform
Modifier and TypeMethodDescriptionprivate Command<ChenileExchange>
TransformationClassSelector.obtainBodyTypeSelector
(ChenileExchange exchange) Modifier and TypeMethodDescriptionvoid
TransformationClassSelector.doPreProcessing
(ChenileExchange exchange) void
Transformer.doPreProcessing
(ChenileExchange exchange) void
SubclassBodyTypeSelector.execute
(ChenileExchange exchange) private Command<ChenileExchange>
TransformationClassSelector.obtainBodyTypeSelector
(ChenileExchange exchange) private void
TransformationClassSelector.setDefaultBodyType
(ChenileExchange exchange) private void
Transformer.throwBadRequestException
(ChenileExchange exchange, Exception e) -
Uses of ChenileExchange in org.chenile.cucumber.nonrest
Modifier and TypeMethodDescriptionprivate ChenileExchange
CukesSteps.makeExchange
(String serviceName, String operationName) -
Uses of ChenileExchange in org.chenile.http.handler
Modifier and TypeMethodDescriptionprivate ChenileExchange
ControllerSupport.makeExchange
(HttpServletRequest request, String opName, Object[] args) Modifier and TypeMethodDescriptionprivate void
ControllerSupport.enhanceBodyWithWarnings
(ResponseEntity.BodyBuilder bodyBuilder, ChenileExchange chenileExchange) private void
ControllerSupport.populateBody
(ChenileExchange chenileExchange, Object[] args) private void
HttpEntryPoint.processFailure
(ChenileExchange exchange, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) private void
HttpEntryPoint.processResponse
(ChenileExchange exchange, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) private void
HttpEntryPoint.processResponsePdf
(ChenileExchange exchange, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, int httpStatusCode) private void
HttpEntryPoint.processSuccess
(ChenileExchange exchange, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) private void
HttpEntryPoint.processWarningsIfAny
(ChenileExchange exchange, HttpServletResponse httpServletResponse) private void
HttpEntryPoint.setBody
(HttpServletRequest httpServletRequest, ChenileExchange exchange) -
Uses of ChenileExchange in org.chenile.mqtt.entry
Modifier and TypeMethodDescriptionprivate ChenileExchange
MqttEntryPoint.makeExchange
(String topic) topic will be in the format /some/stuff/serviceName/operationName extract the service name and operation name from the topicModifier and TypeMethodDescriptionprivate void
MqttEntryPoint.populateHeaders
(org.eclipse.paho.mqttv5.common.MqttMessage message, ChenileExchange exchange) -
Uses of ChenileExchange in org.chenile.proxy.builder
Modifier and TypeFieldDescription(package private) OrchExecutor<ChenileExchange>
ProxyBuilder.chenileProxyOrchExecutor
Modifier and TypeMethodDescriptionprivate void
ProxyBuilder.ProxyClass.populateArgs
(ChenileExchange exchange, Object[] args) -
Uses of ChenileExchange in org.chenile.proxy.interceptors
Modifier and TypeFieldDescriptionprivate final ChenileExchange
ChenileResponseHandler.chenileExchange
Modifier and TypeMethodDescriptionprivate String
ProxyTypeRouter.computeDynamic
(ChenileExchange exchange) protected String
ProxyTypeRouter.computeRoutingString
(ChenileExchange exchange) private static String
HttpInvoker.constructUrl
(String contextPath, String url, ChenileExchange exchange) Constructs the URL taking care of path variablesprotected void
ResponseBodyTypeSelector.doPreProcessing
(ChenileExchange exchange) void
HttpInvoker.execute
(ChenileExchange exchange) void
LocalProxyInvoker.execute
(ChenileExchange exchange) private HttpHeaders
HttpInvoker.extractHeaders
(ChenileExchange exchange) protected RestTemplate
HttpInvoker.getRestTemplate
(ChenileExchange chenileExchange) private void
HttpInvoker.populateResponse
(ResponseEntity<GenericResponse<?>> httpResponse, String baseURI, String serviceOpName, ChenileExchange exchange) private String
ProxyTypeRouter.proxyMode
(ChenileExchange exchange) private void
HttpInvoker.setCorrectException
(ChenileExchange exchange, Object[] eArgs, RestClientException e) ModifierConstructorDescriptionChenileResponseHandler
(ChenileExchange exchange, ObjectMapper objectMapper) -
Uses of ChenileExchange in org.chenile.proxy.interceptors.interpolations
Modifier and TypeMethodDescriptionprotected List<Command<ChenileExchange>>
OperationSpecificClientProcessorsInterpolation.fetchCommands
(ChenileExchange exchange) protected List<Command<ChenileExchange>>
ServiceSpecificClientProcessorsInterpolation.fetchCommands
(ChenileExchange exchange) Modifier and TypeMethodDescriptionprotected List<Command<ChenileExchange>>
OperationSpecificClientProcessorsInterpolation.fetchCommands
(ChenileExchange exchange) protected List<Command<ChenileExchange>>
ServiceSpecificClientProcessorsInterpolation.fetchCommands
(ChenileExchange exchange) -
Uses of ChenileExchange in org.chenile.query.service.interceptor
Modifier and TypeMethodDescriptionprotected void
QuerySAASInterceptor.doPreProcessing
(ChenileExchange exchange) protected void
QueryUserFilterInterceptor.doPreProcessing
(ChenileExchange exchange) -
Uses of ChenileExchange in org.chenile.scheduler.jobs
Modifier and TypeMethodDescriptionprivate void
ScheduledJob.copyHeaders
(ChenileExchange exchange, org.quartz.JobExecutionContext context) -
Uses of ChenileExchange in org.chenile.security
Modifier and TypeMethodDescriptionboolean
SecurityServiceImpl.doesCurrentUserHaveGuardingAuthorities
(ChenileExchange exchange) -
Uses of ChenileExchange in org.chenile.security.interceptor
Modifier and TypeMethodDescriptionprotected boolean
SecurityInterceptor.bypassInterception
(ChenileExchange exchange) This bypasses the logic only if the security config is configured to be unprotected or if the security config does not exist at all.
Also, we will only enforce it in the HTTP end point.protected void
SecurityInterceptor.doPreProcessing
(ChenileExchange exchange) -
Uses of ChenileExchange in org.chenile.security.model
Modifier and TypeMethodDescriptionString[]
AuthoritiesSupplier.getAuthorities
(ChenileExchange exchange) -
Uses of ChenileExchange in org.chenile.security.service
Modifier and TypeMethodDescriptionboolean
SecurityService.doesCurrentUserHaveGuardingAuthorities
(ChenileExchange exchange) String[]
SecurityConfigService.getGuardingAuthorities
(ChenileExchange exchange) -
Uses of ChenileExchange in org.chenile.security.service.impl
Modifier and TypeMethodDescriptionprivate String[]
SecurityConfigServiceImpl.executeAuthoritiesSupplier
(Object obj, ChenileExchange exchange) String[]
SecurityConfigServiceImpl.getGuardingAuthorities
(ChenileExchange exchange) private SecurityConfig
SecurityConfigServiceImpl.getSecurityConfig
(ChenileExchange exchange) -
Uses of ChenileExchange in org.chenile.utils.region
Modifier and TypeMethodDescriptionprotected void
RegionToTrajectoryConverter.doPreProcessing
(ChenileExchange exchange) -
Uses of ChenileExchange in org.chenile.workflow.service.stmcmds