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/04/30 12:46:47 UTC

svn commit: r533689 - in /lenya/trunk/src/modules-core/workflow: java/src/org/apache/lenya/cms/workflow/usecases/Publish.java resources/i18n/cmsui.xml resources/i18n/cmsui_de.xml usecases/publish.jx

Author: andreas
Date: Mon Apr 30 03:46:46 2007
New Revision: 533689

URL: http://svn.apache.org/viewvc?view=rev&rev=533689
Log:
Use plain error messages for unpublished ancestor docs. This makes the error messages compatible with the multiWorkflow (workflow overview) usecase. See bug 42292.

Modified:
    lenya/trunk/src/modules-core/workflow/java/src/org/apache/lenya/cms/workflow/usecases/Publish.java
    lenya/trunk/src/modules-core/workflow/resources/i18n/cmsui.xml
    lenya/trunk/src/modules-core/workflow/resources/i18n/cmsui_de.xml
    lenya/trunk/src/modules-core/workflow/usecases/publish.jx

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?view=diff&rev=533689&r1=533688&r2=533689
==============================================================================
--- 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 Mon Apr 30 03:46:46 2007
@@ -24,6 +24,7 @@
 import java.util.Date;
 import java.util.GregorianCalendar;
 import java.util.HashSet;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
 
@@ -37,6 +38,7 @@
 import org.apache.lenya.cms.linking.LinkManager;
 import org.apache.lenya.cms.linking.LinkResolver;
 import org.apache.lenya.cms.linking.LinkTarget;
+import org.apache.lenya.cms.metadata.dublincore.DublinCoreHelper;
 import org.apache.lenya.cms.observation.RepositoryEvent;
 import org.apache.lenya.cms.observation.RepositoryEventFactory;
 import org.apache.lenya.cms.publication.Document;
@@ -71,7 +73,6 @@
 
     protected static final String MESSAGE_SUBJECT = "notification-message";
     protected static final String MESSAGE_DOCUMENT_PUBLISHED = "document-published";
-    protected static final String MISSING_DOCUMENTS = "missingDocuments";
     protected static final String SCHEDULE = "schedule";
     protected static final String SCHEDULE_TIME = "schedule.time";
     protected static final String SEND_NOTIFICATION = "sendNotification";
@@ -136,7 +137,7 @@
             Document doc = getSourceDocument();
             nodes.add(doc.getRepositoryNode());
             nodes.add(doc.area().getSite().getRepositoryNode());
-            
+
             return (org.apache.lenya.cms.repository.Node[]) nodes
                     .toArray(new org.apache.lenya.cms.repository.Node[nodes.size()]);
 
@@ -203,8 +204,19 @@
             }
 
             if (!missingDocuments.isEmpty()) {
-                addErrorMessage("Cannot publish document unless the following documents are published:");
-                setParameter(MISSING_DOCUMENTS, missingDocuments);
+                addErrorMessage("publish-missing-documents");
+                for (Iterator i = missingDocuments.iterator(); i.hasNext();) {
+                    Document doc = (Document) i.next();
+                    /*
+                     * This doesn't work yet, see
+                     * https://issues.apache.org/jira/browse/COCOON-2057
+                     * String[] params = { doc.getCanonicalWebappURL(),
+                     * doc.getPath() + " (" + doc.getLanguage() + ")" };
+                     */
+                    String[] params = { doc.getPath() + ":" + doc.getLanguage(),
+                            DublinCoreHelper.getTitle(doc) };
+                    addErrorMessage("missing-document", params);
+                }
             }
         }
     }
@@ -294,20 +306,21 @@
         Workflowable workflowable = WorkflowUtil.getWorkflowable(this.manager, getSession(),
                 getLogger(), authoringDocument);
         Version versions[] = workflowable.getVersions();
-        Version version = versions[versions.length-2];
+        Version version = versions[versions.length - 2];
 
