view flys-client/src/main/java/de/intevation/flys/client/server/CollectionAttributeServiceImpl.java @ 4215:c179cd02177d

Logout the current user Add code to the logout button to remove the current user from the session and to redirect the browser window to the login page. Part of flys/issue916 (Logout: "Abmelden" Knopf mit Funktion belegen)
author Björn Ricks <bjoern.ricks@intevation.de>
date Tue, 23 Oct 2012 09:59:16 +0200
parents bc06a671ef60
children
line wrap: on
line source
package de.intevation.flys.client.server;

import org.w3c.dom.Document;

import org.apache.log4j.Logger;

import de.intevation.artifacts.common.utils.ClientProtocolUtils;

import de.intevation.artifacts.httpclient.exceptions.ConnectionException;
import de.intevation.artifacts.httpclient.http.HttpClient;
import de.intevation.artifacts.httpclient.http.HttpClientImpl;
import de.intevation.artifacts.httpclient.http.response.DocumentResponseHandler;

import de.intevation.flys.client.shared.exceptions.ServerException;
import de.intevation.flys.client.shared.model.Collection;

import de.intevation.flys.client.client.services.CollectionAttributeService;


/**
 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
 */
public class CollectionAttributeServiceImpl
extends      DescribeCollectionServiceImpl
implements   CollectionAttributeService
{
    private static final Logger logger =
        Logger.getLogger(CollectionAttributeServiceImpl.class);


    public static final String ERROR_UPDATING_COLLECTION_ATTRIBUTE =
        "error_update_collection_attribute";


    public Collection update(Collection collection, String locale)
    throws ServerException
    {
        logger.info("CollectionAttributeServiceImpl.update");

        String url  = getServletContext().getInitParameter("server-url");

        Document attribute = CollectionHelper.createAttribute(collection);
        Document action    = ClientProtocolUtils.newSetAttributeDocument(
            collection.identifier(),
            attribute);

        try {
            HttpClient http = new HttpClientImpl(url, locale);
            Document   res  = (Document) http.doCollectionAction(
                action,
                collection.identifier(),
                new DocumentResponseHandler());

            logger.debug("Collection attribute successfully set.");

            return describe(collection.identifier(), locale);
        }
        catch (ConnectionException ce) {
            logger.error(ce, ce);
        }

        throw new ServerException(ERROR_UPDATING_COLLECTION_ATTRIBUTE);
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org