Skip to content

Commit

Permalink
updated according to codeclimate 2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
anasasiia committed Jun 19, 2023
1 parent a9bc763 commit d7a37e9
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 44 deletions.
7 changes: 1 addition & 6 deletions src/main/java/org/example/ToGetFrom.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,10 @@ public static List<Source> run(String[] arg) {
List<Source> fromSources = new ArrayList<>();
List<Integer> indexOfComma = Utils.findIndexesOfComma(arg);

if (arg.length == 2) {
indexOfComma.add(arg.length - 1);
} else {
indexOfComma.add(arg.length);
}

int start = 0;
for (Integer stop: indexOfComma) {
Source source = new Source();

if (!arg[start + 1].equals("(")) {
if (stop - (start + 1) == 2) {
source.setAlias(arg[start + 2]);
Expand Down
29 changes: 16 additions & 13 deletions src/main/java/org/example/ToGetWhere.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,19 +24,7 @@ public static List<WhereClause> run(String[] arg) {
for (Integer stop : indexOfAnd) {
WhereClause whereClause = new WhereClause();
whereClause.setObject(arg[start + 1]);

List<String> clauses = new ArrayList<>();

if (arg[start + 2].equals("NOT")) {
String clause = arg[start + 2] + " " + arg[start + 3];
clauses.add(clause);
} else if (arg[start + 2].equals("BETWEEN")) {
clauses.add(arg[start + 2]);
clauses.add(arg[start + 4]);
} else {
clauses.add(arg[start + 2]);
}
whereClause.setClause(clauses);
setClauses(whereClause, arg, start);

List<String> values = new ArrayList<>();
for (int j = start + 3; j < stop; j++) {
Expand All @@ -52,6 +40,21 @@ public static List<WhereClause> run(String[] arg) {
return whereClauses;
}

private static void setClauses(WhereClause whereClause, String[] arg, int start) {
List<String> clauses = new ArrayList<>();

if (arg[start + 2].equals("NOT")) {
String clause = arg[start + 2] + " " + arg[start + 3];
clauses.add(clause);
} else if (arg[start + 2].equals("BETWEEN")) {
clauses.add(arg[start + 2]);
clauses.add(arg[start + 4]);
} else {
clauses.add(arg[start + 2]);
}
whereClause.setClause(clauses);
}

public static List<String> getNonValues() {
return nonValues;
}
Expand Down
54 changes: 29 additions & 25 deletions src/main/java/org/example/ToSelect.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,38 +17,42 @@ public static List<Column> run(String[] arg) {
int start = 0;

for (Integer stop : indexOfComma) {
Column column = new Column();
String alias = null;
Map<String, String> tableAndColumnName = new HashMap<>();

int indexOfOpenBracket = Utils.findIndexOfSymbol(arg, start, stop, "(");

if (stop - (start + 1) == 3) {
alias = arg[start + 3];
tableAndColumnName.put(arg[start + 1], "");
}

if (stop - start == 2 || indexOfOpenBracket - start > 1) {
int delimiterIndex = Utils.findIndexOfSymbolInString(arg, start + 1, List.of(".", "_"));

if (delimiterIndex == -1) {
tableAndColumnName.put(arg[start + 1], "");
} else {
tableAndColumnName.put(arg[start + 1].substring(delimiterIndex + 1),
arg[start + 1].substring(0, delimiterIndex));
}
}
column.setAlias(alias);
column.setTableAndColumnName(tableAndColumnName);
columns.add(column);
Column column1 = setColumn(arg, start, stop, indexOfOpenBracket);
columns.add(column1);

if (stop - (start + 1) > 3 || arg[start + 1].equals("(")) {
Column column1 = (Column) Utils.prepareColumnSourceWithNestedQuery(arg, indexOfOpenBracket, arg.length);
columns.add(column1);
Column column2 = (Column) Utils.prepareColumnSourceWithNestedQuery(arg, indexOfOpenBracket, arg.length);
columns.add(column2);
break;
}
start = stop;
}
return columns;
}

private static Column setColumn(String[] arg, int start, int stop, int indexOfOpenBracket) {
Column column = new Column();
String alias = null;
Map<String, String> tableAndColumnName = new HashMap<>();

if (stop - (start + 1) == 3) {
alias = arg[start + 3];
tableAndColumnName.put(arg[start + 1], "");
}

if (stop - start == 2 || indexOfOpenBracket - start > 1) {
int delimiterIndex = Utils.findIndexOfSymbolInString(arg, start + 1, List.of(".", "_"));

if (delimiterIndex == -1) {
tableAndColumnName.put(arg[start + 1], "");
} else {
tableAndColumnName.put(arg[start + 1].substring(delimiterIndex + 1),
arg[start + 1].substring(0, delimiterIndex));
}
}
column.setAlias(alias);
column.setTableAndColumnName(tableAndColumnName);
return column;
}
}
1 change: 1 addition & 0 deletions src/main/java/org/example/Utils.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ public static List<Integer> findIndexesOfComma(String[] arg) {
indexOfComma.add(i);
}
}
indexOfComma.add(arg.length);
return indexOfComma;
}

Expand Down

0 comments on commit d7a37e9

Please sign in to comment.