-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/23377/
-----------------------------------------------------------
Review request for MetaModel.
Bugs: METAMODEL-65
https://issues.apache.org/jira/browse/METAMODEL-65
Repository: metamodel
Description
-------
This patch takes steps to make METAMODEL-65 (CouchDB pluggable schema building
strategies) work. It doesn't go the full way, because CouchDbDataContext is
still safe-guarded by constructors that take concrete arguments as to which
schema builders should be used - it is not possible to provide an arbitrary
schema builder.
You will notice that the schema builder and document API has been changed a lot
as well. Since this was new functionality that was only battle-tested with the
JSON module, this issue revealed a lot more complexities wrt. schema building.
Therefore a lot of work was done to make the schema builder framework more
componentized and flexible. Now documents have a notion of what their "source
collection name" is, ie. they can indicate that in the backend/physical storage
they have a particular table/collection that they pertain to. This allows us to
indicate e.g. which CouchDB database a document is originating from.
Diffs
-----
core/src/main/java/org/apache/metamodel/convert/DocumentConverter.java
PRE-CREATION
core/src/main/java/org/apache/metamodel/data/Document.java PRE-CREATION
core/src/main/java/org/apache/metamodel/data/DocumentSource.java PRE-CREATION
core/src/main/java/org/apache/metamodel/data/DocumentSourceDataSet.java
PRE-CREATION
core/src/main/java/org/apache/metamodel/data/MaxRowsDocumentSource.java
PRE-CREATION
core/src/main/java/org/apache/metamodel/schema/builder/ColumnNameAsKeysRowConverter.java
7337da0
core/src/main/java/org/apache/metamodel/schema/builder/DocumentConverter.java
accefe6
core/src/main/java/org/apache/metamodel/schema/builder/DocumentSource.java
da230d8
core/src/main/java/org/apache/metamodel/schema/builder/DocumentSourceProvider.java
PRE-CREATION
core/src/main/java/org/apache/metamodel/schema/builder/InferentialSchemaBuilder.java
90094ec
core/src/main/java/org/apache/metamodel/schema/builder/InferentialTableBuilder.java
66c575b
core/src/main/java/org/apache/metamodel/schema/builder/LazyDocumentSource.java
3b432d6
core/src/main/java/org/apache/metamodel/schema/builder/MultiTableInferentialSchemaBuilder.java
f0e7b4b
core/src/main/java/org/apache/metamodel/schema/builder/SchemaBuilder.java
9ba2328
core/src/main/java/org/apache/metamodel/schema/builder/SimpleTableDefSchemaBuilder.java
PRE-CREATION
core/src/main/java/org/apache/metamodel/schema/builder/SingleMapColumnSchemaBuilder.java
ed46552
core/src/main/java/org/apache/metamodel/schema/builder/SingleTableInferentialSchemaBuilder.java
dee764a
core/src/main/java/org/apache/metamodel/schema/builder/TableBuilder.java
6612eac
couchdb/src/main/java/org/apache/metamodel/couchdb/CouchDbDataContext.java
89950d4
couchdb/src/main/java/org/apache/metamodel/couchdb/CouchDbDatabaseDocumentSource.java
PRE-CREATION
couchdb/src/main/java/org/apache/metamodel/couchdb/CouchDbDocumentConverter.java
PRE-CREATION
couchdb/src/main/java/org/apache/metamodel/couchdb/CouchDbInferentialSchemaBuilder.java
PRE-CREATION
couchdb/src/main/java/org/apache/metamodel/couchdb/CouchDbSamplingDocumentSource.java
PRE-CREATION
couchdb/src/main/java/org/apache/metamodel/couchdb/CouchDbSimpleTableDefSchemaBuilder.java
PRE-CREATION
couchdb/src/main/java/org/apache/metamodel/couchdb/CouchDbTableCreationBuilder.java
b87d095
couchdb/src/main/java/org/apache/metamodel/couchdb/CouchDbUtils.java 1708b28
couchdb/src/test/java/org/apache/metamodel/couchdb/CouchDbDataContextTest.java
d9e361e
json/src/main/java/org/apache/metamodel/json/JsonDataContext.java aa22da6
json/src/main/java/org/apache/metamodel/json/JsonDataSet.java 5aaae74
json/src/main/java/org/apache/metamodel/json/JsonDocumentSource.java 1ac3f5c
Diff: https://reviews.apache.org/r/23377/diff/
Testing
-------
Unittests pass
Thanks,
Kasper Sørensen