You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jd...@apache.org on 2009/11/29 00:30:45 UTC
svn commit: r885167 - in
/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload:
MultipartRequest.java UploadProgressBar.java UploadWebRequest.java
Author: jdonnerstag
Date: Sat Nov 28 23:30:45 2009
New Revision: 885167
URL: http://svn.apache.org/viewvc?rev=885167&view=rev
Log:
fixed UploadProgressBar producing warning log messages incorrectly
Issue: WICKET-2587
Added:
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/MultipartRequest.java
Modified:
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadProgressBar.java
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadWebRequest.java
Added: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/MultipartRequest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/MultipartRequest.java?rev=885167&view=auto
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/MultipartRequest.java (added)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/MultipartRequest.java Sat Nov 28 23:30:45 2009
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.extensions.ajax.markup.html.form.upload;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.wicket.RequestCycle;
+import org.apache.wicket.protocol.http.WebRequest;
+import org.apache.wicket.protocol.http.servlet.MultipartServletWebRequest;
+import org.apache.wicket.util.lang.Bytes;
+import org.apache.wicket.util.upload.FileUploadException;
+
+/**
+ * Multipart request object that feeds the upload info into session
+ *
+ * @author Igor Vaynberg (ivaynberg)
+ */
+class MultipartRequest extends MultipartServletWebRequest
+{
+ /**
+ * @param req
+ * @param maxSize
+ * @throws FileUploadException
+ */
+ public MultipartRequest(HttpServletRequest req, Bytes maxSize) throws FileUploadException
+ {
+ super(req, maxSize);
+ if (req == null)
+ {
+ throw new IllegalStateException("req cannot be null");
+ }
+ }
+
+ /**
+ * @see org.apache.wicket.protocol.http.servlet.MultipartServletWebRequest#wantUploadProgressUpdates()
+ */
+ @Override
+ protected boolean wantUploadProgressUpdates()
+ {
+ return true;
+ }
+
+ /**
+ * @see org.apache.wicket.protocol.http.servlet.MultipartServletWebRequest#onUploadStarted(int)
+ */
+ @Override
+ protected void onUploadStarted(int totalBytes)
+ {
+ UploadInfo info = new UploadInfo(totalBytes);
+
+ HttpServletRequest request = ((WebRequest)RequestCycle.get().getRequest()).getHttpServletRequest();
+ UploadWebRequest.setUploadInfo(request, info);
+ }
+
+ /**
+ * @see org.apache.wicket.protocol.http.servlet.MultipartServletWebRequest#onUploadUpdate(int,
+ * int)
+ */
+ @Override
+ protected void onUploadUpdate(int bytesUploaded, int total)
+ {
+ HttpServletRequest request = ((WebRequest)RequestCycle.get().getRequest()).getHttpServletRequest();
+ UploadInfo info = UploadWebRequest.getUploadInfo(request);
+ if (info == null)
+ {
+ throw new IllegalStateException(
+ "could not find UploadInfo object in session which should have been set when uploaded started");
+ }
+ info.setBytesUploaded(bytesUploaded);
+
+ UploadWebRequest.setUploadInfo(request, info);
+ }
+
+ /**
+ * @see org.apache.wicket.protocol.http.servlet.MultipartServletWebRequest#onUploadCompleted()
+ */
+ @Override
+ protected void onUploadCompleted()
+ {
+ HttpServletRequest request = ((WebRequest)RequestCycle.get().getRequest()).getHttpServletRequest();
+ UploadWebRequest.clearUploadInfo(request);
+ }
+}
\ No newline at end of file
Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadProgressBar.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadProgressBar.java?rev=885167&r1=885166&r2=885167&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadProgressBar.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadProgressBar.java Sat Nov 28 23:30:45 2009
@@ -102,7 +102,8 @@
statusDiv.setOutputMarkupId(true);
add(statusDiv);
- if (!(RequestCycle.get().getRequest() instanceof UploadWebRequest))
+ if (!(RequestCycle.get().getRequest() instanceof UploadWebRequest) &&
+ !(RequestCycle.get().getRequest() instanceof MultipartRequest))
{
log.warn("UploadProgressBar will not work without an UploadWebRequest. See the javadoc for details.");
}
Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadWebRequest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadWebRequest.java?rev=885167&r1=885166&r2=885167&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadWebRequest.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadWebRequest.java Sat Nov 28 23:30:45 2009
@@ -18,15 +18,12 @@
import javax.servlet.http.HttpServletRequest;
-import org.apache.wicket.RequestCycle;
import org.apache.wicket.WicketRuntimeException;
import org.apache.wicket.protocol.http.WebRequest;
-import org.apache.wicket.protocol.http.servlet.MultipartServletWebRequest;
import org.apache.wicket.protocol.http.servlet.ServletWebRequest;
import org.apache.wicket.util.lang.Bytes;
import org.apache.wicket.util.upload.FileUploadException;
-
/**
* A request object that stores information about the current upload in session so it is accessible
* to the {@link UploadProgressBar}.
@@ -37,20 +34,14 @@
* <code>
* class MyApplication extends WebApplication {
* ...
- * @Override
- * protected WebRequest newWebRequest(HttpServletRequest servletRequest) {
- * return new UploadWebRequest(servletRequest);
- * }
- * ...
- * }
- * </code>
+ *
+ * @Override protected WebRequest newWebRequest(HttpServletRequest servletRequest) { return new
+ * UploadWebRequest(servletRequest); } ... } </code>
*
* @author Igor Vaynberg (ivaynberg)
*/
public class UploadWebRequest extends ServletWebRequest
{
-
-
final HttpServletRequest req;
/**
@@ -67,6 +58,7 @@
/**
* @see org.apache.wicket.protocol.http.WebRequest#newMultipartWebRequest(org.apache.wicket.util.lang.Bytes)
*/
+ @Override
public WebRequest newMultipartWebRequest(Bytes maxsize)
{
try
@@ -79,78 +71,8 @@
}
}
- /**
- * Multipart request object that feeds the upload info into session
- *
- * @author Igor Vaynberg (ivaynberg)
- *
- */
- private static class MultipartRequest extends MultipartServletWebRequest
- {
- /**
- * @param req
- * @param maxSize
- * @throws FileUploadException
- */
- public MultipartRequest(HttpServletRequest req, Bytes maxSize) throws FileUploadException
- {
- super(req, maxSize);
- if (req == null)
- {
- throw new IllegalStateException("req cannot be null");
- }
- }
-
- /**
- * @see org.apache.wicket.protocol.http.servlet.MultipartServletWebRequest#wantUploadProgressUpdates()
- */
- protected boolean wantUploadProgressUpdates()
- {
- return true;
- }
-
- /**
- * @see org.apache.wicket.protocol.http.servlet.MultipartServletWebRequest#onUploadStarted(int)
- */
- protected void onUploadStarted(int totalBytes)
- {
- UploadInfo info = new UploadInfo(totalBytes);
-
- HttpServletRequest request = ((WebRequest)RequestCycle.get().getRequest()).getHttpServletRequest();
- setUploadInfo(request, info);
- }
-
- /**
- * @see org.apache.wicket.protocol.http.servlet.MultipartServletWebRequest#onUploadUpdate(int,
- * int)
- */
- protected void onUploadUpdate(int bytesUploaded, int total)
- {
- HttpServletRequest request = ((WebRequest)RequestCycle.get().getRequest()).getHttpServletRequest();
- UploadInfo info = getUploadInfo(request);
- if (info == null)
- {
- throw new IllegalStateException(
- "could not find UploadInfo object in session which should have been set when uploaded started");
- }
- info.setBytesUploaded(bytesUploaded);
-
- setUploadInfo(request, info);
- }
-
- /**
- * @see org.apache.wicket.protocol.http.servlet.MultipartServletWebRequest#onUploadCompleted()
- */
- protected void onUploadCompleted()
- {
- HttpServletRequest request = ((WebRequest)RequestCycle.get().getRequest()).getHttpServletRequest();
- clearUploadInfo(request);
- }
- }
-
private static final String SESSION_KEY = UploadWebRequest.class.getName();
-
/**
* Retrieves {@link UploadInfo} from session, null if not found
*
@@ -198,5 +120,4 @@
}
req.getSession().removeAttribute(SESSION_KEY);
}
-
}
\ No newline at end of file