Class DataEnricherApi
Namespace: Casewhere.Runtime.DSL.Api
Assembly: Casewhere.Runtime.dll
public class DataEnricherApi : IDataEnricherApi, IDslApi
Inheritance
Implements
Inherited Members
object.ToString(), object.Equals(object), object.Equals(object, object), object.ReferenceEquals(object, object), object.GetHashCode(), object.GetType(), object.MemberwiseClone()
Extension Methods
ObjectExtension.ConvertToBsonValue(object), EnumExtensions.DeepClone<DataEnricherApi>(DataEnricherApi)
Constructors
DataEnricherApi(IPriorityJobQueue, ISearchDataEnricher, IDataClassRepository, IDomainRepository, IDataObjectIndexManager)
public DataEnricherApi(IPriorityJobQueue priorityJobQueue, ISearchDataEnricher searchDataEnricher, IDataClassRepository dataClassRepository, IDomainRepository domainRepository, IDataObjectIndexManager dataObjectIndexManager)
Parameters
priorityJobQueue IPriorityJobQueue
searchDataEnricher ISearchDataEnricher
dataClassRepository IDataClassRepository
domainRepository IDomainRepository
dataObjectIndexManager IDataObjectIndexManager
Methods
CreateIndex(string, DslIndexDefinition)
Create an index for attributes of data class.
public void CreateIndex(string dataClassName, DslIndexDefinition indexDefinition)
Parameters
dataClassName string
Data class name by user defined
indexDefinition DslIndexDefinition
Index information
Examples
var dataClassName = "Company";
var indexDefinition = new DslIndexDefinition()
{
Name= "CompanyName", //User define
Keys = new List<DslIndexKeyDefinition>()
{
new DslIndexKeyDefinition(name: "CompanyName", indexType: 1)
}
};
var dataEnricherApi = ctx.Use<IDataEnricherApi>();
dataEnricherApi.CreateIndex(dataClassName, indexDefinition);
DropIndex(string, string)
Drop an index of data class.
public void DropIndex(string dataClassName, string indexName)
Parameters
dataClassName string
Data class name by user defined.
indexName string
Name of Index.
Examples
var dataClassName = "Company";
var indexName = "CompanyName";
var dataEnricherApi = ctx.Use<IDataEnricherApi>();
dataEnricherApi.DropIndex(dataClassName, indexName);
Enrich(string)
Enrich search data for specific data object id
public void Enrich(string dataObjectId)
Parameters
dataObjectId string
GetIndexes(string)
Get list existing indexes of data class.
public List<DslIndexDefinition> GetIndexes(string dataClassName)
Parameters
dataClassName string
Data class name by user defined.
Returns
List existing indexes of data class
Examples
var dataClassName = "Company";
var dataEnricherApi = ctx.Use<IDataEnricherApi>();
var currentIndexes = dataEnricherApi.GetIndexes(dataClassName);
Queue(string)
Queues a data enriching job for specific data object id
public void Queue(string dataObjectId)
Parameters
dataObjectId string
QueueAll(string, TimeSpan?, int)
Enrich the whole data collection. The workflow will be blocked until all the data enriching jobs are queued.
public void QueueAll(string dataClassName, TimeSpan? timeout = null, int batchSize = 100)
Parameters
dataClassName string
The data class name.
timeout TimeSpan?
The timeout.
batchSize int
The batch size.
Examples
var dataApi = ctx.Use<IDataEnricherApi>();
dataApi.QueueAll("Employee", TimeSpan.FromSeconds(30));
QueueAllAsync(string, TimeSpan?, int)
Enrich the whole data collection asynchronously. The workflow will be continue and finish without waiting all the jobs are queued.
public void QueueAllAsync(string dataClassName, TimeSpan? timeout = null, int batchSize = 100)
Parameters
dataClassName string
The data class name.
timeout TimeSpan?
The timeout.
batchSize int
The batch size.
Examples
var dataApi = ctx.Use<IDataEnricherApi>();
dataApi.QueueAllAsync("Employee", TimeSpan.FromSeconds(30));