Package net.asfun.jangod.parse

Examples of net.asfun.jangod.parse.ParseException


  public MacroNode(MacroToken token) throws ParseException{
    super();
    master = token;
    Macro macro = MacroLibrary.getMacro(master.getMacroName());
    if ( macro == null ) {
      throw new ParseException("Can't find macro >>> " + master.getMacroName());
    }
    endName = macro.getEndMacroName();
  }
View Full Code Here


  public TagNode(TagToken token) throws ParseException{
    super();
    master = token;
    Tag tag = TagLibrary.getTag(master.getTagName());
    if ( tag == null ) {
      throw new ParseException("Can't find tag >>> " + master.getTagName());
    }
    endName = tag.getEndTagName();
  }
View Full Code Here

  @Override
  public void refactor(Node current, String helpers, TreeRebuilder rebuilder) throws ParseException {
    String[] helper = new HelperStringTokenizer(helpers).allTokens();
    if( helper.length != 1) {
      throw new ParseException("Macro 'include' expects 1 helper >>> " + helper.length);
    }
    String templateFile = rebuilder.resolveString(helper[0]);
    try {
      String fullName = ResourceManager.getFullName(templateFile,
          rebuilder.getWorkspace(), rebuilder.getConfiguration().getWorkspace());
      //TODO STOP LOOP INCLUDE
      Node includeRoot = TreeParser.parser( new TokenParser( ResourceManager.getResource(
          fullName, rebuilder.getConfiguration().getEncoding())));
     
//      includeRoot.replaceWithChildren(current);
      rebuilder.nodeReplace(current, includeRoot.children());
    } catch (IOException e) {
      throw new ParseException(e.getMessage());
    }
  }
View Full Code Here

      throws ParseException {
    //helpers like  name  arg2=val2,arg3=var3
    String name = "";// TODO get from helpers;
    Node defineNode = rebuilder.fetchNode(MacroMacro.MACRO_NAME_PREFIX + name);
    if ( defineNode == null ) {
      throw new ParseException("Call a macro didn't define yet >>> " + name);
    }
    String[] args = new String[]{};// TODO resolve from macro's helpers
    String[] vals = new String[]{};// TODO resolve from helpers and macro's helpers
    for (int i=0; i<args.length; i++ ) {
      TagNode tn = new TagNode(new TagToken("{%set "+args[i] + " " + vals[i] + " just %}"));
View Full Code Here

  @Override
  public void refactor(Node current, String helpers, TreeRebuilder rebuilder)
      throws ParseException {
    String[] helper = new HelperStringTokenizer(helpers).allTokens();
    if( helper.length != 1) {
      throw new ParseException("Macro 'block' expects 1 helper >>> " + helper.length);
    }
    String blockName = rebuilder.resolveString(helper[0]);
    //if is parent
    if ( rebuilder.parent == null ) {
      rebuilder.assignNode(BLK_NAME_PREFIX + blockName, current);
    } else {
      Node parentBlock = rebuilder.fetchNode(BLK_NAME_PREFIX + blockName);
      if ( parentBlock == null ) {
        throw new ParseException("Dosen't define block in extends parent with name >>> " + blockName);
      }
//      current.replaceWithChildren(parentBlock);
      rebuilder.nodeReplace(parentBlock, current.children());
    }
  }
View Full Code Here

  @Override
  public void refactor(Node current, String helpers, TreeRebuilder rebuilder)
      throws ParseException {
    String[] helper = new HelperStringTokenizer(helpers).allTokens();
    if( helper.length != 1) {
      throw new ParseException("Macro 'extends' expects 1 helper >>> " + helper.length);
    }
    String templateFile = rebuilder.resolveString(helper[0]);
    try {
      String fullName = ResourceManager.getFullName(templateFile,
          rebuilder.getWorkspace(), rebuilder.getConfiguration().getWorkspace());
      //TODO STOP LOOP EXTENDS
      Node extendsRoot = TreeParser.parser( new TokenParser( ResourceManager.getResource(
          fullName, rebuilder.getConfiguration().getEncoding())));
      extendsRoot = rebuilder.derive().refactor(extendsRoot);
     
      rebuilder.parent = extendsRoot;
      rebuilder.nodeRemove(current);
    } catch (IOException e) {
      throw new ParseException(e.getMessage());
    }
  }
View Full Code Here

TOP

Related Classes of net.asfun.jangod.parse.ParseException

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.