/** * Licensed under the terms of the Apache License 2.0. Please see LICENSE file in the project root for terms. */ package apex.benchmark; import com.datatorrent.api.Context; import com.datatorrent.api.DefaultInputPort; import com.datatorrent.common.util.BaseOperator; import benchmark.common.advertising.CampaignProcessorCommon; public class CampaignProcessor extends BaseOperator { private transient CampaignProcessorCommon campaignProcessorCommon; private String redisServerHost; public String getRedisServerHost() { return redisServerHost; } public void setRedisServerHost(String redisServerHost) { this.redisServerHost = redisServerHost; } public transient DefaultInputPort<Tuple> input = new DefaultInputPort<Tuple>() { @Override public void process(Tuple tuple) { try { campaignProcessorCommon.execute(String.valueOf(tuple.campaignId), String.valueOf(tuple.event_time)); } catch ( Exception exception ) { throw new RuntimeException("" + tuple.campaignId + ", " + tuple.event_time); } } }; public void setup(Context.OperatorContext context) { campaignProcessorCommon = new CampaignProcessorCommon(redisServerHost); this.campaignProcessorCommon.prepare(); } }