Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/DischargeLongitudinalSection.java @ 1745:4ae7df2a74ed
Fix NPE in WDiff-diagram because no ranges present in masterartifact.
flys-artifacts/trunk@3039 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Wed, 19 Oct 2011 16:06:01 +0000 |
parents | 7e19449d7826 |
children | b11793a3e7c7 |
line wrap: on
line source
package de.intevation.flys.artifacts.states; import java.util.List; import org.apache.log4j.Logger; import de.intevation.artifacts.CallContext; import de.intevation.artifactdatabase.state.Facet; import de.intevation.flys.artifacts.FLYSArtifact; import de.intevation.flys.artifacts.WINFOArtifact; import de.intevation.flys.artifacts.model.FacetTypes; import de.intevation.flys.artifacts.model.ReportFacet; import de.intevation.flys.artifacts.model.WaterlevelFacet; import de.intevation.flys.artifacts.model.WQKms; import de.intevation.flys.artifacts.model.WQCKms; import de.intevation.flys.artifacts.model.CalculationResult; import de.intevation.flys.artifacts.model.DataFacet; public class DischargeLongitudinalSection extends DefaultState implements FacetTypes { private static Logger logger = Logger.getLogger(DischargeLongitudinalSection.class); @Override public Object computeAdvance( FLYSArtifact artifact, String hash, CallContext context, List<Facet> facets, Object old ) { WINFOArtifact winfo = (WINFOArtifact)artifact; CalculationResult res = old instanceof CalculationResult ? (CalculationResult)old : winfo.getDischargeLongitudinalSectionData(); if (facets == null) { return res; } WQKms [] wqkms = (WQKms [])res.getData(); for (int i = 0; i < wqkms.length; i++) { String nameW = null; String nameQ = null; if (winfo.isQ()) { nameQ = wqkms[i].getName(); nameW = "W(" + nameQ + ")"; } else { nameW = wqkms[i].getName(); nameQ = "Q(" + nameQ + ")"; } Facet w = new WaterlevelFacet( i, DISCHARGE_LONGITUDINAL_W, nameW); Facet q = new WaterlevelFacet( i, DISCHARGE_LONGITUDINAL_Q, nameQ); facets.add(w); facets.add(q); if (wqkms[i] instanceof WQCKms) { // TODO DO i18n String nameC = nameW.replace( "benutzerdefiniert", "benutzerdefiniert [korrigiert]"); Facet c = new WaterlevelFacet( i, DISCHARGE_LONGITUDINAL_C, nameC); facets.add(c); } } if (wqkms.length > 0) { facets.add(new DataFacet(CSV, "CSV data")); facets.add(new DataFacet(WST, "WST data")); } if (res.getReport().hasProblems()) { facets.add(new ReportFacet()); } return res; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :