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:21 UTC
[19/43] metamodel git commit: METAMODEL-1113: Fixed
METAMODEL-1113: Fixed
Fixes #125
Project: http://git-wip-us.apache.org/repos/asf/metamodel/repo
Commit: http://git-wip-us.apache.org/repos/asf/metamodel/commit/9c8f0b9d
Tree: http://git-wip-us.apache.org/repos/asf/metamodel/tree/9c8f0b9d
Diff: http://git-wip-us.apache.org/repos/asf/metamodel/diff/9c8f0b9d
Branch: refs/heads/5.x
Commit: 9c8f0b9d100853431f20b5761b4364c04276452b
Parents: 8a17fbf
Author: Arjan Seijkens <Ar...@humaninference.com>
Authored: Mon Sep 5 21:11:40 2016 -0700
Committer: Kasper Sørensen <i....@gmail.com>
Committed: Mon Sep 5 21:12:35 2016 -0700
----------------------------------------------------------------------
CHANGES.md | 1 +
.../apache/metamodel/csv/CsvConfiguration.java | 2 +-
.../metamodel/csv/CsvDataContextTest.java | 23 ++++++++++++++++++++
.../metamodel/excel/ExcelDataContextTest.java | 17 +++++++++++++++
.../fixedwidth/FixedWidthDataContextTest.java | 17 +++++++++++++++
5 files changed, 59 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/metamodel/blob/9c8f0b9d/CHANGES.md
----------------------------------------------------------------------
diff --git a/CHANGES.md b/CHANGES.md
index 0c06db2..c8f288f 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -3,6 +3,7 @@
* [METAMODEL-1111] - Added WHERE rewrite for Oracle when empty strings are considered as NULL.
* [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.
### Apache MetaModel 4.5.4
http://git-wip-us.apache.org/repos/asf/metamodel/blob/9c8f0b9d/csv/src/main/java/org/apache/metamodel/csv/CsvConfiguration.java
----------------------------------------------------------------------
diff --git a/csv/src/main/java/org/apache/metamodel/csv/CsvConfiguration.java b/csv/src/main/java/org/apache/metamodel/csv/CsvConfiguration.java
index abcf2d4..332ef4b 100644
--- a/csv/src/main/java/org/apache/metamodel/csv/CsvConfiguration.java
+++ b/csv/src/main/java/org/apache/metamodel/csv/CsvConfiguration.java
@@ -94,7 +94,7 @@ public final class CsvConfiguration extends BaseObject implements Serializable {
this.escapeChar = escapeChar;
this.failOnInconsistentRowLength = failOnInconsistentRowLength;
this.multilineValues = multilineValues;
- this.columnNamingStrategy = null;
+ this.columnNamingStrategy = columnNamingStrategy;
}
/**
http://git-wip-us.apache.org/repos/asf/metamodel/blob/9c8f0b9d/csv/src/test/java/org/apache/metamodel/csv/CsvDataContextTest.java
----------------------------------------------------------------------
diff --git a/csv/src/test/java/org/apache/metamodel/csv/CsvDataContextTest.java b/csv/src/test/java/org/apache/metamodel/csv/CsvDataContextTest.java
index e417cf6..39f9d43 100644
--- a/csv/src/test/java/org/apache/metamodel/csv/CsvDataContextTest.java
+++ b/csv/src/test/java/org/apache/metamodel/csv/CsvDataContextTest.java
@@ -48,6 +48,7 @@ import org.apache.metamodel.schema.Column;
import org.apache.metamodel.schema.MutableColumn;
import org.apache.metamodel.schema.Schema;
import org.apache.metamodel.schema.Table;
+import org.apache.metamodel.schema.naming.CustomColumnNamingStrategy;
import org.apache.metamodel.util.FileHelper;
import org.apache.metamodel.util.MutableRef;
@@ -828,4 +829,26 @@ public class CsvDataContextTest extends TestCase {
// e.getMessage());
// }
// }
+
+ public void testCustomColumnNames() throws Exception {
+ final String firstColumnName = "first";
+ final String secondColumnName = "second";
+ final String thirdColumnName = "third";
+ final String fourthColumnName = "fourth";
+
+ final CsvConfiguration configuration = new CsvConfiguration(CsvConfiguration.DEFAULT_COLUMN_NAME_LINE,
+ new CustomColumnNamingStrategy(firstColumnName, secondColumnName, thirdColumnName, fourthColumnName),
+ FileHelper.DEFAULT_ENCODING, CsvConfiguration.DEFAULT_SEPARATOR_CHAR,
+ CsvConfiguration.DEFAULT_QUOTE_CHAR, CsvConfiguration.DEFAULT_ESCAPE_CHAR, false, true);
+
+ final DataContext dataContext = new CsvDataContext(new File("src/test/resources/csv_people.csv"),
+ configuration);
+
+ final Table table = dataContext.getDefaultSchema().getTable(0);
+
+ assertNotNull(table.getColumnByName(firstColumnName));
+ assertNotNull(table.getColumnByName(secondColumnName));
+ assertNotNull(table.getColumnByName(thirdColumnName));
+ assertNotNull(table.getColumnByName(fourthColumnName));
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/metamodel/blob/9c8f0b9d/excel/src/test/java/org/apache/metamodel/excel/ExcelDataContextTest.java
----------------------------------------------------------------------
diff --git a/excel/src/test/java/org/apache/metamodel/excel/ExcelDataContextTest.java b/excel/src/test/java/org/apache/metamodel/excel/ExcelDataContextTest.java
index 3b69290..f8406c3 100644
--- a/excel/src/test/java/org/apache/metamodel/excel/ExcelDataContextTest.java
+++ b/excel/src/test/java/org/apache/metamodel/excel/ExcelDataContextTest.java
@@ -36,6 +36,7 @@ import org.apache.metamodel.query.Query;
import org.apache.metamodel.schema.Column;
import org.apache.metamodel.schema.Schema;
import org.apache.metamodel.schema.Table;
+import org.apache.metamodel.schema.naming.CustomColumnNamingStrategy;
import org.apache.metamodel.util.DateUtils;
import org.apache.metamodel.util.FileHelper;
import org.apache.metamodel.util.Month;
@@ -775,4 +776,20 @@ public class ExcelDataContextTest extends TestCase {
assertNotNull(ds);
ds.close();
}
+
+ public void testCustomColumnNames() throws Exception {
+ final String firstColumnName = "first";
+ final String secondColumnName = "second";
+ final String thirdColumnName = "third";
+
+ final ExcelConfiguration configuration = new ExcelConfiguration(ExcelConfiguration.DEFAULT_COLUMN_NAME_LINE,
+ new CustomColumnNamingStrategy(firstColumnName, secondColumnName, thirdColumnName), true, false);
+ final DataContext dataContext = new ExcelDataContext(copyOf("src/test/resources/Spreadsheet2007.xlsx"),
+ configuration);
+ final Table table = dataContext.getDefaultSchema().getTable(0);
+
+ assertNotNull(table.getColumnByName(firstColumnName));
+ assertNotNull(table.getColumnByName(secondColumnName));
+ assertNotNull(table.getColumnByName(thirdColumnName));
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/metamodel/blob/9c8f0b9d/fixedwidth/src/test/java/org/apache/metamodel/fixedwidth/FixedWidthDataContextTest.java
----------------------------------------------------------------------
diff --git a/fixedwidth/src/test/java/org/apache/metamodel/fixedwidth/FixedWidthDataContextTest.java b/fixedwidth/src/test/java/org/apache/metamodel/fixedwidth/FixedWidthDataContextTest.java
index 7962cf6..7a4b75f 100644
--- a/fixedwidth/src/test/java/org/apache/metamodel/fixedwidth/FixedWidthDataContextTest.java
+++ b/fixedwidth/src/test/java/org/apache/metamodel/fixedwidth/FixedWidthDataContextTest.java
@@ -28,6 +28,7 @@ import org.apache.metamodel.data.DataSet;
import org.apache.metamodel.query.Query;
import org.apache.metamodel.schema.Schema;
import org.apache.metamodel.schema.Table;
+import org.apache.metamodel.schema.naming.CustomColumnNamingStrategy;
public class FixedWidthDataContextTest extends TestCase {
@@ -221,4 +222,20 @@ public class FixedWidthDataContextTest extends TestCase {
assertEquals("[3, howdy, partner]", Arrays.toString(ds.getRow().getValues()));
assertFalse(ds.next());
}
+
+ public void testCustomColumnNames() throws Exception {
+ final String firstColumnName = "first";
+ final String secondColumnName = "second";
+
+ final FixedWidthConfiguration configuration = new FixedWidthConfiguration(
+ FixedWidthConfiguration.DEFAULT_COLUMN_NAME_LINE, new CustomColumnNamingStrategy(firstColumnName,
+ secondColumnName), "UTF8", new int[] { 10, 10 }, true);
+
+ final DataContext dataContext = new FixedWidthDataContext(new File("src/test/resources/example_simple1.txt"),
+ configuration);
+ final Table table = dataContext.getDefaultSchema().getTable(0);
+
+ assertNotNull(table.getColumnByName(firstColumnName));
+ assertNotNull(table.getColumnByName(secondColumnName));
+ }
}