Curator - Groovy trigger
This feature is not available in the Squiz DXP. |
The Groovy trigger determines whether or not the trigger fires by running a section of administrator-defined Groovy code. This code must be in the form of a class which implements Funnelback’s com.funnelback.publicui.curator.trigger.GroovyTriggerInterface
interface.
Example configuration
The trigger
section of a curator rule in the $SEARCH_HOME/conf/SEARCH-PACKAGE-ID/RESULTS-PAGE-ID/curator.json
configuration file may be updated to have:
"trigger" : {
"type" : "Groovy",
"classFile" : "/path/exampeTrigger.groovy",
"properties" : {
"key" : "value"
}
}
Example class implementation
The following example is an implementation of a trigger called 'TestTrigger' which fires at random on 50% of requests.
Note that the class implements the com.funnelback.publicui.curator.trigger.GroovyTriggerInterface
which requires the implementation of the activatesOn
method which defines the trigger logic. The activatesOn
method accepts two parameters, one being a representation of the search transaction being performed (allowing the user’s query or similar to be determined) and the other being the parameters passed from the configuration file as described above.
import com.funnelback.publicui.search.model.transaction.SearchTransaction;
import java.util.Random;
public class TestTrigger implements com.funnelback.publicui.curator.trigger.GroovyTriggerInterface {
def boolean activatesOn(SearchTransaction searchTransaction, Map<String, Object> properties) {
return new Random().nextBoolean();
}
}