package com.limegroup.gnutella.stubs; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.HashSet; import java.util.Set; import com.limegroup.gnutella.ErrorService; import com.limegroup.gnutella.FileDesc; import com.limegroup.gnutella.URN; import com.limegroup.gnutella.altlocs.AlternateLocationCollection; public class FileDescStub extends FileDesc { public static final String DEFAULT_URN = "urn:sha1:PLSTHIPQGSSZTS5FJUPAKUZWUGYQYPFB"; public static final URN DEFAULT_SHA1; public static final Set DEFAULT_SET; public static final int DEFAULT_SIZE = 1126400; static { DEFAULT_SET = new HashSet(); URN sha1 = null; try { sha1 = URN.createSHA1Urn(DEFAULT_URN); } catch(IOException ioe) { ErrorService.error(ioe); } DEFAULT_SHA1 = sha1; DEFAULT_SET.add(DEFAULT_SHA1); } public FileDescStub() { this("abc.txt"); } public FileDescStub(String name) { this(name, DEFAULT_SHA1, 0); } public FileDescStub(String name, URN urn, int index) { super(new File(name), createUrnSet(urn), index); } private static Set createUrnSet(URN urn) { Set s = new HashSet(); s.add(urn); return s; } public InputStream createInputStream() { return new InputStream() { public int read() { return 'a'; } public int read(byte[] b) { for(int i=0; i < b.length; i++) b[i] = (byte)'a'; return b.length; } }; } public long getFileSize() { return DEFAULT_SIZE; } }