В настоящее время я придерживаюсь очень простой, но запутанной проблемы при использовании StringTokenizer. То, что я пытаюсь добиться ниже:Условно добавление строки в StringTokenizer
У меня есть URL-строки, как:
http://xxx:port/jira/rest/api/2/search?jql=project='TP' AND
(status='Ready for INT Deployment' or status = 'Ready for UAT Deployment')
Выше базовая строка. Теперь я хочу, чтобы динамически добавлять больше параметров запроса к вышеуказанному URL, как показано ниже:
"AND (key=NN-1234 OR key=NN-4321 OR key=NN-65343.....)"
Вот мой код:
private String getPartialIssueList() {
String listFromProperties = getPropertyValue("propagateList");
StringTokenizer token = new StringTokenizer(listFromProperties, ",");
StringBuilder partialListString = new StringBuilder();
partialListString.append(" AND key=");
while (token.hasMoreElements()) {
partialListString.append(token.nextElement() + " OR key=" + token.nextElement());
}
return partialListString.toString();
}
Каким-то образом это работает только если у меня есть 2 входа. Я хочу, чтобы после базового URL-кода добавлялся «AND» с последующим открытием скобок »(« а затем key = «значение из свойств», значение 2 из свойств, значение 3 из свойств, а затем закрытие скобки »)». Независимо от количества идентификаторов JIRA, которые у меня есть в файле свойств, он должен продолжать добавлять «OR key = NN-5432 OR key =« NN-9875 »и т. Д.
Это результат, который я ищу:
http://xxx:port/jira/rest/api/2/search?jql=project='TP' AND
(status='Ready for INT Deployment' or status = 'Ready for UAT Deployment') AND
(key=NN-09876 OR key=NN-09873 OR key=NN-09376 OR key=NN-02876)
в настоящее время значения для propagateList в файле свойств
propagateList="NN-09876","NN-65432","NN-65430"
Может кто-то пожалуйста, помогите на это?
Работал отлично для меня, большое вам спасибо. Мне не хватало удаления последнего ИЛИ. Ваша помощь работала как шарм! – YogendraJ