LENS-1390 : Fix issues with updatePeriodTableDescriptor
Project: http://git-wip-us.apache.org/repos/asf/lens/repo Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/bd344c7f Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/bd344c7f Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/bd344c7f Branch: refs/heads/lens-1381 Commit: bd344c7ff0f7f3eebe16ca9457d2fed2f29b61da Parents: f0dadd7 Author: Lavkesh Lahngir <lavk...@linux.com> Authored: Tue Feb 21 09:31:38 2017 +0530 Committer: Amareshwari Sriramadasu <amareshw...@apache.org> Committed: Tue Feb 21 09:31:38 2017 +0530 ---------------------------------------------------------------------- lens-api/src/main/resources/cube-0.1.xsd | 6 +++--- lens-examples/src/test/resources/yaml/city_table.yaml | 3 ++- lens-examples/src/test/resources/yaml/customer_table.yaml | 3 ++- lens-examples/src/test/resources/yaml/dim_table.yaml | 3 ++- lens-examples/src/test/resources/yaml/dim_table2.yaml | 3 ++- lens-examples/src/test/resources/yaml/dim_table4.yaml | 3 ++- lens-examples/src/test/resources/yaml/fact1.yaml | 3 ++- lens-examples/src/test/resources/yaml/fact2.yaml | 3 ++- lens-examples/src/test/resources/yaml/product_table.yaml | 3 ++- lens-examples/src/test/resources/yaml/rawfact.yaml | 3 ++- .../src/test/resources/yaml/sales-aggr-continuous-fact.yaml | 3 ++- lens-examples/src/test/resources/yaml/sales-aggr-fact1.yaml | 6 ++++-- lens-examples/src/test/resources/yaml/sales-aggr-fact2.yaml | 6 ++++-- lens-examples/src/test/resources/yaml/sales-raw-fact.yaml | 3 ++- .../java/org/apache/lens/server/metastore/JAXBUtils.java | 8 +++++--- 15 files changed, 38 insertions(+), 21 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lens/blob/bd344c7f/lens-api/src/main/resources/cube-0.1.xsd ---------------------------------------------------------------------- diff --git a/lens-api/src/main/resources/cube-0.1.xsd b/lens-api/src/main/resources/cube-0.1.xsd index 431d68b..060eb43 100644 --- a/lens-api/src/main/resources/cube-0.1.xsd +++ b/lens-api/src/main/resources/cube-0.1.xsd @@ -1024,11 +1024,11 @@ of update_period_table_descriptor instead of a list of enums. </xs:documentation> </xs:annotation> - <xs:sequence> - <xs:element name="update_periods" type="x_update_periods" maxOccurs="1" minOccurs="1"/> + <xs:all> + <xs:element name="update_periods" type="x_update_periods" maxOccurs="1" minOccurs="0"/> <xs:element name="storage_name" type="xs:string"/> <xs:element type="x_storage_table_desc" name="table_desc" maxOccurs="1" minOccurs="0"/> - </xs:sequence> + </xs:all> </xs:complexType> <xs:complexType name="x_storage_tables"> http://git-wip-us.apache.org/repos/asf/lens/blob/bd344c7f/lens-examples/src/test/resources/yaml/city_table.yaml ---------------------------------------------------------------------- diff --git a/lens-examples/src/test/resources/yaml/city_table.yaml b/lens-examples/src/test/resources/yaml/city_table.yaml index 4f3b986..92ce3ec 100644 --- a/lens-examples/src/test/resources/yaml/city_table.yaml +++ b/lens-examples/src/test/resources/yaml/city_table.yaml @@ -22,7 +22,8 @@ properties: city.prop: d1 storageTables: local: - updatePeriods: HOURLY + updatePeriods: + updatePeriod: HOURLY tableDesc: partCols: dt: type: STRING, comment: Time column http://git-wip-us.apache.org/repos/asf/lens/blob/bd344c7f/lens-examples/src/test/resources/yaml/customer_table.yaml ---------------------------------------------------------------------- diff --git a/lens-examples/src/test/resources/yaml/customer_table.yaml b/lens-examples/src/test/resources/yaml/customer_table.yaml index 2de5cd9..4209bea 100644 --- a/lens-examples/src/test/resources/yaml/customer_table.yaml +++ b/lens-examples/src/test/resources/yaml/customer_table.yaml @@ -24,7 +24,8 @@ properties: dim4.prop: d1 storageTables: local: - updatePeriods: HOURLY + updatePeriods: + updatePeriod: HOURLY tableDesc: partCols: dt: type: STRING, comment: Time column http://git-wip-us.apache.org/repos/asf/lens/blob/bd344c7f/lens-examples/src/test/resources/yaml/dim_table.yaml ---------------------------------------------------------------------- diff --git a/lens-examples/src/test/resources/yaml/dim_table.yaml b/lens-examples/src/test/resources/yaml/dim_table.yaml index 8191456..37b50da 100644 --- a/lens-examples/src/test/resources/yaml/dim_table.yaml +++ b/lens-examples/src/test/resources/yaml/dim_table.yaml @@ -22,7 +22,8 @@ properties: dim1.prop: d1 storageTables: local: - updatePeriods: HOURLY + updatePeriods: + updatePeriod: HOURLY tableDesc: partCols: dt: type: STRING, comment: Time column http://git-wip-us.apache.org/repos/asf/lens/blob/bd344c7f/lens-examples/src/test/resources/yaml/dim_table2.yaml ---------------------------------------------------------------------- diff --git a/lens-examples/src/test/resources/yaml/dim_table2.yaml b/lens-examples/src/test/resources/yaml/dim_table2.yaml index 0df4682..619625c 100644 --- a/lens-examples/src/test/resources/yaml/dim_table2.yaml +++ b/lens-examples/src/test/resources/yaml/dim_table2.yaml @@ -21,7 +21,8 @@ properties: dim2.prop: d2 storageTables: local: - updatePeriods: HOURLY + updatePeriods: + updatePeriod: HOURLY tableDesc: partCols: dt: type: STRING, comment: Time column http://git-wip-us.apache.org/repos/asf/lens/blob/bd344c7f/lens-examples/src/test/resources/yaml/dim_table4.yaml ---------------------------------------------------------------------- diff --git a/lens-examples/src/test/resources/yaml/dim_table4.yaml b/lens-examples/src/test/resources/yaml/dim_table4.yaml index f26c2cd..03b2809 100644 --- a/lens-examples/src/test/resources/yaml/dim_table4.yaml +++ b/lens-examples/src/test/resources/yaml/dim_table4.yaml @@ -22,7 +22,8 @@ properties: dim4.prop: d1 storageTables: local: - updatePeriods: HOURLY + updatePeriods: + updatePeriod: HOURLY tableDesc: partCols: dt: type: STRING, comment: Time column http://git-wip-us.apache.org/repos/asf/lens/blob/bd344c7f/lens-examples/src/test/resources/yaml/fact1.yaml ---------------------------------------------------------------------- diff --git a/lens-examples/src/test/resources/yaml/fact1.yaml b/lens-examples/src/test/resources/yaml/fact1.yaml index c5c6d57..9c1c527 100644 --- a/lens-examples/src/test/resources/yaml/fact1.yaml +++ b/lens-examples/src/test/resources/yaml/fact1.yaml @@ -28,7 +28,8 @@ properties: cube.fact.is.aggregated: true storageTables: local: - updatePeriods: HOURLY, DAILY + updatePeriods: + updatePeriod: HOURLY, DAILY tableDesc: partCols: dt: type: STRING, comment: Time column http://git-wip-us.apache.org/repos/asf/lens/blob/bd344c7f/lens-examples/src/test/resources/yaml/fact2.yaml ---------------------------------------------------------------------- diff --git a/lens-examples/src/test/resources/yaml/fact2.yaml b/lens-examples/src/test/resources/yaml/fact2.yaml index 97112c8..6fadd11 100644 --- a/lens-examples/src/test/resources/yaml/fact2.yaml +++ b/lens-examples/src/test/resources/yaml/fact2.yaml @@ -23,7 +23,8 @@ properties: cube.fact.is.aggregated: true storageTables: local: - updatePeriods: HOURLY, DAILY + updatePeriods: + updatePeriod: HOURLY, DAILY tableDesc: partCols: dt: type: STRING, comment: Time column http://git-wip-us.apache.org/repos/asf/lens/blob/bd344c7f/lens-examples/src/test/resources/yaml/product_table.yaml ---------------------------------------------------------------------- diff --git a/lens-examples/src/test/resources/yaml/product_table.yaml b/lens-examples/src/test/resources/yaml/product_table.yaml index 54d37d8..637db62 100644 --- a/lens-examples/src/test/resources/yaml/product_table.yaml +++ b/lens-examples/src/test/resources/yaml/product_table.yaml @@ -25,7 +25,8 @@ properties: dimtable.product_table.part.cols: category storageTables: local: - updatePeriods: HOURLY + updatePeriods: + updatePeriod: HOURLY tableDesc: partCols: dt: type: STRING, comment: Time column http://git-wip-us.apache.org/repos/asf/lens/blob/bd344c7f/lens-examples/src/test/resources/yaml/rawfact.yaml ---------------------------------------------------------------------- diff --git a/lens-examples/src/test/resources/yaml/rawfact.yaml b/lens-examples/src/test/resources/yaml/rawfact.yaml index f750192..f7b2d55 100644 --- a/lens-examples/src/test/resources/yaml/rawfact.yaml +++ b/lens-examples/src/test/resources/yaml/rawfact.yaml @@ -25,7 +25,8 @@ properties: cube.fact.is.aggregated: false storageTables: local: - updatePeriods: HOURLY, DAILY + updatePeriods: + updatePeriod: HOURLY, DAILY tableDesc: partCols: dt: type: STRING, comment: Time column http://git-wip-us.apache.org/repos/asf/lens/blob/bd344c7f/lens-examples/src/test/resources/yaml/sales-aggr-continuous-fact.yaml ---------------------------------------------------------------------- diff --git a/lens-examples/src/test/resources/yaml/sales-aggr-continuous-fact.yaml b/lens-examples/src/test/resources/yaml/sales-aggr-continuous-fact.yaml index 0e98281..f95f91b 100644 --- a/lens-examples/src/test/resources/yaml/sales-aggr-continuous-fact.yaml +++ b/lens-examples/src/test/resources/yaml/sales-aggr-continuous-fact.yaml @@ -32,7 +32,8 @@ properties: cube.fact.relative.start.time: now.second - 2 days storageTables: mydb: - updatePeriods: CONTINUOUS + updatePeriods: + updatePeriod: CONTINUOUS tableDesc: tableParameters: lens.metastore.native.db.name: default http://git-wip-us.apache.org/repos/asf/lens/blob/bd344c7f/lens-examples/src/test/resources/yaml/sales-aggr-fact1.yaml ---------------------------------------------------------------------- diff --git a/lens-examples/src/test/resources/yaml/sales-aggr-fact1.yaml b/lens-examples/src/test/resources/yaml/sales-aggr-fact1.yaml index 0be8cf2..02f65ff 100644 --- a/lens-examples/src/test/resources/yaml/sales-aggr-fact1.yaml +++ b/lens-examples/src/test/resources/yaml/sales-aggr-fact1.yaml @@ -31,7 +31,8 @@ properties: cube.fact.is.aggregated: true storageTables: local: - updatePeriods: HOURLY, DAILY + updatePeriods: + updatePeriod: HOURLY, DAILY tableDesc: partCols: pt: type: STRING, comment: Process time partition @@ -42,7 +43,8 @@ storageTables: tableLocation: /tmp/examples/aggrfact1 fieldDelimiter: , mydb: - updatePeriods: DAILY + updatePeriods: + updatePeriod: DAILY tableDesc: partCols: pt: type: STRING, comment: Process time partition http://git-wip-us.apache.org/repos/asf/lens/blob/bd344c7f/lens-examples/src/test/resources/yaml/sales-aggr-fact2.yaml ---------------------------------------------------------------------- diff --git a/lens-examples/src/test/resources/yaml/sales-aggr-fact2.yaml b/lens-examples/src/test/resources/yaml/sales-aggr-fact2.yaml index d1ba7fb..ff47d36 100644 --- a/lens-examples/src/test/resources/yaml/sales-aggr-fact2.yaml +++ b/lens-examples/src/test/resources/yaml/sales-aggr-fact2.yaml @@ -29,7 +29,8 @@ properties: cube.timedim.relation.order_time: delivery_time+[-2 hours,-1hour] storageTables: local: - updatePeriods: HOURLY, DAILY + updatePeriods: + updatePeriod: HOURLY, DAILY tableDesc: partCols: dt: type: STRING, comment: Delivery time partition @@ -38,7 +39,8 @@ storageTables: tableLocation: /tmp/examples/aggrfact2 fieldDelimiter: , mydb: - updatePeriods: DAILY + updatePeriods: + updatePeriod: DAILY tableDesc: partCols: pt: type: STRING, comment: Process time partition http://git-wip-us.apache.org/repos/asf/lens/blob/bd344c7f/lens-examples/src/test/resources/yaml/sales-raw-fact.yaml ---------------------------------------------------------------------- diff --git a/lens-examples/src/test/resources/yaml/sales-raw-fact.yaml b/lens-examples/src/test/resources/yaml/sales-raw-fact.yaml index eaf7f15..15becfc 100644 --- a/lens-examples/src/test/resources/yaml/sales-raw-fact.yaml +++ b/lens-examples/src/test/resources/yaml/sales-raw-fact.yaml @@ -35,7 +35,8 @@ properties: cube.fact.is.aggregated: false storageTables: local: - updatePeriods: HOURLY + updatePeriods: + updatePeriod: HOURLY tableDesc: partCols: pt: type: STRING, comment: Process time partition http://git-wip-us.apache.org/repos/asf/lens/blob/bd344c7f/lens-server/src/main/java/org/apache/lens/server/metastore/JAXBUtils.java ---------------------------------------------------------------------- diff --git a/lens-server/src/main/java/org/apache/lens/server/metastore/JAXBUtils.java b/lens-server/src/main/java/org/apache/lens/server/metastore/JAXBUtils.java index 0bc8e77..7d54c7b 100644 --- a/lens-server/src/main/java/org/apache/lens/server/metastore/JAXBUtils.java +++ b/lens-server/src/main/java/org/apache/lens/server/metastore/JAXBUtils.java @@ -857,7 +857,8 @@ public final class JAXBUtils { Map<String, StorageTableDesc> storageTablePrefixToDescMap = new HashMap<>(); if (storageTables != null && !storageTables.getStorageTable().isEmpty()) { for (XStorageTableElement sTbl : storageTables.getStorageTable()) { - if (!sTbl.getUpdatePeriods().getUpdatePeriodTableDescriptor().isEmpty()) { + if (sTbl.getUpdatePeriods() != null && sTbl.getUpdatePeriods().getUpdatePeriodTableDescriptor() != null && !sTbl + .getUpdatePeriods().getUpdatePeriodTableDescriptor().isEmpty()) { for (XUpdatePeriodTableDescriptor updatePeriodTable : sTbl.getUpdatePeriods() .getUpdatePeriodTableDescriptor()) { // Get table name with update period as the prefix. @@ -877,7 +878,8 @@ public final class JAXBUtils { if (storageTables != null && !storageTables.getStorageTable().isEmpty()) { for (XStorageTableElement sTbl : storageTables.getStorageTable()) { Map<UpdatePeriod, String> storageNameMap = new HashMap<>(); - if (!sTbl.getUpdatePeriods().getUpdatePeriodTableDescriptor().isEmpty()) { + if (sTbl.getUpdatePeriods() != null && sTbl.getUpdatePeriods().getUpdatePeriodTableDescriptor() != null && !sTbl + .getUpdatePeriods().getUpdatePeriodTableDescriptor().isEmpty()) { for (XUpdatePeriodTableDescriptor updatePeriodTable : sTbl.getUpdatePeriods() .getUpdatePeriodTableDescriptor()) { // Get table name with update period as the prefix. @@ -885,7 +887,7 @@ public final class JAXBUtils { updatePeriodTable.getUpdatePeriod() + "_" + sTbl.getStorageName()); } } else { - for (XUpdatePeriod updatePeriod :sTbl.getUpdatePeriods().getUpdatePeriod()) { + for (XUpdatePeriod updatePeriod : sTbl.getUpdatePeriods().getUpdatePeriod()) { storageNameMap.put(UpdatePeriod.valueOf(updatePeriod.value()), sTbl.getStorageName()); } }