You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by we...@apache.org on 2009/06/04 17:04:48 UTC
svn commit: r781766 - in /struts/sandbox/trunk/struts2-fileupload-plugin/src:
main/java/org/apache/struts2/fileupload/ main/resources/
test/java/org/apache/struts2/fileupload/
Author: wesw
Date: Thu Jun 4 15:04:48 2009
New Revision: 781766
URL: http://svn.apache.org/viewvc?rev=781766&view=rev
Log:
moving the tracking to a service to allow users to replace
Added:
struts/sandbox/trunk/struts2-fileupload-plugin/src/main/java/org/apache/struts2/fileupload/UploadStatusTracker.java
Modified:
struts/sandbox/trunk/struts2-fileupload-plugin/src/main/java/org/apache/struts2/fileupload/BasicProgressListener.java
struts/sandbox/trunk/struts2-fileupload-plugin/src/main/java/org/apache/struts2/fileupload/FileUploadConstants.java
struts/sandbox/trunk/struts2-fileupload-plugin/src/main/java/org/apache/struts2/fileupload/UploadStatusHolder.java
struts/sandbox/trunk/struts2-fileupload-plugin/src/main/resources/struts-plugin.xml
struts/sandbox/trunk/struts2-fileupload-plugin/src/test/java/org/apache/struts2/fileupload/BasicProgressListenerTest.java
struts/sandbox/trunk/struts2-fileupload-plugin/src/test/java/org/apache/struts2/fileupload/UploadStatusHolderTest.java
Modified: struts/sandbox/trunk/struts2-fileupload-plugin/src/main/java/org/apache/struts2/fileupload/BasicProgressListener.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-fileupload-plugin/src/main/java/org/apache/struts2/fileupload/BasicProgressListener.java?rev=781766&r1=781765&r2=781766&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-fileupload-plugin/src/main/java/org/apache/struts2/fileupload/BasicProgressListener.java (original)
+++ struts/sandbox/trunk/struts2-fileupload-plugin/src/main/java/org/apache/struts2/fileupload/BasicProgressListener.java Thu Jun 4 15:04:48 2009
@@ -37,10 +37,19 @@
public class BasicProgressListener implements ProgressListener {
private int updateFrequency = 2048; // magic number for a default
- private UploadStatusHolder holder = new UploadStatusHolder();
+ private UploadStatusTracker tracker;
private long lastUpdate = -1L; //
/**
+ *
+ * @param tracker
+ */
+ @Inject(FileUploadConstants.UPLOAD_STATUS_HOLDER)
+ public void setTracker(UploadStatusTracker tracker) {
+ this.tracker = tracker;
+ }
+
+ /**
*
* @param updateFrequency
*/
@@ -74,7 +83,7 @@
status.setBytesRead(bytesRead);
status.setContentLength(contentLength);
status.setItemId(item);
- holder.addUploadStatus(sessionId, status);
+ tracker.addUploadStatus(sessionId, status);
}
}
}
Modified: struts/sandbox/trunk/struts2-fileupload-plugin/src/main/java/org/apache/struts2/fileupload/FileUploadConstants.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-fileupload-plugin/src/main/java/org/apache/struts2/fileupload/FileUploadConstants.java?rev=781766&r1=781765&r2=781766&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-fileupload-plugin/src/main/java/org/apache/struts2/fileupload/FileUploadConstants.java (original)
+++ struts/sandbox/trunk/struts2-fileupload-plugin/src/main/java/org/apache/struts2/fileupload/FileUploadConstants.java Thu Jun 4 15:04:48 2009
@@ -62,4 +62,9 @@
*/
public static final String TIME_TO_KEEP_STATUS = "struts.fileuploadplugin.timetokeepstatus";
+ /**
+ *
+ */
+ public static final String UPLOAD_STATUS_HOLDER = "struts.fileuploadplugin.holder";
+
}
Modified: struts/sandbox/trunk/struts2-fileupload-plugin/src/main/java/org/apache/struts2/fileupload/UploadStatusHolder.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-fileupload-plugin/src/main/java/org/apache/struts2/fileupload/UploadStatusHolder.java?rev=781766&r1=781765&r2=781766&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-fileupload-plugin/src/main/java/org/apache/struts2/fileupload/UploadStatusHolder.java (original)
+++ struts/sandbox/trunk/struts2-fileupload-plugin/src/main/java/org/apache/struts2/fileupload/UploadStatusHolder.java Thu Jun 4 15:04:48 2009
@@ -35,7 +35,7 @@
*
* @author Wes W
*/
-public class UploadStatusHolder {
+public class UploadStatusHolder implements UploadStatusTracker {
private int secondsToKeep = 600 ; //default to ten minutes
public static Map<UploadFile,UploadStatus> statuses = new HashMap<UploadFile,UploadStatus>();
Added: struts/sandbox/trunk/struts2-fileupload-plugin/src/main/java/org/apache/struts2/fileupload/UploadStatusTracker.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-fileupload-plugin/src/main/java/org/apache/struts2/fileupload/UploadStatusTracker.java?rev=781766&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2-fileupload-plugin/src/main/java/org/apache/struts2/fileupload/UploadStatusTracker.java (added)
+++ struts/sandbox/trunk/struts2-fileupload-plugin/src/main/java/org/apache/struts2/fileupload/UploadStatusTracker.java Thu Jun 4 15:04:48 2009
@@ -0,0 +1,33 @@
+package org.apache.struts2.fileupload;
+
+import java.util.List;
+
+/**
+ * Describe your class here
+ *
+ * @author Your Name
+ * <p/>
+ * $Id$
+ */
+public interface UploadStatusTracker {
+ /**
+ *
+ * @param key
+ * @param status
+ */
+ void addUploadStatus(String key, UploadStatus status );
+
+ /**
+ *
+ * @param key
+ * @return
+ */
+ UploadStatus getUploadStatus(String key, int fileItemId);
+
+ /**
+ *
+ * @param sessionId
+ * @return
+ */
+ List<UploadStatus> getAllStatusesInSession(String sessionId);
+}
Modified: struts/sandbox/trunk/struts2-fileupload-plugin/src/main/resources/struts-plugin.xml
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-fileupload-plugin/src/main/resources/struts-plugin.xml?rev=781766&r1=781765&r2=781766&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-fileupload-plugin/src/main/resources/struts-plugin.xml (original)
+++ struts/sandbox/trunk/struts2-fileupload-plugin/src/main/resources/struts-plugin.xml Thu Jun 4 15:04:48 2009
@@ -32,6 +32,8 @@
class="org.apache.struts2.fileupload.DiskFileItemFactoryWrapper"/>
<bean type="org.apache.commons.fileupload.ProgressListener" name="struts.fileuploadplugin.progressListener"
class="org.apache.struts2.fileupload.BasicProgressListener" />
+ <bean type="org.apache.struts2.fileupload.UploadStatusTracker" name="struts.fileuploadplugin.holder"
+ class="org.apache.struts2.fileupload.UploadStatusHolder" />
<bean type="org.apache.struts2.dispatcher.multipart.MultiPartRequest" name="struts"
class="org.apache.struts2.fileupload.EnhancedJakartaMultiPartRequest"/>
Modified: struts/sandbox/trunk/struts2-fileupload-plugin/src/test/java/org/apache/struts2/fileupload/BasicProgressListenerTest.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-fileupload-plugin/src/test/java/org/apache/struts2/fileupload/BasicProgressListenerTest.java?rev=781766&r1=781765&r2=781766&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-fileupload-plugin/src/test/java/org/apache/struts2/fileupload/BasicProgressListenerTest.java (original)
+++ struts/sandbox/trunk/struts2-fileupload-plugin/src/test/java/org/apache/struts2/fileupload/BasicProgressListenerTest.java Thu Jun 4 15:04:48 2009
@@ -76,14 +76,16 @@
public void testUpdate() {
BasicProgressListener listener = new BasicProgressListener();
listener.setUpdateFrequency("1");
+ UploadStatusTracker tracker = new UploadStatusHolder();
+ listener.setTracker(tracker);
listener.update(10L,10L,1);
- UploadStatusHolder holder = new UploadStatusHolder();
+ UploadStatusTracker tracker2 = new UploadStatusHolder();
String key = request.getSession().getId();
System.err.println("key - " + key);
- UploadStatus status = holder.getUploadStatus(key , 1);
+ UploadStatus status = tracker2.getUploadStatus(key , 1);
assertTrue(status.getBytesRead() == 10L);
assertTrue(status.getContentLength() == 10L);
@@ -97,15 +99,17 @@
public void testDontUpdate() {
BasicProgressListener listener = new BasicProgressListener();
// listener.setUpdateFrequency("1000"); // let default of 2048 take over
+ UploadStatusTracker tracker = new UploadStatusHolder();
+ listener.setTracker(tracker);
listener.update(10L,10L,1);
listener.update(100L,100L,1);
- UploadStatusHolder holder = new UploadStatusHolder();
+ UploadStatusTracker tracker2 = new UploadStatusHolder();
String key = request.getSession().getId();
System.err.println("key - " + key);
- UploadStatus status = holder.getUploadStatus(key, 1 );
+ UploadStatus status = tracker2.getUploadStatus(key, 1 );
assertTrue(status.getBytesRead() == 10L);
assertTrue(status.getContentLength() == 10L);
Modified: struts/sandbox/trunk/struts2-fileupload-plugin/src/test/java/org/apache/struts2/fileupload/UploadStatusHolderTest.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-fileupload-plugin/src/test/java/org/apache/struts2/fileupload/UploadStatusHolderTest.java?rev=781766&r1=781765&r2=781766&view=diff
==============================================================================
--- struts/sandbox/trunk/struts2-fileupload-plugin/src/test/java/org/apache/struts2/fileupload/UploadStatusHolderTest.java (original)
+++ struts/sandbox/trunk/struts2-fileupload-plugin/src/test/java/org/apache/struts2/fileupload/UploadStatusHolderTest.java Thu Jun 4 15:04:48 2009
@@ -35,14 +35,14 @@
*/
@Test
public void testStatusHolding() {
- UploadStatusHolder holder1 = new UploadStatusHolder();
+ UploadStatusTracker holder1 = new UploadStatusHolder();
UploadStatus status1 = new UploadStatus();
status1.setBytesRead(1L);
status1.setContentLength(1L);
status1.setItemId(1);
holder1.addUploadStatus("status1",status1);
- UploadStatusHolder holder2 = new UploadStatusHolder();
+ UploadStatusTracker holder2 = new UploadStatusHolder();
UploadStatus status2 = holder2.getUploadStatus("status1", 1);
assertTrue(status1.getBytesRead() == status2.getBytesRead());