Class FrameworkProducer
java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.support.DefaultProducer
ddf.camel.component.catalog.framework.FrameworkProducer
- All Implemented Interfaces:
AutoCloseable,org.apache.camel.EndpointAware,org.apache.camel.IsSingleton,org.apache.camel.Processor,org.apache.camel.Producer,org.apache.camel.Service,org.apache.camel.ShutdownableService,org.apache.camel.StatefulService,org.apache.camel.SuspendableService
public class FrameworkProducer
extends org.apache.camel.support.DefaultProducer
Producer for the custom Camel CatalogComponent. This route node with a URI like
Producer would map
to a Camel catalog:framework. The message sent to
this component should have header named "operation" with a value of "CREATE", "UPDATE" or
"DELETE".
For the CREATE and UPDATE operation, the message body can contain a List of
Metacards or a single Metacard object.
For the DELETE operation, the message body can contain a List of String or a single String object. The String objects represent the IDs of
Metacards that you would want to delete.
The exchange's "in" message will be set with the affected Metacards. In the case of a CREATE, it will be updated with the created Metacards. In the case of the UPDATE, it will be updated with the updated Metacards and with the DELETE it will contain the deleted Metacards.
| USE CASE | ROUTE NODE | HEADER | MESSAGE BODY | EXCHANGE MODIFICATION |
|---|---|---|---|---|
| Create Metacard(s) | catalog:framework | operation:CREATE | List<Metacard> or Metacard | exchange.getIn().getBody() updated with List of Metacards created |
| Update Metacard(s) | catalog:framework | operation:UPDATE | List<Metacard> or Metacard | exchange.getIn().getBody() updated with List of Metacards updated |
| Delete Metacard(s) | catalog:framework | operation:DELETE | List<String> or String (IDs of Metacards to delete) | exchange.getIn().getBody() updated with List of Metacards deleted |
- Author:
- Sam Patel
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceFrameworkProducer.CatalogFunction<T extends ddf.catalog.operation.Operation,R> -
Field Summary
Fields inherited from class org.apache.camel.support.service.BaseService
BUILT, FAILED, INITIALIZED, INITIALIZING, lock, NEW, SHUTDOWN, SHUTTING_DOWN, STARTED, STARTING, status, STOPPED, STOPPING, SUSPENDED, SUSPENDING -
Constructor Summary
ConstructorsConstructorDescriptionFrameworkProducer(CatalogEndpoint endpoint, ddf.catalog.CatalogFramework catalogFramework) Constructs theProducerfor the custom Camel CatalogComponent. -
Method Summary
Methods inherited from class org.apache.camel.support.DefaultProducer
createExchange, doStart, doStop, getEndpoint, isSingleton, toStringMethods inherited from class org.apache.camel.support.service.BaseService
build, doBuild, doFail, doInit, doLifecycleChange, doResume, doShutdown, doSuspend, fail, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspendMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.camel.Service
build, close, init, start, stopMethods inherited from interface org.apache.camel.ShutdownableService
shutdownMethods inherited from interface org.apache.camel.StatefulService
getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspendingMethods inherited from interface org.apache.camel.SuspendableService
isSuspended, resume, suspend
-
Constructor Details
-
FrameworkProducer
Constructs theProducerfor the custom Camel CatalogComponent.- Parameters:
endpoint- the Camel endpoint that created this consumercatalogFramework- the DDF Catalog Framework to use
-
-
Method Details
-
process
public void process(org.apache.camel.Exchange exchange) throws FrameworkProducerException, InterruptedException
-