Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
SMILA/Documentation/Mock Agent
Contents
Overview
The Mock agent is a sample implementation of an agent used for testing. It creates new records in a configurable interval and sends add requests to the AgentController.
A record can contain the following attributes:
- Identifier
- MimeType
- LastModifiedDate
- Content
Agent configuration
The example configuration file is located at configuration/org.eclipse.smila.connectivity.framework/mockAgent.xml.
Defining Schema: org.eclipse.smila.connectivits.framework.agent.mock/schemas/MockDataSourceConnectionConfigSchema.xsd.
Agent configuration explanation
The root element of the configuration is DataSourceConnectionConfig and contains the following sub elements:
- DataSourceID – the identification of a data source
- SchemaID – specifies the schema for the data source
- DataConnectionID – describes which agent or crawler should be used
- Crawler – service ID a crawler
- Agent – service ID of an agent
- CompoundHandling – specify if packed data (like a ZIP container containing files) should be unpack and files within should be processed(YES or NO).
- Attributes – list all attributes provided by the data source
- Attribute
- Type (required) – the data type (String, Integer or Date).
- Name (required) – attributes name.
- HashAttribute – specify if a hash should be created (true or false).
- KeyAttribute – creates a key for this object, for example for record id (true or false).
- Attachment – specify if the attribute return the data as attachment of record.
- Attribute
- Process – contains parameters for the agent business logic.
- SleepTime – the number of seconds to wait betweeen creation of records.
Mock agent configuration example
<DataSourceConnectionConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../org.eclipse.smila.connectivity.framework.agent.mock/schemas/MockDataSourceConnectionConfigSchema.xsd" > <DataSourceID>mockAgent</DataSourceID> <SchemaID>org.eclipse.smila.connectivity.framework.agent.mock</SchemaID> <DataConnectionID> <Agent>MockAgent</Agent> </DataConnectionID> <CompoundHandling>Yes</CompoundHandling> <Attributes> <Attribute Type="Date" Name="LastModifiedDate" HashAttribute="true"> <MockAttributes>LastModifiedDate</MockAttributes> </Attribute> <Attribute Type="String" Name="Path" KeyAttribute="true"> <MockAttributes>Identifier</MockAttributes> </Attribute> <Attribute Type="String" Name="Content" Attachment="true" MimeTypeAttribute="MimeType"> <MockAttributes>Content</MockAttributes> </Attribute> <Attribute Type="String" Name="MimeType"> <MockAttributes>MimeType</MockAttributes> </Attribute> </Attributes> <Process> <SleepTime>60</SleepTime> </Process> </DataSourceConnectionConfig>
Output example
A record created by the Mock agent will have the following structure:
<Record xmlns="http://www.eclipse.org/smila/record" version="2.0"> <Val key="_recordid">mockAgent:<Path=1241449855624></Val> <Val key="_source">mockAgent</Val> <Val key="LastModifiedDate" type="datetime">2009-05-04 16:44:46.541</Val> <Val key="Path">1241449855624</Val> <Val key="MimeType">text/html</Val> <Attachment>Content</Attachment> </Record>