You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@metamodel.apache.org by ka...@apache.org on 2017/05/10 03:54:22 UTC

[20/43] metamodel git commit: METAMODEL-1114: Fixed

METAMODEL-1114: Fixed

Fixes #126

Project: http://git-wip-us.apache.org/repos/asf/metamodel/repo
Commit: http://git-wip-us.apache.org/repos/asf/metamodel/commit/060884c1
Tree: http://git-wip-us.apache.org/repos/asf/metamodel/tree/060884c1
Diff: http://git-wip-us.apache.org/repos/asf/metamodel/diff/060884c1

Branch: refs/heads/5.x
Commit: 060884c17d1c5c35348d2cb675bed1c404013579
Parents: 9c8f0b9
Author: Arjan Seijkens <Ar...@humaninference.com>
Authored: Mon Sep 5 21:16:01 2016 -0700
Committer: Kasper Sørensen <i....@gmail.com>
Committed: Mon Sep 5 21:16:01 2016 -0700

----------------------------------------------------------------------
 CHANGES.md                                        |  1 +
 .../metamodel/fixedwidth/EbcdicConfiguration.java |  9 ++++++++-
 .../apache/metamodel/fixedwidth/EBCDICTest.java   | 18 ++++++++++++++++++
 3 files changed, 27 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/metamodel/blob/060884c1/CHANGES.md
----------------------------------------------------------------------
diff --git a/CHANGES.md b/CHANGES.md
index c8f288f..f44077e 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -4,6 +4,7 @@
  * [METAMODEL-1109] - Fixed diacritics/encoding issue with Fixed Width reader.
  * [METAMODEL-1115] - Added support for passing your own PartnerConnection object to the Salesforce.com connector.
  * [METAMODEL-1113] - Fixed support for ColumnNamingStrategy in CSV connector.
+ * [METAMODEL-1114] - Added support for ColumnNamingStrategy in EBCDIC connector.
 
 ### Apache MetaModel 4.5.4
 

http://git-wip-us.apache.org/repos/asf/metamodel/blob/060884c1/fixedwidth/src/main/java/org/apache/metamodel/fixedwidth/EbcdicConfiguration.java
----------------------------------------------------------------------
diff --git a/fixedwidth/src/main/java/org/apache/metamodel/fixedwidth/EbcdicConfiguration.java b/fixedwidth/src/main/java/org/apache/metamodel/fixedwidth/EbcdicConfiguration.java
index 389a4f8..e4bff94 100644
--- a/fixedwidth/src/main/java/org/apache/metamodel/fixedwidth/EbcdicConfiguration.java
+++ b/fixedwidth/src/main/java/org/apache/metamodel/fixedwidth/EbcdicConfiguration.java
@@ -18,6 +18,8 @@
  */
 package org.apache.metamodel.fixedwidth;
 
+import org.apache.metamodel.schema.naming.ColumnNamingStrategy;
+
 /**
  * Special fixed-width configuration for EBCDIC files. 
  */
@@ -35,7 +37,12 @@ public final class EbcdicConfiguration extends FixedWidthConfiguration {
 
     public EbcdicConfiguration(int columnNameLineNumber, String encoding, int[] valueWidths,
             boolean failOnInconsistentLineWidth, boolean skipEbcdicHeader, boolean eolPresent) {
-        super(columnNameLineNumber, null, encoding, valueWidths, failOnInconsistentLineWidth);
+        this(columnNameLineNumber, null, encoding, valueWidths, failOnInconsistentLineWidth, skipEbcdicHeader, eolPresent);
+    }
+
+    public EbcdicConfiguration(int columnNameLineNumber, ColumnNamingStrategy columnNamingStrategy, String encoding,
+            int[] valueWidths, boolean failOnInconsistentLineWidth, boolean skipEbcdicHeader, boolean eolPresent) {
+        super(columnNameLineNumber, columnNamingStrategy, encoding, valueWidths, failOnInconsistentLineWidth);
         _skipEbcdicHeader = skipEbcdicHeader;
         _eolPresent = eolPresent;
     }

http://git-wip-us.apache.org/repos/asf/metamodel/blob/060884c1/fixedwidth/src/test/java/org/apache/metamodel/fixedwidth/EBCDICTest.java
----------------------------------------------------------------------
diff --git a/fixedwidth/src/test/java/org/apache/metamodel/fixedwidth/EBCDICTest.java b/fixedwidth/src/test/java/org/apache/metamodel/fixedwidth/EBCDICTest.java
index ea19960..2b5c8be 100644
--- a/fixedwidth/src/test/java/org/apache/metamodel/fixedwidth/EBCDICTest.java
+++ b/fixedwidth/src/test/java/org/apache/metamodel/fixedwidth/EBCDICTest.java
@@ -20,12 +20,15 @@ package org.apache.metamodel.fixedwidth;
 
 import java.io.File;
 
+import org.apache.metamodel.DataContext;
 import org.apache.metamodel.data.DataSet;
 import org.apache.metamodel.schema.Schema;
 import org.apache.metamodel.schema.Table;
+import org.apache.metamodel.schema.naming.CustomColumnNamingStrategy;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
 public class EBCDICTest {
     private static final int[] COLUMN_WIDTHS = new int[] { 2, 7, 10, 10 };
@@ -74,4 +77,19 @@ public class EBCDICTest {
             }
         }
     }
+
+    @Test
+    public void testCustomColumnNames() throws Exception {
+        final String[] columnNames = {"first", "second", "third", "fourth"};
+        final FixedWidthConfiguration configuration = new EbcdicConfiguration(
+                FixedWidthConfiguration.NO_COLUMN_NAME_LINE, new CustomColumnNamingStrategy(columnNames), ENCODING,
+                COLUMN_WIDTHS, false, true, false);
+        final DataContext dataContext = new FixedWidthDataContext(new File(
+                "src/test/resources/fixed-width-2-7-10-10.ebc"), configuration);
+        final Table table = dataContext.getDefaultSchema().getTable(0);
+
+        for (int i = 0; i < columnNames.length; i++) {
+            assertNotNull(table.getColumnByName(columnNames[i]));
+        }
+    }
 }