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:45 UTC
[43/43] metamodel git commit: Merge branch 'master' into 5.x
Merge branch 'master' into 5.x
# Conflicts:
# CHANGES.md
# cassandra/pom.xml
# core/pom.xml
# couchdb/pom.xml
# csv/pom.xml
# elasticsearch/common/pom.xml
# elasticsearch/native/pom.xml
# elasticsearch/pom.xml
# elasticsearch/rest/pom.xml
# elasticsearch/rest/src/main/java/org/apache/metamodel/elasticsearch/rest/ElasticSearchRestDataContext.java
# excel/pom.xml
# fixedwidth/pom.xml
# fixedwidth/src/main/java/org/apache/metamodel/fixedwidth/FixedWidthColumnSpec.java
# fixedwidth/src/main/java/org/apache/metamodel/fixedwidth/FixedWidthConfiguration.java
# fixedwidth/src/main/java/org/apache/metamodel/fixedwidth/FixedWidthConfigurationReader.java
# full/pom.xml
# hadoop/pom.xml
# hbase/pom.xml
# jdbc/pom.xml
# jdbc/src/test/java/org/apache/metamodel/jdbc/integrationtests/PostgresqlTest.java
# json/pom.xml
# mongodb/common/pom.xml
# mongodb/mongo2/pom.xml
# mongodb/mongo3/pom.xml
# mongodb/pom.xml
# neo4j/pom.xml
# openoffice/pom.xml
# pojo/pom.xml
# pom.xml
# salesforce/pom.xml
# spring/pom.xml
# sugarcrm/pom.xml
# xml/pom.xml
Project: http://git-wip-us.apache.org/repos/asf/metamodel/repo
Commit: http://git-wip-us.apache.org/repos/asf/metamodel/commit/c4788a27
Tree: http://git-wip-us.apache.org/repos/asf/metamodel/tree/c4788a27
Diff: http://git-wip-us.apache.org/repos/asf/metamodel/diff/c4788a27
Branch: refs/heads/5.x
Commit: c4788a27270110ee630e0337402f4f48b6147ac1
Parents: 02397db b0cfe3a
Author: Kasper Sørensen <i....@gmail.com>
Authored: Tue May 9 20:40:08 2017 -0700
Committer: Kasper Sørensen <i....@gmail.com>
Committed: Tue May 9 20:53:48 2017 -0700
----------------------------------------------------------------------
.gitattributes | 2 +
CHANGES.md | 36 +-
README.md | 77 ++--
cassandra/.gitignore | 1 +
.../cassandra/CassandraDataContext.java | 74 +++-
.../cassandra/CassandraDataContextTest.java | 18 +-
.../metamodel/factory/DataContextFactory.java | 16 +
.../insert/AbstractRowInsertionBuilder.java | 5 +-
.../metamodel/query/DefaultCompiledQuery.java | 2 +-
.../org/apache/metamodel/query/FilterItem.java | 12 +-
.../apache/metamodel/query/OperatorType.java | 6 +-
.../metamodel/query/OperatorTypeImpl.java | 74 ++--
.../query/builder/AbstractFilterBuilder.java | 24 ++
.../builder/AbstractQueryFilterBuilder.java | 21 +
.../metamodel/query/builder/FilterBuilder.java | 22 ++
.../query/builder/GroupedQueryBuilder.java | 5 +
.../builder/GroupedQueryBuilderCallback.java | 16 +
.../query/builder/GroupedQueryBuilderImpl.java | 30 +-
.../query/builder/HavingBuilderImpl.java | 100 +++--
.../query/builder/SatisfiedQueryBuilder.java | 4 +-
.../apache/metamodel/util/WildcardPattern.java | 13 +-
.../ResourceFactoryRegistryImplTest.java | 3 +-
.../insert/AbstractRowInsertionBuilderTest.java | 49 +++
.../apache/metamodel/query/FilterItemTest.java | 28 ++
.../query/builder/SyntaxExamplesTest.java | 5 +
.../query/builder/WhereBuilderImplTest.java | 28 ++
.../metamodel/util/WildcardPatternTest.java | 11 +
.../apache/metamodel/csv/CsvConfiguration.java | 2 +-
.../metamodel/csv/CsvDataContextTest.java | 23 ++
dynamodb/.gitignore | 4 +
dynamodb/pom.xml | 61 +++
.../metamodel/dynamodb/DynamoDbDataContext.java | 306 +++++++++++++++
.../metamodel/dynamodb/DynamoDbDataSet.java | 68 ++++
.../dynamodb/DynamoDbRowInsertionBuilder.java | 57 +++
.../dynamodb/DynamoDbTableCreationBuilder.java | 112 ++++++
.../dynamodb/DynamoDbTableDropBuilder.java | 46 +++
.../dynamodb/DynamoDbUpdateCallback.java | 85 +++++
.../metamodel/dynamodb/DynamoDbUtils.java | 105 +++++
.../DynamoDbDataContextIntegrationTest.java | 211 +++++++++++
.../ElasticSearchDataContextFactory.java | 165 ++++++++
....apache.metamodel.factory.DataContextFactory | 1 +
.../rest/ElasticSearchRestDataContext.java | 24 +-
.../ElasticSearchRestDataContextFactory.java | 106 ++++++
....apache.metamodel.factory.DataContextFactory | 1 +
...del-integrationtest-configuration.properties | 7 +
.../metamodel/excel/ExcelDataContextTest.java | 17 +
fixedwidth/pom.xml | 46 +--
.../fixedwidth/EbcdicConfiguration.java | 67 ++++
.../metamodel/fixedwidth/EbcdicReader.java | 79 ++++
.../fixedwidth/FixedWidthConfiguration.java | 199 +++++-----
.../FixedWidthConfigurationReader.java | 18 +-
.../fixedwidth/FixedWidthDataContext.java | 25 +-
.../metamodel/fixedwidth/FixedWidthDataSet.java | 3 +-
.../fixedwidth/FixedWidthLineParser.java | 121 ++++++
.../metamodel/fixedwidth/FixedWidthReader.java | 379 +++++++++++--------
.../apache/metamodel/fixedwidth/EBCDICTest.java | 95 +++++
.../fixedwidth/FixedWidthConfigurationTest.java | 11 +-
.../fixedwidth/FixedWidthDataContextTest.java | 20 +-
.../fixedwidth/FixedWidthLineParserTest.java | 66 ++++
.../fixedwidth/FixedWidthReaderTest.java | 103 ++++-
.../test/resources/example_diacritics_utf8.txt | 4 +
.../src/test/resources/example_simple3.txt | 4 +
.../test/resources/fixed-width-2-7-10-10.ebc | 1 +
.../apache/metamodel/DataContextFactory.java | 22 +-
jdbc/pom.xml | 13 +-
.../apache/metamodel/jdbc/JdbcDataContext.java | 68 ++--
.../org/apache/metamodel/jdbc/JdbcDataSet.java | 53 +--
.../metamodel/jdbc/JdbcDeleteBuilder.java | 2 +-
.../metamodel/jdbc/JdbcInsertBuilder.java | 2 +-
.../metamodel/jdbc/JdbcUpdateBuilder.java | 4 +-
.../org/apache/metamodel/jdbc/JdbcUtils.java | 140 +------
.../org/apache/metamodel/jdbc/SqlKeywords.java | 69 ++--
.../jdbc/dialects/AbstractQueryRewriter.java | 197 +++++++++-
.../jdbc/dialects/DB2QueryRewriter.java | 2 +-
.../jdbc/dialects/DefaultQueryRewriter.java | 9 +-
.../jdbc/dialects/HiveQueryRewriter.java | 12 +-
.../metamodel/jdbc/dialects/IQueryRewriter.java | 30 ++
.../jdbc/dialects/MysqlQueryRewriter.java | 2 +-
.../jdbc/dialects/OffsetFetchQueryRewriter.java | 69 ++++
.../jdbc/dialects/OracleQueryRewriter.java | 19 +-
.../jdbc/dialects/PostgresqlQueryRewriter.java | 69 +++-
.../jdbc/dialects/SQLServerQueryRewriter.java | 13 +-
.../dialects/SQLServerQueryRewriterTest.java | 19 +-
.../metamodel/jdbc/JdbcTestTemplates.java | 22 ++
.../jdbc/dialects/OracleQueryRewriterTest.java | 134 +++++++
.../dialects/PostgresqlQueryRewriterTest.java | 49 +++
.../integrationtests/HiveIntegrationTest.java | 69 +++-
.../jdbc/integrationtests/PostgresqlTest.java | 102 +++--
pom.xml | 3 +
salesforce/pom.xml | 12 +-
.../salesforce/SalesforceDataContext.java | 24 ++
.../metamodel/salesforce/SalesforceTable.java | 2 +-
92 files changed, 3763 insertions(+), 792 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/metamodel/blob/c4788a27/CHANGES.md
----------------------------------------------------------------------
diff --cc CHANGES.md
index bb64682,ebc7e66..3356b5d
--- a/CHANGES.md
+++ b/CHANGES.md
@@@ -1,12 -1,31 +1,37 @@@
+### Apache MetaModel 5.0
+
+ * [METAMODEL-6] - Added update summary containing information about changes on returning UpdateableDataContext.executeUpdate(..)
+ * [METAMODEL-222] - Added support for Java 8 lambdas, removed support for Java 7.
+ * [METAMODEL-1087] - Removed deprecated APIs from MetaModel's codebase.
+
- ### Apache MetaModel 4.5.4 (work in progress)
+ ### Apache MetaModel 4.6.0
+
+ * [METAMODEL-1136] - New connector for Amazon DynamoDB.
+ * [METAMODEL-1134] - Added NOT IN and NOT LIKE operators to WHERE filters.
+ * [METAMODEL-1133] - Made PojoDataContext thread-safe.
+
+ ### Apache MetaModel 4.5.5
+
+ * [METAMODEL-1132] - Support native paging on SQL Server and Oracle database.
+ * [METAMODEL-1128] - Fixed bug pertaining to ElasticSearch REST data set scrolling.
+ * [METAMODEL-1118] - Fixed bug pertaining to cloning of FilterItem.LogicalOperator in compiled queries.
+ * [METAMODEL-1111] - Added WHERE rewrite for Oracle when empty strings are considered as NULL.
+ * [METAMODEL-1122] - Optimized the way the Cassandra module executes primary key lookup queries.
+ * [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.
+ * [METAMODEL-1119] - Worked around Hive JDBC driver issues, avoiding non-compliant metadata calls.
+ * [METAMODEL-1123] - Fixed the treatment of a Salesforce.com 'currency' value as a number, not a string.
+ * [METAMODEL-1124] - Fixed the date formatting of date values in MS SQL server.
+ * [METAMODEL-1127] - Fixed setting of null Map on postgres
+
+ ### Apache MetaModel 4.5.4
* [METAMODEL-1099] - Created a new DataContextFactory SPI and a extensible registry of implementations based on ServiceLoader.
+ * [METAMODEL-1099] - Implemented DataContextFactory SPI for connectors: JDBC, CSV, ElasticSearch
+ * [METAMODEL-250] - Added support for EBCDIC files (part of 'fixedwidth' module).
+ * [METAMODEL-1103] - Fixed a bug pertaining to anchoring of wildcards in LIKE operands.
* [METAMODEL-1088] - Add support for aliases in MongoDB.
* [METAMODEL-1086] - Fixed encoding issue when CsvDataContext is instantiated with InputStream.
* [METAMODEL-1094] - Added support for Apache Cassandra version 3.x.
http://git-wip-us.apache.org/repos/asf/metamodel/blob/c4788a27/core/src/main/java/org/apache/metamodel/query/FilterItem.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/metamodel/blob/c4788a27/core/src/main/java/org/apache/metamodel/query/builder/AbstractFilterBuilder.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/metamodel/blob/c4788a27/core/src/main/java/org/apache/metamodel/query/builder/AbstractQueryFilterBuilder.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/metamodel/blob/c4788a27/core/src/main/java/org/apache/metamodel/query/builder/FilterBuilder.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/metamodel/blob/c4788a27/dynamodb/pom.xml
----------------------------------------------------------------------
diff --cc dynamodb/pom.xml
index 0000000,ec95902..1de0cb3
mode 000000,100644..100644
--- a/dynamodb/pom.xml
+++ b/dynamodb/pom.xml
@@@ -1,0 -1,61 +1,61 @@@
+ <?xml version="1.0" encoding="UTF-8" ?>
+ <!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+ -->
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <artifactId>MetaModel</artifactId>
+ <groupId>org.apache.metamodel</groupId>
- <version>4.6.1-SNAPSHOT</version>
++ <version>5.0-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>MetaModel-dynamodb</artifactId>
+ <name>MetaModel module for Amazon AWS DynamoDB.</name>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.metamodel</groupId>
+ <artifactId>MetaModel-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.amazonaws</groupId>
+ <artifactId>aws-java-sdk-dynamodb</artifactId>
+ <version>1.11.81</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>jcl-over-slf4j</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-nop</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ </project>
http://git-wip-us.apache.org/repos/asf/metamodel/blob/c4788a27/elasticsearch/rest/src/main/java/org/apache/metamodel/elasticsearch/rest/ElasticSearchRestDataContext.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/metamodel/blob/c4788a27/excel/src/test/java/org/apache/metamodel/excel/ExcelDataContextTest.java
----------------------------------------------------------------------
diff --cc excel/src/test/java/org/apache/metamodel/excel/ExcelDataContextTest.java
index eef29ae,f8406c3..ecd6691
--- a/excel/src/test/java/org/apache/metamodel/excel/ExcelDataContextTest.java
+++ b/excel/src/test/java/org/apache/metamodel/excel/ExcelDataContextTest.java
@@@ -34,13 -36,11 +34,14 @@@ 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.FileResource;
import org.apache.metamodel.util.Month;
+import junit.framework.TestCase;
+
public class ExcelDataContextTest extends TestCase {
/**
http://git-wip-us.apache.org/repos/asf/metamodel/blob/c4788a27/fixedwidth/pom.xml
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/metamodel/blob/c4788a27/fixedwidth/src/main/java/org/apache/metamodel/fixedwidth/FixedWidthDataContext.java
----------------------------------------------------------------------
diff --cc fixedwidth/src/main/java/org/apache/metamodel/fixedwidth/FixedWidthDataContext.java
index 28ee300,027cdab..952c4b5
--- a/fixedwidth/src/main/java/org/apache/metamodel/fixedwidth/FixedWidthDataContext.java
+++ b/fixedwidth/src/main/java/org/apache/metamodel/fixedwidth/FixedWidthDataContext.java
@@@ -69,9 -89,24 +69,9 @@@ public class FixedWidthDataContext exte
}
/**
- * Gets the file being read.
- *
- * @return a file
- *
- * @deprecated use {@link #getResource()} instead.
- */
- @Deprecated
- public File getFile() {
- if (_resource instanceof FileResource) {
- return ((FileResource) _resource).getFile();
- }
- return null;
- }
-
- /**
* Gets the resource being read
*
- * @return
+ * @return a {@link Resource} object
*/
public Resource getResource() {
return _resource;
http://git-wip-us.apache.org/repos/asf/metamodel/blob/c4788a27/jdbc/pom.xml
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/metamodel/blob/c4788a27/jdbc/src/main/java/org/apache/metamodel/jdbc/JdbcDataContext.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/metamodel/blob/c4788a27/jdbc/src/main/java/org/apache/metamodel/jdbc/JdbcDeleteBuilder.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/metamodel/blob/c4788a27/jdbc/src/main/java/org/apache/metamodel/jdbc/JdbcInsertBuilder.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/metamodel/blob/c4788a27/jdbc/src/main/java/org/apache/metamodel/jdbc/JdbcUpdateBuilder.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/metamodel/blob/c4788a27/jdbc/src/test/java/org/apache/metamodel/jdbc/JdbcTestTemplates.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/metamodel/blob/c4788a27/jdbc/src/test/java/org/apache/metamodel/jdbc/integrationtests/PostgresqlTest.java
----------------------------------------------------------------------
diff --cc jdbc/src/test/java/org/apache/metamodel/jdbc/integrationtests/PostgresqlTest.java
index ef3ae28,2668df9..6f8fb09
--- a/jdbc/src/test/java/org/apache/metamodel/jdbc/integrationtests/PostgresqlTest.java
+++ b/jdbc/src/test/java/org/apache/metamodel/jdbc/integrationtests/PostgresqlTest.java
@@@ -22,8 -22,9 +22,10 @@@ import java.lang.reflect.Method
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.util.Arrays;
+ import java.util.HashMap;
import java.util.List;
+import java.util.Optional;
+ import java.util.Map;
import java.util.concurrent.TimeUnit;
import javax.swing.table.TableModel;
@@@ -434,42 -478,6 +481,42 @@@ public class PostgresqlTest extends Abs
}
}
+ public void testGetGeneratedKeys() throws Exception {
+ if (!isConfigured()) {
+ return;
+ }
+
+ final JdbcDataContext dc = new JdbcDataContext(getConnection());
+ final Schema schema = dc.getDefaultSchema();
+ final String tableName = "my_table_with_generated_keys";
+
+ if (schema.getTableByName(tableName) != null) {
+ dc.executeUpdate(new DropTable(schema, tableName));
+ }
+
+ final UpdateSummary updateSummary = dc.executeUpdate(new UpdateScript() {
+ @Override
+ public void run(UpdateCallback cb) {
+ Table table = cb.createTable(schema, tableName).withColumn("id").ofType(ColumnType.INTEGER)
+ .ofNativeType("SERIAL").nullable(false).asPrimaryKey().withColumn("foo").ofType(
+ ColumnType.STRING).execute();
+ assertEquals(tableName, table.getName());
+
+ cb.insertInto(table).value("foo", "hello").execute();
+ cb.insertInto(table).value("foo", "world").execute();
+ }
+ });
+
+ final Optional<Integer> insertedRows = updateSummary.getInsertedRows();
+ assertTrue(insertedRows.isPresent());
+ assertEquals(2, insertedRows.get().intValue());
+
+ final Optional<Iterable<Object>> generatedKeys = updateSummary.getGeneratedKeys();
+ assertTrue(generatedKeys.isPresent());
+ assertEquals("[1, 2]", generatedKeys.get().toString());
+
+ }
-
++
public void testBlob() throws Exception {
if (!isConfigured()) {
return;
http://git-wip-us.apache.org/repos/asf/metamodel/blob/c4788a27/pom.xml
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/metamodel/blob/c4788a27/salesforce/pom.xml
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/metamodel/blob/c4788a27/salesforce/src/main/java/org/apache/metamodel/salesforce/SalesforceDataContext.java
----------------------------------------------------------------------