Package com.orange.wink.exception

Examples of com.orange.wink.exception.WinkParseException


    while (!end) {
      int ttype;
      try {
        ttype = st.nextToken();
      } catch (final IOException e) {
        throw new WinkParseException(e);
      }

      switch (ttype) {
      case StreamTokenizer.TT_EOF:
        end = true;
        break;
      case StreamTokenizer.TT_WORD:
        if (firstWord) {
          final String identifier = st.sval;
          final String ltName = lt.getNamespace().getLastName();
          if (identifier.indexOf(ltName) != -1) {
            lt.setCharStart(source.indexOf(identifier));
            firstWord = false;
            end = true;
          }
        }
        break;
      case StreamTokenizer.TT_NUMBER:
        break;
      default:
        break;
      }
    }

    final StringReader sr = new StringReader(source);
    int c;
    int la = 0;
    int ra = 0;
    int index = 0;
    boolean started = false;
    boolean endMarked = false;
    final StringBuffer afterBlockBuffer = new StringBuffer();

    try {
      final long ns = sr.skip(lt.getCharStart());
      index += ns;
      while ((c = sr.read()) != -1) {
        if (started && la == ra) {
          if (!endMarked) {
            lt.setCharEnd(index);
            endMarked = true;
          }

          afterBlockBuffer.append((char) c);
          if (c == ',' || c == ';') {
            if (afterBlockBuffer.toString().trim().length() == 1) {
              lt.setCharEnd(index + 1);
              break;
            } else {
              throw new WinkParseException("bad syntax : expected , or ; following } in " + lt.getNamespace());
            }
          }
        } else {
          if (c == '{') {
            la++;
            started = true;
          } else if (started && c == '}') {
            ra++;
          }
        }
        index++;
      }
    } catch (final IOException e) {
      throw new WinkParseException(e);
    }
  }
View Full Code Here


        return;
      }
      globalFunc = (FunctionObject) so;
    } catch (final WinkParseException e) {
      if (Constants.failOnUnresolvedNamespace) {
        throw new WinkParseException(ns + " not accessible in " + namespace + " - " + Ast.getPositionInfo(expr.getNode()), e);
      } else {
        System.err.println("WARN - " + ns + " not accessible in " + namespace + " - " + Ast.getPositionInfo(expr.getNode()) + " - " + e.getMessage());
        return;
      }
    }

    if (call instanceof DefineCall) {
      final Map<String, Namespace> argumentsMap = new HashMap<String, Namespace>();
      for (int i = 0; i < globalFunc.getParameters().size(); i++) {
        final String funcParam = globalFunc.getParameters().get(i);

        final Namespace nsc = new Namespace();
        nsc.addName(Constants.WINK_NAMESPACE);
        argumentsMap.put(funcParam, nsc);
      }

      final List<AstNode> childsGlobalFunc = globalFunc.getNode().getChilds();
      for (final AstNode cgf : childsGlobalFunc) {
        interpretCallSetProp(cgf, globalFunc, argumentsMap, true);
      }
    } else {
      if (globalFunc.getParameters().size() != call.getParameters().size()) {
        throw new WinkParseException("call arguments count does not match function parameter count [" + globalFunc + "]");
      }

      final Map<String, Namespace> argumentsMap = new HashMap<String, Namespace>();
      for (int i = 0; i < globalFunc.getParameters().size(); i++) {
        final String funcParam = globalFunc.getParameters().get(i);
View Full Code Here

        so.addComponent(name, soChild, this, ns);

        soChild.interpret();
      } catch (final WinkParseException e) {
        if (Constants.failOnUnresolvedNamespace) {
          throw new WinkParseException(spns + " not accessible in " + namespace + " - " + Ast.getPositionInfo(sp.getNode()), e);
        } else {
          System.err.println("WARN - " + spns + " not accessible in " + namespace + " - " + Ast.getPositionInfo(sp.getNode()) + " - " + e.getMessage());
        }
      }
    }
View Full Code Here

TOP

Related Classes of com.orange.wink.exception.WinkParseException

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.