Mercurial > dive4elements > gnv-client
diff gnv/src/main/java/de/intevation/gnv/action/SelectArtifactFactoryAction.java @ 34:25fdec8b4c69
Added Global Errorhandling to the GNV-Client
gnv/trunk@170 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Fri, 02 Oct 2009 08:38:57 +0000 |
parents | 07e9c137a2f1 |
children | 4405f31bbc30 |
line wrap: on
line diff
--- a/gnv/src/main/java/de/intevation/gnv/action/SelectArtifactFactoryAction.java Mon Sep 28 10:36:08 2009 +0000 +++ b/gnv/src/main/java/de/intevation/gnv/action/SelectArtifactFactoryAction.java Fri Oct 02 08:38:57 2009 +0000 @@ -43,31 +43,36 @@ String selectedArtifactFactoryID = request.getParameter("artifactFactory"); log.debug("Selected ArtifactFactory ==> "+selectedArtifactFactoryID); - SessionModel sm = SessionModelFactory.getInstance().getSessionModel(request); - Collection<ArtifactObject> artifactFactories = sm.getArtifactFactories(); - // Löscht die Artifactspezifischen Attribute am Sessionmodel - sm.resetModel(); - if (artifactFactories == null || artifactFactories.isEmpty()){ - new FetchArtifactFactoriesAction().execute(mapping, form, request, response); - + try { + SessionModel sm = SessionModelFactory.getInstance().getSessionModel(request); + Collection<ArtifactObject> artifactFactories = sm.getArtifactFactories(); + // Löscht die Artifactspezifischen Attribute am Sessionmodel + sm.resetModel(); + if (artifactFactories == null || artifactFactories.isEmpty()){ + new FetchArtifactFactoriesAction().execute(mapping, form, request, response); + + } + + sm.selectArtifactFactory(selectedArtifactFactoryID); + ArtifactObject af = sm.getSelectedArtifactFactory();; + ArtifactDatabaseClient adc = ArtifactDatabaseClientFactory.getInstance().getArtifactDatabaseClient(); + ArtifactObject artifact = adc.createNewArtifact(af); + sm.setCurrentArtifact(artifact); + + ArtifactDescription artifactdescription = adc.getCurrentStepDescription(af, artifact); + + XSLTransformer transformer = new XSLTransformer(); + String ui = transformer.transform(artifactdescription.getCurrentUI(), "UTF-8", request.getRealPath("WEB-INF/config/templates/describe-ui.xsl")); + + request.setAttribute("ui", ui); + + // return succsess + return super.execute(mapping, form, request, response); + } catch (Exception e) { + log.error(e,e); + request.setAttribute(CommunicationKeys.REQUEST_EXCEPTION_MESSAGE_ID, e.getMessage()); + return super.getExceptionForward(mapping); } - - - sm.selectArtifactFactory(selectedArtifactFactoryID); - ArtifactObject af = sm.getSelectedArtifactFactory();; - ArtifactDatabaseClient adc = ArtifactDatabaseClientFactory.getInstance().getArtifactDatabaseClient(); - ArtifactObject artifact = adc.createNewArtifact(af); - sm.setCurrentArtifact(artifact); - - ArtifactDescription artifactdescription = adc.getCurrentStepDescription(af, artifact); - - XSLTransformer transformer = new XSLTransformer(); - String ui = transformer.transform(artifactdescription.getCurrentUI(), "UTF-8", request.getRealPath("WEB-INF/config/templates/describe-ui.xsl")); - - request.setAttribute("ui", ui); - - // return succsess - return super.execute(mapping, form, request, response); } /**