Mercurial > dive4elements > gnv-client
comparison gnv/src/main/java/de/intevation/gnv/action/SelectArtifactFactoryAction.java @ 19:1557bea6cb55
Do some Imporvements for Userfriendly exceptionhandling.
Added multisupport for Products
gnv/trunk@108 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Mon, 21 Sep 2009 15:28:02 +0000 |
parents | 3cb753564552 |
children | 07e9c137a2f1 |
comparison
equal
deleted
inserted
replaced
18:87002cbd194c | 19:1557bea6cb55 |
---|---|
1 /** | 1 /** |
2 * | 2 * |
3 */ | 3 */ |
4 package de.intevation.gnv.action; | 4 package de.intevation.gnv.action; |
5 | |
6 import java.util.Collection; | |
5 | 7 |
6 import javax.servlet.http.HttpServletRequest; | 8 import javax.servlet.http.HttpServletRequest; |
7 import javax.servlet.http.HttpServletResponse; | 9 import javax.servlet.http.HttpServletResponse; |
8 | 10 |
9 import org.apache.log4j.Logger; | 11 import org.apache.log4j.Logger; |
14 import de.intevation.gnv.action.sessionmodel.SessionModel; | 16 import de.intevation.gnv.action.sessionmodel.SessionModel; |
15 import de.intevation.gnv.action.sessionmodel.SessionModelFactory; | 17 import de.intevation.gnv.action.sessionmodel.SessionModelFactory; |
16 import de.intevation.gnv.artifactdatabase.client.ArtifactDatabaseClient; | 18 import de.intevation.gnv.artifactdatabase.client.ArtifactDatabaseClient; |
17 import de.intevation.gnv.artifactdatabase.client.ArtifactDatabaseClientFactory; | 19 import de.intevation.gnv.artifactdatabase.client.ArtifactDatabaseClientFactory; |
18 import de.intevation.gnv.artifactdatabase.objects.ArtifactDescription; | 20 import de.intevation.gnv.artifactdatabase.objects.ArtifactDescription; |
21 import de.intevation.gnv.artifactdatabase.objects.ArtifactFactory; | |
19 import de.intevation.gnv.artifactdatabase.objects.ArtifactObject; | 22 import de.intevation.gnv.artifactdatabase.objects.ArtifactObject; |
20 import de.intevation.gnv.util.XSLTransformer; | 23 import de.intevation.gnv.util.XSLTransformer; |
21 | 24 |
22 /** | 25 /** |
23 * @author Tim Englich <tim.englich@intevation.de> | 26 * @author Tim Englich <tim.englich@intevation.de> |
39 log.debug("SelectArtifactFactoryAction.execute"); | 42 log.debug("SelectArtifactFactoryAction.execute"); |
40 String selectedArtifactFactoryID = request.getParameter("artifactFactory"); | 43 String selectedArtifactFactoryID = request.getParameter("artifactFactory"); |
41 log.debug("Selected ArtifactFactory ==> "+selectedArtifactFactoryID); | 44 log.debug("Selected ArtifactFactory ==> "+selectedArtifactFactoryID); |
42 | 45 |
43 SessionModel sm = SessionModelFactory.getInstance().getSessionModel(request); | 46 SessionModel sm = SessionModelFactory.getInstance().getSessionModel(request); |
47 Collection<ArtifactObject> artifactFactories = sm.getArtifactFactories(); | |
48 if (artifactFactories == null || artifactFactories.isEmpty()){ | |
49 new FetchArtifactFactoriesAction().execute(mapping, form, request, response); | |
50 | |
51 } | |
52 | |
53 | |
44 sm.selectArtifactFactory(selectedArtifactFactoryID); | 54 sm.selectArtifactFactory(selectedArtifactFactoryID); |
45 | 55 ArtifactObject af = sm.getSelectedArtifactFactory();; |
46 ArtifactDatabaseClient adc = ArtifactDatabaseClientFactory.getInstance().getArtifactDatabaseClient(); | 56 ArtifactDatabaseClient adc = ArtifactDatabaseClientFactory.getInstance().getArtifactDatabaseClient(); |
47 ArtifactObject artifact = adc.createNewArtifact(sm.getSelectedArtifactFactory()); | 57 ArtifactObject artifact = adc.createNewArtifact(af); |
48 sm.setCurrentArtifact(artifact); | 58 sm.setCurrentArtifact(artifact); |
49 | 59 |
50 ArtifactDescription artifactdescription = adc.getCurrentStepDescription(sm.getSelectedArtifactFactory(), artifact); | 60 ArtifactDescription artifactdescription = adc.getCurrentStepDescription(af, artifact); |
51 | 61 |
52 XSLTransformer transformer = new XSLTransformer(); | 62 XSLTransformer transformer = new XSLTransformer(); |
53 String ui = transformer.transform(artifactdescription.getCurrentUI(), "UTF-8", request.getRealPath("WEB-INF/config/templates/describe-ui.xsl")); | 63 String ui = transformer.transform(artifactdescription.getCurrentUI(), "UTF-8", request.getRealPath("WEB-INF/config/templates/describe-ui.xsl")); |
54 | 64 |
55 request.setAttribute("ui", ui); | 65 request.setAttribute("ui", ui); |