-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30253/#review70505
-----------------------------------------------------------
The main comments being left around are with respect to collection types. I'm
trying to put the old style and the new style changed in the patch :
Old style :
XSD :
Measures are defined in xsd the following way :
<xs:element type="x_measures" name="measures"/>
<xs:complexType name="x_measures">
<xs:annotation>
<xs:documentation>
Set of measures.
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element type="x_measure" name="measures" maxOccurs="unbounded"
minOccurs="1"/>
</xs:sequence>
</xs:complexType>
Java :
XBaseCube.getMeasures().getMeasures() returns List<XMeasure>
XML :
<measures>
<measures name="measure1" type="bigint"/>
<measures name="measure2" type="int" default_aggr="SUM"/>
<measures name="measure3" type="float" default_aggr="MAX"
start_time='2013-12-12-00:00'/>
<measures name="measure4" type="double" default_aggr="MIN"/>
</measures>
New style :
XSD :
<xs:element type="x_measure" name="measures" maxOccurs="unbounded"
minOccurs="1">
<xs:annotation>
<xs:documentation>
Set of measures
</xs:documentation>
</xs:annotation>
</xs:element>
Java :
XBaseCube.getMeasures() returns List<XMeasure>
XML :
<measures name="measure1" type="BIGINT" />
<measures name="measure2" type="INT" default_aggr="SUM" />
<measures name="measure3" type="FLOAT" default_aggr="MAX"
start_time='2013-12-12-00:00' />
<measures name="measure4" type="DOUBLE" default_aggr="MIN" />
After going through some best practice guidelines in XML -
http://www.ibm.com/developerworks/library/x-contain/ and
http://stackoverflow.com/questions/23064/xml-collection-best-practices , I feel
we should go with old style itself -even though java code might look ugly. What
do other people think?
- Amareshwari Sriramadasu
On Jan. 29, 2015, 10:08 a.m., Amareshwari Sriramadasu wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30253/
> -----------------------------------------------------------
>
> (Updated Jan. 29, 2015, 10:08 a.m.)
>
>
> Review request for lens, Jaideep dhok and Jothi Padmanabhan.
>
>
> Bugs: LENS-236
> https://issues.apache.org/jira/browse/LENS-236
>
>
> Repository: lens
>
>
> Description
> -------
>
> Main changes include :
>
> * Adding comments in cube xsd
> * Separated XCube as abstract class , and derived classes for XBaseCube and
> XDerivedCube
> * Remove unnecessary collection types
> * Enumeration added for column types, measure types and update periods
> * JoinChain definition changed to Paths consisting of edges, where each edge
> has pair of references
> * Made storage table elements part of fact table and dimension table
> defintion. Removed confusing Update_period_element after that.
> * Moved table_name to flattedcolumn it self and removed from
> measure/expression/attribute definition
> * Update examples to use changed xsd definition
>
>
> Diffs
> -----
>
> lens-api/src/main/resources/cube-0.1.xsd f75ea60
>
> lens-cli/src/main/java/org/apache/lens/cli/commands/LensDimensionTableCommands.java
> f8833be
> lens-cli/src/main/java/org/apache/lens/cli/commands/LensFactCommands.java
> eb966ed
>
> lens-cli/src/main/java/org/apache/lens/cli/commands/LensStorageCommands.java
> 15111d3
> lens-cli/src/test/java/org/apache/lens/cli/TestLensCubeCommands.java
> 9cc2ba1
> lens-cli/src/test/java/org/apache/lens/cli/TestLensDimensionCommands.java
> 6e6f9d2
>
> lens-cli/src/test/java/org/apache/lens/cli/TestLensDimensionTableCommands.java
> 6f822b9
> lens-cli/src/test/java/org/apache/lens/cli/TestLensFactCommands.java
> d3d16ec
> lens-cli/src/test/java/org/apache/lens/cli/TestLensQueryCommands.java
> 9554673
> lens-cli/src/test/java/org/apache/lens/cli/TestLensStorageCommands.java
> 0626618
> lens-cli/src/test/resources/dim-local-part.xml e93552a
> lens-cli/src/test/resources/dim-local-storage-element.xml 4688383
> lens-cli/src/test/resources/dim1-local-part.xml 4c541ee
> lens-cli/src/test/resources/dim2-storage-spec.xml cad6e11
> lens-cli/src/test/resources/dim_table.xml 3005049
> lens-cli/src/test/resources/dim_table2.xml 617fa75
> lens-cli/src/test/resources/dim_table_storage.xml 568f0a3
> lens-cli/src/test/resources/fact-local-storage-element.xml 7561f38
> lens-cli/src/test/resources/fact1-local-part.xml 43ddc62
> lens-cli/src/test/resources/fact1-storage-spec.xml 1e969e4
> lens-cli/src/test/resources/fact1.xml c471826
> lens-cli/src/test/resources/lens-client-site.xml a837752
> lens-cli/src/test/resources/local-storage.xml 32ed32b
> lens-cli/src/test/resources/sample-cube.xml 2ba17fc
> lens-cli/src/test/resources/test-dimension.xml 70bcd09
> lens-client/src/main/java/org/apache/lens/client/LensClient.java 85329d6
> lens-client/src/main/java/org/apache/lens/client/LensMetadataClient.java
> 11f6893
>
> lens-cube/src/main/java/org/apache/lens/cube/metadata/CubeMetastoreClient.java
> 42f5e0a
> lens-cube/src/main/java/org/apache/lens/cube/metadata/JoinChain.java
> 59c3727
> lens-examples/src/main/java/org/apache/lens/examples/SampleMetastore.java
> 06a5e04
> lens-examples/src/main/resources/db-storage.xml cfa54b2
> lens-examples/src/main/resources/dim1-local-part.xml 961a137
> lens-examples/src/main/resources/dim1-storage-tables.xml 98f6d35
> lens-examples/src/main/resources/dim2-local-part.xml 31bdd7e
> lens-examples/src/main/resources/dim2-storage-tables.xml acf84d0
> lens-examples/src/main/resources/dim3-storage-tables.xml 213138a
> lens-examples/src/main/resources/dim4-local-part.xml 0a45d16
> lens-examples/src/main/resources/dim4-storage-tables.xml 8760e78
> lens-examples/src/main/resources/dim_table.xml ea3cecc
> lens-examples/src/main/resources/dim_table2.xml 25ca90a
> lens-examples/src/main/resources/dim_table3.xml d4312ba
> lens-examples/src/main/resources/dim_table4.xml 357a10f
> lens-examples/src/main/resources/fact1-local-part1.xml 2ebec0e
> lens-examples/src/main/resources/fact1-local-part2.xml cd10274
> lens-examples/src/main/resources/fact1-local-part3.xml 864d564
> lens-examples/src/main/resources/fact1-storage-tables.xml a4f02ff
> lens-examples/src/main/resources/fact1.xml 2f56293
> lens-examples/src/main/resources/fact2-local-part1.xml 712f29a
> lens-examples/src/main/resources/fact2-local-part2.xml 5dd6fbc
> lens-examples/src/main/resources/fact2-local-part3.xml c58bc35
> lens-examples/src/main/resources/fact2-storage-tables.xml 274e306
> lens-examples/src/main/resources/fact2.xml cb2b3f6
> lens-examples/src/main/resources/local-cluster-storage.xml 731b554
> lens-examples/src/main/resources/local-storage.xml dd82c65
> lens-examples/src/main/resources/raw-local-part1.xml 336f834
> lens-examples/src/main/resources/raw-local-part2.xml 473b379
> lens-examples/src/main/resources/raw-local-part3.xml c44c17f
> lens-examples/src/main/resources/raw-local-part4.xml c403be5
> lens-examples/src/main/resources/raw-local-part5.xml d5172f1
> lens-examples/src/main/resources/raw-local-part6.xml ed607cf
> lens-examples/src/main/resources/rawfact-storage-tables.xml 710e1ba
> lens-examples/src/main/resources/rawfact.xml 51b4eb2
> lens-examples/src/main/resources/sample-cube.xml ed0d6cd
> lens-examples/src/main/resources/sample-db-only-dimension.xml 4bf5ffa
> lens-examples/src/main/resources/sample-dimension.xml 7f650fc
> lens-examples/src/main/resources/sample-dimension2.xml 3ae8797
>
> lens-server-api/src/main/java/org/apache/lens/server/api/metastore/CubeMetastoreService.java
> 1acab08
>
> lens-server/src/main/java/org/apache/lens/server/metastore/CubeMetastoreServiceImpl.java
> 9ef89f6
> lens-server/src/main/java/org/apache/lens/server/metastore/JAXBUtils.java
> 2a9566f
>
> lens-server/src/main/java/org/apache/lens/server/metastore/MetastoreResource.java
> 7194f6c
>
> lens-server/src/main/java/org/apache/lens/server/ui/MetastoreUIResource.java
> 808f7e6
>
> lens-server/src/test/java/org/apache/lens/server/metastore/TestMetastoreService.java
> 8bf9f81
> lens-server/src/test/resources/lens-site.xml 5779ba3
>
> Diff: https://reviews.apache.org/r/30253/diff/
>
>
> Testing
> -------
>
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO]
> [INFO] Lens Checkstyle Rules ............................. SUCCESS [2.086s]
> [INFO] Lens .............................................. SUCCESS [1.730s]
> [INFO] Lens API .......................................... SUCCESS [5.422s]
> [INFO] Lens API for server and extensions ................ SUCCESS [5.979s]
> [INFO] Lens Cube ......................................... SUCCESS [5:55.120s]
> [INFO] Lens DB storage ................................... SUCCESS [9.799s]
> [INFO] Lens Query Library ................................ SUCCESS [4.685s]
> [INFO] Lens Hive Driver .................................. SUCCESS [2:39.775s]
> [INFO] Lens Driver for Cloudera Impala ................... SUCCESS [2.997s]
> [INFO] Lens Driver for JDBC .............................. SUCCESS [27.768s]
> [INFO] Lens Server ....................................... SUCCESS [4:18.408s]
> [INFO] Lens client ....................................... SUCCESS [20.339s]
> [INFO] Lens CLI .......................................... SUCCESS [1:40.786s]
> [INFO] Lens Examples ..................................... SUCCESS [0.901s]
> [INFO] Lens Distribution ................................. SUCCESS [3.804s]
> [INFO] Lens Client Distribution .......................... SUCCESS [5.634s]
> [INFO] Lens ML Lib ....................................... SUCCESS [42.371s]
> [INFO] Lens Regression ................................... SUCCESS [0.450s]
> [INFO]
> ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Total time: 16:48.955s
> [INFO] Finished at: Thu Jan 29 10:04:55 UTC 2015
> [INFO] Final Memory: 98M/972M
> [INFO]
> ------------------------------------------------------------------------
>
> Examples :
> --------------------
> Successful queries 120 out of 120queries
>
>
> Thanks,
>
> Amareshwari Sriramadasu
>
>