Author: andreas
Date: Thu Nov 1 02:05:09 2007
New Revision: 590939
URL: http://svn.apache.org/viewvc?rev=590939&view=rev
Log:
Add DublinCore.getTitle() with fallback to UUID if the title is null, avoids NPEs in usecase message generation
Modified:
lenya/trunk/src/java/org/apache/lenya/cms/metadata/dublincore/DublinCoreHelper.java
lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/ForceCheckIn.java
lenya/trunk/src/modules-core/workflow/java/src/org/apache/lenya/cms/workflow/usecases/Publish.java
lenya/trunk/src/modules-core/workflow/java/src/org/apache/lenya/cms/workflow/usecases/UsecaseWorkflowHelper.java
Modified: lenya/trunk/src/java/org/apache/lenya/cms/metadata/dublincore/DublinCoreHelper.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/metadata/dublincore/DublinCoreHelper.java?rev=590939&r1=590938&r2=590939&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/metadata/dublincore/DublinCoreHelper.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/metadata/dublincore/DublinCoreHelper.java Thu Nov 1 02:05:09 2007
@@ -20,6 +20,7 @@
import org.apache.lenya.cms.metadata.MetaData;
import org.apache.lenya.cms.metadata.MetaDataException;
import org.apache.lenya.cms.metadata.MetaDataOwner;
+import org.apache.lenya.cms.publication.Document;
/**
* Helper class to access dublin core meta data.
@@ -28,11 +29,22 @@
/**
* @param owner The owner.
- * @return The dublin core title.
+ * @return The dublin core title or <code>null</code> if the title is not set.
* @throws MetaDataException if the owner has no dublin core meta data.
*/
public static String getTitle(MetaDataOwner owner) throws MetaDataException {
return getDublinCore(owner).getFirstValue(DublinCore.ELEMENT_TITLE);
+ }
+
+ /**
+ * @param doc The document.
+ * @param fallbackToUuid If the dublin core title is <code>null</code>, the document's UUID is returned.
+ * @return The dublin core title.
+ * @throws MetaDataException if the document has no dublin core meta data.
+ */
+ public static String getTitle(Document doc, boolean fallbackToUuid) throws MetaDataException {
+ String title = DublinCoreHelper.getTitle(doc);
+ return title == null ? doc.getUUID() : title;
}
protected static MetaData getDublinCore(MetaDataOwner owner) throws MetaDataException {
Modified: lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/ForceCheckIn.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/ForceCheckIn.java?rev=590939&r1=590938&r2=590939&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/ForceCheckIn.java (original)
+++ lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/ForceCheckIn.java Thu Nov 1 02:05:09 2007
@@ -50,7 +50,7 @@
Node node = doc.getRepositoryNode();
if (!node.isCheckedOut()) {
- String[] params = { DublinCoreHelper.getTitle(doc) };
+ String[] params = { DublinCoreHelper.getTitle(doc, true) };
addErrorMessage("not-checked-out", params);
}
}
Modified: lenya/trunk/src/modules-core/workflow/java/src/org/apache/lenya/cms/workflow/usecases/Publish.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/workflow/java/src/org/apache/lenya/cms/workflow/usecases/Publish.java?rev=590939&r1=590938&r2=590939&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/workflow/java/src/org/apache/lenya/cms/workflow/usecases/Publish.java (original)
+++ lenya/trunk/src/modules-core/workflow/java/src/org/apache/lenya/cms/workflow/usecases/Publish.java Thu Nov 1 02:05:09 2007
@@ -221,7 +221,7 @@
* doc.getPath() + " (" + doc.getLanguage() + ")" };
*/
String[] params = { doc.getPath() + ":" + doc.getLanguage(),
- DublinCoreHelper.getTitle(doc) };
+ DublinCoreHelper.getTitle(doc, true) };
addErrorMessage("missing-document", params);
}
}
Modified: lenya/trunk/src/modules-core/workflow/java/src/org/apache/lenya/cms/workflow/usecases/UsecaseWorkflowHelper.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/workflow/java/src/org/apache/lenya/cms/workflow/usecases/UsecaseWorkflowHelper.java?rev=590939&r1=590938&r2=590939&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/workflow/java/src/org/apache/lenya/cms/workflow/usecases/UsecaseWorkflowHelper.java (original)
+++ lenya/trunk/src/modules-core/workflow/java/src/org/apache/lenya/cms/workflow/usecases/UsecaseWorkflowHelper.java Thu Nov 1 02:05:09 2007
@@ -46,7 +46,7 @@
*/
protected static final void addWorkflowError(AbstractUsecase usecase, String event, Document doc) {
try {
- String title = DublinCoreHelper.getTitle(doc);
+ String title = DublinCoreHelper.getTitle(doc, true);
if (title == null) {
title = "";
}
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.