-        // we assume that the document has been submitted, otherwise we do nothing
+        // we assume that the document has been submitted, otherwise we do
+        // nothing
         if (version.getEvent().equals("submit")) {
-            
+
             String userId = version.getUserId();
-            User user = PolicyUtil.getUser(this.manager, authoringDocument
-                    .getCanonicalWebappURL(), userId, getLogger());
-            
+            User user = PolicyUtil.getUser(this.manager, authoringDocument.getCanonicalWebappURL(),
+                    userId, getLogger());
+
             Identifiable[] recipients = { user };
-    
+
             Document liveVersion = authoringDocument.getAreaVersion(Publication.LIVE_AREA);
             String url;
-    
+
             Proxy proxy = liveVersion.getPublication().getProxy(liveVersion, false);
             if (proxy != null) {
                 url = proxy.getURL(liveVersion);
@@ -319,12 +332,12 @@
                 url = serverUrl + request.getContextPath() + webappUrl;
             }
             String[] params = { url };
-            Message message = new Message(MESSAGE_SUBJECT, new String[0], MESSAGE_DOCUMENT_PUBLISHED,
-                    params, sender, recipients);
-            
+            Message message = new Message(MESSAGE_SUBJECT, new String[0],
+                    MESSAGE_DOCUMENT_PUBLISHED, params, sender, recipients);
+
             NotificationEventDescriptor descriptor = new NotificationEventDescriptor(message);
-            RepositoryEvent event = RepositoryEventFactory
-                    .createEvent(this.manager, getSession(), getLogger(), descriptor);
+            RepositoryEvent event = RepositoryEventFactory.createEvent(this.manager, getSession(),
+                    getLogger(), descriptor);
             getSession().enqueueEvent(event);
         }
     }

Modified: lenya/trunk/src/modules-core/workflow/resources/i18n/cmsui.xml
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/workflow/resources/i18n/cmsui.xml?view=diff&rev=533689&r1=533688&r2=533689
==============================================================================
--- lenya/trunk/src/modules-core/workflow/resources/i18n/cmsui.xml (original)
+++ lenya/trunk/src/modules-core/workflow/resources/i18n/cmsui.xml Mon Apr 30 03:46:46 2007
@@ -30,5 +30,14 @@
   <message key="Actions">Actions</message>
   <message key="state-as-text">State as text</message>
   <message key="state-as-columns">State as columns</message>
+  <message key="publish-missing-documents">
+    The document can't be published unless the following documents are published:
+  </message>
+  <message key="missing-document">
+    <!-- This doesn't work yet, see https://issues.apache.org/jira/browse/COCOON-2057
+    <xhtml:a href="{0}">{1}</xhtml:a>
+    -->
+    {0} ("{1}")
+  </message>
   
 </catalogue>

Modified: lenya/trunk/src/modules-core/workflow/resources/i18n/cmsui_de.xml
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/workflow/resources/i18n/cmsui_de.xml?view=diff&rev=533689&r1=533688&r2=533689
==============================================================================
--- lenya/trunk/src/modules-core/workflow/resources/i18n/cmsui_de.xml (original)
+++ lenya/trunk/src/modules-core/workflow/resources/i18n/cmsui_de.xml Mon Apr 30 03:46:46 2007
@@ -30,6 +30,15 @@
   <message key="Actions">Aktionen</message>
   <message key="state-as-text">Zustand als Text</message>
   <message key="state-as-columns">Zustand als Spalten</message>
+  <message key="publish-missing-documents">
+    Das Dokument kann nicht publiziert werden, solange die folgenden Dokumente nicht publiziert sind:
+  </message>
+  <message key="missing-document">
+    <!-- This doesn't work yet, see https://issues.apache.org/jira/browse/COCOON-2057
+      <xhtml:a href="{0}">{1}</xhtml:a>
+    -->
+    {0} ("{1}")
+  </message>
   
 </catalogue>
 

Modified: lenya/trunk/src/modules-core/workflow/usecases/publish.jx
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/workflow/usecases/publish.jx?view=diff&rev=533689&r1=533688&r2=533689
==============================================================================
--- lenya/trunk/src/modules-core/workflow/usecases/publish.jx (original)
+++ lenya/trunk/src/modules-core/workflow/usecases/publish.jx Mon Apr 30 03:46:46 2007
@@ -63,11 +63,6 @@
                       </i18n:translate>
                     </li>
                   </jx:forEach>
-                  <jx:forEach var="missingDocument" items="${usecase.getParameter('missingDocuments')}">
-                    <li>
-                      <a href="${request.getContextPath() + missingDocument.getCanonicalWebappURL()}"><jx:out value="${missingDocument.getId()}"/> [<jx:out value="${missingDocument.getLanguage()}"/>]</a>
-                    </li>
-                  </jx:forEach>
                   <jx:forEach var="message" items="${usecase.getInfoMessages()}">
                     <li>
                       <i18n:translate>



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