Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelInfoState.java @ 9425:3f49835a00c3
Extended CrossSectionFacet so it may fetch different data from within the artifact result.
Also allows to have acces to the potentially already computed artifact result via its normal computation cache.
author | gernotbelger |
---|---|
date | Fri, 17 Aug 2018 15:31:02 +0200 |
parents | 5e38e2924c07 |
children |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelInfoState.java Fri Aug 17 14:29:05 2018 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelInfoState.java Fri Aug 17 15:31:02 2018 +0200 @@ -51,18 +51,19 @@ CallMeta meta, List<Facet> facets ) { - return compute((WINFOArtifact) artifact, hash, facets, null); + return compute((WINFOArtifact) artifact, ComputeType.INIT, hash, facets, null); } - protected Object compute( + private Object compute( WINFOArtifact winfo, + ComputeType type, String hash, List<Facet> facets, Object old ) { log.debug("WaterlevelInfoState.compute"); - String id = getID(); + String stateId = getID(); CalculationResult res = old instanceof CalculationResult ? (CalculationResult)old @@ -91,9 +92,9 @@ log.debug("WaterlevelInfoState Create facet: " + nameQ); Facet w = new WaterlevelFacet( - i, LONGITUDINAL_W, nameW, ComputeType.ADVANCE, id, hash); + i, LONGITUDINAL_W, nameW, ComputeType.ADVANCE, stateId, hash); Facet q = new WaterlevelFacet( - i, LONGITUDINAL_Q, nameQ, ComputeType.ADVANCE, id, hash); + i, LONGITUDINAL_Q, nameQ, ComputeType.ADVANCE, stateId, hash); facets.add(w); facets.add(q); @@ -101,21 +102,20 @@ if (wqkms.length > 0) { Facet wst = new DataFacet( - WST, "WST data", ComputeType.ADVANCE, hash, id); + WST, "WST data", ComputeType.ADVANCE, hash, stateId); Facet csv = new DataFacet( - CSV, "CSV data", ComputeType.ADVANCE, hash, id); + CSV, "CSV data", ComputeType.ADVANCE, hash, stateId); facets.add(wst); facets.add(csv); } if (res.getReport().hasProblems()) { - facets.add(new ReportFacet(ComputeType.ADVANCE, hash, id)); + facets.add(new ReportFacet(ComputeType.ADVANCE, hash, stateId)); } // TODO Adjust to WaterlevelState - implementation. - facets.add(new CrossSectionWaterLineFacet(0, - "Q=" + winfo.getDataAsString("wq_single"))); + facets.add(new CrossSectionWaterLineFacet(0, "Q=" + winfo.getDataAsString("wq_single"), type, hash, stateId, null)); // Assume to be in wq_single mode. return res; @@ -133,7 +133,7 @@ List<Facet> facets, Object old ) { - return compute((WINFOArtifact) artifact, hash, facets, old); + return compute((WINFOArtifact) artifact, ComputeType.FEED, hash, facets, old); } @@ -148,7 +148,7 @@ List<Facet> facets, Object old ) { - return compute((WINFOArtifact) artifact, hash, facets, old); + return compute((WINFOArtifact) artifact, ComputeType.ADVANCE, hash, facets, old); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :