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/10/26 12:37:24 UTC
svn commit: r467952 -
/lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/metadata/usecases/Metadata.java
Author: andreas
Date: Thu Oct 26 03:37:22 2006
New Revision: 467952
URL: http://svn.apache.org/viewvc?view=rev&rev=467952
Log:
Invoke workflow event when changing meta data. This fixes bug 40568.
Modified:
lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/metadata/usecases/Metadata.java
Modified: lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/metadata/usecases/Metadata.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/metadata/usecases/Metadata.java?view=diff&rev=467952&r1=467951&r2=467952
==============================================================================
--- lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/metadata/usecases/Metadata.java (original)
+++ lenya/trunk/src/modules-core/sitemanagement/java/src/org/apache/lenya/cms/metadata/usecases/Metadata.java Thu Oct 26 03:37:22 2006
@@ -25,9 +25,13 @@
import org.apache.lenya.cms.metadata.MetaData;
import org.apache.lenya.cms.metadata.MetaDataRegistry;
+import org.apache.lenya.cms.metadata.dublincore.DublinCoreHelper;
+import org.apache.lenya.cms.publication.Document;
+import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.repository.Node;
import org.apache.lenya.cms.site.usecases.SiteUsecase;
import org.apache.lenya.cms.usecase.UsecaseException;
+import org.apache.lenya.cms.workflow.WorkflowUtil;
/**
* Usecase to edit metadata for a resource.
@@ -105,20 +109,16 @@
}
- /**
- * Validates the request parameters.
- *
- * @throws UsecaseException if an error occurs.
- */
- void validate() throws UsecaseException {
- // do nothing
- }
-
- /**
- * @see org.apache.lenya.cms.usecase.AbstractUsecase#doCheckExecutionConditions()
- */
- protected void doCheckExecutionConditions() throws Exception {
- validate();
+ protected void doCheckPreconditions() throws Exception {
+ super.doCheckPreconditions();
+ Document doc = getSourceDocument();
+ if (!getSourceDocument().getArea().equals(Publication.AUTHORING_AREA)) {
+ addErrorMessage("This usecase can only be invoked in the authoring area!");
+ }
+ if (!WorkflowUtil.canInvoke(this.manager, getSession(), getLogger(), doc, getEvent())) {
+ String title = DublinCoreHelper.getTitle(doc);
+ addErrorMessage("error-workflow-document", new String[] { getEvent(), title });
+ }
}
/**
@@ -137,11 +137,11 @@
namespace2num.put(num2namespace.get(key), key);
}
-
- String[] namespaces = getSourceDocument().getMetaDataNamespaceUris();
+ Document document = getSourceDocument();
+ String[] namespaces = document.getMetaDataNamespaceUris();
for (int nsIndex = 0; nsIndex < namespaces.length; nsIndex++) {
- MetaData meta = getSourceDocument().getMetaData(namespaces[nsIndex]);
+ MetaData meta = document.getMetaData(namespaces[nsIndex]);
String orgNsIndex = (String)namespace2num.get(namespaces[nsIndex]);
if (orgNsIndex != null) {
@@ -155,6 +155,11 @@
}
}
+ WorkflowUtil.invoke(this.manager, getSession(), getLogger(), document, getEvent());
+ }
+
+ protected String getEvent() {
+ return "edit";
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org