Mercurial > dive4elements > river
view flys-client/src/main/java/de/intevation/flys/client/server/DoCollectionAction.java @ 4421:0b0f415203f0
Add new Filter class to change caching
Add new Filter class to avoid caching of GWT nocache files in browsers and http
proxies. The new Filter class NoCacheFilter sets http headers to stop the
proxies and browesers from storing the nocache files.
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Tue, 06 Nov 2012 13:32:06 +0100 |
parents | ab8eb2f544f2 |
children |
line wrap: on
line source
package de.intevation.flys.client.server; import org.w3c.dom.Document; import org.apache.log4j.Logger; import com.google.gwt.user.server.rpc.RemoteServiceServlet; import de.intevation.artifacts.common.ArtifactNamespaceContext; import de.intevation.artifacts.common.utils.XMLUtils; 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; /** * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public class DoCollectionAction extends RemoteServiceServlet { private static final Logger logger = Logger.getLogger(DoCollectionAction.class); public static final String XPATH_RESULT = "/art:result/text()"; public static final String OPERATION_FAILURE = "FAILED"; public static final String FAILURE_EXCEPTION = "collection_action_failed"; protected void doAction(Collection c, Document action, String url) throws ServerException { logger.info("DoCollectionAction.doAction"); HttpClient client = new HttpClientImpl(url); try { Document res = (Document) client.doCollectionAction( action, c.identifier(), new DocumentResponseHandler()); String result = XMLUtils.xpathString( res, XPATH_RESULT, ArtifactNamespaceContext.INSTANCE); if (result == null || result.equals(OPERATION_FAILURE)) { logger.error("Operation failed."); throw new ServerException(FAILURE_EXCEPTION); } } catch (ConnectionException ce) { logger.error(ce, ce); throw new ServerException(FAILURE_EXCEPTION); } } }