view artifacts/src/main/java/org/dive4elements/river/artifacts/services/ServerInfoService.java @ 8750:69b0a71b4845

(issue1448) Make sq time intervals distinct only for non epoch loads Previously it was random if the loads choosen to be part of the distinct sq time interval loads set were epoch loads or not. This led to wrong results beeing removed in the isEpoch check afterwards.
author Andre Heinecke <andre.heinecke@intevation.de>
date Fri, 19 Jun 2015 16:35:13 +0200
parents e4606eae8ea5
children 5e38e2924c07
line wrap: on
line source
package org.dive4elements.river.artifacts.services;

import javax.xml.xpath.XPathConstants;

import org.apache.log4j.Logger;
import org.dive4elements.artifacts.CallMeta;
import org.dive4elements.artifacts.GlobalContext;
import org.dive4elements.artifacts.common.ArtifactNamespaceContext;
import org.dive4elements.artifacts.common.utils.Config;
import org.dive4elements.artifacts.common.utils.XMLUtils;
import org.w3c.dom.Document;
import org.w3c.dom.Element;

/**
 * Through this service the client can retrieve basic information about or
 * configuration of the artifact server.
 * Currently it only returns the help-url (wiki) to the client.
 *
 * @author <a href="mailto:christian.lins@intevation.de">Christian Lins</a>
 */
public class ServerInfoService extends D4EService {

    /** The log used in this service.*/
    private static Logger log = Logger.getLogger(ServerInfoService.class);

    private static final String XPATH_HELP_URL = "/artifact-database/help-url/text()";

    @Override
    protected Document doProcess(Document data, GlobalContext globalContext,
            CallMeta callMeta) {
        log.debug("ServerInfoService.process");

        Document result = XMLUtils.newDocument();

        XMLUtils.ElementCreator ec = new XMLUtils.ElementCreator(
            result,
            ArtifactNamespaceContext.NAMESPACE_URI,
            ArtifactNamespaceContext.NAMESPACE_PREFIX);

        Element serverInfo = ec.create("server");

        String helpUrl = (String) XMLUtils.xpath(
                Config.getConfig(),
                XPATH_HELP_URL,
                XPathConstants.STRING);

        Element info = ec.create("info");
        ec.addAttr(info, "key", "help-url", true);
        ec.addAttr(info, "value", helpUrl, true);
        serverInfo.appendChild(info);

        result.appendChild(serverInfo);

        return result;
    }

}

http://dive4elements.wald.intevation.org