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/01/20 18:08:03 UTC

svn commit: r370863 - in /lenya/trunk/src/java/org/apache/lenya/cms: editors/InsertAsset.java site/usecases/Assets.java

Author: andreas
Date: Fri Jan 20 09:07:59 2006
New Revision: 370863

URL: http://svn.apache.org/viewcvs?rev=370863&view=rev
Log:
Show appropriate error message if max upload size is exceeded

Modified:
    lenya/trunk/src/java/org/apache/lenya/cms/editors/InsertAsset.java
    lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Assets.java

Modified: lenya/trunk/src/java/org/apache/lenya/cms/editors/InsertAsset.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/editors/InsertAsset.java?rev=370863&r1=370862&r2=370863&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/editors/InsertAsset.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/editors/InsertAsset.java Fri Jan 20 09:07:59 2006
@@ -17,6 +17,7 @@
 package org.apache.lenya.cms.editors;
 
 import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.List;
 
 import org.apache.lenya.cms.publication.Resource;
@@ -24,6 +25,7 @@
 import org.apache.lenya.cms.usecase.DocumentUsecase;
 import org.apache.lenya.cms.usecase.UsecaseException;
 import org.apache.lenya.cms.usecase.UsecaseInvoker;
+import org.apache.lenya.cms.usecase.UsecaseMessage;
 
 /**
  * Usecase to insert an image into a document.
@@ -86,7 +88,16 @@
                 if (getLogger().isDebugEnabled())
                     getLogger().debug("InsertAsset::advance() calling invoker with usecaseName [" + usecaseName + "]");
                 invoker.invoke(getSourceURL(), usecaseName, getParameters());
-                loadResources();
+                if (invoker.getResult() == UsecaseInvoker.SUCCESS) {
+                    loadResources();
+                }
+                else {
+                    List messages = invoker.getErrorMessages();
+                    for (Iterator i = messages.iterator(); i.hasNext(); ) {
+                        UsecaseMessage message = (UsecaseMessage) i.next();
+                        addErrorMessage(message.getMessage());
+                    }
+                }
             }
             catch (Exception e) {
                 throw new UsecaseException(e);

Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Assets.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Assets.java?rev=370863&r1=370862&r2=370863&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Assets.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Assets.java Fri Jan 20 09:07:59 2006
@@ -23,6 +23,7 @@
 import java.util.HashMap;
 import java.util.Map;
 import org.apache.cocoon.servlet.multipart.Part;
+import org.apache.cocoon.servlet.multipart.RejectedPart;
 
 import org.apache.lenya.cms.publication.Resource;
 import org.apache.lenya.cms.publication.ResourcesManager;
@@ -102,17 +103,16 @@
         try {
 
             // Retrieve the resource instance via the ResourcesManager
-            resourcesManager = (ResourcesManager) 
-                this.manager.lookup(ResourcesManager.ROLE);
-            Resource theResource = 
-                resourcesManager.getResource(getSourceDocument(), assetName);
+            resourcesManager = (ResourcesManager) this.manager.lookup(ResourcesManager.ROLE);
+            Resource theResource = resourcesManager.getResource(getSourceDocument(), assetName);
             if (theResource == null)
-                throw new Exception("no such resource [" + assetName + "] exists for document [ " + getSourceDocument().getId() + "]");
+                throw new Exception("no such resource [" + assetName + "] exists for document [ "
+                        + getSourceDocument().getId() + "]");
 
             // Lock the resource nodes
             List nodes = new ArrayList();
             nodes.addAll(Arrays.asList(theResource.getRepositoryNodes()));
-            lockInvolvedObjects((Node[])nodes.toArray(new Node[nodes.size()]));
+            lockInvolvedObjects((Node[]) nodes.toArray(new Node[nodes.size()]));
 
             // Delete the resource
             resourcesManager.deleteResource(theResource);
@@ -128,17 +128,31 @@
     }
 
     /**
-     * Adds an asset.
+     * Adds an asset. If asset upload is not enabled, an error message is added.
      */
     protected void addAsset() {
 
         if (getLogger().isDebugEnabled())
             getLogger().debug("Assets::addAsset() called");
 
+        Part file = getPart("file");
+
+        if (file.isRejected()) {
+            String[] params = { Integer.toString(file.getSize()) };
+            addErrorMessage("upload-size-exceeded", params);
+        } else {
+            addAsset(file);
+        }
+    }
+
+    /**
+     * Adds an asset.
+     * @param file The part.
+     */
+    protected void addAsset(Part file) {
         String title = getParameterAsString("title");
         String creator = getParameterAsString("creator");
         String rights = getParameterAsString("rights");
-        Part file = getPart("file");
 
         Map metadata = new HashMap();
         metadata.put("title", title);
@@ -159,7 +173,6 @@
 
         if (getLogger().isDebugEnabled())
             getLogger().debug("Assets::addAsset() done.");
-
     }
 
 }



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