Author: andre
Date: 2009-07-07 11:49:21 +0200 (Tue, 07 Jul 2009)
New Revision: 36613

Added:
   openimages/trunk/src/main/config/builders/media/audiofragments.xml
   openimages/trunk/src/main/config/builders/media/videofragments.xml
Modified:
   openimages/trunk/README
   openimages/trunk/src/main/config/builders/media/mediafragments.xml
   openimages/trunk/src/main/java/eu/openimages/NodeTranslation.java
Log:
a property can be specified pointing to the builder that can hold translations

Modified: openimages/trunk/README
===================================================================
--- openimages/trunk/README     2009-07-07 07:41:05 UTC (rev 36612)
+++ openimages/trunk/README     2009-07-07 09:49:21 UTC (rev 36613)
@@ -1,6 +1,6 @@
 Open Images Platform
 
-This is the Open Images Platform Web Application, you can build it with maven2:
+This is the Open Images Platform Web Application, you can build it with 
maven2. Standing in this directory:
 
-  mvn clean install
+$ mvn clean install
 

Added: openimages/trunk/src/main/config/builders/media/audiofragments.xml
===================================================================
--- openimages/trunk/src/main/config/builders/media/audiofragments.xml          
                (rev 0)
+++ openimages/trunk/src/main/config/builders/media/audiofragments.xml  
2009-07-07 09:49:21 UTC (rev 36613)
@@ -0,0 +1,26 @@
+<?xml version="1.0" ?>
+<builder
+    xmlns="http://www.mmbase.org/xmlns/builder";
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+    xsi:schemaLocation="http://www.mmbase.org/xmlns/builder
+                        http://www.mmbase.org/xmlns/builder.xsd";
+    name="audiofragments"  maintainer="mediaproject.mmbase.org" version="0" 
extends="mediafragments">
+  <names>
+    <singular xml:lang="nl">Audiofragment</singular>
+    <singular xml:lang="en">Audio fragment</singular>
+
+    <plural xml:lang="nl">Audiofragmenten</plural>
+    <plural xml:lang="en">Audio fragments</plural>
+  </names>
+
+  <descriptions>
+    <description xml:lang="nl">Een audiofragment beschrijft een stukje 
audio.</description>
+    <description xml:lang="en">An audio fragment describes a piece of 
audio.</description>
+  </descriptions>
+
+  <properties>
+    <property name="org.mmbase.media.containedtype">audiosources</property>
+    <property 
name="translations.builder">mediafragments_translations</property>
+  </properties>
+
+</builder>

Modified: openimages/trunk/src/main/config/builders/media/mediafragments.xml
===================================================================
--- openimages/trunk/src/main/config/builders/media/mediafragments.xml  
2009-07-07 07:41:05 UTC (rev 36612)
+++ openimages/trunk/src/main/config/builders/media/mediafragments.xml  
2009-07-07 09:49:21 UTC (rev 36613)
@@ -12,7 +12,6 @@
   <names>
     <singular xml:lang="nl">Mediafragment</singular>
     <singular xml:lang="en">Media fragment</singular>
-
     <plural xml:lang="nl">Mediafragmenten</plural>
     <plural xml:lang="en">Media fragments</plural>
   </names>

Added: openimages/trunk/src/main/config/builders/media/videofragments.xml
===================================================================
--- openimages/trunk/src/main/config/builders/media/videofragments.xml          
                (rev 0)
+++ openimages/trunk/src/main/config/builders/media/videofragments.xml  
2009-07-07 09:49:21 UTC (rev 36613)
@@ -0,0 +1,25 @@
+<?xml version="1.0" ?>
+<builder
+    xmlns="http://www.mmbase.org/xmlns/builder";
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+    xsi:schemaLocation="http://www.mmbase.org/xmlns/builder
+                        http://www.mmbase.org/xmlns/builder.xsd";
+    name="videofragments" maintainer="mediaproject.mmbase.org" version="0" 
extends="mediafragments">
+  <names>
+    <singular xml:lang="nl">Videofragment</singular>
+    <singular xml:lang="en">Video fragment</singular>
+    <plural xml:lang="nl">Videofragmenten</plural>
+    <plural xml:lang="en">Video fragments</plural>
+  </names>
+
+  <descriptions>
+    <description xml:lang="nl">Een video fragment beschrijft een stukje 
video.</description>
+    <description xml:lang="en">A video fragment describes a piece of 
video.</description>
+  </descriptions>
+
+  <properties>
+    <property name="org.mmbase.media.containedtype">videosources</property>
+    <property 
name="translations.builder">mediafragments_translations</property>
+  </properties>
+
+</builder>

Modified: openimages/trunk/src/main/java/eu/openimages/NodeTranslation.java
===================================================================
--- openimages/trunk/src/main/java/eu/openimages/NodeTranslation.java   
2009-07-07 07:41:05 UTC (rev 36612)
+++ openimages/trunk/src/main/java/eu/openimages/NodeTranslation.java   
2009-07-07 09:49:21 UTC (rev 36613)
@@ -17,6 +17,8 @@
 /**
  * Finds a nodes translated node. For example the translation of a node of 
type 'articles' has a
  * translation in a node of type 'articles_translations' to which it is 
related via a 'langrel'.
+ * The nodemanager to hold the translations can be specified with the property 
'translations.builder',
+ * otherwise a nodemanager will be guessed by appending '_translations'.
  * Only the translatable fields are part of 'articles_translations', fields 
like dates etc. are
  * ommited. The same untranslated node is returned when no translation is 
found. 
  * 
@@ -35,19 +37,22 @@
     @Override
     public Node getFunctionValue(Node node, Parameters parameters) {
         Node translation = null;
+        Cloud cloud = node.getCloud();
         NodeManager nm = node.getNodeManager();
-        Cloud cloud = node.getCloud();
-        String nmName = nm.getName();
-        NodeManager translationNM = cloud.getNodeManager(nmName + 
"_translations");
+        String translations_builder = nm.getProperty("translations.builder");
+        if (translations_builder == null) {
+            translations_builder = nm.getName() + "_translations";
+        }
+        NodeManager translationsNM = 
cloud.getNodeManager(translations_builder);
         
         Locale loc = parameters.get(Parameter.LOCALE);
         Locale oriloc = loc;
         String lang = loc.toString();
-        log.debug("Trying to find translate node in language: " + lang);
+        if (log.isDebugEnabled()) log.debug("Trying to find a translated node 
in language: " + lang);
         
         try {
             while (loc != null && translation == null) {
-                Query query = Queries.createRelatedNodesQuery(node, 
translationNM, "langrel", "destination");
+                Query query = Queries.createRelatedNodesQuery(node, 
translationsNM, "langrel", "destination");
                 Queries.addConstraint(query, Queries.createConstraint(query, 
"language", Queries.getOperator("EQUAL"), loc.toString(), null, true));
                 if (log.isDebugEnabled()) log.debug("query: " + query.toSql());
                 
@@ -56,7 +61,7 @@
                 
                 if (nl.size() > 0) {
                     Node clusterNode = nl.getNode(0); // clusternode
-                    translation = 
cloud.getNode(clusterNode.getIntValue(translationNM.getName() + ".number"));
+                    translation = 
cloud.getNode(clusterNode.getIntValue(translationsNM.getName() + ".number"));
                     
                     if (log.isDebugEnabled()) log.debug("Found: " + 
node.getNumber());
                 } else {

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to