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 Producer would map to a Camel route node with a URI like 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&ltMetacard&gt or Metacard exchange.getIn().getBody() updated with List of Metacards created
Update Metacard(s) catalog:framework operation:UPDATE List&ltMetacard&gt or Metacard exchange.getIn().getBody() updated with List of Metacards updated
Delete Metacard(s) catalog:framework operation:DELETE List&ltString&gt or String (IDs of Metacards to delete) exchange.getIn().getBody() updated with List of Metacards deleted
Author:
Sam Patel
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static interface 
    FrameworkProducer.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

    Constructors
    Constructor
    Description
    FrameworkProducer(CatalogEndpoint endpoint, ddf.catalog.CatalogFramework catalogFramework)
    Constructs the Producer for the custom Camel CatalogComponent.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    process(org.apache.camel.Exchange exchange)
     

    Methods inherited from class org.apache.camel.support.DefaultProducer

    createExchange, doStart, doStop, getEndpoint, isSingleton, toString

    Methods 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, suspend

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.apache.camel.Service

    build, close, init, start, stop

    Methods inherited from interface org.apache.camel.ShutdownableService

    shutdown

    Methods inherited from interface org.apache.camel.StatefulService

    getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspending

    Methods inherited from interface org.apache.camel.SuspendableService

    isSuspended, resume, suspend