// Path: src/main/java/com/cloudera/sa/hcu/io/out/ConsoleOutAvroFile.java
// public class ConsoleOutAvroFile {
// 
// 	/**
// 	 * @param args
// 	 * @throws IOException 
// 	 */
// 	public static void main(String[] args) throws IOException 
// 	{
// 		if (args.length < 1)
// 		{
// 			System.out.println("ConsoleOutAvroFile:");
// 			System.out.println("");
// 			System.out.println("Parameter: <inputFile>");
// 			return;
// 		}
// 		
// 		String inputFile = args[0];
// 		
// 		
// 		Configuration config = new Configuration();
// 		FileSystem hdfs = FileSystem.get(config);
// 		
// 		Path inputFilePath = new Path(inputFile);
// 
// 		FSDataInputStream dataInputStream = hdfs.open(inputFilePath);
// 		
// 		DatumReader<GenericRecord> reader = new GenericDatumReader<GenericRecord>();
// 		//writer.setSchema(s); // I guess I don't need this
// 		
// 		DataFileStream<GenericRecord> dataFileReader = new DataFileStream<GenericRecord>(dataInputStream, reader);
// 		
// 		Schema s = dataFileReader.getSchema();
// 		System.out.println(s.getName() + " " + s);
// 		
// 		System.out.println("-");
// 		
// 		while(dataFileReader.hasNext())
// 		{
// 			GenericRecord record = dataFileReader.next();
// 			record.toString();
// 			
// 			System.out.println("  " + record);
// 		}
// 		
// 		System.out.println("-");
// 		
// 		dataFileReader.close();
// 		dataInputStream.close();
// 	}
// 
// }
// 
// Path: src/main/java/com/cloudera/sa/hcu/io/out/ConsoleOutRcFile.java
// public class ConsoleOutRcFile {
// 
// 	/**
// 	 * @param args
// 	 * @throws IOException 
// 	 */
// 	public static void main(String[] args) throws IOException 
// 	{
// 		if (args.length < 1)
// 		{
// 			System.out.println("ConsoleOutRcFile:");
// 			System.out.println("Parameter: <inputFile> <optional delimiter>");
// 		}
// 		String inputFile = args[0];
// 		
// 		
// 		String delimiter = "|";
// 		if (args.length > 1)
// 		{
// 			delimiter = args[1];
// 		}
// 		
// 		Configuration config = new Configuration();
// 		FileSystem hdfs = FileSystem.get(config);
// 		
// 		Path inputFilePath = new Path(inputFile);
// 
// 		
// 		RCFile.Reader reader = new RCFile.Reader(hdfs, inputFilePath, config);
// 
// 		LongWritable next = new LongWritable(1);
// 		
// 		BytesRefArrayWritable row = new BytesRefArrayWritable();
// 		
// 		
// 		while(reader.next(next)) 
// 		{
// 			reader.getCurrentRow(row);
// 			
// 			for (int j = 0; j < row.size(); j++)
// 			{
// 				BytesRefWritable byteWritable = row.get(j);
// 				if (byteWritable.getStart() >= 0 && byteWritable.getLength() > 0)
// 				{
// 					System.out.print(new String(byteWritable.getData()).substring(byteWritable.getStart(), byteWritable.getStart() + byteWritable.getLength()));
// 					
// 				}
// 				if (j < row.size()-1)
// 				{
// 					System.out.print(delimiter);
// 				}
// 			}
// 
// 			System.out.println("");
// 		}
// 		
// 		
// 		reader.close();
// 	}
// 
// }


import com.cloudera.sa.hcu.io.out.ConsoleOutAvroFile;
import com.cloudera.sa.hcu.io.out.ConsoleOutRcFile;
package com.cloudera.sa.hcu.io.console.out;


