You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2006/07/21 11:18:57 UTC

svn commit: r424241 - in /lenya/trunk/src: java/org/apache/lenya/cms/cocoon/components/modules/input/ webapp/lenya/config/cocoon-xconf/input-modules/

Author: andreas
Date: Fri Jul 21 02:18:56 2006
New Revision: 424241

URL: http://svn.apache.org/viewvc?rev=424241&view=rev
Log:
Merged CustomMetaDataModule and DublinCoreModule to MetaDataModule

Added:
    lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/MetaDataModule.java
      - copied, changed from r424224, lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/CustomMetaDataModule.java
Removed:
    lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/CustomMetaDataModule.java
    lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/DublinCoreModule.java
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/input-modules/custom-metadata.xconf
Modified:
    lenya/trunk/src/webapp/lenya/config/cocoon-xconf/input-modules/dublincore.xconf

Copied: lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/MetaDataModule.java (from r424224, lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/CustomMetaDataModule.java)
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/MetaDataModule.java?p2=lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/MetaDataModule.java&p1=lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/CustomMetaDataModule.java&r1=424224&r2=424241&rev=424241&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/CustomMetaDataModule.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/cocoon/components/modules/input/MetaDataModule.java Fri Jul 21 02:18:56 2006
@@ -19,20 +19,22 @@
 
 package org.apache.lenya.cms.cocoon.components.modules.input;
 
-import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Iterator;
 import java.util.Map;
 
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.avalon.framework.configuration.ConfigurationException;
+import org.apache.lenya.cms.metadata.Element;
 import org.apache.lenya.cms.metadata.MetaData;
 import org.apache.lenya.cms.metadata.MetaDataException;
+import org.apache.lenya.cms.metadata.MetaDataRegistry;
 import org.apache.lenya.cms.publication.Document;
 
 /**
  * Input module to access custom meta data values.
  */
-public class CustomMetaDataModule extends AbstractPageEnvelopeModule {
+public class MetaDataModule extends AbstractPageEnvelopeModule {
 
     /**
      * @see org.apache.cocoon.components.modules.input.InputModule#getAttribute(java.lang.String,
@@ -65,8 +67,21 @@
     public Iterator getAttributeNames(Configuration modeConf, Map objectModel)
             throws ConfigurationException {
 
-        // No pre-defined attributes. Return empty iterator.
-        return new ArrayList().iterator();
+        MetaDataRegistry registry = null;
+        try {
+            registry = (MetaDataRegistry) this.manager.lookup(MetaDataRegistry.ROLE);
+            Element[] elements = registry.getElementSet(this.namespaceUri).getElements();
+            String[] keys = new String[elements.length];
+            for (int i = 0; i < keys.length; i++) {
+                keys[i] = elements[i].getName();
+            }
+            return Arrays.asList(keys).iterator();
+        } catch (Exception e) {
+            throw new ConfigurationException(e.getMessage(), e);
+        }
+        finally {
+            this.manager.release(registry);
+        }
     }
 
     /**
@@ -112,7 +127,7 @@
     
     public void configure(Configuration conf) throws ConfigurationException {
         super.configure(conf);
-        this.namespaceUri = conf.getAttribute("namespace", null);
+        this.namespaceUri = conf.getAttribute("namespace");
     }
     
     

Modified: lenya/trunk/src/webapp/lenya/config/cocoon-xconf/input-modules/dublincore.xconf
URL: http://svn.apache.org/viewvc/lenya/trunk/src/webapp/lenya/config/cocoon-xconf/input-modules/dublincore.xconf?rev=424241&r1=424240&r2=424241&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/config/cocoon-xconf/input-modules/dublincore.xconf (original)
+++ lenya/trunk/src/webapp/lenya/config/cocoon-xconf/input-modules/dublincore.xconf Fri Jul 21 02:18:56 2006
@@ -22,5 +22,6 @@
 
   <xconf xpath="/cocoon/input-modules" unless="/cocoon/input-modules/component-instance[@name = 'dublincore']">
     <component-instance logger="sitemap.modules.input.dublincore" name="dublincore"
-      class="org.apache.lenya.cms.cocoon.components.modules.input.DublinCoreModule"/>
+      class="org.apache.lenya.cms.cocoon.components.modules.input.MetaDataModule"
+      namespace="http://purl.org/dc/elements/1.1/"/>
   </xconf>



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org