Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.jboss.errai.ui.rebind.chain;
 
 import static org.jboss.errai.ui.rebind.chain.TemplateCatalog.RESULT;
 import static org.jboss.errai.ui.rebind.chain.TemplateCatalog.createTemplateCatalog;
 
 import java.io.File;
 import java.net.URL;
 

Author(s):
edewit@redhat.com
public class TemplateChain {
  private static final TemplateChain INSTANCE = new TemplateChain();
  private static final TemplateCatalog catalog = createTemplateCatalog(new TranslateCommand(), new SelectorReplacer(), new DummyRemover());; 
  public static TemplateChain getInstance() {
    return ;
  }
  
  public void visitTemplate(String templateFileNameMetaClass widget) {
    URL template = getClass().getClassLoader().getResource(templateFileName);
    if (template == null) {
      throw new IllegalArgumentException("Could not find HTML template file: " + templateFileName);
    }
    
    .visitTemplate(templatewidget);
    final Document result = (Document.getResult(template);
    if (result != null) {
      writeDocumentToFile(resulttemplateFileName);
    }
  }
  private void writeDocumentToFile(Document documentString templateFileName) {
    TransformerFactory transformerFactory = TransformerFactory.newInstance();
    Transformer transformer;
    try {
      transformer = transformerFactory.newTransformer();
      transformer.setOutputProperty(."html");
      final Node root;
      if (isTemplateFragment(templateFileName)) {
        root = document.getElementsByTagName("body").item(0).getFirstChild();
      } else {
        root = document;
      }
      DOMSource source = new DOMSource(root);
      final String baseName = StringUtils.rightPad(FilenameUtils.getBaseName(templateFileName), 4, 'a');
      final File tempFile = File.createTempFile(baseName".html");
      StreamResult result = new StreamResult(tempFile);
      transformer.transform(sourceresult);
      //make sure GWT finds the altered template file instead of the original one
      ResourceGeneratorUtil.addNamedFile(templateFileNametempFile);
    } catch (Exception e) {
      throw new GenerationException("could not write document to file"e);
    }
  }
  /*
   * There could be a better way to see if this template was a html fragment
   */
  private boolean isTemplateFragment(String templateFileName) {
    final String template;
    try {
      template = IOUtils.toString(getClass().getClassLoader().getResourceAsStream(templateFileName));
    } catch (IOException e) {
      throw new GenerationException("could not read template file"e);
    }
    return !template.contains("body");
  }
  @SuppressWarnings("unchecked")
  public <T> T getResult(String templateFileNameString key) {
    final Object result = .getResult(getClass().getClassLoader().getResource(templateFileName), key);
    return (T) result;
  }
New to GrepCode? Check out our FAQ X