diff gnv/src/main/java/de/intevation/gnv/action/NextArtifactStepAction.java @ 18:87002cbd194c

Static UI -integration an some refactoringwork done gnv/trunk@103 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Thu, 17 Sep 2009 14:30:16 +0000
parents d7e5a929fc34
children 1557bea6cb55
line wrap: on
line diff
--- a/gnv/src/main/java/de/intevation/gnv/action/NextArtifactStepAction.java	Wed Sep 16 14:55:54 2009 +0000
+++ b/gnv/src/main/java/de/intevation/gnv/action/NextArtifactStepAction.java	Thu Sep 17 14:30:16 2009 +0000
@@ -14,6 +14,7 @@
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.w3c.dom.Node;
 
 import de.intevation.gnv.action.sessionmodel.SessionModel;
 import de.intevation.gnv.action.sessionmodel.SessionModelFactory;
@@ -22,6 +23,7 @@
 import de.intevation.gnv.artifactdatabase.objects.ArtifactDescription;
 import de.intevation.gnv.artifactdatabase.objects.DefaultInputParameter;
 import de.intevation.gnv.artifactdatabase.objects.InputParameter;
+import de.intevation.gnv.util.XMLUtils;
 import de.intevation.gnv.util.XSLTransformer;
 
 /**
@@ -66,15 +68,18 @@
         if (ad.getReachableStates() != null && !ad.getReachableStates().isEmpty()){
             // TODO: Woher kommt der zu erreichende Status;
             String target = ad.getReachableStates().iterator().next();
-                    
             
             ArtifactDescription artifactDescription = adc.doNextStep(sm.getSelectedArtifactFactory(), sm.getCurrentArtifact(), target, ips);
             
+            Node currentUI = artifactDescription.getCurrentUI();
             XSLTransformer transformer = new XSLTransformer();
-            String ui = transformer.transform(artifactDescription.getCurrentUI(), "UTF-8", request.getRealPath("WEB-INF/config/templates/describe-ui.xsl"));
+            String ui = transformer.transform(new XMLUtils().getNodeXPath(currentUI, "dynamic"), "UTF-8", request.getRealPath("WEB-INF/config/templates/describe-ui.xsl"));
             
             request.setAttribute("ui", ui);
             
+            String staticUI = transformer.transform(new XMLUtils().getNodeXPath(currentUI, "static"), "UTF-8", request.getRealPath("WEB-INF/config/templates/describe-ui-static.xsl"));
+            request.setAttribute("staticui", staticUI);
+            
             request.setAttribute("furthertargets", (ad.getReachableStates() != null && !ad.getReachableStates().isEmpty()));
             
         }else{
@@ -88,10 +93,15 @@
             
             ArtifactDescription artifactDescription = adc.getCurrentStepDescription(sm.getSelectedArtifactFactory(), sm.getCurrentArtifact());
             
+            Node currentUI = artifactDescription.getCurrentUI();
             XSLTransformer transformer = new XSLTransformer();
-            String ui = transformer.transform(artifactDescription.getCurrentUI(), "UTF-8", request.getRealPath("WEB-INF/config/templates/describe-ui.xsl"));
+            String ui = transformer.transform(new XMLUtils().getNodeXPath(currentUI, "dynamic"), "UTF-8", request.getRealPath("WEB-INF/config/templates/describe-ui.xsl"));
+                
+            request.setAttribute("ui", ui);
             
-            request.setAttribute("ui", ui);
+            String staticUI = transformer.transform(new XMLUtils().getNodeXPath(currentUI, "static"), "UTF-8", request.getRealPath("WEB-INF/config/templates/describe-ui-static.xsl"));
+            request.setAttribute("staticui", staticUI);
+            
             request.setAttribute("furthertargets",false);
         }
         

http://dive4elements.wald.intevation.org