// Path: src/main/java/com/savy3/hadoop/hive/serde3/cobol/CobolSerdeUtils.java
// public static enum CobolTableProperties {
// 	LAYOUT_LITERAL("cobol.layout.literal"), LAYOUT_URL("cobol.layout.url"), LAYOUT_NAMESPACE(
// 			"cobol.layout.namespace"), LAYOUT_NAME("cobol.layout.name"), LAYOUT_DOC(
// 			"cobol.layout.doc"), COBOL_SERDE_LAYOUT("cobol.serde.layout"), LAYOUT_RETRIEVER(
// 			"cobol.layout.retriever"), LAYOUT_TEST("cobol.layout.test"), FB_LENGTH("fb.length"),
//        LAYOUT_GEN("cobol.layout.generated"), COBOL_HIVE("cobol.hive.mapping"),
//        IGNORE_COLUMN_PATTERN("cobol.field.ignorePattern");
// 
// 	private final String propName;
// 
// 	CobolTableProperties(String propName) {
// 		this.propName = propName;
// 	}
// 
// 	public String getPropName() {
// 		return this.propName;
// 	}
// }


import com.savy3.hadoop.hive.serde3.cobol.CobolSerdeUtils.CobolTableProperties;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hive.serde2.AbstractSerDe;
import org.apache.hadoop.hive.serde2.SerDeException;
import org.apache.hadoop.hive.serde2.SerDeStats;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorFactory;
import org.apache.hadoop.io.BytesWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.io.Writable;
import java.io.IOException;
import java.util.Properties;
package com.savy3.hadoop.hive.serde3.cobol;



/**
 * CobolSerde is under construction currently implemented are
 * 
 * @author Ram Manohar <ram.manohar2708@gmail.com>
 */
public final class CobolSerDe extends AbstractSerDe {

	private ObjectInspector inspector;
	private CobolToHive ccb;

	@Override
	public void initialize(final Configuration conf, final Properties tbl)
			throws SerDeException {

		try {
			CobolCopybookBuilder ccbb = new CobolCopybookBuilder();
// Path: src/main/java/com/savy3/hadoop/hive/serde3/cobol/CobolSerdeUtils.java
// public static enum CobolTableProperties {
// 	LAYOUT_LITERAL("cobol.layout.literal"), LAYOUT_URL("cobol.layout.url"), LAYOUT_NAMESPACE(
// 			"cobol.layout.namespace"), LAYOUT_NAME("cobol.layout.name"), LAYOUT_DOC(
// 			"cobol.layout.doc"), COBOL_SERDE_LAYOUT("cobol.serde.layout"), LAYOUT_RETRIEVER(
// 			"cobol.layout.retriever"), LAYOUT_TEST("cobol.layout.test"), FB_LENGTH("fb.length"),
//        LAYOUT_GEN("cobol.layout.generated"), COBOL_HIVE("cobol.hive.mapping"),
//        IGNORE_COLUMN_PATTERN("cobol.field.ignorePattern");
// 
// 	private final String propName;
// 
// 	CobolTableProperties(String propName) {
// 		this.propName = propName;
// 	}
// 
// 	public String getPropName() {
// 		return this.propName;
// 	}
// }


// Path: src/main/java/com/savy3/hadoop/hive/serde3/cobol/CobolSerDe.java
import com.savy3.hadoop.hive.serde3.cobol.CobolSerdeUtils.CobolTableProperties;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hive.serde2.AbstractSerDe;
import org.apache.hadoop.hive.serde2.SerDeException;
import org.apache.hadoop.hive.serde2.SerDeStats;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorFactory;
import org.apache.hadoop.io.BytesWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.io.Writable;
import java.io.IOException;
import java.util.Properties;

package com.savy3.hadoop.hive.serde3.cobol;



/**
 * CobolSerde is under construction currently implemented are
 * 
 * @author Ram Manohar <ram.manohar2708@gmail.com>
 */
public final class CobolSerDe extends AbstractSerDe {

	private ObjectInspector inspector;
	private CobolToHive ccb;

	@Override
	public void initialize(final Configuration conf, final Properties tbl)
			throws SerDeException {

		try {
			CobolCopybookBuilder ccbb = new CobolCopybookBuilder();
			String ignoreColumnPattern = tbl.getProperty(CobolTableProperties.IGNORE_COLUMN_PATTERN.getPropName());