[Yanel-commits] rev 23628 - public/yanel/trunk/src/core/java/org/wyona/yanel/servlet

michi at wyona.com michi at wyona.com
Mon Apr 9 10:55:38 CEST 2007


Author: michi
Date: 2007-04-09 10:55:37 +0200 (Mon, 09 Apr 2007)
New Revision: 23628

Modified:
   public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java
Log:
add translations

Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java	2007-04-09 08:55:01 UTC (rev 23627)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java	2007-04-09 08:55:37 UTC (rev 23628)
@@ -41,6 +41,7 @@
 import org.wyona.yanel.core.api.attributes.IntrospectableV1;
 import org.wyona.yanel.core.api.attributes.ModifiableV1;
 import org.wyona.yanel.core.api.attributes.ModifiableV2;
+import org.wyona.yanel.core.api.attributes.TranslatableV1;
 import org.wyona.yanel.core.api.attributes.VersionableV2;
 import org.wyona.yanel.core.api.attributes.ViewableV1;
 import org.wyona.yanel.core.api.attributes.ViewableV2;
@@ -471,6 +472,17 @@
                         Element notVersionableElement = (Element) resourceElement.appendChild(doc.createElement("not-versionable"));
                     }
                     
+                    if (ResourceAttributeHelper.hasAttributeImplemented(res, "Translatable", "1")) {
+                        TranslatableV1 translatable = ((TranslatableV1) res);
+                        Element translationsElement = (Element) resourceElement.appendChild(doc.createElement("translations"));
+                        String[] languages = translatable.getLanguages();
+                        for (int i=0; i<languages.length; i++) {
+                            Element translationElement = (Element) translationsElement.appendChild(doc.createElement("translation"));
+                            translationElement.setAttribute("language", languages[i]);
+                            String path = translatable.getTranslation(languages[i]).getPath();
+                            translationElement.setAttribute("path", path);
+                        }
+                    }
                     
                     if (usecase != null && usecase.equals("checkout")) {
                         log.debug("Checkout data ...");
@@ -1606,7 +1618,7 @@
      *
      */
     private void setYanelOutput(HttpServletRequest request, HttpServletResponse response, Document doc) throws ServletException {
-        String path = request.getServletPath();
+        String path = getResource(request, response).getPath();
         String backToRealm = org.wyona.yanel.core.util.PathUtil.backToRealm(path);
         
         try {




More information about the Yanel-commits mailing list