Package com.google.gxp.compiler.alerts

Examples of com.google.gxp.compiler.alerts.AlertSetBuilder


    this.schemaFactory = Preconditions.checkNotNull(schemaFactory);
    this.className = Preconditions.checkNotNull(className);
  }

  public ReparentedTree apply(IfExpandedTree parseTree) {
    AlertSetBuilder alertSetBuilder = new AlertSetBuilder(parseTree.getAlerts());

    // make sure root element is a template
    List<ParsedElement> children = parseTree.getChildren();
    if (!children.isEmpty()) {
      ParsedElement first = children.get(0);
      if (!first.canBeRoot()) {
        alertSetBuilder.add(new InvalidRootError(first));
      } else {
        // determine the schema of this gxp
        String contentType = DEFAULT_CONTENT_TYPE;
        for (ParsedAttribute attr : first.getAttributes()) {
          if (attr.getName().equals("content-type")
              && attr.getNamespace() == NullNamespace.INSTANCE) {
            contentType = attr.getValue();
          }
        }
        rootSchema = schemaFactory.fromContentTypeName(contentType);
      }
    }

    Iterable<ParsedAttribute> noAttrs = Collections.emptyList();
    Parts parts = groupParts(alertSetBuilder, parseTree, noAttrs, children);

    // Throw out all but the first Root. The parse phase should have
    // already complained about there being too many roots.
    List<Root> roots = parts.getRoots();
    Root root = roots.isEmpty()
        ? new NullRoot(parseTree, TemplateName.parseFullyQualifiedDottedName(className))
        : roots.get(0);
    return new ReparentedTree(parseTree.getSourcePosition(),
                              alertSetBuilder.buildAndClear(),
                              root);
  }
View Full Code Here


*
* <center><img class=fig src="http://go/gxpc.java/IfExpansion.png"></center>
*/
public class IfExpander implements Function<ParseTree, IfExpandedTree> {
  public IfExpandedTree apply(ParseTree parseTree) {
    AlertSetBuilder alertSetBuilder = new AlertSetBuilder(parseTree.getAlerts());
    Worker worker = new Worker(alertSetBuilder);
    List<ParsedElement> children = worker.process(parseTree.getChildren());

    return new IfExpandedTree(parseTree.getSourcePosition(),
                              alertSetBuilder.buildAndClear(),
                              children);
  }
View Full Code Here

*/
public class MessageExtractor implements Function<I18nCheckedTree, MessageExtractedTree> {

  public MessageExtractedTree apply(I18nCheckedTree tree) {
    List<ExtractedMessage> messages = Lists.newArrayList();
    AlertSetBuilder alertSetBuilder = new AlertSetBuilder(tree.getAlerts());
    Root root = tree.getRoot().acceptVisitor(new OutsideMessageVisitor(alertSetBuilder, messages));

    return new MessageExtractedTree(tree.getSourcePosition(), alertSetBuilder.buildAndClear(),
                                    root, messages);
  }
View Full Code Here

  /**
   * Escapes content in the supplied SpaceCollapsedTree to produce
   * an EscapedTree.
   */
  public EscapedTree apply(PlaceholderInsertedTree tree) {
    AlertSetBuilder alertSetBuilder = new AlertSetBuilder(tree.getAlerts());
    Worker worker = new Worker(alertSetBuilder);
    Root root = worker.apply(tree.getRoot());

    return new EscapedTree(tree.getSourcePosition(), alertSetBuilder.buildAndClear(), root);
  }
View Full Code Here

  }

  @Override
  public void setUp() throws Exception {
    super.setUp();
    ALERT_SINK = new AlertSetBuilder();
  }
View Full Code Here

* <center><img src="https://www.corp.google.com/eng/designdocs/gxp/java-rewrite/PlaceholderPivoting.png"></center>
*/
public class PlaceholderPivoter implements Function<ContentFlattenedTree, PlaceholderPivotedTree> {

