From 111e32091658f21d3fb62f1147edf75b75cb24ee Mon Sep 17 00:00:00 2001 From: sagarkapare Date: Wed, 19 Apr 2017 11:57:49 -0700 Subject: [PATCH] Added COBOL to Avro Converter plugin. --- .gitignore | 56 ++++ README.md | 86 +++++- docs/CobolRecordConverter-transform.md | 30 ++ pom.xml | 217 +++++++++++++++ .../java/co/cask/cobol/CopybookReader.java | 252 +++++++++++++++++ .../java/co/cask/common/AvroConverter.java | 260 ++++++++++++++++++ .../co/cask/common/LocationByteSource.java | 45 +++ .../co/cask/common/LocationCharSource.java | 44 +++ .../java/co/cask/common/StreamByteSource.java | 46 ++++ .../java/co/cask/common/StreamCharSource.java | 39 +++ .../co/cask/plugin/CobolRecordConverter.java | 153 +++++++++++ src/main/resources/java.class.hbs | 58 ++++ src/main/resources/java.complextype.hbs | 11 + src/main/resources/java.field.hbs | 72 +++++ src/test/java/co/cask/cobol/SimpleTest.java | 70 +++++ src/test/resources/custdat.bin | Bin 0 -> 1249075 bytes src/test/resources/custdat.cpbk | 19 ++ src/test/resources/java.complextype.hbs | 11 + src/test/resources/logback-test.xml | 33 +++ widgets/CobolRecordConverter-transform.json | 83 ++++++ 20 files changed, 1584 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 docs/CobolRecordConverter-transform.md create mode 100644 pom.xml create mode 100644 src/main/java/co/cask/cobol/CopybookReader.java create mode 100644 src/main/java/co/cask/common/AvroConverter.java create mode 100644 src/main/java/co/cask/common/LocationByteSource.java create mode 100644 src/main/java/co/cask/common/LocationCharSource.java create mode 100644 src/main/java/co/cask/common/StreamByteSource.java create mode 100644 src/main/java/co/cask/common/StreamCharSource.java create mode 100644 src/main/java/co/cask/plugin/CobolRecordConverter.java create mode 100644 src/main/resources/java.class.hbs create mode 100644 src/main/resources/java.complextype.hbs create mode 100644 src/main/resources/java.field.hbs create mode 100644 src/test/java/co/cask/cobol/SimpleTest.java create mode 100644 src/test/resources/custdat.bin create mode 100644 src/test/resources/custdat.cpbk create mode 100644 src/test/resources/java.complextype.hbs create mode 100644 src/test/resources/logback-test.xml create mode 100644 widgets/CobolRecordConverter-transform.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f82f33d --- /dev/null +++ b/.gitignore @@ -0,0 +1,56 @@ +*.class +.*.swp +.beamer +# Package Files # +*.jar +*.war +*.ear + +# Intellij Files & Dir # +*.iml +*.ipr +*.iws +atlassian-ide-plugin.xml +out/ +.DS_Store +./lib/ +.idea + +# Gradle Files & Dir # +build/ +.gradle/ +.stickyStorage +.build/ +target/ + +# Node log +npm-*.log +logs/ +.nux_enabled +.nux_dashboard + +# Singlenode and test data files. +/templates/ +/artifacts/ +/data/ +/data-fabric-tests/data/ + +# gateway test leftover +/gateway/data/ +/watchdog/data/ + +# Checkstyle report +examples/checkstyle_report.xml + +# Examples Stuff +dependency-reduced-pom.xml + +# Hive db Stuff +derby.log + +# generated config files +/cdap-web-app/conf/generated +/cdap-client-tests/conf/generated + +# generated by docs build +*.pyc diff --git a/README.md b/README.md index d70b9ef..6f9daa9 100644 --- a/README.md +++ b/README.md @@ -1 +1,85 @@ -# cobol-to-avro-transform +Cobol to Avro Converter +=================================== + +Join CDAP community +[![Build Status](https://travis-ci.org/hydrator/cobol-to-avro-transform.svg?branch=develop)](https://travis-ci.org/hydrator/cobol-to-avro-transform) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) + +Cobol to Avro Converter accepts the Cobol Copybook and converts it into the Avro schema. Generated Avro schema +is used to convert the records in the Cobol data file into Apache Avro format. + +Usage Notes +----------- + +The plugin accepts a Cobol Copybook as a configuration to generate an Avro schema and use that schema to convert +records into Avro format. Code in the Copybook can be pasted in the "Copybook" property. Avro schema corresponding to +the Copybook can be retrieved using the "Get Schema" button. "Code Format" property is used to specify the code format +in the Copybook, which can either be FIXED_FORMAT or FREE_FORMAT. Charset used to read the data can be specified using +"Charset" property, which defaults to "IBM01140". Cobol data file can contain variable-length logical records, in which case +record consists of a record descriptor word (RDW) followed by the data. Plugin can be configured to use with +variable-length records by setting property "Records start with Record Descriptor Word" to true. + +Cobol to Avro Converter is usually used with the WholeFileReader source plugin. WholeFileReader reads the entire data file and pass it +to the converter as an array of bytes. Name of the field containing Cobol records as an array of bytes can be configured. + +Plugin Configuration +-------------------- + +| Configuration | Required | Default | Description | +| :------------ | :------: | :----- | :---------- | +| **Copybook** | **Y** | N/A | Specifies the Cobol Copybook for which Avro schema need to be generated. | +| **Code Format** | **N** | FIXED_FORMAT | Specifies the format of the Copybook source code. | +| **Charset** | **N** | IBM01140 | Specifies the EBCDIC charset used to read the data. | +| **Record Descriptor Word** | **N** | True | Specifies whether the data file contains the variable-length records. | + + +Build +----- +To build this plugin: + +``` + mvn clean package +``` + +The build will create a .jar and .json file under the ``target`` directory. +These files can be used to deploy your plugins. + +Deployment +---------- +You can deploy your plugins using the CDAP CLI: + + > load artifact .jar config-file .json> + +## Mailing Lists + +CDAP User Group and Development Discussions: + +* `cdap-user@googlegroups.com ` + +The *cdap-user* mailing list is primarily for users using the product to develop +applications or building plugins for appplications. You can expect questions from +users, release announcements, and any other discussions that we think will be helpful +to the users. + +## Slack Channel + +CDAP Slack Channel: http://cdap-users.herokuapp.com/ + + +## License and Trademarks + +Copyright © 2017 Cask Data, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under the +License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, +either express or implied. See the License for the specific language governing permissions +and limitations under the License. + +Cask is a trademark of Cask Data, Inc. All rights reserved. + +Apache, Apache HBase, and HBase are trademarks of The Apache Software Foundation. Used with +permission. No endorsement by The Apache Software Foundation is implied by the use of these marks. \ No newline at end of file diff --git a/docs/CobolRecordConverter-transform.md b/docs/CobolRecordConverter-transform.md new file mode 100644 index 0000000..0543d29 --- /dev/null +++ b/docs/CobolRecordConverter-transform.md @@ -0,0 +1,30 @@ +# Cobol to Avro Converter + +Description +----------- +Cobol to Avro Converter accepts the Cobol Copybook and converts it into the Avro schema. Generated Avro schema +is used to convert the records in the Cobol data file into Apache Avro format. + + +Use Case +-------- + +Much of the World’s largest and most critical industries - healthcare, finance, insurance, retail etc. - still generate +huge majority of their data in the mainframe. Storing data in the mainframe involves high cost of maintenance, and need +expertise and special tools to perform data analysis. Offloading the data to Apache Hadoop saves cost, however main +challenge is the lack of connectivity between mainframe and Apache Hadoop. Cobol to Avro Converter provides such connectivity. +It converts mainframe data into Avro format using schema specified by the Copybook. + + +Properties +---------- + +**copybook:** The Cobol copybook source code + +**codeFormat:** Code format associated with the copybook source code + +**charset:** The EBCDIC Charset used to read the data + +**rdw:** Specifies whether the Cobol record starts with Record Descriptor Word + +**fieldName:** Name of the field containing Cobol records in the form of array of bytes \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..bba9d09 --- /dev/null +++ b/pom.xml @@ -0,0 +1,217 @@ + + 4.0.0 + co.cask + cobol-to-avro-transform + jar + 1.0-SNAPSHOT + + 1.7.7 + 4.1.0 + 18.0 + 3.0.7 + 0.4.2 + 1.2.3 + UTF-8 + + + widgets + docs + + + [3.3.0,10.0.0-SNAPSHOT) + + + + system:cdap-etl-batch, + system:cdap-data-pipeline, + system:cdap-data-streams + + + + ${project.basedir} + + + + + co.cask.cdap + cdap-api + ${cdap.version} + + + co.cask.cdap + cdap-etl-api + ${cdap.version} + + + com.google.guava + guava + ${guava.version} + + + org.codehaus.janino + janino + 3.0.7 + + + com.legsem.legstar + legstar.avro.cob2avro + ${legstar.avro.version} + + + org.slf4j + * + + + + + org.apache.avro + avro + ${avro.version} + + + junit + junit + 4.12 + test + + + ch.qos.logback + logback-core + ${logback.version} + test + + + ch.qos.logback + logback-classic + ${logback.version} + test + + + co.cask.cdap + cdap-formats + ${cdap.version} + + + + + + + org.apache.maven.plugins + maven-antrun-plugin + 1.7 + + + create-artifact-config + prepare-package + + + + + + + run + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.1 + + 1.7 + 1.7 + + + + org.apache.felix + maven-bundle-plugin + 2.5.4 + true + + + <_exportcontents> + co.cask.*; + com.google.common.*; + com.legstar.* + + *;inline=false;scope=compile + true + lib + + + + + package + + bundle + + + + + + + \ No newline at end of file diff --git a/src/main/java/co/cask/cobol/CopybookReader.java b/src/main/java/co/cask/cobol/CopybookReader.java new file mode 100644 index 0000000..74f296e --- /dev/null +++ b/src/main/java/co/cask/cobol/CopybookReader.java @@ -0,0 +1,252 @@ +/* + * Copyright © 2017 Cask Data, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package co.cask.cobol; + +import com.github.jknack.handlebars.Handlebars; +import com.github.jknack.handlebars.Template; +import com.google.common.base.Joiner; +import com.google.common.io.ByteSource; +import com.google.common.io.CharSource; +import com.google.common.io.Closeables; +import com.google.common.io.Resources; +import com.legstar.avro.cob2avro.io.AbstractZosDatumReader; +import com.legstar.avro.cob2avro.io.ZosVarDatumReader; +import com.legstar.avro.cob2avro.io.ZosVarRdwDatumReader; +import com.legstar.avro.translator.Xsd2AvroTranslator; +import com.legstar.avro.translator.Xsd2AvroTranslatorException; +import com.legstar.base.context.EbcdicCobolContext; +import com.legstar.base.generator.Xsd2CobolTypesModelBuilder; +import com.legstar.base.type.CobolType; +import com.legstar.base.type.composite.CobolComplexType; +import com.legstar.cob2xsd.Cob2Xsd; +import com.legstar.cob2xsd.Cob2XsdConfig; +import com.legstar.cob2xsd.antlr.RecognizerException; +import com.legstar.cobol.model.CobolDataItem; +import org.apache.avro.Schema; +import org.apache.avro.generic.GenericRecord; +import org.apache.ws.commons.schema.XmlSchema; +import org.apache.ws.commons.schema.XmlSchemaCollection; +import org.apache.ws.commons.schema.XmlSchemaSerializer; +import org.codehaus.janino.JavaSourceClassLoader; +import org.codehaus.janino.util.resource.Resource; +import org.codehaus.janino.util.resource.ResourceFinder; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.Reader; +import java.net.URL; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import javax.annotation.Nullable; + +/** + * This class helps parsing Cobol Copybook and decoding Ebcdic encoded dataset + */ +public class CopybookReader { + + private final Schema avroSchema; + private final ClassLoader cobolTypeClassLoader; + + public CopybookReader(CharSource copybookSource, Properties cobolConfig) throws IOException { + Cob2Xsd cob2xsd = new Cob2Xsd(new Cob2XsdConfig(cobolConfig)); + + try (Reader reader = copybookSource.openStream()) { + // Parse the copybook + List cobolDataItems = parseCopybook(cob2xsd, reader); + + // Generate XML schema from the copybook + XmlSchema xmlSchema = new XmlSchemaCollection().read( + cob2xsd.emitXsd(cobolDataItems, "co.cask.cobol").getSchemaDocument()); + + // Convert XML schema to Avro schema + Schema avroSchema = translate(xmlSchema); + + // Generate the CobolType classes ClassLoader + this.cobolTypeClassLoader = createCobolTypesClassLoader(xmlSchema, "co.cask.cobol"); + this.avroSchema = avroSchema; + } catch (RecognizerException e) { + throw new IOException("Failed to parse cobol copybook: " + System.lineSeparator() + + Joiner.on(System.lineSeparator()).join(cob2xsd.getErrorHistory()), e); + } catch (XmlSchemaSerializer.XmlSchemaSerializerException | Xsd2AvroTranslatorException e) { + throw new IOException("Failed to generate Avro schema from cobol copybook", e); + } + } + + /** + * Returns all Avro schema created from the Cobol copybook + * + * @return a {@link Map} from record name to record {@link Schema}. + */ + public Schema getSchema() { + return avroSchema; + } + + /** + * Creates a {@link AbstractZosDatumReader} for reading Ebcdic encoded dataset into Avro {@link GenericRecord}. + * + * @param source The {@link ByteSource} for the dataset + * @param charset The charset used to create EBCDIC COBOL context + * @param hasRecordDescriptorWord {@code true} for data that has the record descriptor word prefix for each record; + * {@code false} other + * @return A {@link AbstractZosDatumReader} for reading + * @throws IOException If failed to create the reader + */ + public AbstractZosDatumReader createRecordReader(ByteSource source, String charset, + boolean hasRecordDescriptorWord) throws IOException { + String cobolTypeClassName = avroSchema.getNamespace() + "." + avroSchema.getName(); + CobolComplexType cobolType; + try { + cobolType = (CobolComplexType) cobolTypeClassLoader.loadClass(cobolTypeClassName).newInstance(); + } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) { + // This shouldn't happen since we generated the class + throw new IOException("Failed to instantiate instance of class " + cobolTypeClassName, e); + } + + long size = source.size(); + InputStream is = source.openBufferedStream(); + try { + if (hasRecordDescriptorWord) { + return new ZosVarRdwDatumReader<>(is, size, new EbcdicCobolContext(charset), cobolType, avroSchema); + } + return new ZosVarDatumReader<>(is, size, new EbcdicCobolContext(charset), cobolType, avroSchema); + } catch (IOException e) { + Closeables.closeQuietly(is); + throw e; + } + } + + private List parseCopybook(Cob2Xsd cob2xsd, Reader reader) throws RecognizerException { + Cob2XsdConfig config = cob2xsd.getConfig(); + + List cobolDataItems = new ArrayList<>(); + for (CobolDataItem item : cob2xsd.toModel(reader)) { + if (config.ignoreOrphanPrimitiveElements() && item.getChildren().isEmpty()) { + continue; + } + cobolDataItems.add(item); + } + + // If the copybook is empty, the list would be empty. + // If the copybook has top level record, the size of the list would be 1. + if (cobolDataItems.size() <= 1) { + return cobolDataItems; + } + + // If the copybook doesn't have top level record, insert one + CobolDataItem item = new CobolDataItem(1, "GENERATED-TOP-RECORD"); + item.setChildren(cobolDataItems); + + cobolDataItems = new ArrayList<>(); + cobolDataItems.add(item); + + return cobolDataItems; + } + + /** + * Translates a {@link XmlSchema} into a Avro {@link Schema}. + * + * @param xmlSchema the {@link XmlSchema} to translate from + * @return a avro record {@link Schema} + * @throws Xsd2AvroTranslatorException if translation failed + */ + private Schema translate(XmlSchema xmlSchema) throws Xsd2AvroTranslatorException { + Xsd2AvroTranslator avroTranslator = new Xsd2AvroTranslator(); + return new Schema.Parser().parse(avroTranslator.translate(xmlSchema, "co.cask.cobol", "schema")); + } + + /** + * Creates a {@link ClassLoader} for loading {@link CobolType} classes that can be used for reading data encoded using + * Cobol copybook. + * + * @param xmlSchema The {@link XmlSchema} representation of the Cobol copybook. + * @param classPackage Name of the java package for the generated classes to locates in. + * @return a {@link ClassLoader} for loading {@link CobolType} classes + * @throws IOException if failed to create the ClassLoader + */ + private ClassLoader createCobolTypesClassLoader(XmlSchema xmlSchema, String classPackage) throws IOException { + final Map sources = generateCobolTypes(xmlSchema, classPackage); + final long lastModified = System.currentTimeMillis(); + return new JavaSourceClassLoader(getClass().getClassLoader(), new ResourceFinder() { + + @Nullable + @Override + public Resource findResource(final String resourceName) { + String className = resourceName.replace('/', '.').substring(0, resourceName.length() - ".java".length()); + final String sourceCode = sources.get(className); + if (sourceCode == null) { + return null; + } + return new Resource() { + @Override + public InputStream open() throws IOException { + return new ByteArrayInputStream(sourceCode.getBytes("UTF-8")); + } + + @Override + public String getFileName() { + return resourceName; + } + + @Override + public long lastModified() { + return lastModified; + } + }; + } + }, null); + } + + /** + * Generates the source code of different {@link CobolType} that can be used for reading data encoded using + * Cobol copybook. + * + * @param xmlSchema The {@link XmlSchema} representation of the Cobol copybook. + * @param classPackage Name of the java package for the generated classes to locates in. + * @return A {@link Map} from class name to class source code + * @throws IOException if failed to generate the classes + */ + private Map generateCobolTypes(XmlSchema xmlSchema, String classPackage) throws IOException { + URL resource = getClass().getClassLoader().getResource("java.class.hbs"); + if (resource == null) { + // This shouldn't happen + throw new IllegalStateException("Resource not found: java.class.hbs"); + } + + Handlebars handlebars = new Handlebars(); + Template template = handlebars.compileInline(Resources.toString(resource, StandardCharsets.UTF_8)); + Map model = new Xsd2CobolTypesModelBuilder().build(xmlSchema); + + Map sources = new HashMap<>(); + for (Map.Entry entry : model.entrySet()) { + String className = entry.getKey(); + Map config = new HashMap<>(); + config.put("target_package_name", classPackage); + config.put("class_name", className); + config.put("root_type_name", entry.getKey()); + config.put("root_cobol_name", entry.getValue().cobolName); + config.put("complex_types", entry.getValue().complexTypes); + config.put("choice_types", entry.getValue().choiceTypes); + sources.put(classPackage + "." + className, template.apply(config)); + } + return sources; + } +} diff --git a/src/main/java/co/cask/common/AvroConverter.java b/src/main/java/co/cask/common/AvroConverter.java new file mode 100644 index 0000000..a265d83 --- /dev/null +++ b/src/main/java/co/cask/common/AvroConverter.java @@ -0,0 +1,260 @@ +/* + * Copyright © 2017 Cask Data, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package co.cask.common; + +import co.cask.cdap.api.data.format.StructuredRecord; +import co.cask.cdap.api.data.schema.Schema; +import com.google.common.base.Function; +import com.google.common.base.Preconditions; +import com.google.common.collect.Iterables; +import org.apache.avro.generic.GenericArray; +import org.apache.avro.generic.GenericEnumSymbol; +import org.apache.avro.generic.GenericFixed; +import org.apache.avro.generic.GenericRecord; +import org.apache.commons.collections.map.HashedMap; + +import java.nio.ByteBuffer; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import javax.annotation.Nullable; + +/** + * Helper class to convert Avro types into CDAP types + */ +public final class AvroConverter { + + private static final Function SCHEMA_CONVERTER = + new Function() { + @Override + public Schema apply(org.apache.avro.Schema input) { + return fromAvroSchema(input); + } + }; + + private static final Function FIELD_CONVERTER = + new Function() { + @Override + public Schema.Field apply(org.apache.avro.Schema.Field input) { + return Schema.Field.of(input.name(), SCHEMA_CONVERTER.apply(input.schema())); + } + }; + + + /** + * Creates a CDAP {@link Schema} from an avro {@link org.apache.avro.Schema}. + */ + public static Schema fromAvroSchema(org.apache.avro.Schema avroSchema) { + switch (avroSchema.getType()) { + case NULL: + return Schema.of(Schema.Type.NULL); + case BOOLEAN: + return Schema.of(Schema.Type.BOOLEAN); + case INT: + return Schema.of(Schema.Type.INT); + case LONG: + return Schema.of(Schema.Type.LONG); + case FLOAT: + return Schema.of(Schema.Type.FLOAT); + case DOUBLE: + return Schema.of(Schema.Type.DOUBLE); + case STRING: + return Schema.of(Schema.Type.STRING); + case BYTES: + return Schema.of(Schema.Type.BYTES); + case FIXED: + return Schema.of(Schema.Type.BYTES); + case ENUM: + return Schema.enumWith(avroSchema.getEnumSymbols()); + case ARRAY: + return Schema.arrayOf(fromAvroSchema(avroSchema.getElementType())); + case MAP: + return Schema.mapOf(Schema.of(Schema.Type.STRING), fromAvroSchema(avroSchema.getValueType())); + case RECORD: + return Schema.recordOf(avroSchema.getName(), Iterables.transform(avroSchema.getFields(), FIELD_CONVERTER)); + case UNION: + return Schema.unionOf(Iterables.transform(avroSchema.getTypes(), SCHEMA_CONVERTER)); + } + + // This shouldn't happen. + throw new IllegalArgumentException("Unsupported Avro schema type " + avroSchema.getType()); + } + + /** + * Creates a {@link StructuredRecord} from a {@link GenericRecord}. + * + * @param record the {@link GenericRecord} + * @param schema the {@link Schema} of the {@link StructuredRecord} to create + * @return a new {@link StructuredRecord} + */ + public static StructuredRecord fromAvroRecord(GenericRecord record, Schema schema) { + StructuredRecord.Builder builder = StructuredRecord.builder(schema); + + org.apache.avro.Schema avroSchema = record.getSchema(); + for (Schema.Field field : schema.getFields()) { + String name = field.getName(); + builder.set(name, fromAvroValue(field.getSchema(), avroSchema.getField(name).schema(), record.get(name))); + } + return builder.build(); + } + + @Nullable + private static Object fromAvroValue(Schema schema, org.apache.avro.Schema avroSchema, Object value) { + switch (schema.getType()) { + case NULL: + Preconditions.checkArgument(avroSchema.getType() == org.apache.avro.Schema.Type.NULL); + return null; + case BOOLEAN: + Preconditions.checkArgument(avroSchema.getType() == org.apache.avro.Schema.Type.BOOLEAN); + return value; + case INT: + Preconditions.checkArgument(avroSchema.getType() == org.apache.avro.Schema.Type.INT); + return value; + case LONG: + Preconditions.checkArgument(avroSchema.getType() == org.apache.avro.Schema.Type.LONG); + return value; + case FLOAT: + Preconditions.checkArgument(avroSchema.getType() == org.apache.avro.Schema.Type.FLOAT); + return value; + case DOUBLE: + Preconditions.checkArgument(avroSchema.getType() == org.apache.avro.Schema.Type.DOUBLE); + return value; + case BYTES: + Preconditions.checkArgument(avroSchema.getType() == org.apache.avro.Schema.Type.BYTES); + return value; + case STRING: + Preconditions.checkArgument(avroSchema.getType() == org.apache.avro.Schema.Type.STRING); + return value.toString(); + case ENUM: + Preconditions.checkArgument(avroSchema.getType() == org.apache.avro.Schema.Type.ENUM); + return value.toString(); + case ARRAY: + Preconditions.checkArgument(avroSchema.getType() == org.apache.avro.Schema.Type.ARRAY); + return convertAvroArray(schema.getComponentSchema(), avroSchema.getElementType(), (GenericArray) value); + case MAP: + Preconditions.checkArgument(avroSchema.getType() == org.apache.avro.Schema.Type.MAP); + Preconditions.checkArgument(schema.getMapSchema().getKey().getType() == Schema.Type.STRING); + return convertAvroMap(schema.getMapSchema().getValue(), avroSchema.getValueType(), (Map) value); + case RECORD: + Preconditions.checkArgument(avroSchema.getType() == org.apache.avro.Schema.Type.RECORD); + return fromAvroRecord((GenericRecord) value, schema); + case UNION: + Preconditions.checkArgument(avroSchema.getType() == org.apache.avro.Schema.Type.UNION); + return convertUnion(schema, avroSchema, value); + } + throw new IllegalArgumentException("Unsupported schema type " + schema.getType()); + } + + private static Collection convertAvroArray(Schema elementSchema, + org.apache.avro.Schema avroElementSchema, GenericArray array) { + List result = new ArrayList<>(array.size()); + for (Object obj : array) { + result.add(fromAvroValue(elementSchema, avroElementSchema, obj)); + } + return result; + } + + private static Map convertAvroMap(Schema valueSchema, + org.apache.avro.Schema avroValueSchema, Map map) { + Map result = new HashedMap(map.size()); + for (Map.Entry entry : map.entrySet()) { + map.put(entry.getKey(), fromAvroValue(valueSchema, avroValueSchema, entry.getValue())); + } + return result; + } + + private static Object convertUnion(Schema unionSchema, + org.apache.avro.Schema avroUnionSchema, Object value) { + if (value == null) { + return null; + } + if (value instanceof GenericRecord) { + return fromAvroValue(findByType(unionSchema, Schema.Type.RECORD), + findByType(avroUnionSchema, org.apache.avro.Schema.Type.RECORD), value); + } + if (value instanceof GenericEnumSymbol) { + return fromAvroValue(findByType(unionSchema, Schema.Type.RECORD), + findByType(avroUnionSchema, org.apache.avro.Schema.Type.RECORD), value); + } + if (value instanceof GenericArray) { + return fromAvroValue(findByType(unionSchema, Schema.Type.ARRAY), + findByType(avroUnionSchema, org.apache.avro.Schema.Type.ARRAY), value); + } + if (value instanceof Map) { + return fromAvroValue(findByType(unionSchema, Schema.Type.MAP), + findByType(avroUnionSchema, org.apache.avro.Schema.Type.MAP), value); + } + if (value instanceof GenericFixed) { + return fromAvroValue(findByType(unionSchema, Schema.Type.BYTES), + findByType(avroUnionSchema, org.apache.avro.Schema.Type.FIXED), value); + } + if (value instanceof CharSequence) { + return fromAvroValue(findByType(unionSchema, Schema.Type.STRING), + findByType(avroUnionSchema, org.apache.avro.Schema.Type.STRING), value); + } + if (value instanceof ByteBuffer) { + return fromAvroValue(findByType(unionSchema, Schema.Type.BYTES), + findByType(avroUnionSchema, org.apache.avro.Schema.Type.BYTES), value); + } + if (value instanceof Integer) { + return fromAvroValue(findByType(unionSchema, Schema.Type.INT), + findByType(avroUnionSchema, org.apache.avro.Schema.Type.INT), value); + } + if (value instanceof Long) { + return fromAvroValue(findByType(unionSchema, Schema.Type.LONG), + findByType(avroUnionSchema, org.apache.avro.Schema.Type.LONG), value); + } + if (value instanceof Float) { + return fromAvroValue(findByType(unionSchema, Schema.Type.FLOAT), + findByType(avroUnionSchema, org.apache.avro.Schema.Type.FLOAT), value); + } + if (value instanceof Double) { + return fromAvroValue(findByType(unionSchema, Schema.Type.DOUBLE), + findByType(avroUnionSchema, org.apache.avro.Schema.Type.DOUBLE), value); + } + if (value instanceof Boolean) { + return fromAvroValue(findByType(unionSchema, Schema.Type.BOOLEAN), + findByType(avroUnionSchema, org.apache.avro.Schema.Type.BOOLEAN), value); + } + + throw new IllegalArgumentException("Unsupported data type " + value.getClass()); + } + + private static Schema findByType(Schema unionSchema, Schema.Type type) { + for (Schema schema : unionSchema.getUnionSchemas()) { + if (schema.getType() == type) { + return schema; + } + } + throw new IllegalArgumentException("Failed to find schema of type " + type + " in union schema"); + } + + private static org.apache.avro.Schema findByType(org.apache.avro.Schema unionSchema, + org.apache.avro.Schema.Type type) { + for (org.apache.avro.Schema schema : unionSchema.getTypes()) { + if (schema.getType() == type) { + return schema; + } + } + throw new IllegalArgumentException("Failed to find avro schema of type " + type + " in union schema"); + } + + private AvroConverter() { + + } +} diff --git a/src/main/java/co/cask/common/LocationByteSource.java b/src/main/java/co/cask/common/LocationByteSource.java new file mode 100644 index 0000000..84c9430 --- /dev/null +++ b/src/main/java/co/cask/common/LocationByteSource.java @@ -0,0 +1,45 @@ +/* + * Copyright © 2017 Cask Data, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package co.cask.common; + +import com.google.common.io.ByteSource; +import org.apache.twill.filesystem.Location; + +import java.io.IOException; +import java.io.InputStream; + +/** + * A {@link ByteSource} for {@link Location}. + */ +public class LocationByteSource extends ByteSource { + + private final Location location; + + public LocationByteSource(Location location) { + this.location = location; + } + + @Override + public InputStream openStream() throws IOException { + return location.getInputStream(); + } + + @Override + public long size() throws IOException { + return location.length(); + } +} diff --git a/src/main/java/co/cask/common/LocationCharSource.java b/src/main/java/co/cask/common/LocationCharSource.java new file mode 100644 index 0000000..27b9572 --- /dev/null +++ b/src/main/java/co/cask/common/LocationCharSource.java @@ -0,0 +1,44 @@ +/* + * Copyright © 2017 Cask Data, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package co.cask.common; + +import com.google.common.io.CharSource; +import org.apache.twill.filesystem.Location; + +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.Reader; +import java.nio.charset.Charset; + +/** + * A {@link CharSource} for {@link Location}. + */ +public class LocationCharSource extends CharSource { + + private final Location location; + private final Charset charset; + + public LocationCharSource(Location location, Charset charset) { + this.location = location; + this.charset = charset; + } + + @Override + public Reader openStream() throws IOException { + return new InputStreamReader(location.getInputStream(), charset); + } +} diff --git a/src/main/java/co/cask/common/StreamByteSource.java b/src/main/java/co/cask/common/StreamByteSource.java new file mode 100644 index 0000000..6189584 --- /dev/null +++ b/src/main/java/co/cask/common/StreamByteSource.java @@ -0,0 +1,46 @@ +/* + * Copyright © 2017 Cask Data, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package co.cask.common; + +import com.google.common.io.ByteSource; + +import java.io.IOException; +import java.io.InputStream; + +/** + * A {@link ByteSource} for the {@link InputStream}. + */ +public class StreamByteSource extends ByteSource { + + private final InputStream is; + private final long length; + + public StreamByteSource(InputStream is, long length) { + this.is = is; + this.length = length; + } + + @Override + public InputStream openStream() throws IOException { + return is; + } + + @Override + public long size() throws IOException { + return length; + } +} diff --git a/src/main/java/co/cask/common/StreamCharSource.java b/src/main/java/co/cask/common/StreamCharSource.java new file mode 100644 index 0000000..195a006 --- /dev/null +++ b/src/main/java/co/cask/common/StreamCharSource.java @@ -0,0 +1,39 @@ +/* + * Copyright © 2017 Cask Data, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package co.cask.common; + +import com.google.common.io.CharSource; + +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; +import java.nio.charset.StandardCharsets; + +/** + * {@link CharSource} for the {@link InputStream} + */ +public class StreamCharSource extends CharSource { + private final InputStream is; + public StreamCharSource(InputStream is) { + this.is = is; + } + @Override + public Reader openStream() throws IOException { + return new InputStreamReader(is, StandardCharsets.UTF_8); + } +} diff --git a/src/main/java/co/cask/plugin/CobolRecordConverter.java b/src/main/java/co/cask/plugin/CobolRecordConverter.java new file mode 100644 index 0000000..3f675ac --- /dev/null +++ b/src/main/java/co/cask/plugin/CobolRecordConverter.java @@ -0,0 +1,153 @@ +/* + * Copyright © 2017 Cask Data, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package co.cask.plugin; + +import co.cask.cdap.api.annotation.Description; +import co.cask.cdap.api.annotation.Macro; +import co.cask.cdap.api.annotation.Name; +import co.cask.cdap.api.annotation.Plugin; +import co.cask.cdap.api.data.format.StructuredRecord; +import co.cask.cdap.api.plugin.EndpointPluginContext; +import co.cask.cdap.api.plugin.PluginConfig; +import co.cask.cdap.etl.api.Emitter; +import co.cask.cdap.etl.api.Transform; +import co.cask.cdap.etl.api.TransformContext; +import co.cask.cdap.format.StructuredRecordStringConverter; +import co.cask.cobol.CopybookReader; +import co.cask.common.AvroConverter; +import co.cask.common.StreamByteSource; +import co.cask.common.StreamCharSource; +import com.legstar.avro.cob2avro.io.AbstractZosDatumReader; +import com.legstar.cob2xsd.Cob2XsdConfig; +import org.apache.avro.Schema; +import org.apache.avro.generic.GenericRecord; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.Properties; +import javax.annotation.Nullable; + +/** + * {@link Transform} plugin to convert COBOL data file into StructuredRecords. + */ +@Plugin(type = Transform.PLUGIN_TYPE) +@Name("CobolRecordConverter") +@Description("Convert COBOL records into StructuredRecord with schema.") +public class CobolRecordConverter extends Transform { + private static final Logger LOG = LoggerFactory.getLogger(CobolRecordConverter.class); + + private final Config config; + + public CobolRecordConverter(Config config) { + this.config = config; + } + + private CopybookReader copybookReader; + private Schema avroSchema; + private co.cask.cdap.api.data.schema.Schema schema; + + @Override + public void initialize(TransformContext context) throws Exception { + super.initialize(context); + Properties properties = new Properties(); + properties.setProperty(Cob2XsdConfig.CODE_FORMAT, config.getCodeFormat()); + StreamCharSource streamCharSource + = new StreamCharSource(new ByteArrayInputStream(config.copybook.getBytes(StandardCharsets.UTF_8))); + copybookReader = new CopybookReader(streamCharSource, properties); + this.avroSchema = copybookReader.getSchema(); + this.schema = AvroConverter.fromAvroSchema(avroSchema); + } + + @Override + public void transform(StructuredRecord input, Emitter emitter) throws Exception { + byte[] body = input.get(config.fieldName); + StreamByteSource source = new StreamByteSource(new ByteArrayInputStream(body), body.length); + try (AbstractZosDatumReader reader = copybookReader.createRecordReader(source, config.getCharset(), + config.hasRDW())) { + for (GenericRecord record : reader) { + LOG.info(StructuredRecordStringConverter.toJsonString(AvroConverter.fromAvroRecord(record, schema))); + emitter.emit(AvroConverter.fromAvroRecord(record, schema)); + } + } + } + + class GetSchemaRequest { + public String copybook; + @Nullable + public String codeFormat; + + private String getCodeFormat() { + return codeFormat == null ? Cob2XsdConfig.CodeFormat.FIXED_FORMAT.name() : codeFormat; + } + } + + /** + * Endpoint method to get the output schema given copybook. + * + * @param request {@link GetSchemaRequest} containing information about the cobol copybook. + * @param pluginContext context to create plugins + * @return schema of fields + * @throws IOException if there are any errors converting schema + */ + @javax.ws.rs.Path("outputSchema") + public co.cask.cdap.api.data.schema.Schema getSchema(GetSchemaRequest request, + EndpointPluginContext pluginContext) throws IOException { + Properties properties = new Properties(); + properties.setProperty(Cob2XsdConfig.CODE_FORMAT, request.getCodeFormat()); + StreamCharSource streamCharSource + = new StreamCharSource(new ByteArrayInputStream(request.copybook.getBytes(StandardCharsets.UTF_8))); + CopybookReader reader = new CopybookReader(streamCharSource, properties); + Schema avroSchema = reader.getSchema(); + return AvroConverter.fromAvroSchema(avroSchema); + } + + public static final class Config extends PluginConfig { + @Description("COBOL Copybook") + @Macro + private String copybook; + + @Description("CodeFormat in the Copybook") + @Nullable + private String codeFormat; + + @Description("Charset used to read the data. Default Charset is 'IBM01140'.") + @Nullable + private String charset; + + @Description("Records start with Record Descriptor Word") + @Nullable + private Boolean rdw; + + @Description("Name of the field containing COBOL records") + private String fieldName; + + public String getCodeFormat() { + return codeFormat == null ? Cob2XsdConfig.CodeFormat.FIXED_FORMAT.name() : codeFormat; + } + + public String getCharset() { + return charset == null ? "IBM01140" : charset; + } + + public boolean hasRDW() { + return rdw == null ? true : rdw; + } + } +} diff --git a/src/main/resources/java.class.hbs b/src/main/resources/java.class.hbs new file mode 100644 index 0000000..5b8911f --- /dev/null +++ b/src/main/resources/java.class.hbs @@ -0,0 +1,58 @@ +{{#if target_package_name}}package {{target_package_name}};{{/if}} + +import java.util.LinkedHashMap; +import java.util.Map; + +import com.legstar.base.type.CobolType; +import com.legstar.base.type.composite.*; +import com.legstar.base.type.primitive.*; + +public class {{class_name}} extends CobolComplexType { + + public {{class_name}}() { + super(new CobolComplexType.Builder() + .name("{{root_type_name}}") + .cobolName("{{root_cobol_name}}") + .fields(create{{root_type_name}}Fields()) + ); + } +{{#each complex_types}} + private static Map create{{@key}}Fields() { + + Map fields = new LinkedHashMap(); +{{#each this ~}} +{{> java.field}} +{{~/each}}{{!-- this: fields in complex type --}} + return fields; + + } +{{/each}}{{!-- complex_types --}} +{{~#each choice_types}} + private static Map create{{@key}}Fields() { + + Map fields = new LinkedHashMap(); +{{#each this ~}} +{{> java.field}} +{{~/each}}{{!-- this: fields in choice type --}} + return fields; + + } + +{{~/each}}{{!-- choice_types --}} +{{~#each complex_types}} +{{~#each this }} +{{~#if complexType }} +{{> java.complextype}} +{{/if ~}}{{!-- complexType --}} +{{~/each}}{{!-- this: fields in complex type --}} +{{~/each}}{{!-- complex_types --}} +{{~#each choice_types}} +{{~#each this }} +{{~#if complexType }} +{{> java.complextype}} +{{/if ~}}{{!-- complexType --}} +{{~/each}}{{!-- this: fields in complex type --}} +{{~/each}}{{!-- choice_types --}} + +} + diff --git a/src/main/resources/java.complextype.hbs b/src/main/resources/java.complextype.hbs new file mode 100644 index 0000000..52753f6 --- /dev/null +++ b/src/main/resources/java.complextype.hbs @@ -0,0 +1,11 @@ + public static CobolComplexType create{{complexTypeName}}() { + CobolComplexType.Builder builder = new CobolComplexType.Builder(); + builder.name("{{complexTypeName}}"); + builder.cobolName("{{cobolName}}"); + builder.fields(create{{complexTypeName}}Fields()); +{{~#if isOptional}} + {{~#if dependingOn}} + builder.dependingOn("{{dependingOn}}");{{/if}} +{{~/if ~}}{{!-- isOptional --}} + return builder.build(); + } \ No newline at end of file diff --git a/src/main/resources/java.field.hbs b/src/main/resources/java.field.hbs new file mode 100644 index 0000000..1ddee4d --- /dev/null +++ b/src/main/resources/java.field.hbs @@ -0,0 +1,72 @@ +{{~#if complexType}} + CobolComplexType {{@key}} = create{{complexTypeName}}(); +{{~#if maxOccurs}} + CobolArrayType.Builder {{@key}}ArrayBuilder = new CobolArrayType.Builder(); + {{@key}}ArrayBuilder.itemType({{@key}}); + {{@key}}ArrayBuilder.minOccurs({{minOccurs}}); + {{@key}}ArrayBuilder.maxOccurs({{maxOccurs}}); + {{~#if dependingOn}} + {{@key}}ArrayBuilder.dependingOn("{{dependingOn}}");{{/if}} + CobolArrayType {{@key}}Array = {{@key}}ArrayBuilder.build(); + fields.put("{{@key}}", {{@key}}Array); +{{~else}} + fields.put("{{@key}}", {{@key}}); +{{~/if ~}}{{!-- maxOccurs --}} +{{~else}} +{{~#if choiceType}} + CobolChoiceType.Builder {{@key}}ChoiceBuilder = new CobolChoiceType.Builder(); + {{@key}}ChoiceBuilder.name("{{choiceTypeName}}"); + {{@key}}ChoiceBuilder.alternatives(create{{choiceTypeName}}Fields()); + CobolChoiceType {{@key}} = {{@key}}ChoiceBuilder.build(); +{{~#if maxOccurs}} + CobolArrayType.Builder {{@key}}ArrayBuilder = new CobolArrayType.Builder(); + {{@key}}ArrayBuilder.itemType({{@key}}); + {{@key}}ArrayBuilder.minOccurs({{minOccurs}}); + {{@key}}ArrayBuilder.maxOccurs({{maxOccurs}}); + {{~#if dependingOn}} + {{@key}}ArrayBuilder.dependingOn("{{dependingOn}}");{{/if}} + CobolArrayType {{@key}}Array = {{@key}}ArrayBuilder.build(); + fields.put("{{@key}}", {{@key}}Array); +{{~else}} + fields.put("{{@key}}", {{@key}}); +{{~/if ~}}{{!-- maxOccurs --}} +{{~else}} + {{cobolTypeName}}.Builder{{#if javaTypeName}} {{/if}} {{@key}}Builder = new {{cobolTypeName}}.Builder{{#if javaTypeName}} {{/if}}({{#if javaTypeName}}{{javaTypeName}}.class{{/if}}); + {{@key}}Builder.cobolName("{{cobolName}}"); + {{~#if signed}} + {{@key}}Builder.signed({{signed}});{{/if}} + {{~#if signLeading}} + {{@key}}Builder.signLeading({{signLeading}});{{/if}} + {{~#if signSeparate}} + {{@key}}Builder.signSeparate({{signSeparate}});{{/if}} + {{~#if totalDigits}} + {{@key}}Builder.totalDigits({{totalDigits}});{{/if}} + {{~#if fractionDigits}} + {{@key}}Builder.fractionDigits({{fractionDigits}});{{/if}} + {{~#if charNum}} + {{@key}}Builder.charNum({{charNum}});{{/if}} + {{~#if minInclusive}} + {{@key}}Builder.minInclusive({{javaTypeName}}.valueOf("{{minInclusive}}"));{{/if}} + {{~#if maxInclusive}} + {{@key}}Builder.maxInclusive({{javaTypeName}}.valueOf("{{maxInclusive}}"));{{/if}} + {{~#if odoObject}} + {{@key}}Builder.odoObject(true);{{/if}} +{{~#if isOptional}} + {{~#if dependingOn}} + {{@key}}Builder.dependingOn("{{dependingOn}}");{{/if}} +{{~/if ~}}{{!-- isOptional --}} + {{cobolTypeName}}{{#if javaTypeName}} {{/if}} {{@key}} = {{@key}}Builder.build(); +{{~#if maxOccurs}} + CobolArrayType.Builder {{@key}}ArrayBuilder = new CobolArrayType.Builder(); + {{@key}}ArrayBuilder.itemType({{@key}}); + {{@key}}ArrayBuilder.minOccurs({{minOccurs}}); + {{@key}}ArrayBuilder.maxOccurs({{maxOccurs}}); + {{~#if dependingOn}} + {{@key}}ArrayBuilder.dependingOn("{{dependingOn}}");{{/if}} + CobolArrayType {{@key}}Array = {{@key}}ArrayBuilder.build(); + fields.put("{{@key}}", {{@key}}Array); +{{~else}} + fields.put("{{@key}}", {{@key}}); +{{~/if ~}}{{!-- maxOccurs --}} +{{~/if ~}}{{!-- choiceType --}} +{{~/if ~}}{{!-- complexType --}} diff --git a/src/test/java/co/cask/cobol/SimpleTest.java b/src/test/java/co/cask/cobol/SimpleTest.java new file mode 100644 index 0000000..9883510 --- /dev/null +++ b/src/test/java/co/cask/cobol/SimpleTest.java @@ -0,0 +1,70 @@ +/* + * Copyright © 2017 Cask Data, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package co.cask.cobol; + +import co.cask.cdap.api.data.format.StructuredRecord; +import co.cask.cdap.api.data.schema.Schema; +import co.cask.cdap.format.StructuredRecordStringConverter; +import co.cask.common.AvroConverter; +import com.google.common.io.Resources; +import com.legstar.avro.cob2avro.io.AbstractZosDatumReader; +import org.apache.avro.generic.GenericRecord; +import org.junit.Assert; +import org.junit.ClassRule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.URL; +import java.nio.charset.StandardCharsets; +import java.util.Properties; + +/** + * + */ +public class SimpleTest { + + private static final Logger LOG = LoggerFactory.getLogger(SimpleTest.class); + + @ClassRule + public static final TemporaryFolder TEMP_FOLDER = new TemporaryFolder(); + + @Test + public void test() throws Exception { + URL copyBookURL = getClass().getClassLoader().getResource("custdat.cpbk"); + + Assert.assertNotNull(copyBookURL); + + Properties properties = new Properties(); + CopybookReader copybookReader = new CopybookReader(Resources.asCharSource(copyBookURL, StandardCharsets.UTF_8), + properties); + + URL dataURL = getClass().getClassLoader().getResource("custdat.bin"); + + Assert.assertNotNull(dataURL); + Schema schema = AvroConverter.fromAvroSchema(copybookReader.getSchema()); + + try (AbstractZosDatumReader reader = + copybookReader.createRecordReader(Resources.asByteSource(dataURL), "IBM01140", true)) { + for (GenericRecord record : reader) { + StructuredRecord structuredRecord = AvroConverter.fromAvroRecord(record, schema); + LOG.info(StructuredRecordStringConverter.toJsonString(structuredRecord)); + } + } + } +} diff --git a/src/test/resources/custdat.bin b/src/test/resources/custdat.bin new file mode 100644 index 0000000000000000000000000000000000000000..e1329e5e16c73f52fcf8d62ee6779e8e2835ac36 GIT binary patch literal 1249075 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 z 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 *m0Kx0u8ei7wF?d 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 VZRz~cxwN1R+G + + + + + + + + %d{ISO8601} - %-5p [%t:%C{1}@%L] - %m%n + + + + + + + + + + diff --git a/widgets/CobolRecordConverter-transform.json b/widgets/CobolRecordConverter-transform.json new file mode 100644 index 0000000..66a1525 --- /dev/null +++ b/widgets/CobolRecordConverter-transform.json @@ -0,0 +1,83 @@ +{ + "metadata": { + "spec-version": "1.0" + }, + "configuration-groups": [ + { + "label": "COBOL to Avro Record Converter Configuration", + "properties": [ + { + "widget-type": "textarea", + "label": "Copybook", + "name": "copybook", + "widget-attributes": { + "rows": "4" + }, + "plugin-function": { + "method": "POST", + "widget": "outputSchema", + "output-property": "schema", + "plugin-method": "outputSchema", + "required-fields": ["copybook"], + "missing-required-fields-message": "'Copybook' is required to fetch schema." + } + }, + { + "widget-type": "select", + "label": "Code Format for Copybook", + "name": "codeFormat", + "widget-attributes": { + "values": [ + "FIXED_FORMAT", + "FREE_FORMAT" + ], + "default": "FIXED_FORMAT" + } + }, + { + "widget-type": "textbox", + "label": "Charset", + "name": "charset", + "widget-attributes": { + "default": "IBM01140" + } + }, + { + "widget-type": "select", + "label": "Records start with Record Descriptor Word", + "name": "rdw", + "widget-attributes": { + "values": [ + "true", + "false" + ], + "default": "true" + } + }, + { + "widget-type": "textbox", + "label": "Name of the field containing COBOL records", + "name": "fieldName" + } + ] + } + ], + "outputs": [ + { + "name": "schema", + "widget-type": "schema", + "widget-attributes": { + "schema-types": [ + "boolean", + "int", + "long", + "float", + "double", + "bytes", + "string" + ], + "schema-default-type": "string" + } + } + ] +} \ No newline at end of file