-
Notifications
You must be signed in to change notification settings - Fork 99
Callbacks
Callbacks in Collins are of utmost importance and are used for Solr indexing of asset and asset log information. Callbacks are also required for the firehose
While the meat of the implementation is in the package collins.callbacks
, the models play a very important role in the implementation. Any model that extends
trait
BasicModel
can indicate the need to fire callbacks on create
and delete
by providing an implementation for the methods createEventName
and deleteEventName
.
Models that extend
trait
AnormAdapter
similarly can request to fire callback on update
by providing an implemnetation for the methods updateEventName
Callbacks are dispatched via an actor configured by the akka property change_queue_processor
in the production config. Callbacks can be configured to be invoked on an event name, this event name must match the name provided by the model overrides. For example the Asset
model specifies the following event name
override protected val createEventName = Some("asset_create")
override protected val updateEventName = Some("asset_update")
override protected val deleteEventName = Some("asset_delete")
Callback can be configured via the configuration file to have a previous and current condition. These conditions can make use of any of the Boolean
properties specified in AssetView
. The common use case is to use the status values
def isIncomplete(): Boolean
def isNew(): Boolean
def isUnallocated(): Boolean
def isProvisioning(): Boolean
def isProvisioned(): Boolean
def isAllocated(): Boolean
def isCancelled(): Boolean
def isDecommissioned(): Boolean
def isMaintenance(): Boolean