  public PlaceholderPivotedTree apply(ContentFlattenedTree tree) {
    AlertSetBuilder alertSetBuilder = new AlertSetBuilder(tree.getAlerts());
    Worker worker = new Worker(alertSetBuilder);
    Root root = tree.getRoot().acceptVisitor(worker.defaultVisitor);

    return new PlaceholderPivotedTree(tree.getSourcePosition(), alertSetBuilder.buildAndClear(),
                                      root);
  }
View Full Code Here

  private I18nChecker() {}

  public static final I18nChecker INSTANCE = new I18nChecker();

  public I18nCheckedTree apply(SpaceCollapsedTree tree, PlaceholderPivotedTree pivotedTree) {
    AlertSetBuilder alertSetBuilder = new AlertSetBuilder(pivotedTree.getAlerts());
    tree.getRoot().acceptVisitor(new Visitor(alertSetBuilder));

    return new I18nCheckedTree(pivotedTree.getSourcePosition(),
                               alertSetBuilder.buildAndClear(),
                               pivotedTree.getRoot());
  }
View Full Code Here

   * Returns a {@code ParseTree} constructed by parsing the contents of the
   * specified {@code InputStream}. The {@code inputName} is used for {@code
   * Alert} reporting.
   */
  public ParseTree parse(FileRef input) throws IOException {
    AlertSetBuilder alertSetBuilder = new AlertSetBuilder();
    DefaultXmlEventHandler eventHandler =
        new DefaultXmlEventHandler(namespaces, alertSetBuilder, entityResolver);

    try {
      xmlParser.parse(input, eventHandler);
    } catch (UnsupportedExternalEntityException e) {
      alertSetBuilder.add(new UnsupportedExternalEntityError(
                              e.getSourcePosition(), e.getEntity()));
    }

    return new ParseTree(new SourcePosition(input), alertSetBuilder.buildAndClear(),
                         eventHandler.getParsedRoots());
  }
View Full Code Here

    this.schemaFactory = Preconditions.checkNotNull(schemaFactory);
    this.className = Preconditions.checkNotNull(className);
  }

  public ReparentedTree apply(IfExpandedTree parseTree) {
    AlertSetBuilder alertSetBuilder = new AlertSetBuilder(parseTree.getAlerts());

    // make sure root element is a template
    List<ParsedElement> children = parseTree.getChildren();
    if (!children.isEmpty()) {
      ParsedElement first = children.get(0);
      if (!first.canBeRoot()) {
        alertSetBuilder.add(new InvalidRootError(first));
      } else {
        // determine the schema of this gxp
        String contentType = DEFAULT_CONTENT_TYPE;
        for (ParsedAttribute attr : first.getAttributes()) {
          if (attr.getName().equals("content-type")
              && attr.getNamespace() == NullNamespace.INSTANCE) {
            contentType = attr.getValue();
          }
        }
        rootSchema = schemaFactory.fromContentTypeName(contentType);
      }
    }

    Iterable<ParsedAttribute> noAttrs = Collections.emptyList();
    Parts parts = groupParts(alertSetBuilder, parseTree, noAttrs, children);

    // Throw out all but the first Root. The parse phase should have
    // already complained about there being too many roots.
    List<Root> roots = parts.getRoots();
    Root root = roots.isEmpty()
        ? new NullRoot(parseTree, TemplateName.parseFullyQualifiedDottedName(className))
        : roots.get(0);
    return new ReparentedTree(parseTree.getSourcePosition(),
                              alertSetBuilder.buildAndClear(),
                              root);
  }
View Full Code Here

  protected void assertAdditionalAlerts() {
    // this function is intentionally empty
  }

  protected AlertSink createAlertSink() {
    alertSetBuilder = new AlertSetBuilder();
    return alertSetBuilder;
  }
View Full Code Here

TOP

Related Classes of com.google.gxp.compiler.alerts.AlertSetBuilder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.