ingo@1022: /* ingo@1022: * Copyright (c) 2010 by Intevation GmbH ingo@1022: * ingo@1022: * This program is free software under the LGPL (>=v2.1) ingo@1022: * Read the file LGPL.txt coming with the software for details ingo@1022: * or visit http://www.gnu.org/licenses/ if it does not exist. ingo@1022: */ ingo@1022: tim@8: package de.intevation.gnv.action; tim@8: tim@8: import java.util.Collection; tim@8: tim@8: import javax.servlet.http.HttpServletRequest; tim@8: import javax.servlet.http.HttpServletResponse; tim@8: tim@8: import org.apache.log4j.Logger; tim@8: import org.apache.struts.action.ActionForm; tim@8: import org.apache.struts.action.ActionForward; tim@8: import org.apache.struts.action.ActionMapping; tim@8: tim@963: import de.intevation.gnv.action.sessionmodel.SessionModel; tim@963: import de.intevation.gnv.action.sessionmodel.SessionModelFactory; tim@963: import de.intevation.gnv.artifactdatabase.client.ArtifactDatabaseClientFactory; tim@963: import de.intevation.gnv.artifactdatabase.client.exception.ArtifactDatabaseClientException; tim@963: import de.intevation.gnv.artifactdatabase.objects.ArtifactObject; tim@963: tim@8: /** ingo@690: * This controller fetches artifact factories from artifact server and stores ingo@690: * them on a SessionModel object. sascha@699: * sascha@684: * @author Tim Englich sascha@684: * @author Ingo Weinzierl tim@8: */ tim@36: public class FetchArtifactFactoriesAction extends ArtifactDatabaseActionBase { tim@963: tim@8: /** tim@8: * the logger, used to log exceptions and additonaly information tim@8: */ tim@36: private static Logger log = Logger tim@36: .getLogger(FetchArtifactFactoriesAction.class); tim@8: tim@963: /** tim@963: * Constructor tim@963: */ tim@8: public FetchArtifactFactoriesAction() { tim@8: super(); tim@8: } tim@8: ingo@690: tim@8: @Override tim@8: public ActionForward execute(ActionMapping mapping, ActionForm form, tim@38: HttpServletRequest request, tim@38: HttpServletResponse response) throws Exception { tim@8: log.debug("ArtifactDatabaseActionBase.execute"); tim@34: try { ingo@409: Collection artifactFactories = ingo@409: ArtifactDatabaseClientFactory.getInstance() ingo@409: .getArtifactDatabaseClient(getLocale(request)) tim@36: .getArtifactFactories(); ingo@409: ingo@409: SessionModel sm = SessionModelFactory.getInstance().getSessionModel( ingo@409: request); ingo@409: tim@34: sm.setArtifacteFactories(artifactFactories); ingo@409: tim@34: return super.execute(mapping, form, request, response); ingo@409: } ingo@665: catch (ArtifactDatabaseClientException e) { ingo@665: log.error(e, e); ingo@665: request.setAttribute( ingo@715: CommunicationKeys.REQUEST_EXCEPTION_MESSAGE_ID, ingo@665: e.getMessage()); ingo@665: ingo@665: return super.getExceptionForward(mapping); ingo@665: } ingo@409: catch (Exception e) { tim@36: log.error(e, e); tim@36: request.setAttribute( ingo@409: CommunicationKeys.REQUEST_EXCEPTION_MESSAGE_ID, ingo@409: e.getMessage()); ingo@409: tim@34: return super.getExceptionForward(mapping); tim@34: } tim@8: } tim@8: } ingo@409: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :