package net.flibusta.converter.impl; import net.flibusta.converter.ConversionException; import net.flibusta.converter.ConversionService; import net.flibusta.converter.ConversionServiceFactory; import net.flibusta.converter.Converter; import net.flibusta.persistence.dao.BookDao; import org.apache.log4j.Logger; import java.io.File; public class ToMobiConversionService implements ConversionService { private Logger logger = Logger.getLogger(ToMobiConversionService.class); private BookDao bookDao; private Converter epub2mobi; // private Converter fb2epub; private ConversionServiceFactory conversionServiceFactory; public void setBookDao(BookDao bookDao) { this.bookDao = bookDao; } public void setEpub2mobi(Converter epub2mobi) { this.epub2mobi = epub2mobi; } public void setConversionServiceFactory(ConversionServiceFactory conversionServiceFactory) { this.conversionServiceFactory = conversionServiceFactory; } @Override public File convert(String bookId) throws ConversionException { File epub = bookDao.findBook(bookId, "epub"); if (epub == null) { ConversionService conversionService = conversionServiceFactory.getConversionService("epub"); epub = conversionService.convert(bookId); } File mobi = epub2mobi.convert(epub); return bookDao.addBook(bookId, "mobi", mobi); } }