package org.limewire.core.impl.library; import java.beans.PropertyChangeListener; import java.io.File; import java.util.Collections; import java.util.List; import org.limewire.concurrent.ListeningFuture; import org.limewire.concurrent.SimpleFuture; import org.limewire.core.api.Category; import org.limewire.core.api.URN; import org.limewire.core.api.library.FileItem; import org.limewire.core.api.library.FileProcessingEvent; import org.limewire.core.api.library.LibraryFileList; import org.limewire.core.api.library.LibraryState; import org.limewire.core.api.library.LocalFileItem; import org.limewire.core.api.library.LocalFileList; import org.limewire.filter.Filter; import org.limewire.listener.EventListener; import com.limegroup.gnutella.library.FileDesc; import ca.odell.glazedlists.BasicEventList; import ca.odell.glazedlists.EventList; import ca.odell.glazedlists.GlazedLists; import ca.odell.glazedlists.impl.swing.SwingThreadProxyEventList; public class FileListAdapter implements LocalFileList, LibraryFileList { private EventList<LocalFileItem> eventList = GlazedLists.threadSafeList(new BasicEventList<LocalFileItem>()); private EventList<LocalFileItem> swingEventList = new SwingThreadProxyEventList<LocalFileItem>(eventList); public FileListAdapter() { } public FileListAdapter(MockCombinedShareList combinedShareList) { eventList = combinedShareList.createMemberList(); swingEventList = new SwingThreadProxyEventList<LocalFileItem>(eventList); } @Override public void addPropertyChangeListener(PropertyChangeListener listener) { // TODO Auto-generated method stub } @Override public LibraryState getState() { return LibraryState.LOADED; } @Override public void removePropertyChangeListener(PropertyChangeListener listener) { // TODO Auto-generated method stub } @Override public EventList<LocalFileItem> getSwingModel() { return swingEventList; } @Override public EventList<LocalFileItem> getModel() { return eventList; } @Override public ListeningFuture<List<ListeningFuture<LocalFileItem>>> addFolder(File folder) { List<ListeningFuture<LocalFileItem>> list = Collections.emptyList(); return new SimpleFuture<List<ListeningFuture<LocalFileItem>>>(list); } @Override public ListeningFuture<LocalFileItem> addFile(File file) { LocalFileItem item = new MockLocalFileItem(file.getName(), 1000,12345,23456, 0,0, Category.IMAGE); eventList.add(item); return new SimpleFuture<LocalFileItem>(item); } @Override public void removeFile(File file) { eventList.remove(new MockLocalFileItem(file.getName(), 1000,12345,23456, 0,0, Category.IMAGE)); } public void addFileItem(LocalFileItem fileItem) { eventList.add(fileItem); } public void removeFileItem(FileItem item) { eventList.remove(item); } @Override public int size() { return eventList.size(); } @Override public boolean contains(File file) { // TODO Auto-generated method stub return false; } @Override public boolean contains(URN urn) { // TODO Auto-generated method stub return false; } @Override public LocalFileItem getFileItem(File file) { // TODO Auto-generated method stub return null; } @Override public List<FileDesc> getFileDescsByURN(com.limegroup.gnutella.URN urn) { // TODO Auto-generated method stub return null; } @Override public boolean isFileAddable(File file) { return true; } @Override public void addFileProcessingListener(EventListener<FileProcessingEvent> listener) { } @Override public void removeFileProcessingListener(EventListener<FileProcessingEvent> listener) { } @Override public void removeFiles(Filter<LocalFileItem> fileFilter) { } @Override public void clear() { eventList.clear(); } @Override public void cancelPendingTasks() { } @Override public void fileRenamed(File oldFile, File newFile) { } }