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 2007/11/01 10:05:09 UTC

svn commit: r590939 - in /lenya/trunk/src: java/org/apache/lenya/cms/metadata/dublincore/ modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/ modules-core/workflow/java/src/org/apache/lenya/cms/workflow/usecases/

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 = "";
             }



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


Re: svn commit: r590939 - in /lenya/trunk/src: java/org/apache/lenya/cms/metadata/dublincore/ modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/ modules-core/workflow/java/src/org/apache/lenya/cms/workflow/usecases/

Posted by Andreas Hartmann <an...@apache.org>.
Jörn Nettingsmeier schrieb:
> andreas@apache.org wrote:
>> 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
> 
> does this mean we can get rid of the following action from
> pubs/default/sitemap.xmap:
> 
>         <map:act type="language-exists">
>           <map:transform src="fallback://xslt/addXhtmlTitle.xsl">
>             <map:parameter name="title" value="{dublincore:title}"/>
>           </map:transform>
>         </map:act>
> 
> and directly access the input module?

No, the input module would fail if the document doesn't exist. The
method I added handles only the case where the title element value of an
(existing) document is not set.

-- Andreas


-- 
Andreas Hartmann, CTO
BeCompany GmbH
http://www.becompany.ch


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


Re: svn commit: r590939 - in /lenya/trunk/src: java/org/apache/lenya/cms/metadata/dublincore/ modules-core/sitemanagement/java/src/org/apache/lenya/cms/site/usecases/ modules-core/workflow/java/src/org/apache/lenya/cms/workflow/usecases/

Posted by Jörn Nettingsmeier <ne...@apache.org>.
andreas@apache.org wrote:
> 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

does this mean we can get rid of the following action from 
pubs/default/sitemap.xmap:

         <map:act type="language-exists">
           <map:transform src="fallback://xslt/addXhtmlTitle.xsl">
             <map:parameter name="title" value="{dublincore:title}"/>
           </map:transform>
         </map:act>

and directly access the input module?


-- 
Jörn Nettingsmeier

"One of my most productive days was throwing away 1000 lines of code."
   - Ken Thompson.

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