-----------------------------------------------------------
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

Reply via email to