modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricGraphData.java | 26 +++++-----
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricStackedBarGraph.java | 13 +++--
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/CoreGUI.gwt.xml | 2
modules/enterprise/gui/coregui/src/main/webapp/css/tipsy.css | 17 ++++++
4 files changed, 41 insertions(+), 17 deletions(-)
New commits:
commit 7196376d0cc701f5104630958f1b56164d72ca91
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Mon Jan 28 13:05:48 2013 -0800
Charting - Fix graphs in dialog boxes so that they dont pop up behind the dialog box.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricStackedBarGraph.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricStackedBarGraph.java
index bb96335..f3bdbc9 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricStackedBarGraph.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricStackedBarGraph.java
@@ -570,7 +570,7 @@ public final class MetricStackedBarGraph extends MetricGraphData implements HasD
if (d.down) {
hoverString =
- '<div style="text-align:left;z-index:401000;"><span style="width:50px;font-weight: bold;color:#d3d3d6";">' + chartContext.timeLabel + ': </span>' + timeFormatter(date) + '</div>' +
+ '<div style="text-align:left;z-index:990000;"><span style="width:50px;font-weight: bold;color:#d3d3d6";">' + chartContext.timeLabel + ': </span>' + timeFormatter(date) + '</div>' +
'<div style="text-align: left;"><span style="width:50px;font-weight: bold;color:#d3d3d6"";">' + chartContext.dateLabel + ': </span>' + dateFormatter(date) + '</div>' +
'<hr style="width:100%;text-align: center;border: #d3d3d3 solid thin;"></hr>' +
'<div style="text-align: right;"><span style="width:100%;font-weight:bold;color:#d3d3d6"";">'+chartContext.hoverStartLabel+": "+ timeFormatter(availStartDate)+ '</span></div>' +
@@ -581,7 +581,7 @@ public final class MetricStackedBarGraph extends MetricGraphData implements HasD
}
else if (d.y == undefined) {
hoverString =
- '<div style="text-align:left;z-index:401000;"><span style="width:50px;font-weight: bold;color:#d3d3d6";">' + chartContext.timeLabel + ': </span>' + timeFormatter(date) + '</div>' +
+ '<div style="text-align:left;z-index:990000;"><span style="width:50px;font-weight: bold;color:#d3d3d6";">' + chartContext.timeLabel + ': </span>' + timeFormatter(date) + '</div>' +
'<div style="text-align: left;"><span style="width:50px;font-weight: bold;color:#d3d3d6"";">' + chartContext.dateLabel + ': </span>' + dateFormatter(date) + '</div>' +
'<hr style="width:100%;text-align: center;border: #d3d3d3 solid thin;"></hr>' +
'<div style="text-align: right;"><span style="width:100%;font-weight:bold;color:#d3d3d6"";">'+chartContext.hoverStartLabel+": "+ timeFormatter(unknownStartDate)+ '</span></div>' +
@@ -593,7 +593,7 @@ public final class MetricStackedBarGraph extends MetricGraphData implements HasD
}
else {
hoverString =
- '<div style="text-align:left;z-index:401000;"><span style="width:50px;font-weight: bold;color:#d3d3d6";">' + chartContext.timeLabel + ': </span><span style="width:50px;">' + timeFormatter(date) + '</span></div>' +
+ '<div style="text-align:left;z-index:990000;"><span style="width:50px;font-weight: bold;color:#d3d3d6";">' + chartContext.timeLabel + ': </span><span style="width:50px;">' + timeFormatter(date) + '</span></div>' +
'<div style="text-align: left;"><span style="width:50px;font-weight: bold;color:#d3d3d6"";">' + chartContext.dateLabel + ': </span><span style="width:50px;">' + dateFormatter(date) + '</span></div>' +
'<div style="text-align: left;"><span style="width:100%;font-weight:bold;color:#d3d3d6"";">'+chartContext.hoverBarLabel+": "+ barDuration + '</span></div>' +
'<hr style="width:100%;text-align: center;border: #d3d3d3 solid thin;"></hr>' +
@@ -616,6 +616,10 @@ public final class MetricStackedBarGraph extends MetricGraphData implements HasD
var d = this.__data__;
//console.log("y: " + d.y);
return formatHovers(chartContext, d);
+ },
+ show: function (e, el)
+ {
+ el.css({ 'z-index':'990000'})
}
});
}
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/CoreGUI.gwt.xml b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/CoreGUI.gwt.xml
index 0834018..6b8325f 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/CoreGUI.gwt.xml
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/CoreGUI.gwt.xml
@@ -14,7 +14,7 @@
<!-- @todo: take out GFlot once we have d3 graphing in place -->
<inherits name='ca.nanometrics.gflot.GFlot'/>
-
+ <set-property name="gflot.load.jquery" value="EXTERNAL" />
<!-- ============================ gwt logging ============================= -->
<set-property name="gwt.logging.enabled" value="TRUE"/>
diff --git a/modules/enterprise/gui/coregui/src/main/webapp/css/tipsy.css b/modules/enterprise/gui/coregui/src/main/webapp/css/tipsy.css
index 8a7734b..f1f734f 100644
--- a/modules/enterprise/gui/coregui/src/main/webapp/css/tipsy.css
+++ b/modules/enterprise/gui/coregui/src/main/webapp/css/tipsy.css
@@ -2,7 +2,7 @@
font-size: 10px;
position: absolute;
padding: 5px;
- z-index: 400000;
+ z-index: 990000;
}
.tipsy-inner {
@@ -11,6 +11,7 @@
max-width: 200px;
padding: 5px 8px 4px 8px;
text-align: center;
+ z-index: 990000;
}
/* Rounded corners */
@@ -18,6 +19,7 @@
border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
+ z-index: 990000;
}
/* Uncomment for shadow */
@@ -29,23 +31,28 @@
height: 0;
line-height: 0;
border: 5px dashed #000;
+ z-index: 990000;
}
/* Rules to colour arrows */
.tipsy-arrow-n {
border-bottom-color: #000;
+ z-index: 990000;
}
.tipsy-arrow-s {
border-top-color: #000;
+ z-index: 990000;
}
.tipsy-arrow-e {
border-left-color: #000;
+ z-index: 990000;
}
.tipsy-arrow-w {
border-right-color: #000;
+ z-index: 990000;
}
.tipsy-n .tipsy-arrow {
@@ -56,6 +63,7 @@
border-top: none;
border-left-color: transparent;
border-right-color: transparent;
+ z-index: 990000;
}
.tipsy-nw .tipsy-arrow {
@@ -65,6 +73,7 @@
border-top: none;
border-left-color: transparent;
border-right-color: transparent;
+ z-index: 990000;
}
.tipsy-ne .tipsy-arrow {
@@ -74,6 +83,7 @@
border-top: none;
border-left-color: transparent;
border-right-color: transparent;
+ z-index: 990000;
}
.tipsy-s .tipsy-arrow {
@@ -84,6 +94,7 @@
border-bottom: none;
border-left-color: transparent;
border-right-color: transparent;
+ z-index: 990000;
}
.tipsy-sw .tipsy-arrow {
@@ -93,6 +104,7 @@
border-bottom: none;
border-left-color: transparent;
border-right-color: transparent;
+ z-index: 990000;
}
.tipsy-se .tipsy-arrow {
@@ -102,6 +114,7 @@
border-bottom: none;
border-left-color: transparent;
border-right-color: transparent;
+ z-index: 990000;
}
.tipsy-e .tipsy-arrow {
@@ -112,6 +125,7 @@
border-right: none;
border-top-color: transparent;
border-bottom-color: transparent;
+ z-index: 990000;
}
.tipsy-w .tipsy-arrow {
@@ -122,4 +136,5 @@
border-left: none;
border-top-color: transparent;
border-bottom-color: transparent;
+ z-index: 990000;
}
commit e0b704ad886a875bbd4fcc263ea026b26e9a9e22
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Fri Jan 25 10:09:19 2013 -0800
Charting -Add duration to hover for unknown intervals.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricGraphData.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricGraphData.java
index e296eed..e8c2523 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricGraphData.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricGraphData.java
@@ -255,7 +255,6 @@ public class MetricGraphData implements JsonMetricProducer {
calculateOOB();
calculateUnknownIntervals();
- dumpUnknownIntervals();
for (MeasurementDataNumericHighLowComposite measurement : metricData) {
sb.append("{ x:" + measurement.getTimestamp() + ",");
@@ -264,8 +263,9 @@ public class MetricGraphData implements JsonMetricProducer {
// loop through the avail down intervals
for (Availability availability : availabilityDownList) {
// we know we are in an interval
- Log.debug(" *** Avail: " + availability);
- //if (barDateTime.after(datePair.startDateTime) && barDateTime.before(datePair.getEndDateTime())) {
+ //Log.debug("Availability: " + availability);
+ //Log.debug("Measurement: " + measurement);
+ // @todo: when resource is down measurement is null NPE
if (measurement.getTimestamp() >= availability.getStartTime()
&& measurement.getTimestamp() <= availability.getEndTime()) {
sb.append(" availStart:" + availability.getStartTime() + ", ");
@@ -312,6 +312,10 @@ public class MetricGraphData implements JsonMetricProducer {
&& measurement.getTimestamp() <= datePair.getEndDateTime().getTime()) {
sb.append(" unknownStart:" + datePair.getStartDateTime().getTime() + ", ");
sb.append(" unknownEnd:" + datePair.getEndDateTime().getTime() + ", ");
+ long unknownDuration = datePair.getEndDateTime().getTime() - datePair.getStartDateTime().getTime();
+ String unknownDurationString = MeasurementConverterClient.format((double) unknownDuration,
+ MeasurementUnits.MILLISECONDS, true);
+ sb.append(" unknownDuration: \"" + unknownDurationString + "\", ");
break;
}
}
@@ -350,11 +354,7 @@ public class MetricGraphData implements JsonMetricProducer {
}
}
- private void dumpUnknownIntervals() {
- for (DatePair datePair : unknownIntervalList) {
- Log.debug("Interval: " + datePair.getStartDateTime() + " - " + datePair.getEndDateTime());
- }
- }
+
private void calculateUnknownIntervals() {
@@ -366,7 +366,7 @@ public class MetricGraphData implements JsonMetricProducer {
boolean notAtStart = i > 1;
boolean currentBarUndefined = Double.isNaN(measurement.getValue());
boolean previousBarDefined = (notAtStart) ? !Double.isNaN(metricData.get(i - 1).getValue()) : false;
- if (currentBarUndefined && previousBarDefined && notAtStart) {
+ if (currentBarUndefined && previousBarDefined && notAtStart && i < metricData.size()-1) {
//Log.debug("Adding Down or Disabled start Point: " + i);
startPoints.add(i+1);
}
@@ -374,15 +374,16 @@ public class MetricGraphData implements JsonMetricProducer {
}
// iterate over the start points to the end of the consecutive bars or end of metricData
// from the starting interval points find the interval end point
+ if(null != startPoints){
for (Integer startPoint : startPoints) {
- Log.debug("StartPoint: " + new Date(metricData.get(startPoint).getTimestamp()));
- for (int j = 0; j < metricData.size() - 1; j++) {
+ Log.debug("StartPoint: "+ startPoint + " --> "+ new Date(metricData.get(startPoint).getTimestamp()));
+ for (int j = 0; j < metricData.size() - 2; j++) {
boolean notAtEnd = j < metricData.size();
boolean currentBarUndefined = Double.isNaN(metricData.get(j).getValue());
boolean nextBarDefined = (notAtEnd) ? !Double.isNaN(metricData.get(j + 1).getValue()) : false;
if (currentBarUndefined && nextBarDefined && notAtEnd) {
Date startDate = new Date(metricData.get(startPoint).getTimestamp());
- Date endDate = new Date(metricData.get(j).getTimestamp());
+ Date endDate = new Date(metricData.get(j+1).getTimestamp());
//Log.debug("\n\nStartDate: " + startDate);
//Log.debug("EndDate: " + endDate);
DatePair datePair = new DatePair(startDate, endDate);
@@ -390,6 +391,7 @@ public class MetricGraphData implements JsonMetricProducer {
}
}
}
+ }
//Log.debug("intervalDatePairList.size():" + unknownIntervalList.size());
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricStackedBarGraph.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricStackedBarGraph.java
index 676812f..bb96335 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricStackedBarGraph.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/charttype/MetricStackedBarGraph.java
@@ -81,6 +81,7 @@ public final class MetricStackedBarGraph extends MetricGraphData implements HasD
"use strict";
// privates
+ console.log("Chart Height: "+chartContext.height);
var margin = {top: 10, right: 5, bottom: 20, left: 40},
width = 750 - margin.left - margin.right,
adjustedChartHeight = chartContext.chartHeight - 40,
@@ -560,6 +561,7 @@ public final class MetricStackedBarGraph extends MetricGraphData implements HasD
barDuration = d.barDuration,
unknownStartDate = new Date(+d.unknownStart),
unknownEndDate = new Date(+d.unknownEnd),
+ unknownDuration = d.unknownDuration,
timeFormatter = $wnd.d3.time.format("%I:%M:%S %p"),
dateFormatter = $wnd.d3.time.format("%m/%d/%y"),
highValue = (d.high == undefined) ? 0 : d.high.toFixed(2),
@@ -584,6 +586,7 @@ public final class MetricStackedBarGraph extends MetricGraphData implements HasD
'<hr style="width:100%;text-align: center;border: #d3d3d3 solid thin;"></hr>' +
'<div style="text-align: right;"><span style="width:100%;font-weight:bold;color:#d3d3d6"";">'+chartContext.hoverStartLabel+": "+ timeFormatter(unknownStartDate)+ '</span></div>' +
'<div style="text-align: right;"><span style="width:100%;font-weight:bold;color:#d3d3d6"";">'+chartContext.hoverEndLabel+": "+ timeFormatter(unknownEndDate) + '</span></div>' +
+ '<div style="text-align: right;"><span style="width:100%;font-weight:bold;color:#d3d3d6"";">'+chartContext.hoverPeriodLabel+": "+ unknownDuration + '</span></div>' +
'<div style="text-align: right;"><span style="width:100%;font-weight:bold;color:#d3d3d6"";">'+chartContext.unknownLabel+'</span></div>' +
'</div>';