[Yanel-commits] rev 23490 - in public/yanel/trunk/src/resources/navigation: . src/build src/java/org/wyona/yanel/impl/resources

michi at wyona.com michi at wyona.com
Thu Mar 29 10:37:05 CEST 2007


Author: michi
Date: 2007-03-29 10:37:03 +0200 (Thu, 29 Mar 2007)
New Revision: 23490

Modified:
   public/yanel/trunk/src/resources/navigation/build.xml
   public/yanel/trunk/src/resources/navigation/src/build/dependencies.xml
   public/yanel/trunk/src/resources/navigation/src/java/org/wyona/yanel/impl/resources/NavigationResource.java
Log:
language dependent source implemented

Modified: public/yanel/trunk/src/resources/navigation/build.xml
===================================================================
--- public/yanel/trunk/src/resources/navigation/build.xml	2007-03-29 08:35:14 UTC (rev 23489)
+++ public/yanel/trunk/src/resources/navigation/build.xml	2007-03-29 08:37:03 UTC (rev 23490)
@@ -15,6 +15,7 @@
 
     <path id="classpath">
       <pathelement path="${maven2.cp}"/>
+      <pathelement path="${maven2.resource.cp}"/>
     </path>
     <property name="resource.build.dir" value="${resource.home.dir}/build"/>
     <property name="resource.classes.dir" value="${resource.build.dir}/classes"/>

Modified: public/yanel/trunk/src/resources/navigation/src/build/dependencies.xml
===================================================================
--- public/yanel/trunk/src/resources/navigation/src/build/dependencies.xml	2007-03-29 08:35:14 UTC (rev 23489)
+++ public/yanel/trunk/src/resources/navigation/src/build/dependencies.xml	2007-03-29 08:37:03 UTC (rev 23490)
@@ -15,9 +15,12 @@
     <artifact:dependencies pathId="maven2.resource.classpath" filesetId="maven2.resource.fileset">
       <remoteRepository refid="wyona.remote.repository"/>
       <!-- No resource specific libs yet -->
+      <dependency groupId="avalon-framework" artifactId="avalon-framework-api" version="4.3"/>
+      <dependency groupId="avalon-framework" artifactId="avalon-framework-impl" version="4.3"/>
     </artifact:dependencies>
 
     <property name="maven2.cp" refid="maven2.classpath"/>
+    <property name="maven2.resource.cp" refid="maven2.resource.classpath"/>
     <!--<echo>Maven2 classpath: ${maven2.cp}</echo>-->
   </target>
 

Modified: public/yanel/trunk/src/resources/navigation/src/java/org/wyona/yanel/impl/resources/NavigationResource.java
===================================================================
--- public/yanel/trunk/src/resources/navigation/src/java/org/wyona/yanel/impl/resources/NavigationResource.java	2007-03-29 08:35:14 UTC (rev 23489)
+++ public/yanel/trunk/src/resources/navigation/src/java/org/wyona/yanel/impl/resources/NavigationResource.java	2007-03-29 08:37:03 UTC (rev 23490)
@@ -16,6 +16,7 @@
 
 package org.wyona.yanel.impl.resources;
 
+import org.w3c.dom.Document;
 import org.wyona.yanel.core.Path;
 import org.wyona.yanel.core.Resource;
 import org.wyona.yanel.core.ResourceConfiguration;
@@ -80,6 +81,9 @@
 import org.apache.xml.resolver.tools.CatalogResolver;
 import org.apache.xml.serializer.Serializer;
 
+import org.apache.avalon.framework.configuration.Configuration;
+import org.apache.avalon.framework.configuration.ConfigurationUtil;
+
 /**
  *
  */
@@ -118,10 +122,38 @@
         String mimeType = getMimeType(viewId);
         defaultView.setMimeType(mimeType);
 
-        String siteTreePath = getResourceConfigProperty("sitetree");
-        String currentPath = (String)getParameters().get("path");
+        String siteTreePath = null;
+        String language = null;
+        String currentPath = null;
+        if (getParameters() != null) {
+            currentPath = (String)getParameters().get("path");
+            language = (String)getParameters().get("language");
+        }
         if (currentPath == null) currentPath = getPath();
 
+        if (language == null) {
+            language = getLanguage();
+        }
+
+        ResourceConfiguration rc = getConfiguration();
+        Document customConfigDoc = rc.getCustomConfiguration();
+        if (customConfigDoc != null) {
+            Configuration config = ConfigurationUtil.toConfiguration(customConfigDoc.getDocumentElement());
+            Configuration[] sourceConfigs = config.getChildren("source");
+            for (int i = 0; i < sourceConfigs.length; i++) {
+                if (sourceConfigs[i].getAttribute("lang").equals(language)) {
+                    siteTreePath = sourceConfigs[i].getAttribute("src");
+                } 
+            }
+            if ((siteTreePath == null) && sourceConfigs.length > 0) {
+                siteTreePath = sourceConfigs[0].getAttribute("src");
+            }
+        }
+        
+        if (siteTreePath == null) {
+            siteTreePath = getResourceConfigProperty("sitetree");
+        }
+
         try {
             Repository repo = getRealm().getRepository();
 
@@ -210,8 +242,7 @@
         if(language != null && language.length() > 0) return language;
         return getRealm().getDefaultLanguage();
     }
-
-
+    
     /**
      *
      */




More information about the Yanel-commits mailing list