Ejemplo n.º 1
0
 public void setColumnNamesPattern(Sheet sheet) {
   sbColumnNames = new StringBuilder();
   for (Column c : sheet.getColumns()) {
     sbColumnNames.append("P\\{" + c.getName() + "\\}" + "|I\\{" + c.getName() + "\\}" + "|");
   }
   sbColumnNames.delete(sbColumnNames.length() - 1, sbColumnNames.length());
   System.out.println(sbColumnNames.toString());
 }
Ejemplo n.º 2
0
 @Override
 public void bracketEvent(String content) {
   System.out.println(content);
   Column c = sheet.getColumnByName(content);
   if (c != null) {
     c.setIgnore(false);
     System.out.println("yes");
     if (sbColumnNames == null) {
       setColumnNamesPattern(sheet);
     }
     paneSyntax.highlightPattern(sbColumnNames.toString());
     table.repaint();
   }
 }
Ejemplo n.º 3
0
  private String createStatements(boolean preview) {
    boolean insOnly = true;
    StringBuilder sbTotal = new StringBuilder();
    StringBuffer sbStatement = new StringBuffer();

    String rawText = new String(paneSyntax.getRawText());
    Pattern bracketPattern = Pattern.compile("P\\{.*?\\}|I\\{.*?\\}");

    Matcher matcher = bracketPattern.matcher(rawText);

    while (matcher.find()) {
      String s = matcher.group(0);
      if (matcher.group(0).charAt(0) == 'P') {
        insOnly = false;
      }
      s = s.substring(1, s.length() - 1);
    }

    int iRows = sheet.getRowCount() - 1;
    int iCol = sheet.getColCount();

    StringBuilder sbStmt = new StringBuilder();
    StringBuilder sbWhere = new StringBuilder();
    StringBuilder sbSet = new StringBuilder();
    List<String> listWheres = new ArrayList<String>();
    List<String> listSets = new ArrayList<String>();

    Row currRow;
    if (!insOnly) {
      for (int i = 0; i < (preview ? 1 : iRows); i++) {
        matcher.reset();
        sbStatement.setLength(0);
        while (matcher.find()) {
          String s = matcher.group(0);
          s = s.substring(2, s.length() - 1);
          Column c = sheet.getColumnByName(s);
          if (c != null) {
            matcher.appendReplacement(sbStatement, "");
            sbStatement.append(c.getValueAsString(i));
          }
        }
        matcher.appendTail(sbStatement);
        System.out.println(sbStatement.toString());
        sbTotal.append(sbStatement.toString() + "\n");
      }
      return sbTotal.toString();
    } else {
      sbTotal.setLength(0);

      matcher.reset();
      sbStatement.setLength(0);
      while (matcher.find()) {
        String s = matcher.group(0);
        matcher.appendReplacement(sbStatement, "");
        if (s.charAt(0) == 'I') {
          s = s.substring(2, s.length() - 1);
          Column c = sheet.getColumnByName(s);
          if (c != null) {
            sbStatement.append("(");
            for (int i = 0; i < sheet.getRowCount() - 1; i++) {

              sbStatement.append(c.getValueAsString(i) + ", ");
            }

            sbStatement.delete(sbStatement.length() - 2, sbStatement.length());
            sbStatement.append(")");
          }
        }
      }
      matcher.appendTail(sbStatement);

      return sbStatement.toString();
    }
  }