You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lens.apache.org by am...@apache.org on 2014/11/13 12:49:51 UTC
[24/50] incubator-lens git commit: adding min and max for cube
measures
adding min and max for cube measures
Project: http://git-wip-us.apache.org/repos/asf/incubator-lens/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-lens/commit/8adf53b7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-lens/tree/8adf53b7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-lens/diff/8adf53b7
Branch: refs/heads/toapache
Commit: 8adf53b7b1fa79a80bfab65224f24be6201c23cc
Parents: fab4c56
Author: Rajat Khandelwal <ra...@inmobi.com>
Authored: Tue Nov 11 13:10:40 2014 +0530
Committer: Rajat Khandelwal <ra...@inmobi.com>
Committed: Tue Nov 11 13:20:42 2014 +0530
----------------------------------------------------------------------
lens-api/src/main/resources/cube-0.1.xsd | 2 ++
.../apache/lens/cube/metadata/ColumnMeasure.java | 13 +++++++++----
.../org/apache/lens/cube/metadata/CubeMeasure.java | 16 +++++++++++++++-
.../lens/cube/metadata/MetastoreConstants.java | 2 ++
.../apache/lens/cube/metadata/MetastoreUtil.java | 8 ++++++++
.../org/apache/lens/server/metastore/JAXBUtils.java | 4 +++-
6 files changed, 39 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/8adf53b7/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 b40564c..6d3fab2 100644
--- a/lens-api/src/main/resources/cube-0.1.xsd
+++ b/lens-api/src/main/resources/cube-0.1.xsd
@@ -113,6 +113,8 @@
<xs:attribute type="xs:double" name="cost" />
<xs:attribute type="xs:string" name="unit" />
<xs:attribute type="xs:string" name="cube_table"/>
+ <xs:attribute type="xs:double" name="min" />
+ <xs:attribute type="xs:double" name="max" />
</xs:complexType>
<xs:complexType name="x_measures">
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/8adf53b7/lens-cube/src/main/java/org/apache/lens/cube/metadata/ColumnMeasure.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/main/java/org/apache/lens/cube/metadata/ColumnMeasure.java b/lens-cube/src/main/java/org/apache/lens/cube/metadata/ColumnMeasure.java
index 2328ca4..18d4a1b 100644
--- a/lens-cube/src/main/java/org/apache/lens/cube/metadata/ColumnMeasure.java
+++ b/lens-cube/src/main/java/org/apache/lens/cube/metadata/ColumnMeasure.java
@@ -26,16 +26,21 @@ import org.apache.hadoop.hive.metastore.api.FieldSchema;
public final class ColumnMeasure extends CubeMeasure {
public ColumnMeasure(FieldSchema column, String displayString, String formatString, String aggregate, String unit) {
- this(column, displayString, formatString, aggregate, unit, null, null, null);
+ this(column, displayString, formatString, aggregate, unit, null, null, null, null, null);
}
public ColumnMeasure(FieldSchema column) {
- this(column, null, null, null, null, null, null, null);
+ this(column, null, null, null, null, null, null, null, null, null);
}
public ColumnMeasure(FieldSchema column, String displayString, String formatString, String aggregate, String unit,
- Date startTime, Date endTime, Double cost) {
- super(column, displayString, formatString, aggregate, unit, startTime, endTime, cost);
+ Date startTime, Date endTime, Double cost) {
+ super(column, displayString, formatString, aggregate, unit, startTime, endTime, cost, null, null);
+ }
+
+ public ColumnMeasure(FieldSchema column, String displayString, String formatString, String aggregate, String unit,
+ Date startTime, Date endTime, Double cost, Double min, Double max) {
+ super(column, displayString, formatString, aggregate, unit, startTime, endTime, cost, min, max);
}
public ColumnMeasure(String name, Map<String, String> props) {
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/8adf53b7/lens-cube/src/main/java/org/apache/lens/cube/metadata/CubeMeasure.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/main/java/org/apache/lens/cube/metadata/CubeMeasure.java b/lens-cube/src/main/java/org/apache/lens/cube/metadata/CubeMeasure.java
index a619dcc..5380b07 100644
--- a/lens-cube/src/main/java/org/apache/lens/cube/metadata/CubeMeasure.java
+++ b/lens-cube/src/main/java/org/apache/lens/cube/metadata/CubeMeasure.java
@@ -29,9 +29,11 @@ public abstract class CubeMeasure extends CubeColumn {
private final String aggregate;
private final String unit;
private final FieldSchema column;
+ private final Double min;
+ private final Double max;
protected CubeMeasure(FieldSchema column, String displayString, String formatString, String aggregate, String unit,
- Date startTime, Date endTime, Double cost) {
+ Date startTime, Date endTime, Double cost, Double min, Double max) {
super(column.getName(), column.getComment(), displayString, startTime, endTime, cost);
this.column = column;
assert (column != null);
@@ -40,6 +42,8 @@ public abstract class CubeMeasure extends CubeColumn {
this.formatString = formatString;
this.aggregate = aggregate;
this.unit = unit;
+ this.min = min;
+ this.max = max;
}
protected CubeMeasure(String name, Map<String, String> props) {
@@ -48,6 +52,16 @@ public abstract class CubeMeasure extends CubeColumn {
this.formatString = props.get(MetastoreUtil.getMeasureFormatPropertyKey(name));
this.aggregate = props.get(MetastoreUtil.getMeasureAggrPropertyKey(name));
this.unit = props.get(MetastoreUtil.getMeasureUnitPropertyKey(name));
+ String minStr = props.get(MetastoreUtil.getMeasureMinPropertyKey(name));
+ String maxStr = props.get(MetastoreUtil.getMeasureMaxPropertyKey(name));
+ if(minStr != null && maxStr != null && !minStr.isEmpty() && !maxStr.isEmpty()) {
+ this.min = Double.parseDouble(minStr);
+ this.max = Double.parseDouble(maxStr);
+ }
+ else{
+ this.min = null;
+ this.max = null;
+ }
}
public String getFormatString() {
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/8adf53b7/lens-cube/src/main/java/org/apache/lens/cube/metadata/MetastoreConstants.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/main/java/org/apache/lens/cube/metadata/MetastoreConstants.java b/lens-cube/src/main/java/org/apache/lens/cube/metadata/MetastoreConstants.java
index 745ec8b..ddc87dc 100644
--- a/lens-cube/src/main/java/org/apache/lens/cube/metadata/MetastoreConstants.java
+++ b/lens-cube/src/main/java/org/apache/lens/cube/metadata/MetastoreConstants.java
@@ -65,6 +65,8 @@ public interface MetastoreConstants {
public static final String MEASURE_KEY_PFX = "cube.measure.";
public static final String UNIT_SFX = ".unit";
public static final String AGGR_SFX = ".aggregate";
+ public static final String MIN_SFX = ".min";
+ public static final String MAX_SFX = ".max";
public static final String EXPR_SFX = ".expr";
public static final String FORMATSTRING_SFX = ".format";
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/8adf53b7/lens-cube/src/main/java/org/apache/lens/cube/metadata/MetastoreUtil.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/main/java/org/apache/lens/cube/metadata/MetastoreUtil.java b/lens-cube/src/main/java/org/apache/lens/cube/metadata/MetastoreUtil.java
index c49b93f..bcdfddb 100644
--- a/lens-cube/src/main/java/org/apache/lens/cube/metadata/MetastoreUtil.java
+++ b/lens-cube/src/main/java/org/apache/lens/cube/metadata/MetastoreUtil.java
@@ -206,6 +206,14 @@ public class MetastoreUtil implements MetastoreConstants {
return getMeasurePrefix(measureName) + AGGR_SFX;
}
+ public static final String getMeasureMinPropertyKey(String measureName) {
+ return getMeasurePrefix(measureName) + MIN_SFX;
+ }
+
+ public static final String getMeasureMaxPropertyKey(String measureName) {
+ return getMeasurePrefix(measureName) + MAX_SFX;
+ }
+
public static final String getExpressionListKey(String name) {
return getBasePrefix(name) + EXPRESSIONS_LIST_SFX;
}
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/8adf53b7/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 bc72967..738ff3d 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
@@ -292,7 +292,9 @@ public class JAXBUtils {
"unit",
startDate,
endDate,
- xm.getCost()
+ xm.getCost(),
+ xm.getMin(),
+ xm.getMax()
);
return cm;
}