1 16 package org.outerj.daisy.frontend.editor; 17 18 import org.apache.cocoon.forms.datatype.convertor.Convertor; 19 import org.apache.cocoon.forms.datatype.convertor.ConversionResult; 20 import org.apache.cocoon.forms.validation.ValidationError; 21 import org.apache.commons.lang.exception.ExceptionUtils; 22 import org.xml.sax.ContentHandler ; 23 import org.xml.sax.SAXException ; 24 import org.outerj.daisy.htmlcleaner.HtmlCleanerTemplate; 25 import org.outerj.daisy.htmlcleaner.HtmlCleaner; 26 27 import java.util.Locale ; 28 29 33 public class HtmlCleaningConvertor implements Convertor { 34 HtmlCleanerTemplate template; 35 36 public HtmlCleaningConvertor(HtmlCleanerTemplate template) { 37 this.template = template; 38 } 39 40 public ConversionResult convertFromString(String value, Locale locale, Convertor.FormatCache formatCache) { 41 HtmlCleaner cleaner = template.newHtmlCleaner(); 42 try { 43 String result = cleaner.cleanToString(value); 44 return new ConversionResult(result); 45 } catch (Exception e) { 46 Throwable t = ExceptionUtils.getRootCause(e); 47 if (t == null) 48 t = e; 49 String message = t.getMessage(); 50 if (message == null) 51 message = t.toString(); 52 ValidationError validationError = new ValidationError(message, false); 53 return new ConversionResult(validationError); 54 } 55 } 56 57 public String convertToString(Object object, Locale locale, Convertor.FormatCache formatCache) { 58 return (String )object; 59 } 60 61 public Class getTypeClass() { 62 return java.lang.String .class; 63 } 64 65 public void generateSaxFragment(ContentHandler contentHandler, Locale locale) throws SAXException { 66 } 68 } 69 | Popular Tags |