Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.openfuxml.addon.wiki.processor.ofx.xml;
  
  import java.io.File;
  import java.io.Writer;
  
 
 import  net.sf.exlp.util.io.StringIO;
 import  net.sf.exlp.util.xml.JDomUtil;
 import  net.sf.exlp.util.xml.JaxbUtil;
 
 import  org.openfuxml.addon.wiki.data.jaxb.Page;
 import  org.openfuxml.content.ofx.Section;
 import  org.openfuxml.exception.OfxAuthoringException;
 import  org.openfuxml.exception.OfxInternalProcessingException;
 import  org.slf4j.Logger;
 import  org.slf4j.LoggerFactory;
 
 public class WikiPageProcessor extends AbstractWikiProcessor
 {
 	final static Logger logger = LoggerFactory.getLogger(WikiPageProcessor.class);
 	
 //	private OfxContentTrimmer ofxContentTrimmer;
 //	import org.openfuxml.renderer.processor.post.OfxContentTrimmer;
 	
 	public WikiPageProcessor()
 	{
 		WikiTemplates.init();
 //		ofxContentTrimmer = new OfxContentTrimmer();
 	}
 	
 	public void processPage(Page pagethrows OfxAuthoringException, OfxInternalProcessingException
 	{
 		
 		try
 		{
 			String srcName =  page.getFile()+"."+..;
 			String dstName = page.getFile()+"."+..;
 			String txtMarkup = StringIO.loadTxt(srcName);
 			String result = process(txtMarkuppage.getName());
 			
 			File fDst = new File(dstName);
 			Document doc = JDomUtil.txtToDoc(result);
 			doc = checkTransparent(docpage.getSection());
 			
 			.warn("Content Trimmer deactivated here");
 //			doc = ofxContentTrimmer.trim(doc);
 			JDomUtil.save(docfDst, Format.getRawFormat());
 		}
 		catch (IOException e) {.error("",e);}
 		catch (ParserConfigurationException e) {.error("",e);}
 		catch (XMLStreamException e) {.error("",e);}
 		catch (SAXException e) {.error("",e);}
 		catch (JDOMException e) {.error("",e);}
 	}
 	
 	private Document checkTransparent(Document doc, Section sectionthrows OfxInternalProcessingException
 	{
 		if(section.isSetTransparent() && section.isTransparent())
 		{
 			Element rootElement = doc.getRootElement();
 			if(rootElement.getName().equalsIgnoreCase(Section.class.getSimpleName()))
 			{
 				rootElement.setAttribute("transparent""true");
 				.debug(rootElement.getName());
 			}
 			else {throw new OfxInternalProcessingException("Root element <"+rootElement.getName()+"> of Wiki.Processing not expected");}
 		}
 		return doc;
 	}
 	
 	public Element process(String xhtmlContent)
 	{
 		Element result = null;
 		try
		{
			String xml = process(xhtmlContent"dummy");
			Document doc = JDomUtil.txtToDoc(xml);
			result = doc.getRootElement();
			result.detach();
			Element eTitle = (Element)result.getChildren().get(0);
			eTitle.detach();
			result.setAttribute("transparent""true");
		}
		catch (IOException e) {.error("",e);}
		catch (ParserConfigurationException e) {.error("",e);}
		catch (XMLStreamException e) {.error("",e);}
		catch (SAXException e) {.error("",e);}
		catch (JDOMException e) {.error("",e);}
		return result;
	}
	{
		Object[] objects = new Object[2];
		objects[0] = titleText;
		String header = MessageFormat.format(.objects);
		StringBuffer sb = new StringBuffer();
		sb.append(header);
		sb.append(xhtmlContent);
		.debug("Parsing: "+sb.length()+" characters");
		InputSource inputSource = new InputSource(new StringReader(sb.toString()));
		SAXParserFactory factory = SAXParserFactory.newInstance();
			factory.setNamespaceAware(true);
			factory.setValidating(false);
		SAXParser saxParser = factory.newSAXParser();
		XMLReader xmlReader = saxParser.getXMLReader();
		xmlReader.setEntityResolver(IgnoreDtdEntityResolver.getInstance());
		StringWriter out = new StringWriter();
		.warn("Using dummy String injectionDir");
		OfxHtmlContentHandler contentHandler = new OfxHtmlContentHandler(writer,".");
		xmlReader.setContentHandler(contentHandler);
		xmlReader.parse(inputSource);
		writer.close();
		String result = out.toString();
		result = addNS(result);
//		logger.debug(result);
		return result;
	}
	private String addNS(String xml)
	{
		int indexXml = xml.indexOf(">");
		int indexRoot = xml.substring(indexXml+1, xml.length()).indexOf(">");
//		logger.debug(xml.substring(indexXml+indexRoot+1));
		StringBuffer sb = new StringBuffer();
		sb.append(xml.substring(0,indexXml+indexRoot+1));
		sb.append(" xmlns:ofx=\"http://www.openfuxml.org\"");
		sb.append(" xmlns:list=\"http://www.openfuxml.org/list\"");
		sb.append(" xmlns:table=\"http://www.openfuxml.org/table\"");
		sb.append(" xmlns:layout=\"http://www.openfuxml.org/layout\"");
		sb.append(" xmlns:wiki=\"http://www.openfuxml.org/wiki\"");
		sb.append(xml.substring(indexXml+indexRoot+1,xml.length()));
//		logger.debug(sb);
		return sb.toString();
	}
	{
		try
		{
			writer = XMLOutputFactory.newInstance().createXMLStreamWriter(out);
		}
		catch (XMLStreamException e1) {throw new IllegalStateException(e1);}
		catch (FactoryConfigurationError e1) {throw new IllegalStateException(e1);}
		return new FormattingXMLStreamWriter(writer);
	}
	private void checkPageConfig(Page pagethrows OfxAuthoringException
	{
		JaxbUtil.debug(page);
		boolean sSection = page.isSetSection();
		if(!sSection){throw new OfxAuthoringException("None of <section>  selected!");}
	}
New to GrepCode? Check out our FAQ X