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