test_class.declarator: LOG = Logger.getLogger(
  			TestMergeStreamDataConsistency.class)
test_class.modifier: private static
test_class.original_string: private static Logger LOG = Logger.getLogger(
  			TestMergeStreamDataConsistency.class);
test_class.type: Logger
test_class.var_name: LOG
test_class.declarator: className = TestMergeStreamDataConsistency.class
  			.getSimpleName()
test_class.modifier: private static
test_class.original_string: private static String className = TestMergeStreamDataConsistency.class
  			.getSimpleName();
test_class.type: String
test_class.var_name: className
test_class.declarator: fs
test_class.original_string: FileSystem fs;
test_class.type: FileSystem
test_class.var_name: fs
test_class.declarator: mergedStreamUrl = "file:///tmp/test/" + className + "/1/"
test_class.original_string: String mergedStreamUrl = "file:///tmp/test/" + className + "/1/" ;
test_class.type: String
test_class.var_name: mergedStreamUrl
test_class.declarator: localStreamUrl = ("file:///tmp/test/" + className + "/2/," +
  			"file:///tmp/test/" + className +"/3/")
test_class.original_string: String localStreamUrl = ("file:///tmp/test/" + className + "/2/," +
  			"file:///tmp/test/" + className +"/3/");
test_class.type: String
test_class.var_name: localStreamUrl
test_class.declarator: localStreamUrls = localStreamUrl.split(",")
test_class.original_string: String [] localStreamUrls = localStreamUrl.split(",");
test_class.type: String []
test_class.var_name: localStreamUrls
test_class.declarator: emptyStreamName = new ArrayList<String>()
test_class.original_string: List<String> emptyStreamName = new ArrayList<String>();
test_class.type: List<String>
test_class.var_name: emptyStreamName
test_class.declarator: missedFilesStreamName = new ArrayList<String>()
test_class.original_string: List<String> missedFilesStreamName = new ArrayList<String>();
test_class.type: List<String>
test_class.var_name: missedFilesStreamName
test_class.declarator: emptyDirStreamName = new ArrayList<String>()
test_class.original_string: List<String> emptyDirStreamName = new ArrayList<String>();
test_class.type: List<String>
test_class.var_name: emptyDirStreamName
test_class.declarator: consistentDataStreamName = new ArrayList<String>()
test_class.original_string: List<String> consistentDataStreamName = new ArrayList<String>();
test_class.type: List<String>
test_class.var_name: consistentDataStreamName
test_class.declarator: dataReplayFilesStreamName = new ArrayList<String>()
test_class.original_string: List<String> dataReplayFilesStreamName = new ArrayList<String>();
test_class.type: List<String>
test_class.var_name: dataReplayFilesStreamName
test_class.declarator: extrafilesStreamName = new ArrayList<String>()
test_class.original_string: List<String> extrafilesStreamName = new ArrayList<String>();
test_class.type: List<String>
test_class.var_name: extrafilesStreamName
test_class.declarator: singleFileStreamName = new ArrayList<String>()
test_class.original_string: List<String> singleFileStreamName = new ArrayList<String>();
test_class.type: List<String>
test_class.var_name: singleFileStreamName
test_class.declarator: missingSingleFileStreamName = new ArrayList<String>()
test_class.original_string: List<String> missingSingleFileStreamName = new ArrayList<String>();
test_class.type: List<String>
test_class.var_name: missingSingleFileStreamName
test_class.declarator: inconsistencyAtEndOfStream = new ArrayList<String>()
test_class.original_string: List<String> inconsistencyAtEndOfStream = new ArrayList<String>();
test_class.type: List<String>
test_class.var_name: inconsistencyAtEndOfStream
test_class.declarator: allStreamNames = new ArrayList<String>()
test_class.original_string: List<String> allStreamNames = new ArrayList<String>();
test_class.type: List<String>
test_class.var_name: allStreamNames
test_class.declarator: emptyPaths = new ArrayList<Path>()
test_class.original_string: List<Path> emptyPaths = new ArrayList<Path>();
test_class.type: List<Path>
test_class.var_name: emptyPaths
test_class.declarator: emptyDirsPaths = new ArrayList<Path>()
test_class.original_string: List<Path> emptyDirsPaths = new ArrayList<Path>();
test_class.type: List<Path>
test_class.var_name: emptyDirsPaths
test_class.declarator: missedFilePaths = new ArrayList<Path>()
test_class.original_string: List<Path> missedFilePaths = new ArrayList<Path>();
test_class.type: List<Path>
test_class.var_name: missedFilePaths
test_class.declarator: dataReplayFilePaths = new ArrayList<Path>()
test_class.original_string: List<Path> dataReplayFilePaths = new ArrayList<Path>();
test_class.type: List<Path>
test_class.var_name: dataReplayFilePaths
test_class.declarator: extraFilePaths = new ArrayList<Path>()
test_class.original_string: List<Path> extraFilePaths = new ArrayList<Path>();
test_class.type: List<Path>
test_class.var_name: extraFilePaths
test_class.declarator: missingSingleFilePath =  new ArrayList<Path>()
test_class.original_string: List<Path> missingSingleFilePath =  new ArrayList<Path>();
test_class.type: List<Path>
test_class.var_name: missingSingleFilePath
test_class.declarator: inconsistencyEndPaths = new ArrayList<Path>()
test_class.original_string: List<Path> inconsistencyEndPaths = new ArrayList<Path>();
test_class.type: List<Path>
test_class.var_name: inconsistencyEndPaths
test_class.declarator: missing = false
test_class.original_string: boolean missing = false;
test_class.type: boolean
test_class.var_name: missing
test_class.declarator: missingAtEnd = false
test_class.original_string: boolean missingAtEnd = false;
test_class.type: boolean
test_class.var_name: missingAtEnd
test_class.declarator: temptime = System.currentTimeMillis()
test_class.original_string: long temptime = System.currentTimeMillis();
test_class.type: long
test_class.var_name: temptime
test_class.file: databus-worker/src/test/java/com/inmobi/databus/utils/TestMergeStreamDataConsistency.java
test_class.identifier: TestMergeStreamDataConsistency
test_case.body: @Test
  	public void testMergeStream() throws Exception {
  		MergeStreamDataConsistency obj = new MergeStreamDataConsistency();
  		testLocalMergeStreams(emptyStreamName, emptyPaths, obj);
  		testLocalMergeStreams(emptyDirStreamName, emptyDirsPaths, obj);
  		testLocalMergeStreams(missedFilesStreamName, missedFilePaths, obj);
  		testLocalMergeStreams(consistentDataStreamName, emptyPaths, obj);
  		testLocalMergeStreams(dataReplayFilesStreamName, dataReplayFilePaths, obj);
  		testLocalMergeStreams(extrafilesStreamName, extraFilePaths, obj);
  		testLocalMergeStreams(singleFileStreamName, emptyPaths, obj);
  		testLocalMergeStreams(missingSingleFileStreamName, missingSingleFilePath, obj);
  		testLocalMergeStreams(inconsistencyAtEndOfStream, inconsistencyEndPaths, obj);
  		
  		LOG.info("all streams together");
  		List<Path> allStreamPaths = new ArrayList<Path>();
  		allStreamPaths.addAll(emptyPaths);
  		allStreamPaths.addAll(emptyDirsPaths);
  		allStreamPaths.addAll(missedFilePaths);
  		allStreamPaths.addAll(dataReplayFilePaths);
  		allStreamPaths.addAll(extraFilePaths);
  		allStreamPaths.addAll(missingSingleFilePath);
  		allStreamPaths.addAll(inconsistencyEndPaths);
  
  		testLocalMergeStreams(allStreamNames, allStreamPaths, obj);
  		// testing run method
  		List<Path> inconsistentdata = new ArrayList<Path>();
  		String[] args = { ("file:///tmp/test/" + className + "/2/,file:///tmp/test/"
  				+ className +"/3/"), "file:///tmp/test/" + className + "/1/"};
  		LOG.info("testing run method");
  		inconsistentdata = obj.run(args);
  		Assert.assertEquals(inconsistentdata.size(), allStreamPaths.size());
  		Assert.assertTrue(inconsistentdata.containsAll(allStreamPaths));
  	}
