sascha@710: package de.intevation.flys.artifacts.model; sascha@710: sascha@710: import de.intevation.artifacts.Artifact; sascha@710: import de.intevation.artifacts.CallContext; sascha@710: sascha@710: import de.intevation.artifactdatabase.state.DefaultFacet; sascha@1061: import de.intevation.artifactdatabase.state.Facet; sascha@710: sascha@710: import de.intevation.flys.artifacts.states.DefaultState.ComputeType; sascha@710: sascha@710: import de.intevation.flys.artifacts.WINFOArtifact; sascha@710: sascha@710: sascha@710: import org.apache.log4j.Logger; sascha@710: sascha@710: public class ReportFacet sascha@710: extends DefaultFacet sascha@710: implements FacetTypes sascha@710: { sascha@710: private static Logger logger = Logger.getLogger(ReportFacet.class); sascha@710: sascha@710: protected ComputeType type; ingo@929: protected String hash; ingo@929: protected String stateId; sascha@710: sascha@710: public ReportFacet() { sascha@710: this(ComputeType.ADVANCE); sascha@710: } sascha@710: sascha@710: public ReportFacet(ComputeType type) { sascha@710: super(0, REPORT, "report"); sascha@710: this.type = type; sascha@710: } sascha@710: ingo@929: ingo@929: public ReportFacet(ComputeType type, String hash, String stateId) { ingo@929: super(0, REPORT, "report"); ingo@929: this.type = type; ingo@929: this.hash = hash; ingo@929: this.stateId = stateId; ingo@929: } ingo@929: sascha@710: public Object getData(Artifact artifact, CallContext context) { sascha@710: logger.debug("get report data"); sascha@710: sascha@710: WINFOArtifact winfo = (WINFOArtifact)artifact; sascha@710: sascha@710: CalculationResult cr = (CalculationResult)winfo.compute( ingo@1117: context, hash, stateId, type, false); sascha@710: sascha@711: return cr.getReport(); sascha@710: } sascha@1061: sascha@1061: @Override sascha@1061: public Facet deepCopy() { sascha@1061: ReportFacet copy = new ReportFacet(); sascha@1061: copy.set(this); sascha@1061: copy.type = type; sascha@1061: copy.hash = hash; sascha@1061: copy.stateId = stateId; sascha@1061: return copy; sascha@1061: } sascha@710: } sascha@710: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :