Вывод соответствует условиям
package com.javarush.task.task22.task2208;
import java.util.Map;
/*
Формируем WHERE
*/
public class Solution {
public static void main(String[] args) {
String buffer = "{name=Ivanov, country=Ukraine, city=Kiev, age=null}";
String name, country, city, age;
StringBuilder sb = new StringBuilder("");
int start = buffer.indexOf("=");
int konec = buffer.indexOf(",");
name = buffer.substring(start+1,konec);
if (!name.equals("null")) sb= sb.append("name = '" + name + "'");
start = buffer.indexOf("=",start+1);
konec = buffer.indexOf(",",konec+1);
country = buffer.substring(start+1,konec);
if (!country.equals("null") ) {
if (!sb.toString().equals("")) sb = sb.append(" and ");
sb = sb.append("country = '" + country + "'");
}
start = buffer.indexOf("=",start+1);
konec = buffer.indexOf(",",konec+1);
city = buffer.substring(start+1,konec);
if (!city.equals("null") ) {
if (!sb.toString().equals("")) sb = sb.append(" and ");
sb = sb.append("city = '" + city + "'");
}
start = buffer.indexOf("=",start+1);
konec = buffer.indexOf("}",konec+1);
age = buffer.substring(start+1,konec);
if (!age.equals("null")) {
if (!sb.toString().equals("")) sb = sb.append(" and ");
sb = sb.append("age = '" + age + "'");
}
System.out.println(sb.toString());
}
public static String getQuery(Map<String, String> params) {
String buffer = params.toString();
String name, country, city, age;
StringBuilder sb = new StringBuilder("");
int start = buffer.indexOf("=");
int konec = buffer.indexOf(",");
name = buffer.substring(start+1,konec);
if (!name.equals("null")) sb= sb.append("name = '" + name + "'");
start = buffer.indexOf("=",start+1);
konec = buffer.indexOf(",",konec+1);
country = buffer.substring(start+1,konec);
if (!country.equals("null") ) {
if (!sb.toString().equals("")) sb = sb.append(" and ");
sb = sb.append("country = '" + country + "'");
}
start = buffer.indexOf("=",start+1);
konec = buffer.indexOf(",",konec+1);
city = buffer.substring(start+1,konec);
if (!city.equals("null") ) {
if (!sb.toString().equals("")) sb = sb.append(" and ");
sb = sb.append("city = '" + city + "'");
}
start = buffer.indexOf("=",start+1);
konec = buffer.indexOf("}",konec+1);
age = buffer.substring(start+1,konec);
if (!age.equals("null")) {
if (!sb.toString().equals("")) sb = sb.append(" and ");
sb = sb.append("age = '" + age + "'");
}
return sb.toString();
}
}