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/17 18:13:55 UTC
svn commit: r529664 - in /lenya/trunk/src/modules:
opendocument/config/cocoon-xconf/
opendocument/java/src/org/apache/lenya/cms/site/usecases/
resource/config/cocoon-xconf/
resource/java/src/org/apache/lenya/cms/site/usecases/
Author: andreas
Date: Tue Apr 17 09:13:54 2007
New Revision: 529664
URL: http://svn.apache.org/viewvc?view=rev&rev=529664
Log:
Handle workflow and conditions properly in upload usecases
Modified:
lenya/trunk/src/modules/opendocument/config/cocoon-xconf/usecase-upload-odt.xconf
lenya/trunk/src/modules/opendocument/java/src/org/apache/lenya/cms/site/usecases/UploadOpenDocument.java
lenya/trunk/src/modules/resource/config/cocoon-xconf/usecase-upload-resource.xconf
lenya/trunk/src/modules/resource/java/src/org/apache/lenya/cms/site/usecases/UploadResource.java
Modified: lenya/trunk/src/modules/opendocument/config/cocoon-xconf/usecase-upload-odt.xconf
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/opendocument/config/cocoon-xconf/usecase-upload-odt.xconf?view=diff&rev=529664&r1=529663&r2=529664
==============================================================================
--- lenya/trunk/src/modules/opendocument/config/cocoon-xconf/usecase-upload-odt.xconf (original)
+++ lenya/trunk/src/modules/opendocument/config/cocoon-xconf/usecase-upload-odt.xconf Tue Apr 17 09:13:54 2007
@@ -23,6 +23,7 @@
<component-instance name="opendocument.upload" logger="lenya.module.odt"
class="org.apache.lenya.cms.site.usecases.UploadOpenDocument">
<view template="modules/opendocument/usecases/upload.jx"/>
+ <event id="edit"/>
</component-instance>
</xconf>
Modified: lenya/trunk/src/modules/opendocument/java/src/org/apache/lenya/cms/site/usecases/UploadOpenDocument.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/opendocument/java/src/org/apache/lenya/cms/site/usecases/UploadOpenDocument.java?view=diff&rev=529664&r1=529663&r2=529664
==============================================================================
--- lenya/trunk/src/modules/opendocument/java/src/org/apache/lenya/cms/site/usecases/UploadOpenDocument.java (original)
+++ lenya/trunk/src/modules/opendocument/java/src/org/apache/lenya/cms/site/usecases/UploadOpenDocument.java Tue Apr 17 09:13:54 2007
@@ -18,15 +18,29 @@
package org.apache.lenya.cms.site.usecases;
import org.apache.cocoon.servlet.multipart.Part;
+import org.apache.lenya.cms.publication.Document;
import org.apache.lenya.cms.publication.OpenDocumentWrapper;
-import org.apache.lenya.cms.usecase.DocumentUsecase;
+import org.apache.lenya.cms.publication.Publication;
+import org.apache.lenya.cms.workflow.usecases.InvokeWorkflow;
+import org.apache.lenya.util.ServletHelper;
/**
* Usecase to create a document.
*
* @version $Id: CreateDocument.java 379098 2006-02-20 11:35:10Z andreas $
*/
-public class UploadOpenDocument extends DocumentUsecase {
+public class UploadOpenDocument extends InvokeWorkflow {
+
+ protected void doCheckPreconditions() throws Exception {
+ super.doCheckPreconditions();
+ if (!ServletHelper.isUploadEnabled(manager)) {
+ addErrorMessage("Upload is not enabled. Please check local.build.properties!");
+ }
+ Document doc = getSourceDocument();
+ if (!doc.getArea().equals(Publication.AUTHORING_AREA)) {
+ addErrorMessage("This usecase can only be invoked in the authoring area!");
+ }
+ }
protected void doCheckExecutionConditions() throws Exception {
super.doCheckExecutionConditions();
@@ -51,6 +65,7 @@
* @see org.apache.lenya.cms.usecase.AbstractUsecase#doExecute()
*/
protected void doExecute() throws Exception {
+ super.doExecute();
OpenDocumentWrapper odt = new OpenDocumentWrapper(getSourceDocument(), getLogger());
Part file = getPart("file");
odt.write(file);
Modified: lenya/trunk/src/modules/resource/config/cocoon-xconf/usecase-upload-resource.xconf
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/resource/config/cocoon-xconf/usecase-upload-resource.xconf?view=diff&rev=529664&r1=529663&r2=529664
==============================================================================
--- lenya/trunk/src/modules/resource/config/cocoon-xconf/usecase-upload-resource.xconf (original)
+++ lenya/trunk/src/modules/resource/config/cocoon-xconf/usecase-upload-resource.xconf Tue Apr 17 09:13:54 2007
@@ -23,6 +23,7 @@
<component-instance name="resource.upload" logger="lenya.module.resource"
class="org.apache.lenya.cms.site.usecases.UploadResource">
<view template="modules/resource/usecases/upload-resource.jx"/>
+ <event id="edit"/>
</component-instance>
</xconf>
Modified: lenya/trunk/src/modules/resource/java/src/org/apache/lenya/cms/site/usecases/UploadResource.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/resource/java/src/org/apache/lenya/cms/site/usecases/UploadResource.java?view=diff&rev=529664&r1=529663&r2=529664
==============================================================================
--- lenya/trunk/src/modules/resource/java/src/org/apache/lenya/cms/site/usecases/UploadResource.java (original)
+++ lenya/trunk/src/modules/resource/java/src/org/apache/lenya/cms/site/usecases/UploadResource.java Tue Apr 17 09:13:54 2007
@@ -21,55 +21,44 @@
import org.apache.lenya.cms.publication.Document;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.publication.ResourceWrapper;
-import org.apache.lenya.cms.usecase.DocumentUsecase;
-import org.apache.lenya.cms.workflow.WorkflowUtil;
-import org.apache.lenya.cms.workflow.usecases.UsecaseWorkflowHelper;
+import org.apache.lenya.cms.workflow.usecases.InvokeWorkflow;
import org.apache.lenya.util.ServletHelper;
/**
* Usecase to upload a resource.
*
*/
-public class UploadResource extends DocumentUsecase {
+public class UploadResource extends InvokeWorkflow {
- protected String getEvent() {
- return "edit";
- }
-
protected void doCheckPreconditions() throws Exception {
super.doCheckPreconditions();
if (!ServletHelper.isUploadEnabled(manager)) {
addErrorMessage("Upload is not enabled. Please check local.build.properties!");
}
Document doc = getSourceDocument();
- if (!getSourceDocument().getArea().equals(Publication.AUTHORING_AREA)) {
+ if (!doc.getArea().equals(Publication.AUTHORING_AREA)) {
addErrorMessage("This usecase can only be invoked in the authoring area!");
- } else if (!getSourceDocument().exists()) {
- addErrorMessage("This usecase can only be invoked on existing documents.");
}
+ }
- UsecaseWorkflowHelper.checkWorkflow(this.manager, this, getEvent(), doc,
- getLogger());
+ protected void doCheckExecutionConditions() throws Exception {
+ super.doCheckExecutionConditions();
+ Part file = getPart("file");
+ if (file.isRejected()) {
+ String[] params = { Integer.toString(file.getSize()) };
+ addErrorMessage("upload-size-exceeded", params);
+ }
}
/**
* @see org.apache.lenya.cms.usecase.AbstractUsecase#doExecute()
*/
protected void doExecute() throws Exception {
- if (getLogger().isDebugEnabled())
- getLogger().debug("Resource::uploadResource() called");
-
+ super.doExecute();
Part file = getPart("file");
-
- if (file.isRejected()) {
- String[] params = { Integer.toString(file.getSize()) };
- addErrorMessage("upload-size-exceeded", params);
- } else {
- Document document = getSourceDocument();
- ResourceWrapper wrapper = new ResourceWrapper(document, this.manager, getLogger());
- wrapper.write(file);
- WorkflowUtil.invoke(this.manager, getSession(), getLogger(), document, getEvent());
- }
+ Document document = getSourceDocument();
+ ResourceWrapper wrapper = new ResourceWrapper(document, this.manager, getLogger());
+ wrapper.write(file);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org