public class ConsoleOutMain
{
	public static void main(String[] args) throws Exception
	{
		if (args.length < 1)
		{
			outputConsoleHelp();
			return;
		}
		
		String[] subCommand = args;
		String[] subCommandArgs = new String[subCommand.length-1];
		System.arraycopy( subCommand, 1, subCommandArgs, 0, subCommandArgs.length );
		
		if (subCommand[0].equals("avro"))
		{
// Path: src/main/java/com/cloudera/sa/hcu/io/out/ConsoleOutAvroFile.java
// public class ConsoleOutAvroFile {
// 
// 	/**
// 	 * @param args
// 	 * @throws IOException 
// 	 */
// 	public static void main(String[] args) throws IOException 
// 	{
// 		if (args.length < 1)
// 		{
// 			System.out.println("ConsoleOutAvroFile:");
// 			System.out.println("");
// 			System.out.println("Parameter: <inputFile>");
// 			return;
// 		}
// 		
// 		String inputFile = args[0];
// 		
// 		
// 		Configuration config = new Configuration();
// 		FileSystem hdfs = FileSystem.get(config);
// 		
// 		Path inputFilePath = new Path(inputFile);
// 
// 		FSDataInputStream dataInputStream = hdfs.open(inputFilePath);
// 		
// 		DatumReader<GenericRecord> reader = new GenericDatumReader<GenericRecord>();
// 		//writer.setSchema(s); // I guess I don't need this
// 		
// 		DataFileStream<GenericRecord> dataFileReader = new DataFileStream<GenericRecord>(dataInputStream, reader);
// 		
// 		Schema s = dataFileReader.getSchema();
// 		System.out.println(s.getName() + " " + s);
// 		
// 		System.out.println("-");
// 		
// 		while(dataFileReader.hasNext())
// 		{
// 			GenericRecord record = dataFileReader.next();
// 			record.toString();
// 			
// 			System.out.println("  " + record);
// 		}
// 		
// 		System.out.println("-");
// 		
// 		dataFileReader.close();
// 		dataInputStream.close();
// 	}
// 
// }
// 
// Path: src/main/java/com/cloudera/sa/hcu/io/out/ConsoleOutRcFile.java
// public class ConsoleOutRcFile {
// 
// 	/**
// 	 * @param args
// 	 * @throws IOException 
// 	 */
// 	public static void main(String[] args) throws IOException 
// 	{
// 		if (args.length < 1)
// 		{
// 			System.out.println("ConsoleOutRcFile:");
// 			System.out.println("Parameter: <inputFile> <optional delimiter>");
// 		}
// 		String inputFile = args[0];
// 		
// 		
// 		String delimiter = "|";
// 		if (args.length > 1)
// 		{
// 			delimiter = args[1];
// 		}
// 		
// 		Configuration config = new Configuration();
// 		FileSystem hdfs = FileSystem.get(config);
// 		
// 		Path inputFilePath = new Path(inputFile);
// 
// 		
// 		RCFile.Reader reader = new RCFile.Reader(hdfs, inputFilePath, config);
// 
// 		LongWritable next = new LongWritable(1);
// 		
// 		BytesRefArrayWritable row = new BytesRefArrayWritable();
// 		
// 		
// 		while(reader.next(next)) 
// 		{
// 			reader.getCurrentRow(row);
// 			
// 			for (int j = 0; j < row.size(); j++)
// 			{
// 				BytesRefWritable byteWritable = row.get(j);
// 				if (byteWritable.getStart() >= 0 && byteWritable.getLength() > 0)
// 				{
// 					System.out.print(new String(byteWritable.getData()).substring(byteWritable.getStart(), byteWritable.getStart() + byteWritable.getLength()));
// 					
// 				}
// 				if (j < row.size()-1)
// 				{
// 					System.out.print(delimiter);
// 				}
// 			}
// 
// 			System.out.println("");
// 		}
// 		
// 		
// 		reader.close();
// 	}
// 
// }


// Path: src/main/java/com/cloudera/sa/hcu/io/console/out/ConsoleOutMain.java
import com.cloudera.sa.hcu.io.out.ConsoleOutAvroFile;
import com.cloudera.sa.hcu.io.out.ConsoleOutRcFile;

package com.cloudera.sa.hcu.io.console.out;


public class ConsoleOutMain
{
	public static void main(String[] args) throws Exception
	{
		if (args.length < 1)
		{
			outputConsoleHelp();
			return;
		}
		
		String[] subCommand = args;
		String[] subCommandArgs = new String[subCommand.length-1];
		System.arraycopy( subCommand, 1, subCommandArgs, 0, subCommandArgs.length );
		
		if (subCommand[0].equals("avro"))
		{
			ConsoleOutAvroFile.main(subCommandArgs);