SOAP search task by alias

Обсуждаем TrackStudio по-русски

SOAP search task by alias

Postby lynx » Mon Nov 28, 2011 3:07 pm

Скажите пожалуйста, в каким случаях com.trackstudio.soap.service.task.Task.findTaskIdByQuickGo не будет искать по алиасам?
В нашей trackstudio наблюдается следующий use case:

#1 - описание "Project", alias "ALIAS"
#2 - описание "ALIAS", alias "AL"

findTaskIdByQuickGo при поиске "ALIAS" выдает #2. должен по идее выдать #1, но алиас пропускается и дальше видимо поиск по имени
findTaskIdByQuickGo при поиске "Project" выдает #1

на всякий случай проверил имя алиаса на пробелы и другие символы (мало ли :) ), т.о.:
String taskId = getTaskService().findTaskIdByQuickGo(sessionId, taskName);
TaskBean taskBean = getFindService().findTaskById(sessionId, taskId);
taskId = getTaskService().findTaskIdByQuickGo(sessionId, taskBean.getShortname());
taskBean = getFindService().findTaskById(sessionId, taskId);
-> Project -> #1 (getShortname выдает ALIAS) -> #2 (т.е. все равно поиск выдает не корректный результат)
lynx
 
Posts: 11
Joined: Wed Apr 06, 2011 5:50 pm

Re: SOAP search task by alias

Postby lynx » Mon Nov 28, 2011 3:26 pm

хотя видимо дело и не в soap, т.к. и обычный поиск через ui не работает как надо
lynx
 
Posts: 11
Joined: Wed Apr 06, 2011 5:50 pm

Re: SOAP search task by alias

Postby vic » Fri Dec 02, 2011 8:57 pm

AdapterManager.getInstance().getSecuredTaskAdapterManager().findTaskIdByQuickGo(sc, "ALIAS"); → находит #2
KernelManager.getTask().findTaskIdByQuickGo("ALIAS"); → находит #1

права на #2 у пользователя (чья сессия sc) есть, shortname у задачи пользователь видит
WTF?
vic
 
Posts: 229
Joined: Thu Apr 21, 2011 4:07 pm

Re: SOAP search task by alias

Postby Petr » Sat Dec 03, 2011 6:39 pm

все методоты где прописано Quick делают поиск по частичному совпадению. поэтому и такой результат.
TS Support
email: parsentev@yandex.ru
Petr
 
Posts: 1317
Joined: Wed Aug 12, 2009 4:38 pm

Re: SOAP search task by alias

Postby vic » Mon Dec 05, 2011 1:54 pm

Petr wrote:все методоты где прописано Quick делают поиск по частичному совпадению. поэтому и такой результат.

Да ну? Цитата из вашей документации по com.trackstudio.soap.service.task.Task.findTaskIdByQuickGo() :
«Возвращает ID задачи. Поиск идет вначале по номеру, потом по алиасу, потом по названию, если задача не найдена, то возвращается null»

Но главное, почему одноименные методы у классов возвращают разные результаты? Насколько я понимаю, отличие Secured… лишь в проверке прав доступа.
vic
 
Posts: 229
Joined: Thu Apr 21, 2011 4:07 pm

Re: SOAP search task by alias

Postby Petr » Mon Dec 05, 2011 4:44 pm

да тут я ошибся.
TS Support
email: parsentev@yandex.ru
Petr
 
Posts: 1317
Joined: Wed Aug 12, 2009 4:38 pm

Re: SOAP search task by alias

Postby vic » Wed Dec 07, 2011 1:58 pm

Так где проблема? И будет ли она исправлена?
vic
 
Posts: 229
Joined: Thu Apr 21, 2011 4:07 pm

Re: SOAP search task by alias

Postby Petr » Wed Dec 07, 2011 2:39 pm

я проверил
String res1 = AdapterManager.getInstance().getSecuredTaskAdapterManager().findTaskIdByQuickGo(sc, "ALIAS");
String res2 = KernelManager.getTask().findTaskIdByQuickGo("ALIAS");
System.out.println(res1 + " " + res2);
String res3 = AdapterManager.getInstance().getSecuredTaskAdapterManager().findTaskIdByQuickGo(sc, "AL");
String res4 = KernelManager.getTask().findTaskIdByQuickGo("AL");
System.out.println(res3 + " " + res4);

вывод
1 1
4028808a192e43e801192e4dc70f013a 4028808a192e43e801192e4dc70f013a

то есть все работает корректно.
TS Support
email: parsentev@yandex.ru
Petr
 
Posts: 1317
Joined: Wed Aug 12, 2009 4:38 pm

Re: SOAP search task by alias

Postby vic » Wed Dec 07, 2011 6:50 pm

Небольшое лирическое отступление:
Я три года работал в техподдержке хостинговой компании, и сталкивался с разными клиентами, и адекватными, и нет. Но у всех клиентов есть одно общее ­— просто так, от нечего делать, никто в техподдержку не пишет (исключая всякие поздравления с праздниками). Если клиент пишет о проблеме → значит проблема у него действительно есть. И перед тем, как сказать «у нас в нашем вакууме все хорошо», надо приложить некоторые усилия, чтобы проверить сказанное, и постараться помочь.
Но это я так, небольшой совет, помогающий зарабатывать лояльность клиентов.

Прилагаю тестовую конфигурацию.
В ней есть одна таска с алиасом «ALIAS», и некоторое кол-во тасок с именем «ALIAS». Да, вы знаете, пришлось создать несколько, чтобы повторить проблему. Вместо того, чтобы проверить на двух тасках и успокоиться.

В этой конфигурации (я проверял из темплейта, не знаю, входят темплейты в xml или нет) код
Code: Select all
<@std.script>
import com.trackstudio.app.adapter.AdapterManager;
import com.trackstudio.kernel.manager.KernelManager;
import com.trackstudio.secured.SecuredTaskBean;

String id1 = AdapterManager.getInstance().getSecuredTaskAdapterManager().findTaskIdByQuickGo(sc, "ALIAS");
String id2 = KernelManager.getTask().findTaskIdByQuickGo("ALIAS");

SecuredTaskBean t1 = new SecuredTaskBean(id1, sc);
SecuredTaskBean t2 = new SecuredTaskBean(id2, sc);

return t1.getName() + " #" + t1.getNumber() + "\n<br>\n" + t2.getName() + " #" + t2.getNumber();
</@>

выводит
Code: Select all
ALIAS #134
asdasd #140
Attachments
tsaliasbug.zip
TS alias bug
(45.01 KiB) Downloaded 68 times
vic
 
Posts: 229
Joined: Thu Apr 21, 2011 4:07 pm

Re: SOAP search task by alias

Postby Petr » Thu Dec 08, 2011 1:02 pm

AdapterManager.getInstance().getSecuredTaskAdapterManager().findTaskIdByQuickGo(sc, "ALIAS"); - это метод ищет кешу то есть перебирает задач и проверяет по очереди номер. алиас и имя.
KernelManager.getTask().findTaskIdByQuickGo("ALIAS"); - это метод ищет по базе сначало проверяет все задачи по номеру потом по алиас и имени.

у меня не повторилось потому что я не назвал задачи так же как и алиас.
если вам нужно поиск только по aliac используйте это метод KernelManager.getTask().findByShortName(quick_go)
в soap такой метод вызвать нельзя.
TS Support
email: parsentev@yandex.ru
Petr
 
Posts: 1317
Joined: Wed Aug 12, 2009 4:38 pm

Next

Return to TrackStudio Support [Russian]

Who is online

Users browsing this forum: No registered users and 0 guests

cron