teichmann@5831: package org.dive4elements.river.artifacts.model; sascha@710: teichmann@5831: import org.dive4elements.artifacts.Artifact; teichmann@5831: import org.dive4elements.artifacts.CallContext; sascha@710: teichmann@5831: import org.dive4elements.artifactdatabase.state.DefaultFacet; teichmann@5831: import org.dive4elements.artifactdatabase.state.Facet; sascha@710: teichmann@5831: import org.dive4elements.river.artifacts.states.DefaultState.ComputeType; teichmann@5831: teichmann@5831: import org.dive4elements.river.artifacts.FLYSArtifact; 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: ingo@2792: FLYSArtifact flys = (FLYSArtifact)artifact; sascha@710: ingo@2792: CalculationResult cr = (CalculationResult)flys.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 :