teichmann@5831: package org.dive4elements.river.artifacts.services; sascha@2561: teichmann@5831: import org.dive4elements.artifacts.CallMeta; teichmann@5831: import org.dive4elements.artifacts.GlobalContext; sascha@2564: teichmann@5831: import org.dive4elements.artifacts.common.utils.XMLUtils; sascha@2564: teichmann@5831: import org.dive4elements.river.artifacts.model.FixingsFilterBuilder; teichmann@5831: teichmann@5831: import org.dive4elements.river.artifacts.model.FixingsOverview.Fixing.Filter; teichmann@5831: teichmann@5831: import org.dive4elements.river.artifacts.model.Range; teichmann@5831: teichmann@5831: import org.dive4elements.river.artifacts.model.FixingsOverview; teichmann@5831: import org.dive4elements.river.artifacts.model.FixingsOverviewFactory; sascha@2561: sascha@2561: import org.apache.log4j.Logger; sascha@2561: sascha@2561: import org.w3c.dom.Document; sascha@2561: import org.w3c.dom.Element; sascha@2561: import org.w3c.dom.NodeList; sascha@2561: sascha@2561: public class FixingsOverviewService sascha@2561: extends FLYSService sascha@2561: { sascha@2561: private static Logger log = sascha@2561: Logger.getLogger(FixingsOverviewService.class); sascha@2561: sascha@2561: public FixingsOverviewService() { sascha@2561: } sascha@2561: sascha@2561: @Override sascha@2561: public Document doProcess( sascha@2561: Document data, sascha@2561: GlobalContext globalContext, sascha@2561: CallMeta callMeta sascha@2561: ) { sascha@2561: log.debug("FixingsOverviewService.doProcess"); sascha@2561: sascha@2561: Document document = XMLUtils.newDocument(); sascha@2561: sascha@2561: NodeList nodes = data.getElementsByTagName("river"); sascha@2561: sascha@2561: String river = nodes.getLength() > 0 sascha@2561: ? ((Element)nodes.item(0)).getAttribute("name") sascha@2561: : ""; sascha@2561: sascha@2561: FixingsOverview overview = FixingsOverviewFactory.getOverview(river); sascha@2561: sascha@2561: if (overview != null) { sascha@2608: FixingsFilterBuilder ffb = new FixingsFilterBuilder(data); sascha@2608: Range range = ffb.getRange(); sascha@2608: Filter filter = ffb.getFilter(); sascha@2564: overview.generateOverview(document, range, filter); sascha@2561: } sascha@2561: else { sascha@2561: log.warn("No overview for river '" + river + "' available."); sascha@2561: } sascha@2561: sascha@2561: return document; sascha@2561: } sascha@2561: } sascha@2561: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :