Mercurial > dive4elements > gnv-client
view gnv/src/main/java/de/intevation/gnv/action/FetchArtifactFactoriesAction.java @ 715:0aeac0fe5db2
Fixed broken error messages that are displayed if the artifact server is down (issue236, issue242).
gnv/trunk@986 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 26 Apr 2010 12:28:35 +0000 |
parents | af22fa5567a6 |
children | 0441e78cd900 |
line wrap: on
line source
package de.intevation.gnv.action; import de.intevation.gnv.action.sessionmodel.SessionModel; import de.intevation.gnv.action.sessionmodel.SessionModelFactory; import de.intevation.gnv.artifactdatabase.client.ArtifactDatabaseClientFactory; import de.intevation.gnv.artifactdatabase.client.exception.ArtifactDatabaseClientException; import de.intevation.gnv.artifactdatabase.objects.ArtifactObject; import java.util.Collection; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * This controller fetches artifact factories from artifact server and stores * them on a <code>SessionModel</code> object. * * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a> * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public class FetchArtifactFactoriesAction extends ArtifactDatabaseActionBase { /** * the logger, used to log exceptions and additonaly information */ private static Logger log = Logger .getLogger(FetchArtifactFactoriesAction.class); public FetchArtifactFactoriesAction() { super(); } @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { log.debug("ArtifactDatabaseActionBase.execute"); try { Collection<ArtifactObject> artifactFactories = ArtifactDatabaseClientFactory.getInstance() .getArtifactDatabaseClient(getLocale(request)) .getArtifactFactories(); SessionModel sm = SessionModelFactory.getInstance().getSessionModel( request); sm.setArtifacteFactories(artifactFactories); return super.execute(mapping, form, request, response); } catch (ArtifactDatabaseClientException e) { log.error(e, e); request.setAttribute( CommunicationKeys.REQUEST_EXCEPTION_MESSAGE_ID, e.getMessage()); return super.getExceptionForward(mapping); } catch (Exception e) { log.error(e, e); request.setAttribute( CommunicationKeys.REQUEST_EXCEPTION_MESSAGE_ID, e.getMessage()); return super.getExceptionForward(mapping); } } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :