Mercurial > dive4elements > gnv-client
diff gnv/src/main/java/de/intevation/gnv/action/FetchArtifactFactoriesAction.java @ 409:df78178e1180
Moved user interface creation to an own action. This makes avoids code duplication and makes it easier to write new action to handle special interactions, because there is no need for parsing the describe document and creating the user interface after this.
gnv/trunk@599 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 22 Jan 2010 11:28:25 +0000 |
parents | 23a4f196d7d6 |
children | 27f25b9ae9af |
line wrap: on
line diff
--- a/gnv/src/main/java/de/intevation/gnv/action/FetchArtifactFactoriesAction.java Fri Jan 22 09:49:34 2010 +0000 +++ b/gnv/src/main/java/de/intevation/gnv/action/FetchArtifactFactoriesAction.java Fri Jan 22 11:28:25 2010 +0000 @@ -3,23 +3,27 @@ */ 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.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; -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.objects.ArtifactObject; - /** * @author Tim Englich <tim.englich@intevation.de> + * @author Ingo Weinzierl (ingo.weinzierl@intevation.de) * */ public class FetchArtifactFactoriesAction extends ArtifactDatabaseActionBase { @@ -45,19 +49,26 @@ HttpServletResponse response) throws Exception { log.debug("ArtifactDatabaseActionBase.execute"); try { - Collection<ArtifactObject> artifactFactories = ArtifactDatabaseClientFactory - .getInstance().getArtifactDatabaseClient(getLocale(request)) + Collection<ArtifactObject> artifactFactories = + ArtifactDatabaseClientFactory.getInstance() + .getArtifactDatabaseClient(getLocale(request)) .getArtifactFactories(); - SessionModel sm = SessionModelFactory.getInstance() - .getSessionModel(request); + + SessionModel sm = SessionModelFactory.getInstance().getSessionModel( + request); + sm.setArtifacteFactories(artifactFactories); + return super.execute(mapping, form, request, response); - } catch (Exception e) { + } + catch (Exception e) { log.error(e, e); request.setAttribute( - CommunicationKeys.REQUEST_EXCEPTION_MESSAGE_ID, e - .getMessage()); + 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 :