package com.produban.openbus.topologies; import org.apache.storm.hdfs.trident.format.FileNameFormat; import java.util.Map; public class OpenbusFileNameFormat implements FileNameFormat { private int partitionIndex; private String path = "/storm"; private String prefix = ""; private String extension = ".txt"; /** * Overrides the default prefix. * * @param prefix * @return */ public OpenbusFileNameFormat withPrefix(String prefix) { this.prefix = prefix; return this; } /** * Overrides the default file extension. * * @param extension * @return */ public OpenbusFileNameFormat withExtension(String extension) { this.extension = extension; return this; } public OpenbusFileNameFormat withPath(String path) { this.path = path; return this; } @Override public void prepare(Map conf, int partitionIndex, int numPartitions) { this.partitionIndex = partitionIndex; } @Override public String getName(long rotation, long timeStamp) { return this.prefix + "-" + this.partitionIndex + "-" + rotation + "-" + timeStamp + this.extension; } public String getName(long rotation, long timeStamp, String timeStampDato) { return this.prefix + "-" + timeStampDato + "-" + this.partitionIndex + "-" + rotation + "-" + timeStamp + this.extension; } public String getPath() { return this.path; } }