blob: 118123fc83bbdf9827a9483901902fd38432b89f [file] [log] [blame]
// Copyright 2016 Twitter. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package org.apache.storm.topology;
// TODO:- Add this
// import org.apache.storm.grouping.CustomStreamGrouping;
import org.apache.storm.generated.StormTopology;
import com.twitter.heron.api.HeronTopology;
public class TopologyBuilder {
private com.twitter.heron.api.topology.TopologyBuilder delegate =
new com.twitter.heron.api.topology.TopologyBuilder();
public StormTopology createTopology() {
HeronTopology topology = delegate.createTopology();
return new StormTopology(topology);
}
public BoltDeclarer setBolt(String id, IRichBolt bolt) {
return setBolt(id, bolt, null);
}
public BoltDeclarer setBolt(String id, IRichBolt bolt, Number parallelismHint) {
IRichBoltDelegate boltImpl = new IRichBoltDelegate(bolt);
com.twitter.heron.api.topology.BoltDeclarer declarer =
delegate.setBolt(id, boltImpl, parallelismHint);
return new BoltDeclarerImpl(declarer);
}
public BoltDeclarer setBolt(String id, IBasicBolt bolt) {
return setBolt(id, bolt, null);
}
public BoltDeclarer setBolt(String id, IBasicBolt bolt, Number parallelismHint) {
return setBolt(id, new BasicBoltExecutor(bolt), parallelismHint);
}
public SpoutDeclarer setSpout(String id, IRichSpout spout) {
return setSpout(id, spout, null);
}
public SpoutDeclarer setSpout(String id, IRichSpout spout, Number parallelismHint) {
IRichSpoutDelegate spoutImpl = new IRichSpoutDelegate(spout);
com.twitter.heron.api.topology.SpoutDeclarer declarer =
delegate.setSpout(id, spoutImpl, parallelismHint);
return new SpoutDeclarerImpl(declarer);
}
}