use of com.tomasio.projects.trainning.dto.CapituloApostilaDTO in project trainning by fernandotomasio.
the class DOC003PDF method makeReport.
@Override
public void makeReport() {
teachingDocumentsService = (TeachingDocumentsService) services.get("teachingDocumentsService");
document = documentManager.getDocumentPortrait();
os = documentManager.prepareDocument(document);
writer = documentManager.getWritter();
ChapterSectionTOC eventHandler = new ChapterSectionTOC();
writer.setPageEvent(eventHandler);
document.open();
CSSResolver cssResolver = new StyleAttrCSSResolver();
CssFile cssFile = null;
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
String cssStylePath = classLoader.getResource("doc3-styles.css").getPath();
cssFile = XMLWorkerHelper.getCSS(classLoader.getResourceAsStream("doc3-styles.css"));
cssResolver.addCss(cssFile);
XMLWorkerFontProvider fontProvider = new XMLWorkerFontProvider(XMLWorkerFontProvider.DONTLOOKFORFONTS);
String fontFilePath = classLoader.getResource("MyriadPro-Regular.otf").getPath();
// fontProvider.register(fontFilePath);
CssAppliers cssAppliers = new CssAppliersImpl(fontProvider);
HtmlPipelineContext htmlContext = new HtmlPipelineContext(cssAppliers);
htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory());
PdfWriterPipeline pdf = new PdfWriterPipeline(document, writer);
HtmlPipeline html = new HtmlPipeline(htmlContext, pdf);
CssResolverPipeline css = new CssResolverPipeline(cssResolver, html);
XMLWorker worker = new XMLWorker(css, true);
p = new XMLParser(worker);
try {
String apostilaIdParam = (String) params.get("apostilaId");
Long apostilaId = Long.parseLong(apostilaIdParam);
ApostilaDTO apostila = teachingDocumentsService.findApostila(apostilaId);
CurriculoMinimoDTO curriculo = teachingDocumentsService.findCurriculoMinimo(apostila.getDisciplina().getCurriculoMinimo().getId());
buildCover(document, curriculo, apostila);
CapituloApostilaDTO[] capitulos = teachingDocumentsService.findAllCapitulosApostila(apostilaId);
for (CapituloApostilaDTO capitulo : capitulos) {
Chapter ch = buildCapitulo(capitulo, p, document);
document.add(ch);
}
document.add(buildReferencias(apostilaId));
document.add(buildSumario(eventHandler.titles));
} catch (DocumentException e) {
Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, null, e);
throw new CoreException(e.getMessage());
} catch (IOException ex) {
Logger.getLogger(DOC003PDF.class.getName()).log(Level.SEVERE, null, ex);
} finally {
document.close();
}
try {
PdfReader reader = new PdfReader(os.toByteArray());
int n = reader.getNumberOfPages();
String pagesInterval = String.format("1-2,%d, 3-%d", n, n - 1);
reader.selectPages(pagesInterval);
os = new ByteArrayOutputStream();
PdfStamper stamper = new PdfStamper(reader, os);
stamper.close();
reader.close();
} catch (IOException | DocumentException ex) {
Logger.getLogger(DOC003PDF.class.getName()).log(Level.SEVERE, null, ex);
}
}
use of com.tomasio.projects.trainning.dto.CapituloApostilaDTO in project trainning by fernandotomasio.
the class DOC004PDF method makeReport.
@Override
public void makeReport() {
teachingDocumentsService = (TeachingDocumentsService) services.get("teachingDocumentsService");
document = documentManager.getDocumentPortrait();
os = documentManager.prepareDocument(document);
writer = documentManager.getWritter();
document.open();
HtmlPipelineContext htmlContext = new HtmlPipelineContext(null);
htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory());
CSSResolver cssResolver = XMLWorkerHelper.getInstance().getDefaultCssResolver(true);
Pipeline<?> pipeline = new CssResolverPipeline(cssResolver, new HtmlPipeline(htmlContext, new PdfWriterPipeline(document, writer)));
XMLWorker worker = new XMLWorker(pipeline, true);
XMLParser p = new XMLParser(worker);
try {
String capituloIdParam = (String) params.get("capituloId");
Long capituloId = Long.parseLong(capituloIdParam);
CapituloApostilaDTO capitulo = teachingDocumentsService.findCapituloApostila(capituloId);
// Paragraph prefacioParagraph = new Paragraph(new Phrase("APOSTILA" + apostila.getDisciplina().getDescricao(), fontManager.getBoldFont()));
// prefacioParagraph.setAlignment(Element.ALIGN_CENTER);
// document.add(prefacioParagraph);
SecaoApostilaDTO[] secoes = teachingDocumentsService.findAllSecoesApostila(capitulo.getId());
for (SecaoApostilaDTO secao : secoes) {
if (secao.getContent() != null) {
Paragraph secaoParagraph = new Paragraph(secao.getContent());
p.parse(new StringReader(secao.getContent()));
document.add(Chunk.NEXTPAGE);
}
}
} catch (DocumentException e) {
Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, null, e);
throw new CoreException(e.getMessage());
} catch (IOException ex) {
Logger.getLogger(DOC004PDF.class.getName()).log(Level.SEVERE, null, ex);
} finally {
document.close();
}
}
use of com.tomasio.projects.trainning.dto.CapituloApostilaDTO in project trainning by fernandotomasio.
the class ApostilasController method detailApostila.
@RequestMapping("/detail")
public String detailApostila(Model model, WebRequest request) {
String apostilaIdParam = request.getParameter("apostilaId");
Long apostilaId = Long.parseLong(apostilaIdParam);
ApostilaDTO apostila = teachingDocumentsService.findApostila(apostilaId);
model.addAttribute("apostila", apostila);
CapituloApostilaDTO[] capitulos = teachingDocumentsService.findAllCapitulosApostila(apostila.getId());
List capitulosDataList = new ArrayList();
for (CapituloApostilaDTO capitulo : capitulos) {
Map itemCapitulo = new HashMap();
itemCapitulo.put("id", capitulo.getId());
UnidadeDidaticaDTO unidadeDidatica = teachingDocumentsService.findUnidadeDidatica(capitulo.getUnidadeDidatica().getId());
itemCapitulo.put("numero", unidadeDidatica.getNumeroGeral());
itemCapitulo.put("titulo", capitulo.getUnidadeDidatica().getDescricao());
SecaoApostilaDTO[] secoes = teachingDocumentsService.findAllSecoesApostila(capitulo.getId());
List secoesApostilaDataList = new ArrayList();
for (SecaoApostilaDTO secao : secoes) {
Map itemSecao = new HashMap();
itemSecao.put("id", secao.getId());
itemSecao.put("titulo", secao.getSubunidadeDidatica().getDescricao());
SubunidadeDidaticaDTO subunidadeDidatica = teachingDocumentsService.findSubunidadeDidatica(secao.getSubunidadeDidatica().getId());
itemSecao.put("numero", subunidadeDidatica.getNumeroGeral());
secoesApostilaDataList.add(itemSecao);
}
itemCapitulo.put("secoes", secoesApostilaDataList);
capitulosDataList.add(itemCapitulo);
}
List anexosDataList = new ArrayList();
AnexoApostilaDTO[] anexos = teachingDocumentsService.findAllAnexosApostilas(apostila.getId());
for (AnexoApostilaDTO anexo : anexos) {
Map item = new HashMap();
item.put("id", anexo.getId());
item.put("titulo", anexo.getTitulo());
anexosDataList.add(item);
}
model.addAttribute("capitulosDataList", capitulosDataList);
model.addAttribute("anexosDataList", anexosDataList);
return "apostilas/detail";
}
use of com.tomasio.projects.trainning.dto.CapituloApostilaDTO in project trainning by fernandotomasio.
the class ApostilasController method detailSecao.
@RequestMapping("/secao/detail")
public String detailSecao(Model model, WebRequest request) {
String secaoidParam = request.getParameter("secaoId");
Long secaoId = Long.parseLong(secaoidParam);
SecaoApostilaDTO secao = teachingDocumentsService.findSecaoApostila(secaoId);
SubunidadeDidaticaDTO subunidade = teachingDocumentsService.findSubunidadeDidatica(secao.getSubunidadeDidatica().getId());
CapituloApostilaDTO capitulo = teachingDocumentsService.findCapituloApostila(secao.getCapituloApostila().getId());
ObjetivoOperacionalizadoDTO[] objetivosOperacionalizados = teachingDocumentsService.findAllObjetivosOperacionalizadosBySubunidade(subunidade.getId());
List objetivosDataList = new ArrayList();
for (ObjetivoOperacionalizadoDTO objetivo : objetivosOperacionalizados) {
Map item = new HashMap();
item.put("descricao", objetivo.getDescricao() + " (" + objetivo.getNivelAprendizagem().getCodigo() + ")");
objetivosDataList.add(item);
}
model.addAttribute("objetivosDataList", objetivosDataList);
model.addAttribute("secao", secao);
model.addAttribute("subunidade", subunidade);
model.addAttribute("apostilaId", capitulo.getApostila().getId());
return "secoes/detail";
}
use of com.tomasio.projects.trainning.dto.CapituloApostilaDTO in project trainning by fernandotomasio.
the class ApostilasController method saveApostila.
@RequestMapping("/save")
public String saveApostila(Model model, @Valid ApostilaForm apostilaForm, WebRequest request) {
ApostilaDTO apostila;
if (apostilaForm.getId() == null) {
apostila = new ApostilaDTO();
} else {
apostila = teachingDocumentsService.findApostila(apostilaForm.getId());
}
DisciplinaDTO discipina = teachingDocumentsService.findDisciplina(apostilaForm.getDisciplinaId());
apostila.setDisciplina(discipina);
apostila.setDefinicoes(apostila.getDefinicoes());
apostila.setIntroducao(apostila.getIntroducao());
if (apostilaForm.getId() == null) {
Long apostilaId = teachingDocumentsService.createApostila(apostila);
apostila = teachingDocumentsService.findApostila(apostilaId);
UnidadeDidaticaDTO[] unidades = teachingDocumentsService.findAllUnidadesDidaticas(discipina.getId());
for (UnidadeDidaticaDTO unidade : unidades) {
CapituloApostilaDTO capitulo = new CapituloApostilaDTO();
capitulo.setApostila(apostila);
capitulo.setUnidadeDidatica(unidade);
Long capituloId = teachingDocumentsService.createCapituloApostila(capitulo);
capitulo = teachingDocumentsService.findCapituloApostila(capituloId);
SubunidadeDidaticaDTO[] subunidades = teachingDocumentsService.findAllSubunidadesDidaticas(unidade.getId());
for (SubunidadeDidaticaDTO subunidade : subunidades) {
SecaoApostilaDTO secao = new SecaoApostilaDTO();
secao.setCapituloApostila(capitulo);
secao.setSubunidadeDidatica(subunidade);
teachingDocumentsService.createSecaoApostila(secao);
}
}
} else {
teachingDocumentsService.updateApostila(apostila);
}
return "redirect:/apostilas";
}
Aggregations