Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/AbstractSInfoProcessor.java @ 9205:3dae6b78e1da
inundationDuration/floodDuration multiple columns+chartLines refactoring
author | gernotbelger |
---|---|
date | Mon, 02 Jul 2018 19:01:09 +0200 |
parents | 4f411c6ee3ae |
children | 0fc9c82e744e |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/AbstractSInfoProcessor.java Mon Jul 02 17:40:39 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/common/AbstractSInfoProcessor.java Mon Jul 02 19:01:09 2018 +0200 @@ -68,6 +68,23 @@ } } + protected static final AbstractCalculationResult getResult(final DiagramGenerator generator, final ArtifactAndFacet bundle) { + final CallContext context = generator.getContext(); + final AbstractCalculationResult data = (AbstractCalculationResult) bundle.getData(context); + if (data == null) { + // Check has been here before so we keep it for security reasons + // this should never happen though. + final String facetName = bundle.getFacetName(); + throw new IllegalStateException("Data is null for facet: " + facetName); + } + + return data; + } + + protected static final int getDataIndex(final ArtifactAndFacet bundle) { + return ((SInfoResultFacet) bundle.getFacet()).getDataIndex(); + } + /** * @return The axis label */ @@ -75,6 +92,16 @@ protected final String buildSeriesForType(final DiagramGenerator generator, final ArtifactAndFacet bundle, final ThemeDocument theme, final boolean visible, final IResultType resultType, final Double gapDistance) { + + final AbstractCalculationResult data = getResult(generator, bundle); + + final double[][] points = data.getStationPoints(resultType); + + return buildSeriesForType(points, generator, bundle, theme, visible, gapDistance); + } + + protected final String buildSeriesForType(final double[][] points, final DiagramGenerator generator, final ArtifactAndFacet bundle, + final ThemeDocument theme, final boolean visible, final Double gapDistance) { final CallContext context = generator.getContext(); final Map<String, String> metaData = bundle.getFacet().getMetaData(); @@ -85,68 +112,55 @@ final String facetName = bundle.getFacetName(); - final AbstractCalculationResult data = (AbstractCalculationResult) bundle.getData(context); - if (data == null) { - // Check has been here before so we keep it for security reasons - // this should never happen though. - throw new IllegalStateException("Data is null for facet: " + facetName); - } - - final double[][] points = generatePoints(context, artifact, data, facetName, resultType); + final double[][] filteredPoints = filterPoints(points, context, artifact, facetName); if (gapDistance == null) - StyledSeriesBuilder.addPoints(series, points, true); + StyledSeriesBuilder.addPoints(series, filteredPoints, true); else - StyledSeriesBuilder.addPoints(series, points, true, gapDistance); + StyledSeriesBuilder.addPoints(series, filteredPoints, true, gapDistance); generator.addAxisSeries(series, getAxisName(), visible); return metaData.get("Y"); } - protected final String buildSeriesForType1(final DiagramGenerator generator, final ArtifactAndFacet bundle, final ThemeDocument theme, - final boolean visible, - final IResultType resultType, final Double gapDistance) { - final CallContext context = generator.getContext(); - final Map<String, String> metaData = bundle.getFacet().getMetaData(); - - final Artifact artifact = bundle.getArtifact(); - - final StyledXYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme); - series.putMetaData(metaData, artifact, context); - - final String facetName = bundle.getFacetName(); - - final AbstractCalculationResult data = (AbstractCalculationResult) bundle.getData(context); - if (data == null) { - // Check has been here before so we keep it for security reasons - // this should never happen though. - throw new IllegalStateException("Data is null for facet: " + facetName); - } - - final double[][] points = generatePoints(context, artifact, data, facetName, resultType, bundle.getFacet().getIndex()); - - if (gapDistance == null) - StyledSeriesBuilder.addPoints(series, points, true); - else - StyledSeriesBuilder.addPoints(series, points, true, gapDistance); - - generator.addAxisSeries(series, getAxisName(), visible); - - return metaData.get("Y"); - } + // protected final String buildSeriesForType1(final DiagramGenerator generator, final ArtifactAndFacet bundle, final + // ThemeDocument theme, + // final boolean visible, final IResultType resultType, final Double gapDistance) { + // final CallContext context = generator.getContext(); + // final Map<String, String> metaData = bundle.getFacet().getMetaData(); + // + // final Artifact artifact = bundle.getArtifact(); + // + // final StyledXYSeries series = new StyledXYSeries(bundle.getFacetDescription(), theme); + // series.putMetaData(metaData, artifact, context); + // + // final String facetName = bundle.getFacetName(); + // + // final AbstractCalculationResult data = (AbstractCalculationResult) bundle.getData(context); + // if (data == null) { + // // Check has been here before so we keep it for security reasons + // // this should never happen though. + // throw new IllegalStateException("Data is null for facet: " + facetName); + // } + // + // final double[][] points = generatePoints(context, artifact, data, facetName, resultType, + // bundle.getFacet().getIndex()); + // + // if (gapDistance == null) + // StyledSeriesBuilder.addPoints(series, points, true); + // else + // StyledSeriesBuilder.addPoints(series, points, true, gapDistance); + // + // generator.addAxisSeries(series, getAxisName(), visible); + // + // return metaData.get("Y"); + // } protected final String buildSeriesForTkh(final DiagramGenerator generator, final ArtifactAndFacet bundle, final ThemeDocument theme, final boolean visible) { - final CallContext context = generator.getContext(); - final String facetName = bundle.getFacetName(); - final AbstractTkhCalculationResult data = (AbstractTkhCalculationResult) bundle.getData(context); - if (data == null) { - // Check has been here before so we keep it for security reasons - // this should never happen though. - throw new IllegalStateException("Data is null for facet: " + facetName); - } + final AbstractTkhCalculationResult data = (AbstractTkhCalculationResult) getResult(generator, bundle); final StyledXYSeries seriesUp = new StyledXYSeries(bundle.getFacetDescription(), theme); final double[][] pointsUp = data.getTkhUpPoints(); @@ -182,10 +196,8 @@ return scales.getRadius(river, start, end); } - private double[][] generatePoints(final CallContext context, final Artifact artifact, final AbstractCalculationResult data, final String facetName, - final IResultType resultType) { + private double[][] filterPoints(final double[][] points, final CallContext context, final Artifact artifact, final String facetName) { - final double[][] points = data.getStationPoints(resultType); if (facetName.endsWith(".filtered")) { final Double radius = findRadius(context, artifact); return movingAverage(radius, points); @@ -194,17 +206,18 @@ return points; } - private double[][] generatePoints(final CallContext context, final Artifact artifact, final AbstractCalculationResult data, final String facetName, - final IResultType resultType, final int index) { - - final double[][] points = data.getStationPoints(resultType, index); - if (facetName.endsWith(".filtered")) { - final Double radius = findRadius(context, artifact); - return movingAverage(radius, points); - } - - return points; - } + // private double[][] generatePoints(final CallContext context, final Artifact artifact, final AbstractCalculationResult + // data, final String facetName, + // final IResultType resultType, final int index) { + // + // final double[][] points = data.getStationPoints(resultType, index); + // if (facetName.endsWith(".filtered")) { + // final Double radius = findRadius(context, artifact); + // return movingAverage(radius, points); + // } + // + // return points; + // } private double[][] movingAverage(final Double radius, final double[][] points) { @@ -231,11 +244,14 @@ return generator.msg(this.i18n_axis_label, "MISSING"); } - // Moved from SInfoLineProcessor: protected static final Facet createFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, - final int index, final String axisLabel, final String facetId, final String description) { - final String facetFlowDepthFilteredDescription = Resources.getMsg(context.getMeta(), description, description, result.getLabel()); - return new SInfoResultFacet(index, facetId, facetFlowDepthFilteredDescription, axisLabel, ComputeType.ADVANCE, id, hash); + final int resultIndex, final String axisLabel, final String facetId, final String description) { + return createFacet(context, hash, id, result, resultIndex, -1, axisLabel, facetId, description); } + protected static final Facet createFacet(final CallContext context, final String hash, final String id, final AbstractCalculationResult result, + final int resultIndex, final int dataIndex, final String axisLabel, final String facetId, final String description) { + final String facetFlowDepthFilteredDescription = Resources.getMsg(context.getMeta(), description, description, result.getLabel()); + return new SInfoResultFacet(resultIndex, dataIndex, facetId, facetFlowDepthFilteredDescription, axisLabel, ComputeType.ADVANCE, id, hash); + } } \ No newline at end of file