Ejemplo n.º 1
0
  public static StackParser getParser(ParserConfig config, String filter, boolean isInclude) {
    StackParser parser = null;
    if (filter != null) {
      if (isInclude) {
        parser = new FilterStackParser();
      } else {
        parser = new FilterExcludeStackParser();
      }
      parser.setFilter(filter);
    } else {
      String parserName = config.getParserName();
      if (parserName == null) {
        parser = new BasicFileStackParser();
      } else {
        if (parserName.indexOf(',') < 0) {
          parserName = "scouter.client.stack.data." + parserName;
        }

        try {
          @SuppressWarnings("rawtypes")
          Class cl = Class.forName(parserName);
          parser = (StackParser) cl.newInstance();
        } catch (Exception ex) {
          throw new RuntimeException(ex);
        }
      }
    }
    parser.setConfig(config);
    return parser;
  }