package de.uni_siegen.wineme.come_in.thumbnailer.test;
import static org.junit.Assert.*;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import jirau.DWGThumbnailer;
import org.junit.Before;
import de.uni_siegen.wineme.come_in.thumbnailer.ThumbnailerManager;
import de.uni_siegen.wineme.come_in.thumbnailer.thumbnailers.JODConverterThumbnailer;
import de.uni_siegen.wineme.come_in.thumbnailer.thumbnailers.JODExcelConverterThumbnailer;
import de.uni_siegen.wineme.come_in.thumbnailer.thumbnailers.JODHtmlConverterThumbnailer;
import de.uni_siegen.wineme.come_in.thumbnailer.thumbnailers.JODPowerpointConverterThumbnailer;
import de.uni_siegen.wineme.come_in.thumbnailer.thumbnailers.JODWordConverterThumbnailer;
import de.uni_siegen.wineme.come_in.thumbnailer.thumbnailers.NativeImageThumbnailer;
import de.uni_siegen.wineme.come_in.thumbnailer.thumbnailers.OpenOfficeThumbnailer;
import de.uni_siegen.wineme.come_in.thumbnailer.thumbnailers.PDFBoxThumbnailer;
import de.uni_siegen.wineme.come_in.thumbnailer.thumbnailers.ScratchThumbnailer;
public class ThumbnailerFileTestDummy extends MyTestCase {
protected File inputFile;
protected int height = 120;
protected int width = 160;
public ThumbnailerFileTestDummy(File inputFile) {
super();
this.inputFile = inputFile;
}
ThumbnailerManager thumbnailer;
public ThumbnailerFileTestDummy(String name)
{
this();
}
public ThumbnailerFileTestDummy() {
super();
JODConverterThumbnailer.connect();
}
@Before
public void setUp() throws Exception
{
thumbnailer = new ThumbnailerManager();
thumbnailer.setThumbnailFolder("thumbs/");
thumbnailer.registerThumbnailer(new NativeImageThumbnailer());
thumbnailer.registerThumbnailer(new OpenOfficeThumbnailer());
thumbnailer.registerThumbnailer(new PDFBoxThumbnailer());
try {
thumbnailer.registerThumbnailer(new JODWordConverterThumbnailer());
thumbnailer.registerThumbnailer(new JODExcelConverterThumbnailer());
thumbnailer.registerThumbnailer(new JODPowerpointConverterThumbnailer());
thumbnailer.registerThumbnailer(new JODHtmlConverterThumbnailer());
} catch (IOException e) {
mLog.error("Could not initialize JODConverter:", e);
}
thumbnailer.registerThumbnailer(new ScratchThumbnailer());
thumbnailer.registerThumbnailer(new DWGThumbnailer());
}
public void create_thumbnail(File file) throws Exception
{
create_thumbnail(file, thumbnailer.chooseThumbnailFilename(file, false));
}
public void create_thumbnail(File input, File output) throws Exception
{
assertFileExists("Input file does not exist", input);
if (output != null && output.exists())
output.delete();
_create_thumbnail(input, output);
assertFileExists("Output could not be generated", output);
assertFalse("Output file is empty", 0 == output.length());
assertPictureFormat(output, width, height);
}
public void _create_thumbnail(File input, File output) throws Exception
{
thumbnailer.generateThumbnail(input, output);
}
public void setImageSize(int height, int width, int opt)
{
thumbnailer.setImageSize(width, height, opt);
this.height = height;
this.width = width;
}
public static Collection<Object[]> getFileList(String path) {
return getFileList(new File(path));
}
public static Collection<Object[]> getFileList(File path) {
Collection<Object[]> files = new ArrayList<Object[]>();
File[] testfiles = path.listFiles();
for(File input : testfiles)
{
if (input.isDirectory())
continue;
files.add(new Object[] {getDisplayName(input), input});
}
return files;
}
public static String getDisplayName(File inputFile)
{
return inputFile.getName().replaceAll("[^a-zA-Z0-9]", "_");
}
}