package org.limewire.ui.swing.search.model; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; 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.search.SearchResult; import org.limewire.friend.api.Friend; public class MockVisualSearchResult implements VisualSearchResult { private List<VisualSearchResult> similarResults = new ArrayList<VisualSearchResult>(); private String name; private String subheading = ""; private BasicDownloadState downloadState = BasicDownloadState.NOT_STARTED; private VisualSearchResult similarityParent; private boolean spam; private HashMap<FilePropertyKey, Object> properties = new HashMap<FilePropertyKey, Object>(); private int relevance = 0; public MockVisualSearchResult(String name) { this.name = name; } public MockVisualSearchResult(String name, VisualSearchResult parent) { this(name); this.similarityParent = parent; parent.getSimilarResults().add(this); } @Override public boolean isAnonymous() { return true; } @Override public Category getCategory() { return Category.AUDIO; } @Override public List<SearchResult> getCoreSearchResults() { // TODO Auto-generated method stub return null; } @Override public BasicDownloadState getDownloadState() { return downloadState; } @Override public String getFileExtension() { // TODO Auto-generated method stub return null; } @Override public Collection<Friend> getFriends() { return Collections.emptySet(); } public Map<FilePropertyKey, Object> getProperties() { return properties; } @Override public Object getProperty(FilePropertyKey key) { if(key == FilePropertyKey.NAME) { return name; } else { return getProperties().get(key); } } @Override public String getPropertyString(FilePropertyKey key) { Object val = getProperties().get(key); return val == null ? null : val.toString(); } @Override public String getNameProperty(boolean useAudioArtist) { return name; } public void setSimilarResults(List<VisualSearchResult> similarResults) { this.similarResults = similarResults; } @Override public List<VisualSearchResult> getSimilarResults() { return similarResults; } @Override public VisualSearchResult getSimilarityParent() { return similarityParent; } @Override public long getSize() { // TODO Auto-generated method stub return 0; } @Override public Collection<RemoteHost> getSources() { // TODO Auto-generated method stub return null; } @Override public boolean isVisible() { // TODO Auto-generated method stub return false; } @Override public void setDownloadState(BasicDownloadState downloadState) { this.downloadState = downloadState; } @Override public void setVisible(boolean visible) { // TODO Auto-generated method stub } @Override public boolean isChildrenVisible() { // TODO Auto-generated method stub return false; } @Override public boolean isSpam() { return spam; } @Override public void setSpam(boolean spam) { this.spam = spam; } @Override public void setChildrenVisible(boolean childrenVisible) { // TODO Auto-generated method stub } @Override public String toString() { return name; } public void removeSimilarSearchResult(VisualSearchResult result) { } public void addSimilarSearchResult(VisualSearchResult similarResult) { } public void setSimilarityParent(VisualSearchResult parent) { } @Override public URN getUrn() { return null; } @Override public String getNavSelectionId() { return null; } @Override public String getMagnetLink() { return null; } public void setHeading(String heading) { this.name = heading; } @Override public String getHeading() { return name; } public void setSubHeading(String subheading) { this.subheading = subheading; } @Override public String getSubHeading() { return subheading; } @Override public int getRelevance() { return relevance; } public void setRelevance(int relevance) { this.relevance = relevance; } @Override public String getFileName() { // TODO Auto-generated method stub return null; } @Override public boolean isPreExistingDownload() { return false; } @Override public void setPreExistingDownload(boolean preExistingDownload) { } @Override public boolean isLicensed() { return false; } @Override public void toggleChildrenVisibility() { // TODO Auto-generated method stub } }