diff --git a/core/tools.descartes.dql.core.platform.eclipse/src/tools/descartes/dql/core/platform/eclipse/views/QueryResultTableViewer.java b/core/tools.descartes.dql.core.platform.eclipse/src/tools/descartes/dql/core/platform/eclipse/views/QueryResultTableViewer.java index bf26d3ca48b9c2f884c563eb059781eb4adbcc9a..3c48dff91642d430b52fdbebf0e501c4c502d16b 100644 --- a/core/tools.descartes.dql.core.platform.eclipse/src/tools/descartes/dql/core/platform/eclipse/views/QueryResultTableViewer.java +++ b/core/tools.descartes.dql.core.platform.eclipse/src/tools/descartes/dql/core/platform/eclipse/views/QueryResultTableViewer.java @@ -31,6 +31,7 @@ import static tools.descartes.dql.core.platform.eclipse.views.TableRowBean.ALIGN import static tools.descartes.dql.core.platform.eclipse.views.TableRowBean.HEADINGS; import static tools.descartes.dql.core.platform.eclipse.views.TableRowBean.IDENTIFIER_POS; import static tools.descartes.dql.core.platform.eclipse.views.TableRowBean.METRIC_POS; +import static tools.descartes.dql.core.platform.eclipse.views.TableRowBean.STATTYPE_POS; import static tools.descartes.dql.core.platform.eclipse.views.TableRowBean.TYPE_POS; import static tools.descartes.dql.core.platform.eclipse.views.TableRowBean.VALID_POS; import static tools.descartes.dql.core.platform.eclipse.views.TableRowBean.VALUE_POS; @@ -109,6 +110,7 @@ public class QueryResultTableViewer extends ViewPart { createColumn(viewer, layout, ALIAS_POS); createColumn(viewer, layout, IDENTIFIER_POS); createColumn(viewer, layout, METRIC_POS); + createColumn(viewer, layout, STATTYPE_POS); createColumn(viewer, layout, VALID_POS); createColumn(viewer, layout, VALUE_POS); diff --git a/core/tools.descartes.dql.core.platform.eclipse/src/tools/descartes/dql/core/platform/eclipse/views/TableRowBean.java b/core/tools.descartes.dql.core.platform.eclipse/src/tools/descartes/dql/core/platform/eclipse/views/TableRowBean.java index 8343528c1e0e8c393f656cf59f84bb73a0435f43..8bb65f02852604edcfaa51c5a715b315e5f64f1e 100644 --- a/core/tools.descartes.dql.core.platform.eclipse/src/tools/descartes/dql/core/platform/eclipse/views/TableRowBean.java +++ b/core/tools.descartes.dql.core.platform.eclipse/src/tools/descartes/dql/core/platform/eclipse/views/TableRowBean.java @@ -37,21 +37,24 @@ public class TableRowBean implements Comparable<TableRowBean> { public static final String ALIAS_HEADING = "Entity Alias"; public static final String IDENTIFIER_HEADING = "Entity Identifier"; public static final String METRIC_HEADING = "Metric Name"; + public static final String STATTYPE_HEADING = "StatType Name"; public static final String VALID_HEADING = "Result Valid?"; public static final String VALUE_HEADING = "Result Value"; public static final String[] HEADINGS = new String[] { TYPE_HEADING, ALIAS_HEADING, IDENTIFIER_HEADING, - METRIC_HEADING, VALID_HEADING, VALUE_HEADING }; + METRIC_HEADING, STATTYPE_HEADING, VALID_HEADING, VALUE_HEADING }; public static final int TYPE_WIDTH = 100; public static final int ALIAS_WIDTH = 200; public static final int IDENTIFIER_WIDTH = 200; public static final int METRIC_WIDTH = 200; + public static final int STATTYPE_WIDTH = 200; public static final int VALID_WIDTH = 100; public static final int VALUE_WIDTH = 150; public static final int ACCURACY_WIDTH = 100; public static final int[] WIDTHS = new int[] { TYPE_WIDTH, ALIAS_WIDTH, IDENTIFIER_WIDTH, METRIC_WIDTH, + STATTYPE_WIDTH, VALID_WIDTH, VALUE_WIDTH, ACCURACY_WIDTH }; public static final int TOTAL_WIDTH = sum(WIDTHS); @@ -60,23 +63,26 @@ public class TableRowBean implements Comparable<TableRowBean> { public static final int ALIAS_POS = 1; public static final int IDENTIFIER_POS = 2; public static final int METRIC_POS = 3; - public static final int VALID_POS = 4; - public static final int VALUE_POS = 5; + public static final int STATTYPE_POS = 4; + public static final int VALID_POS = 5; + public static final int VALUE_POS = 6; public static final int TYPE_ALIGNMENT = SWT.LEFT; public static final int ALIAS_ALIGNMENT = SWT.LEFT; public static final int IDENTIFIER_ALIGNMENT = SWT.LEFT; public static final int METRIC_ALIGNMENT = SWT.LEFT; + public static final int STATTYPE_ALIGNMENT = SWT.LEFT; public static final int VALID_ALIGNMENT = SWT.LEFT; public static final int VALUE_ALIGNMENT = SWT.RIGHT; public static final int ACCURACY_ALIGNMENT = SWT.RIGHT; static final int[] WEIGHTS = new int[] { weight(WIDTHS[TYPE_POS]), weight(WIDTHS[ALIAS_POS]), - weight(WIDTHS[IDENTIFIER_POS]), weight(WIDTHS[METRIC_POS]), weight(WIDTHS[VALID_POS]), + weight(WIDTHS[IDENTIFIER_POS]), weight(WIDTHS[METRIC_POS]), weight(WIDTHS[STATTYPE_POS]), + weight(WIDTHS[VALID_POS]), weight(WIDTHS[VALUE_POS]) }; public static final int[] ALIGNMENT = new int[] { TYPE_ALIGNMENT, ALIAS_ALIGNMENT, IDENTIFIER_ALIGNMENT, - METRIC_ALIGNMENT, VALID_ALIGNMENT, VALUE_ALIGNMENT, ACCURACY_ALIGNMENT }; + METRIC_ALIGNMENT, STATTYPE_ALIGNMENT, VALID_ALIGNMENT, VALUE_ALIGNMENT, ACCURACY_ALIGNMENT }; private static int sum(final int[] widths2) { int totalWidth = 0; @@ -96,6 +102,7 @@ public class TableRowBean implements Comparable<TableRowBean> { private String alias = VALUE_NOT_SET; private String identifier = VALUE_NOT_SET; private String metricName = VALUE_NOT_SET; + private String statTypeName = VALUE_NOT_SET; private String valid = VALUE_NOT_SET; private String value = VALUE_NOT_SET; @@ -227,6 +234,14 @@ public class TableRowBean implements Comparable<TableRowBean> { this.type = type; } + public String getStatTypeName() { + return statTypeName; + } + + public void setStatTypeName(String statTypeName) { + this.statTypeName = statTypeName; + } + public void setValid(final String valid) { this.valid = valid; } diff --git a/core/tools.descartes.dql.core.platform.eclipse/src/tools/descartes/dql/core/platform/eclipse/views/ViewContentProvider.java b/core/tools.descartes.dql.core.platform.eclipse/src/tools/descartes/dql/core/platform/eclipse/views/ViewContentProvider.java index 9ccd8980ed29e78d9882613eb27ebb4a7391baaf..1a2d5058c48f16e14c46b1ae525b0109bbf7cb18 100644 --- a/core/tools.descartes.dql.core.platform.eclipse/src/tools/descartes/dql/core/platform/eclipse/views/ViewContentProvider.java +++ b/core/tools.descartes.dql.core.platform.eclipse/src/tools/descartes/dql/core/platform/eclipse/views/ViewContentProvider.java @@ -38,8 +38,10 @@ import tools.descartes.dql.models.mapping.domain.DoF; import tools.descartes.dql.models.mapping.domain.Entity; import tools.descartes.dql.models.mapping.domain.Probe; import tools.descartes.dql.models.mapping.domain.Resource; +import tools.descartes.dql.models.mapping.domain.Result; import tools.descartes.dql.models.mapping.domain.SeriesResult; import tools.descartes.dql.models.mapping.domain.Service; +import tools.descartes.dql.models.mapping.domain.StatType; import tools.descartes.dql.models.mapping.domain.StringResult; import tools.descartes.dql.models.mapping.mapping.EntityMapping; import tools.descartes.dql.models.mapping.mapping.impl.EntityMappingImpl; @@ -97,13 +99,16 @@ class ViewContentProvider implements IStructuredContentProvider { rowWithProbe = new TableRowBean(row.getType(), row.getAlias(), row.getIdentifier()); for (final Probe probe : entity.getProbes()) { - processProbe(rowWithProbe, probe); + rowWithProbe.setMetricName(probe.getMetricName()); + for (final StatType st : probe.getStatTypes()) { + processProbe(rowWithProbe, probe, st); - rows.add(rowWithProbe); - rowWithProbe = new TableRowBean(rowWithProbe.getType(), rowWithProbe.getAlias(), - rowWithProbe.getIdentifier()); + rows.add(rowWithProbe); + rowWithProbe = new TableRowBean(rowWithProbe.getType(), rowWithProbe.getAlias(), + rowWithProbe.getIdentifier()); - hasProbes = true; + hasProbes = true; + } } if (!hasProbes) { @@ -131,14 +136,15 @@ class ViewContentProvider implements IStructuredContentProvider { row.setIdentifier(entity.getIdentifier()); } - private void processProbe(final TableRowBean row, final Probe probe) { + private void processProbe(final TableRowBean row, final Probe probe, StatType st) { row.setMetricName(probe.getMetricName()); - - if (probe instanceof SeriesResult) - System.out.println("Recieved Series " + ((SeriesResult) probe).getMetricName() + row.setStatTypeName(st.getTypeName()); + Result r = st.getResult(); + if (r instanceof SeriesResult) + System.out.println("Recieved Series " + probe.getMetricName() + "." + st.getTypeName() + ", visualization not yet implemented"); - if (probe instanceof DecimalResult) { - final DecimalResult result = (DecimalResult) probe; + if (r instanceof DecimalResult) { + final DecimalResult result = (DecimalResult) r; row.setValid(result.getValid().toString()); @@ -146,8 +152,8 @@ class ViewContentProvider implements IStructuredContentProvider { row.setValue(scaledResult.toString()); } - if (probe instanceof StringResult) { - final StringResult result = (StringResult) probe; + if (r instanceof StringResult) { + final StringResult result = (StringResult) r; row.setValid(result.getValid().toString()); row.setValue(result.getValue()); diff --git a/core/tools.descartes.dql.core.platform.eclipse/src/tools/descartes/dql/core/platform/eclipse/views/ViewLabelProvider.java b/core/tools.descartes.dql.core.platform.eclipse/src/tools/descartes/dql/core/platform/eclipse/views/ViewLabelProvider.java index f7161cf1aeabd73856f9d46a049a1a559cd9cc0c..49e51ff4adaffd792e06d739b032c04f3a36f637 100644 --- a/core/tools.descartes.dql.core.platform.eclipse/src/tools/descartes/dql/core/platform/eclipse/views/ViewLabelProvider.java +++ b/core/tools.descartes.dql.core.platform.eclipse/src/tools/descartes/dql/core/platform/eclipse/views/ViewLabelProvider.java @@ -87,6 +87,8 @@ class ViewLabelProvider extends LabelProvider implements ITableLabelProvider { return row.getValid(); case TableRowBean.VALUE_POS: return row.getValue(); + case TableRowBean.STATTYPE_POS: + return row.getStatTypeName(); } return "Unknown Column Index...";