package com.forter.contracts.testng;
import backtype.storm.task.TopologyContext;
import com.forter.contracts.IContractsBolt;
import com.google.common.collect.Lists;
import java.util.Collection;
import java.util.LinkedList;
import java.util.Map;
/**
* Sample ContractBolt
*/
public class MyBolt implements IContractsBolt<MyBoltInput,Collection<MyBoltOutput>> {
@Override
public void prepare(Map stormConf, TopologyContext context) {
}
@Override
public Collection<MyBoltOutput> execute(MyBoltInput input) {
MyBoltOutput output = new MyBoltOutput();
if (input.y.isPresent()) {
output.z = input.y.get() + input.x;
}
else {
output.z = "default" + input.x;
}
MyBoltListItem listItem = new MyBoltListItem();
listItem.x = 1;
listItem.y = "test";
output.list = new LinkedList<>();
output.list.add(listItem);
return Lists.newArrayList(output);
}
@Override
public Collection<MyBoltOutput> createDefaultOutput() {
MyBoltOutput output = new MyBoltOutput();
return Lists.newArrayList(output);
}
@Override
public void cleanup() {
}
@Override
public Map<String, Object> getComponentConfiguration() {
return null;
}
}