Не смог понять что не устраивает валидатор, сущности с null пропускаются + есть проверка если весь Map пустой
package com.javarush.task.task22.task2208;
import java.text.Format;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.StringJoiner;
/*
Формируем WHERE
*/
public class Solution {
public static void main(String[] args) {
Map<String, String> paramsMap = new LinkedHashMap<String,String>();
paramsMap.put("name", "Ivanov");
paramsMap.put("country", "Ukraine");
paramsMap.put("city", "Kiev");
paramsMap.put(null, "null");
paramsMap.put("null", null);
paramsMap.put(null, null);
paramsMap.put(null, null);
System.out.println(getQuery(paramsMap));
}
static StringBuilder result = new StringBuilder("");
static StringJoiner joiner = new StringJoiner(" and ");
public static String getQuery(Map<String, String> params) {
if(params == null) {
return "";
}
for (Map.Entry<String, String> entry : params.entrySet()) {
if (entry.getValue() != null) {
joiner.add(String.format("%s = '%s'", entry.getKey(), entry.getValue()));
}
}
return result.append(joiner.toString()).toString();
}
}