Mercurial > dive4elements > gnv-client
comparison 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 |
comparison
equal
deleted
inserted
replaced
33:32ffff3f67aa | 34:25fdec8b4c69 |
---|---|
41 throws Exception { | 41 throws Exception { |
42 log.debug("SelectArtifactFactoryAction.execute"); | 42 log.debug("SelectArtifactFactoryAction.execute"); |
43 String selectedArtifactFactoryID = request.getParameter("artifactFactory"); | 43 String selectedArtifactFactoryID = request.getParameter("artifactFactory"); |
44 log.debug("Selected ArtifactFactory ==> "+selectedArtifactFactoryID); | 44 log.debug("Selected ArtifactFactory ==> "+selectedArtifactFactoryID); |
45 | 45 |
46 SessionModel sm = SessionModelFactory.getInstance().getSessionModel(request); | 46 try { |
47 Collection<ArtifactObject> artifactFactories = sm.getArtifactFactories(); | 47 SessionModel sm = SessionModelFactory.getInstance().getSessionModel(request); |
48 // Löscht die Artifactspezifischen Attribute am Sessionmodel | 48 Collection<ArtifactObject> artifactFactories = sm.getArtifactFactories(); |
49 sm.resetModel(); | 49 // Löscht die Artifactspezifischen Attribute am Sessionmodel |
50 if (artifactFactories == null || artifactFactories.isEmpty()){ | 50 sm.resetModel(); |
51 new FetchArtifactFactoriesAction().execute(mapping, form, request, response); | 51 if (artifactFactories == null || artifactFactories.isEmpty()){ |
52 | 52 new FetchArtifactFactoriesAction().execute(mapping, form, request, response); |
53 | |
54 } | |
55 | |
56 sm.selectArtifactFactory(selectedArtifactFactoryID); | |
57 ArtifactObject af = sm.getSelectedArtifactFactory();; | |
58 ArtifactDatabaseClient adc = ArtifactDatabaseClientFactory.getInstance().getArtifactDatabaseClient(); | |
59 ArtifactObject artifact = adc.createNewArtifact(af); | |
60 sm.setCurrentArtifact(artifact); | |
61 | |
62 ArtifactDescription artifactdescription = adc.getCurrentStepDescription(af, artifact); | |
63 | |
64 XSLTransformer transformer = new XSLTransformer(); | |
65 String ui = transformer.transform(artifactdescription.getCurrentUI(), "UTF-8", request.getRealPath("WEB-INF/config/templates/describe-ui.xsl")); | |
66 | |
67 request.setAttribute("ui", ui); | |
68 | |
69 // return succsess | |
70 return super.execute(mapping, form, request, response); | |
71 } catch (Exception e) { | |
72 log.error(e,e); | |
73 request.setAttribute(CommunicationKeys.REQUEST_EXCEPTION_MESSAGE_ID, e.getMessage()); | |
74 return super.getExceptionForward(mapping); | |
53 } | 75 } |
54 | |
55 | |
56 sm.selectArtifactFactory(selectedArtifactFactoryID); | |
57 ArtifactObject af = sm.getSelectedArtifactFactory();; | |
58 ArtifactDatabaseClient adc = ArtifactDatabaseClientFactory.getInstance().getArtifactDatabaseClient(); | |
59 ArtifactObject artifact = adc.createNewArtifact(af); | |
60 sm.setCurrentArtifact(artifact); | |
61 | |
62 ArtifactDescription artifactdescription = adc.getCurrentStepDescription(af, artifact); | |
63 | |
64 XSLTransformer transformer = new XSLTransformer(); | |
65 String ui = transformer.transform(artifactdescription.getCurrentUI(), "UTF-8", request.getRealPath("WEB-INF/config/templates/describe-ui.xsl")); | |
66 | |
67 request.setAttribute("ui", ui); | |
68 | |
69 // return succsess | |
70 return super.execute(mapping, form, request, response); | |
71 } | 76 } |
72 | 77 |
73 /** | 78 /** |
74 * Constructor | 79 * Constructor |
75 */ | 80 */ |