Skip to content

Commit

Permalink
Fix build + font config
Browse files Browse the repository at this point in the history
  • Loading branch information
pvandenbroucke committed Feb 8, 2021
1 parent a490d03 commit ac42264
Showing 1 changed file with 21 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,27 @@

import eu.europa.esig.dss.detailedreport.DetailedReportFacade;
import eu.europa.esig.dss.simplereport.SimpleReportFacade;
import org.apache.commons.io.FilenameUtils;
import org.apache.fop.apps.FOUserAgent;
import org.apache.fop.apps.Fop;
import org.apache.fop.apps.FopFactory;
import org.apache.fop.apps.FopFactoryBuilder;
import org.apache.fop.apps.MimeConstants;
import org.apache.fop.configuration.Configuration;
import org.apache.fop.configuration.DefaultConfigurationBuilder;
import org.apache.xmlgraphics.io.Resource;
import org.apache.xmlgraphics.io.ResourceResolver;
import org.springframework.core.io.ClassPathResource;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import javax.xml.transform.Result;
import javax.xml.transform.sax.SAXResult;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URI;


@Component
Expand All @@ -31,7 +36,7 @@ public class FOPService {
@PostConstruct
public void init() throws Exception {

FopFactoryBuilder builder = new FopFactoryBuilder(new File(".").toURI());
FopFactoryBuilder builder = new FopFactoryBuilder(new File(".").toURI(), new ClasspathResolver());
builder.setAccessibility(true);

try (InputStream is = new ClassPathResource(FOP_CONFIG).getInputStream()) {
Expand Down Expand Up @@ -60,4 +65,19 @@ public void generateDetailedReport(String detailedReport, OutputStream os) throw
DetailedReportFacade.newFacade().generatePdfReport(detailedReport, result);
}

private static class ClasspathResolver implements ResourceResolver {

@Override
public Resource getResource(URI uri) throws IOException {
return new Resource(FOPService.class.getResourceAsStream("/fonts/" + FilenameUtils.getName(uri.toString())));
}

@Override
public OutputStream getOutputStream(URI uri) throws IOException {
return Thread.currentThread().getContextClassLoader().getResource(uri.toString()).openConnection()
.getOutputStream();
}

}

}

0 comments on commit ac42264

Please sign in to comment.