diff gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java @ 117:ef157bd2fa92

LanguageSupport integrated gnv-artifacts/trunk@178 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Fri, 02 Oct 2009 14:24:47 +0000
parents 158e89c2263b
children 5ebc059064a6
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java	Fri Oct 02 08:07:00 2009 +0000
+++ b/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java	Fri Oct 02 14:24:47 2009 +0000
@@ -9,6 +9,7 @@
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Iterator;
+import java.util.Locale;
 import java.util.Map;
 
 import org.apache.log4j.Logger;
@@ -23,10 +24,12 @@
 import de.intevation.artifacts.Artifact;
 import de.intevation.artifacts.ArtifactFactory;
 import de.intevation.artifacts.CallContext;
+import de.intevation.artifacts.CallMeta;
 import de.intevation.gnv.artifacts.GNVArtifactBase;
 import de.intevation.gnv.artifacts.context.GNVArtifactContext;
 import de.intevation.gnv.artifacts.fis.product.DefaultProduct;
 import de.intevation.gnv.artifacts.fis.product.Product;
+import de.intevation.gnv.artifacts.ressource.RessourceFactory;
 import de.intevation.gnv.transition.DefaultInputData;
 import de.intevation.gnv.transition.InputData;
 import de.intevation.gnv.utils.ArtifactFactoryUtilities;
@@ -168,13 +171,13 @@
     @Override
     public Document describe(CallContext context) {
         if (this.productArtifact == null){
-            return this.createDescibeOutput();
+            return this.createDescibeOutput(context.getMeta());
         }else{
             Document document = this.productArtifact.describe(context);
             document = new ArtifactXMLUtilities().reInitDocument(document);
             Node staticNode = Config.getNodeXPath(document, "/result/ui/static");
             if (staticNode != null){
-                Node staticUI = this.createSelectBox(document);
+                Node staticUI = this.createSelectBox(document, context.getMeta());
                 staticNode.insertBefore(staticUI, staticNode.getFirstChild());
             }
             return document;
@@ -268,7 +271,7 @@
         return Config.getNodeXPath(document,xpathQuery);
     }
     
-    protected Document createDescibeOutput(){
+    protected Document createDescibeOutput(CallMeta callMeta){
         log.debug("GNVArtifactBase.createDescibeOutput");
         Document document = XMLUtils.newDocument();
         Element rootNode = this.createRootNode(document);
@@ -277,7 +280,7 @@
         this.createCurrentState(rootNode, document);
         this.createReachableStates(rootNode, document);
         this.createModel(rootNode, document);
-        this.createUserInterface(rootNode, document);
+        this.createUserInterface(rootNode, document, callMeta);
         
         return document;
     }
@@ -337,13 +340,13 @@
         parent.appendChild(modelNode);
     }
     
-    protected void createUserInterface(Element parent, Document document){
+    protected void createUserInterface(Element parent, Document document, CallMeta callMeta){
         Element uiNode = xmlUtilities.createArtifactElement(document,"ui");
         ArtifactXMLUtilities xmlUtilities = new ArtifactXMLUtilities();
         Node dynamic = xmlUtilities.createArtifactElement(document, "dynamic"); 
         uiNode.appendChild(dynamic);
         if (this.products != null && !this.products.isEmpty()){
-            Element selectNode = createSelectBox(document);
+            Element selectNode = createSelectBox(document,callMeta);
  
             dynamic.appendChild(selectNode);
         }
@@ -355,7 +358,8 @@
      * @param xmlUtilities
      * @return
      */
-    private Element createSelectBox(Document document) {
+    private Element createSelectBox(Document document, CallMeta callMeta) {
+        Locale locale = callMeta.getPreferredLocale(RessourceFactory.getInstance().getSupportedLocales());
         ArtifactXMLUtilities xmlUtilities = new ArtifactXMLUtilities();
         String selectboxName = "product";
         Iterator<Product> it = this.products.values().iterator();
@@ -364,7 +368,7 @@
         
         
         Element lableNode = xmlUtilities.createXFormElement(document, "label");
-        lableNode.setTextContent(selectboxName);
+        lableNode.setTextContent(RessourceFactory.getInstance().getRessource(locale, selectboxName, selectboxName));
         selectNode.appendChild(lableNode);
         Element choiceNode = xmlUtilities.createXFormElement(document, "choices");
         selectNode.appendChild(choiceNode);
@@ -377,7 +381,7 @@
             }
             
             Element choiceLableNode = xmlUtilities.createXFormElement(document, "label");
-            choiceLableNode.setTextContent(p.getName());
+            choiceLableNode.setTextContent(RessourceFactory.getInstance().getRessource(locale, p.getName(), p.getName()));
             itemNode.appendChild(choiceLableNode);
             
             Element choicValueNode = xmlUtilities.createXFormElement(document, "value");

http://dive4elements.wald.intevation.org