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