private void process(ITocContribution contribution) { if (processedContributions == null) { processedContributions = new HashSet<>(); } // don't process the same one twice if (!processedContributions.contains(contribution)) { if (processor == null) { processor = new DocumentProcessor(); } if (handlers == null) { DocumentReader reader = new DocumentReader(); handlers = new ProcessorHandler[] { new NormalizeHandler(), new LinkHandler(), new AnchorHandler(), new IncludeHandler(reader, contribution.getLocale()), new ExtensionHandler(reader, contribution.getLocale()), }; } processor.setHandlers(handlers); processor.process((Toc)contribution.getToc(), contribution.getId()); processedContributions.add(contribution); } }
contribution.setExtraDocuments(contrib[j].getExtraDocuments()); contribution.setId(contrib[j].getId()); contribution.setLocale(contrib[j].getLocale()); contribution.setPrimary(contrib[j].isPrimary()); IToc toc = contrib[j].getToc();
private void processCriteria(UAElement element, String id) { if(HelpPlugin.getCriteriaManager().isCriteriaEnabled()){ ITocContribution contribution = getContribution(id); String locale = contribution.getLocale(); ICriteria[] criteria = new ICriteria[0]; if (element instanceof Topic) { Topic topic = (Topic) element; criteria = CriteriaProviderRegistry.getInstance().getAllCriteria(topic); } else if (element instanceof Toc) { Toc toc = (Toc) element; criteria = CriteriaProviderRegistry.getInstance().getAllCriteria(toc); } HelpPlugin.getCriteriaManager().addCriteriaValues(criteria, locale); } } }