test_case.class_method_signature: TestMergeStreamDataConsistency.testMergeStream()
test_case.full_signature: @Test public void testMergeStream()
test_case.identifier: testMergeStream
test_case.invocations: testLocalMergeStreams testLocalMergeStreams testLocalMergeStreams testLocalMergeStreams testLocalMergeStreams testLocalMergeStreams testLocalMergeStreams testLocalMergeStreams testLocalMergeStreams info addAll addAll addAll addAll addAll addAll addAll testLocalMergeStreams info run assertEquals size size assertTrue containsAll
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testMergeStream()
focal_class.declarator: LOG = LogFactory.getLog(
  			MergeStreamDataConsistency.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Log LOG = LogFactory.getLog(
  			MergeStreamDataConsistency.class);
focal_class.type: Log
focal_class.var_name: LOG
focal_class.file: databus-worker/src/main/java/com/inmobi/databus/utils/MergeStreamDataConsistency.java
focal_class.identifier: MergeStreamDataConsistency
focal_class.class_method_signature: MergeStreamDataConsistency.listingValidation(String mergedStreamRoorDir, String[] 
  			localStreamrootDirs, List<String> streamNames)
focal_class.full_signature: public List<Path> listingValidation(String mergedStreamRoorDir, String[] 
  			localStreamrootDirs, List<String> streamNames)
focal_class.identifier: listingValidation
focal_class.modifiers: public
focal_class.parameters: (String mergedStreamRoorDir, String[] 
  			localStreamrootDirs, List<String> streamNames)
focal_class.return: List<Path>
focal_class.signature: List<Path> listingValidation(String mergedStreamRoorDir, String[] 
  			localStreamrootDirs, List<String> streamNames)
focal_class.class_method_signature: MergeStreamDataConsistency.doRecursiveListing(Path streamDir, TreeMap<String, Path> 
  			listOfFiles, FileSystem fs)
focal_class.full_signature: public void doRecursiveListing(Path streamDir, TreeMap<String, Path> 
  			listOfFiles, FileSystem fs)
focal_class.identifier: doRecursiveListing
focal_class.modifiers: public
focal_class.parameters: (Path streamDir, TreeMap<String, Path> 
  			listOfFiles, FileSystem fs)
focal_class.return: void
focal_class.signature: void doRecursiveListing(Path streamDir, TreeMap<String, Path> 
  			listOfFiles, FileSystem fs)
focal_class.class_method_signature: MergeStreamDataConsistency.run(String [] args)
focal_class.full_signature: public List<Path> run(String [] args)
focal_class.identifier: run
focal_class.modifiers: public
focal_class.parameters: (String [] args)
focal_class.return: List<Path>
focal_class.signature: List<Path> run(String [] args)
focal_class.class_method_signature: MergeStreamDataConsistency.main(String [] args)
focal_class.full_signature: public static void main(String [] args)
focal_class.identifier: main
focal_class.modifiers: public static
focal_class.parameters: (String [] args)
focal_class.return: void
focal_class.signature: void main(String [] args)
focal_class.superclass: extends CompareDataConsistency
focal_method.body: public List<Path> run(String [] args) throws Exception {
  		List<Path> inconsistencydata = new ArrayList<Path>();
  		String [] localStreamrootDirs = args[0].split(",");
  		String mergedStreamRoorDir = args[1];	
  		List<String> streamNames = new ArrayList<String>();
  		if (args.length == 2) {
  			FileSystem fs = new Path(mergedStreamRoorDir, "streams").getFileSystem(
  					new Configuration());
  			FileStatus[] fileStatuses = fs.listStatus(new Path(mergedStreamRoorDir, 
  					"streams"));
  			if (fileStatuses.length != 0) {
  				for (FileStatus file : fileStatuses) {  
  					streamNames.add(file.getPath().getName());
  				} 
  			} else {
  				System.out.println("There are no stream names in the stream");
  			}
  		} else if (args.length == 3) {
  			for (String streamname : args[2].split(",")) {
  				streamNames.add(streamname);
  			}
  		} 
  		inconsistencydata = this.listingValidation(mergedStreamRoorDir, 
  				localStreamrootDirs, streamNames);
  		if (inconsistencydata.isEmpty()) {
  			System.out.println("there is no inconsistency data");
  		}
  		return inconsistencydata;
  	}
focal_method.class_method_signature: MergeStreamDataConsistency.run(String [] args)
focal_method.full_signature: public List<Path> run(String [] args)
focal_method.identifier: run
focal_method.invocations: split getFileSystem listStatus add getName getPath println split add listingValidation isEmpty println
focal_method.modifiers: public
focal_method.parameters: (String [] args)
focal_method.return: List<Path>
focal_method.signature: List<Path> run(String [] args)