Browse Source

set/getProgressListener deprecated, replaced with remove/addListener(ProgressListener).

Fixes #1446.

svn changeset:4442/svn branch:trunk
tags/6.7.0.beta1
Marc Englund 16 years ago
parent
commit
226f902fbe

+ 16
- 0
src/com/itmill/toolkit/tests/TestForUpload.java View File

private final Label l; private final Label l;


private final ProgressIndicator pi = new ProgressIndicator(); private final ProgressIndicator pi = new ProgressIndicator();
private final ProgressIndicator pi2 = new ProgressIndicator();


private final Label memoryStatus; private final Label memoryStatus;


up.addListener((StartedListener) this); up.addListener((StartedListener) this);


up.setProgressListener(this); up.setProgressListener(this);
up.addListener(new Upload.ProgressListener() {

public void updateProgress(long readBytes, long contentLenght) {
pi2.setValue(new Float(readBytes / (float) contentLenght));

refreshMemUsage();
}

});


final Button b = new Button("b", this, "readState"); final Button b = new Button("b", this, "readState");


pi.setPollingInterval(1000); pi.setPollingInterval(1000);
main.addComponent(pi); main.addComponent(pi);


pi2.setVisible(false);
pi2.setPollingInterval(1000);
main.addComponent(pi2);

memoryStatus = new Label(); memoryStatus = new Label();
main.addComponent(memoryStatus); main.addComponent(memoryStatus);




public void uploadSucceeded(SucceededEvent event) { public void uploadSucceeded(SucceededEvent event) {
pi.setVisible(false); pi.setVisible(false);
pi2.setVisible(false);
l.setValue("Finished upload, idle"); l.setValue("Finished upload, idle");
System.out.println(event); System.out.println(event);
setBuffer(); setBuffer();


public void uploadStarted(StartedEvent event) { public void uploadStarted(StartedEvent event) {
pi.setVisible(true); pi.setVisible(true);
pi2.setVisible(true);
l.setValue("Started uploading file " + event.getFilename()); l.setValue("Started uploading file " + event.getFilename());
textFieldValue.setValue(" TestFields value at the upload start is:" textFieldValue.setValue(" TestFields value at the upload start is:"
+ textField.getValue()); + textField.getValue());

+ 57
- 4
src/com/itmill/toolkit/ui/Upload.java View File

import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Map; import java.util.Map;


import com.itmill.toolkit.Application; import com.itmill.toolkit.Application;
* upload * upload
*/ */
private ProgressListener progressListener; private ProgressListener progressListener;
private LinkedHashSet progressListeners;


/* TODO: Add a default constructor, receive to temp file. */ /* TODO: Add a default constructor, receive to temp file. */


// update progress if listener set and contentLength // update progress if listener set and contentLength
// received // received
synchronized (application) { synchronized (application) {
progressListener.updateProgress(totalBytes,
contentLength);
fireUpdateProgress(totalBytes, contentLength);
} }
} }
} }
removeListener(SucceededEvent.class, listener, UPLOAD_SUCCEEDED_METHOD); removeListener(SucceededEvent.class, listener, UPLOAD_SUCCEEDED_METHOD);
} }


/**
* Adds the upload success event listener.
*
* @param listener
* the Listener to be added.
*/
public void addListener(ProgressListener listener) {
if (progressListeners == null) {
progressListeners = new LinkedHashSet();
}
progressListeners.add(listener);
}

/**
* Removes the upload success event listener.
*
* @param listener
* the Listener to be removed.
*/
public void removeListener(ProgressListener listener) {
if (progressListeners != null) {
progressListeners.remove(listener);
}
}

/** /**
* Emit upload received event. * Emit upload received event.
* *
fireEvent(new Upload.SucceededEvent(this, filename, MIMEType, length)); fireEvent(new Upload.SucceededEvent(this, filename, MIMEType, length));
} }


/**
* Emits the progress event.
*
* @param totalBytes
* bytes received so far
* @param contentLength
* actual size of the file being uploaded, if known
*
*/
protected void fireUpdateProgress(long totalBytes, long contentLength) {
// this is implemented differently than other listeners to maintain
// backwards compatibility
if (progressListeners != null) {
for (Iterator it = progressListeners.iterator(); it.hasNext();) {
ProgressListener l = (ProgressListener) it.next();
l.updateProgress(totalBytes, contentLength);
}
}
// deprecated:
if (progressListener != null) {
progressListener.updateProgress(totalBytes, contentLength);
}
}

/** /**
* Returns the current receiver. * Returns the current receiver.
* *
} }


/** /**
* Sets listener to track progress of upload.
* This method is deprecated, use addListener(ProgressListener) instead.
* *
* @deprecated Use addListener(ProgressListener) instead.
* @param progressListener * @param progressListener
*/ */
public void setProgressListener(ProgressListener progressListener) { public void setProgressListener(ProgressListener progressListener) {
} }


/** /**
* Gets listener that tracks progress of upload.
* This method is deprecated.
* *
* @deprecated Replaced with addListener/removeListener
* @return listener * @return listener
* *
*/ */

Loading…
Cancel
Save