blob: bdb42f86e8b50946dae01c5829e745c1bcc8e4d6 [file] [log] [blame]
package org.apache.storm.beam.translation;
import org.apache.beam.sdk.io.Read;
import org.apache.beam.sdk.transforms.GroupByKey;
import org.apache.beam.sdk.transforms.PTransform;
import org.apache.beam.sdk.transforms.ParDo;
import org.apache.beam.sdk.transforms.windowing.Window;
import java.util.HashMap;
import java.util.Map;
/**
* Lookup table mapping PTransform types to associated TransformTranslator implementations.
*/
public class TranslatorRegistry {
private static final Map<Class<? extends PTransform>, TransformTranslator> TRANSLATORS = new HashMap();
static {
TRANSLATORS.put(Read.Unbounded.class, new UnboundedSourceTranslator());
TRANSLATORS.put(Window.Bound.class, new WindowBoundTranslator<>());
TRANSLATORS.put(ParDo.Bound.class, new ParDoBoundTranslator<>());
TRANSLATORS.put(GroupByKey.class, new GroupByKeyTranslator<>());
}
static TransformTranslator<?> getTranslator(
PTransform<?, ?> transform) {
return TRANSLATORS.get(transform.getClass());
}
}