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/06/20 10:25:21 UTC
svn commit: r415560 - in /lenya/trunk/src/java/org/apache/lenya:
cms/editors/InsertAsset.java cms/site/usecases/Assets.java
util/ServletHelper.java
Author: andreas
Date: Tue Jun 20 01:25:20 2006
New Revision: 415560
URL: http://svn.apache.org/viewvc?rev=415560&view=rev
Log:
Added a static Method to the ServletHelper which checks the enable-upload parameter in web.xml. This fixes bug #39836. Thanks to Oliver Schalch for the patch.
Modified:
lenya/trunk/src/java/org/apache/lenya/cms/editors/InsertAsset.java
lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Assets.java
lenya/trunk/src/java/org/apache/lenya/util/ServletHelper.java
Modified: lenya/trunk/src/java/org/apache/lenya/cms/editors/InsertAsset.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/editors/InsertAsset.java?rev=415560&r1=415559&r2=415560&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 Tue Jun 20 01:25:20 2006
@@ -20,13 +20,17 @@
import java.util.Iterator;
import java.util.List;
+import org.apache.cocoon.components.ContextHelper;
+import org.apache.cocoon.environment.Request;
import org.apache.lenya.ac.User;
+import org.apache.lenya.cms.publication.Document;
import org.apache.lenya.cms.publication.Resource;
import org.apache.lenya.cms.publication.ResourcesManager;
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;
+import org.apache.lenya.util.ServletHelper;
/**
* Usecase to insert an image into a document.
@@ -51,10 +55,19 @@
throw new RuntimeException(e);
}
}
+
+ /**
+ * @see org.apache.lenya.cms.usecase.DocumentUsecase#doCheckPreconditions()
+ */
+ protected void doCheckPreconditions() throws Exception {
+ if (!ServletHelper.isUploadEnabled(manager)) {
+ addErrorMessage("Upload is not enabled please check l.b.p!");
+ }
+ }
protected void loadResources() {
ResourcesManager resourcesManager = null;
-
+
try {
resourcesManager = (ResourcesManager) this.manager.lookup(ResourcesManager.ROLE);
Resource[] resources = resourcesManager.getResources(getSourceDocument());
Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Assets.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Assets.java?rev=415560&r1=415559&r2=415560&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 Tue Jun 20 01:25:20 2006
@@ -28,6 +28,7 @@
import org.apache.lenya.cms.publication.ResourcesManager;
import org.apache.lenya.cms.repository.Node;
import org.apache.lenya.cms.usecase.UsecaseException;
+import org.apache.lenya.util.ServletHelper;
/**
* Usecase to add Assets to a resource.
@@ -56,6 +57,15 @@
addErrorMessage("Please choose a file to upload. Your previous choice could not be preselected for security reasons.");
}
+ }
+
+ /**
+ * @see org.apache.lenya.cms.usecase.DocumentUsecase#doCheckPreconditions()
+ */
+ protected void doCheckPreconditions() throws Exception {
+ if (!ServletHelper.isUploadEnabled(manager)) {
+ addErrorMessage("Upload is not enabled please check l.b.p!");
+ }
}
/**
Modified: lenya/trunk/src/java/org/apache/lenya/util/ServletHelper.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/java/org/apache/lenya/util/ServletHelper.java?rev=415560&r1=415559&r2=415560&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/util/ServletHelper.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/util/ServletHelper.java Tue Jun 20 01:25:20 2006
@@ -19,11 +19,25 @@
package org.apache.lenya.util;
+import java.io.IOException;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.TransformerException;
+
+import org.apache.avalon.framework.service.ServiceException;
+import org.apache.avalon.framework.service.ServiceManager;
import org.apache.cocoon.environment.Request;
+import org.apache.excalibur.source.SourceNotFoundException;
+import org.apache.lenya.cms.cocoon.source.SourceUtil;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.xml.sax.SAXException;
+
+import com.sun.org.apache.xpath.internal.XPathAPI;
/**
* Servlet utility class.
@@ -88,5 +102,26 @@
}
return requestParameters;
}
-
+
+ /**
+ * Returns the value of enable-uploads in web.xml
+ * @param manager The Service Manager.
+ * @return true if enable upload is true or not set in web.xml, else false
+ */
+ public static boolean isUploadEnabled(ServiceManager manager)
+ throws SourceNotFoundException, ServiceException,
+ ParserConfigurationException, SAXException, IOException,
+ TransformerException {
+
+ Node node;
+ String webappUrl = "context://WEB-INF/web.xml";
+ Document document = SourceUtil.readDOM(webappUrl, manager);
+ Element root = document.getDocumentElement();
+ node = XPathAPI.selectSingleNode(root,
+ "//init-param[param-name='enable-uploads']/param-value/text()");
+ if (node == null) {
+ return false;
+ }
+ return node.getNodeValue().equals("true");
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org