Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/SInfoResultFacet.java @ 9205:3dae6b78e1da
inundationDuration/floodDuration multiple columns+chartLines refactoring
author | gernotbelger |
---|---|
date | Mon, 02 Jul 2018 19:01:09 +0200 |
parents | b4402594213b |
children | 0fc9c82e744e |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/SInfoResultFacet.java Mon Jul 02 17:40:39 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/SInfoResultFacet.java Mon Jul 02 19:01:09 2018 +0200 @@ -28,17 +28,42 @@ private static Logger log = Logger.getLogger(SInfoResultFacet.class); + private int dataIndex; + + private int resultIndex; + public SInfoResultFacet() { // required for clone operation deepCopy() } - public SInfoResultFacet(final int idx, final String name, final String description, final String yAxisLabelKey, final ComputeType type, + public SInfoResultFacet(final int resultIndex, final String name, final String description, final String yAxisLabelKey, final ComputeType type, final String stateId, final String hash) { - super(idx, name, description, type, hash, stateId); + // REMARK: + this(resultIndex, resultIndex, -1, name, description, yAxisLabelKey, type, stateId, hash); + } + + public SInfoResultFacet(final int resultIndex, final int dataIndex, final String name, final String description, final String yAxisLabelKey, + final ComputeType type, final String stateId, final String hash) { + // REMARK: in some cases, we have several + this(resultIndex, resultIndex, dataIndex, name, description, yAxisLabelKey, type, stateId, hash); + } + + public SInfoResultFacet(final int facetIndex, final int resultIndex, final int dataIndex, final String name, final String description, + // REMARK: in some cases, we have several data-lines for the same result (which normally determines the facet index) and + // facet name. But index and name are used by the client side as unique keys for the chart themes... + // So we might have different facet index and result index. + final String yAxisLabelKey, final ComputeType type, final String stateId, final String hash) { + super(facetIndex, name, description, type, hash, stateId); + this.resultIndex = resultIndex; + this.dataIndex = dataIndex; this.metaData.put("X", "sinfo.chart.km.xaxis.label"); this.metaData.put("Y", yAxisLabelKey); } + public int getDataIndex() { + return this.dataIndex; + } + @Override public Object getData(final Artifact artifact, final CallContext context) { log.debug("Get data for result at index: " + this.index); @@ -49,7 +74,7 @@ final AbstractCalculationResults<AbstractCalculationResult> data = (AbstractCalculationResults<AbstractCalculationResult>) res.getData(); - return data.getResults().get(this.index); + return data.getResults().get(this.resultIndex); } /** Copy deeply. */