package org.limewire.core.impl.upload; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; import java.io.File; import org.limewire.core.api.Category; import org.limewire.core.api.FilePropertyKey; import org.limewire.core.api.URN; import org.limewire.core.api.endpoint.RemoteHost; import org.limewire.core.api.upload.UploadErrorState; import org.limewire.core.api.upload.UploadItem; import org.limewire.core.api.upload.UploadState; import org.limewire.listener.SwingSafePropertyChangeSupport; public class MockUploadItem implements UploadItem { private final PropertyChangeSupport support = new SwingSafePropertyChangeSupport(this); private UploadState state; private String fileName; private long fileSize; private long amtUploaded; private Category category; public MockUploadItem(UploadState state, String fileName, long fileSize, long amtUploaded, Category category){ this.state = state; this.fileName = fileName; this.fileSize = fileSize; this.amtUploaded = amtUploaded; this.category = category; } @Override public void cancel() { setState(UploadState.CANCELED); } @Override public String getFileName() { return fileName; } @Override public long getFileSize() { return fileSize; } @Override public UploadState getState() { return state; } @Override public long getTotalAmountUploaded() { return amtUploaded; } @Override public void removePropertyChangeListener(PropertyChangeListener listener){ support.removePropertyChangeListener(listener); } @Override public void addPropertyChangeListener(PropertyChangeListener listener) { support.addPropertyChangeListener(listener); } private void setState(UploadState newState){ UploadState oldState = state; state = newState; support.firePropertyChange("state", oldState, state); } @Override public Category getCategory(){ return category; } @Override public String toString(){ return "CoreUploadItem: " + getFileName() + ", " + getState(); } @Override public int getQueuePosition() { return 2; } @Override public long getRemainingUploadTime() { return 999; } @Override public float getUploadSpeed() { return 64; } @Override public UploadErrorState getErrorState() { return UploadErrorState.FILE_ERROR; } @Override public Object getProperty(FilePropertyKey key) { // TODO Auto-generated method stub return "property for " + key; } @Override public String getPropertyString(FilePropertyKey filePropertyKey) { // TODO Auto-generated method stub return "filePropertyKey for " + filePropertyKey; } @Override public URN getUrn() { return new URN() { @Override public int compareTo(URN o) { return toString().compareTo(o.toString()); } }; } @Override public File getFile() { return new File(fileName); } @Override public UploadItemType getUploadItemType() { return UploadItemType.GNUTELLA; } @Override public int getNumUploadConnections() { return 0; } @Override public BrowseType getBrowseType() { return BrowseType.FRIEND; } @Override public RemoteHost getRemoteHost() { return null; } @Override public float getSeedRatio() { return -1; } }