You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by jw...@apache.org on 2005/05/10 16:18:57 UTC
svn commit: r169476 - in /lenya/trunk/src/java/org/apache/lenya/cms:
metadata/MetaDataImpl.java metadata/MetaDataManager.java
publication/DefaultResourcesManager.java site/usecases/Create.java
Author: jwkaltz
Date: Tue May 10 07:18:56 2005
New Revision: 169476
URL: http://svn.apache.org/viewcvs?rev=169476&view=rev
Log:
refactoring of meta-data creation into MetaDataManager
Modified:
lenya/trunk/src/java/org/apache/lenya/cms/metadata/MetaDataImpl.java
lenya/trunk/src/java/org/apache/lenya/cms/metadata/MetaDataManager.java
lenya/trunk/src/java/org/apache/lenya/cms/publication/DefaultResourcesManager.java
lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Create.java
Modified: lenya/trunk/src/java/org/apache/lenya/cms/metadata/MetaDataImpl.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/metadata/MetaDataImpl.java?rev=169476&r1=169475&r2=169476&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/metadata/MetaDataImpl.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/metadata/MetaDataImpl.java Tue May 10 07:18:56 2005
@@ -68,7 +68,9 @@
private static final String META_ROOT = "meta";
/**
- * Creates a new instance of metadata
+ * Creates a new instance of metadata, reading any existing
+ * values from the source URI.
+ *
* @param sourceUri The source URI.
* @param manager The service manager.
* @param _logger A logger
Modified: lenya/trunk/src/java/org/apache/lenya/cms/metadata/MetaDataManager.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/metadata/MetaDataManager.java?rev=169476&r1=169475&r2=169476&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/metadata/MetaDataManager.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/metadata/MetaDataManager.java Tue May 10 07:18:56 2005
@@ -16,6 +16,8 @@
*/
package org.apache.lenya.cms.metadata;
+import java.util.Iterator;
+import java.util.Map;
import org.apache.avalon.framework.container.ContainerUtil;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.logger.Logger;
@@ -80,6 +82,28 @@
customMetaData = new CustomMetaData(this.sourceUri, this.serviceManager, getLogger());
}
return customMetaData;
+ }
+
+ /**
+ * Set values of meta-data managed by this instance.
+ * @throws DocumentException if meta-data could not be written
+ */
+ public void setMetaData(Map dcMetaData, Map lenyaMetaData, Map customMetaData) throws DocumentException {
+ if (dcMetaData != null)
+ setMetaData(getDublinCoreMetaData(), dcMetaData);
+ if (lenyaMetaData != null)
+ setMetaData(getLenyaMetaData(), lenyaMetaData);
+ if (customMetaData != null)
+ setMetaData(getCustomMetaData(), customMetaData);
+ }
+
+ private void setMetaData(MetaData _metaData, Map _metaDataMap) throws DocumentException {
+ Iterator iter = _metaDataMap.entrySet().iterator();
+ while (iter.hasNext()) {
+ Map.Entry entry = (Map.Entry) iter.next();
+ _metaData.setValue((String) entry.getKey(), (String) entry.getValue());
+ }
+ _metaData.save();
}
/**
Modified: lenya/trunk/src/java/org/apache/lenya/cms/publication/DefaultResourcesManager.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/publication/DefaultResourcesManager.java?rev=169476&r1=169475&r2=169476&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/publication/DefaultResourcesManager.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/publication/DefaultResourcesManager.java Tue May 10 07:18:56 2005
@@ -23,6 +23,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.Locale;
import java.util.Map;
@@ -130,19 +131,16 @@
String mimeType = part.getMimeType();
int fileSize = part.getSize();
- metadata.put("format", mimeType);
- metadata.put("extent", Integer.toString(fileSize));
-
- /* if (type.equals("resource")) { */
-
- // create the meta description for the resource.
- createMetaData(resource, metadata);
/*
- * } // must be a content upload then else { resourceFile = new
- * File(document.getFile().getParent(), fileName); getLogger().debug("resourceFile: " +
- * resourceFile); }
+ * complement and create the meta description for the resource.
*/
+ metadata.put("format", mimeType);
+ metadata.put("extent", Integer.toString(fileSize));
+ Map lenyaMetaData = new HashMap(1);
+ lenyaMetaData.put(LenyaMetaData.ELEMENT_CONTENT_TYPE, "asset");
+ resource.getMetaDataManager().setMetaData(metadata, lenyaMetaData, null);
+
saveResource(resource, part);
} catch (final DocumentException e) {
getLogger().error("Document exception " + e.toString());
@@ -209,34 +207,6 @@
}
}
- /**
- * Create the meta data file given the dublin core parameters.
- * @param resource the resource
- * @param metadata a <code>Map</code> containing the dublin core values
- * @throws DocumentException if an error occurs
- */
- protected void createMetaData(Resource resource, Map metadata) throws DocumentException {
-
- if (getLogger().isDebugEnabled())
- getLogger().debug("DefaultResourcesManager::createMetaData() called");
-
- // Write Dublin Core meta-data
- MetaData meta = resource.getMetaDataManager().getDublinCoreMetaData();
- Iterator iter = metadata.entrySet().iterator();
- while (iter.hasNext()) {
- Map.Entry entry = (Map.Entry) iter.next();
- meta.setValue((String) entry.getKey(), (String) entry.getValue());
- }
- meta.save();
-
- // Now write Lenya internal metadata
- MetaData lenyaMetaData = resource.getMetaDataManager().getLenyaMetaData();
- lenyaMetaData.setValue(LenyaMetaData.ELEMENT_CONTENT_TYPE, "asset");
- lenyaMetaData.save();
-
- if (getLogger().isDebugEnabled())
- getLogger().debug("DefaultResourcesManager::createMetaData() done.");
- }
/**
* @see org.apache.lenya.cms.publication.ResourcesManager#getResources(org.apache.lenya.cms.publication.Document)
Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Create.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Create.java?rev=169476&r1=169475&r2=169476&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Create.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Create.java Tue May 10 07:18:56 2005
@@ -18,6 +18,7 @@
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
+import java.util.HashMap;
import java.util.Map;
import org.apache.avalon.framework.service.ServiceSelector;
@@ -158,26 +159,28 @@
* @throws DocumentException if an error occurs.
*/
protected void setMetaData(Document document) throws DocumentException {
- MetaData metaData = document.getMetaDataManager().getDublinCoreMetaData();
- metaData.setValue(DublinCore.ELEMENT_TITLE,
+
+ Map dcMetaData = new HashMap();
+ dcMetaData.put(DublinCore.ELEMENT_TITLE,
getParameterAsString(DublinCore.ELEMENT_TITLE));
- metaData.setValue(DublinCore.ELEMENT_CREATOR,
+ dcMetaData.put(DublinCore.ELEMENT_CREATOR,
getParameterAsString(DublinCore.ELEMENT_CREATOR));
- metaData.setValue(DublinCore.ELEMENT_PUBLISHER,
+ dcMetaData.put(DublinCore.ELEMENT_PUBLISHER,
getParameterAsString(DublinCore.ELEMENT_PUBLISHER));
- metaData.setValue(DublinCore.ELEMENT_SUBJECT,
+ dcMetaData.put(DublinCore.ELEMENT_SUBJECT,
getParameterAsString(DublinCore.ELEMENT_SUBJECT));
- metaData.setValue(DublinCore.ELEMENT_DATE, getParameterAsString(DublinCore.ELEMENT_DATE));
- metaData.setValue(DublinCore.ELEMENT_RIGHTS,
+ dcMetaData.put(DublinCore.ELEMENT_DATE,
+ getParameterAsString(DublinCore.ELEMENT_DATE));
+ dcMetaData.put(DublinCore.ELEMENT_RIGHTS,
getParameterAsString(DublinCore.ELEMENT_RIGHTS));
- metaData.setValue(DublinCore.ELEMENT_LANGUAGE, getParameterAsString(LANGUAGE));
- metaData.save();
+ dcMetaData.put(DublinCore.ELEMENT_LANGUAGE,
+ getParameterAsString(LANGUAGE));
+
+ Map lenyaMetaData = new HashMap(2);
+ lenyaMetaData.put(LenyaMetaData.ELEMENT_RESOURCE_TYPE, getDocumentTypeName());
+ lenyaMetaData.put(LenyaMetaData.ELEMENT_CONTENT_TYPE, "xml");
- // Now write Lenya internal metadata
- MetaData lenyaMetaData = document.getMetaDataManager().getLenyaMetaData();
- lenyaMetaData.setValue(LenyaMetaData.ELEMENT_RESOURCE_TYPE, getDocumentTypeName());
- lenyaMetaData.setValue(LenyaMetaData.ELEMENT_CONTENT_TYPE, "xml");
- lenyaMetaData.save();
+ document.getMetaDataManager().setMetaData(dcMetaData, lenyaMetaData, null);
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org