package au.com.vaadinutils.jasper;
import java.io.IOException;
import javax.activation.DataSource;
import org.apache.commons.mail.DataSourceResolver;
public class JasperDataSourceResolver implements DataSourceResolver
{
private RenderedReport renderedReport;
public JasperDataSourceResolver(RenderedReport renderedReport)
{
this.renderedReport = renderedReport;
}
@Override
public DataSource resolve(String resourceLocation) throws IOException
{
return resolve(resourceLocation, false);
}
@Override
public DataSource resolve(String resourceLocation, boolean isLenient) throws IOException
{
DataSource found = null;
for (DataSource image: renderedReport.getImages())
{
if (image.getName().equals(resourceLocation))
{
found = image;
break;
}
}
if (found == null && !isLenient)
throw new IOException("Image '" + resourceLocation + " image not found.");
return found;
}
}