С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,242

Rational Team Concert in Java

03.02.2015, 13:34. Показов 960. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, используя Rational Team Concert в эклипсе, необходимо составлять отчет об успехах команды, само собой ручками каждый раз это делать не удобно да и не хочется, подскажите, может есть какой API для работы с отчетами ? или есть какой пример автоматизации составления отчетов такого рода ? ссылки приветствуются

Добавлено через 40 минут
я нашел не большой пример, но там их библиотеки не хотят подключаться
библиотеки

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import com.ibm.icu.util.StringTokenizer;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
import com.ibm.team.repository.common.IChangeEvent;
import com.ibm.team.repository.common.IExtensibleItem;
import com.ibm.team.repository.common.IItemType;
import com.ibm.team.repository.common.TeamRepositoryException;
import com.ibm.team.repository.common.UUID;
import com.ibm.team.repository.common.model.query.BaseChangeEventQueryModel.ChangeEventQueryModel;
import com.ibm.team.repository.common.query.IDataQuery;
import com.ibm.team.repository.common.query.IItemQuery;
import com.ibm.team.repository.common.query.ast.IDynamicQueryModel;
import com.ibm.team.repository.common.query.ast.IItemQueryModel;
import com.ibm.team.repository.common.query.ast.IPredicate;
import com.ibm.team.repository.common.service.IChangeEventService;
import com.ibm.team.repository.common.util.NLS;
import com.ibm.team.repository.service.async.AbstractAutoScheduledTask;
import com.ibm.team.process.common.IProjectArea;
import com.ibm.team.process.common.IProjectAreaHandle;
import com.ibm.team.workitem.common.IAuditableCommon;
import com.ibm.team.workitem.common.IQueryCommon;
import com.ibm.team.workitem.common.IWorkItemCommon;
import com.ibm.team.workitem.common.IWorkItemFeedConstants;
import com.ibm.team.workitem.common.expression.AttributeExpression;
import com.ibm.team.workitem.common.expression.IQueryableAttribute;
import com.ibm.team.workitem.common.expression.IQueryableAttributeFactory;
import com.ibm.team.workitem.common.expression.QueryableAttributes;
import com.ibm.team.workitem.common.expression.Term;
import com.ibm.team.workitem.common.expression.Term.Operator;
import com.ibm.team.workitem.common.internal.util.DataQueryIterator;
import com.ibm.team.workitem.common.internal.util.ItemQueryIterator;
import com.ibm.team.workitem.common.model.AttributeOperation;
import com.ibm.team.workitem.common.model.Duration;
import com.ibm.team.workitem.common.model.DurationFormat;
import com.ibm.team.workitem.common.model.IAttribute;
import com.ibm.team.workitem.common.model.IWorkItem;
import com.ibm.team.workitem.common.model.ItemProfile;
import com.ibm.team.workitem.common.query.IQueryResult;
import com.ibm.team.workitem.common.query.IResolvedResult;
import com.ibm.team.workitem.common.text.WorkItemTextUtilities;
import com.ibm.team.workitem.service.IAuditableServer;
import com.ibm.team.workitem.service.IQueryServer;
import com.ibm.team.workitem.service.IWorkItemServer;
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.02.2015, 13:34
Ответы с готовыми решениями:

Java Developer 2000$ - 2500$/ java team lead 2500-3000$
Java Developer 2000$ - 2500$/ java team lead 2500-3000$ Город: Москва Требования:

Java Team Lead (архитектор)
Требования: • Java/J2EE разработка и проектирование, уверенное владение: o Core, o Util, o Threads/synchronization, o JDBC, ...

Java Team Lead (архитектор)
Требования: • Java/J2EE разработка и проектирование, уверенное владение: o Core, o Util, o Threads/synchronization, o JDBC, ...

3
31 / 31 / 34
Регистрация: 22.08.2014
Сообщений: 108
03.02.2015, 16:27
Добрый день!
Что значит не хотят? Подцепите сами тогда. Если используется maven для сборки, тогда, поищите из какого репозитория можно их загрузить, иначе добавляйте вручную.
http://stackoverflow.com/quest... va-library
0
102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,242
04.02.2015, 11:12  [ТС]
DanilArefyev, maven не использую, и если добавлять их в ручную, то их надо откуда-то слить ?

Добавлено через 42 минуты
c jar я разобрался, и написал код для подключения к TeamRepository, а вот как дальше строить отчеты я не знаю, может кто подсказать ?
0
102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,242
05.02.2015, 14:50  [ТС]
в результате работы у меня получилось 2 варианта, как получить необходимые данные:
1 - предпологает состовления запроса и получения результата выполнения кода с помощью кода в Java, но тут не понятно как правильно сделать фильтр (какое-то условие выборки надо вставить в predicate)
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
public class Task {
 
    private static class LoginHandler implements ILoginHandler, ILoginInfo {
            
            private String fUserId;
            private String fPassword;
            
            private LoginHandler(String userId, String password) {
                fUserId= userId;
                fPassword= password;
            }
            
            public String getUserId() {
                return fUserId;
            }
            
            public String getPassword() {
                return fPassword;
            }
            
            public ILoginInfo challenge(ITeamRepository repository) {
                return this;
            }
        }
    
    public static void main(String[] args) {
        String repositoryURI = "";
        String userId = "";
        String password = "";
        IProgressMonitor monitor = new NullProgressMonitor(); 
        try{
            TeamPlatform.startup();
            ITeamRepository repository = login(repositoryURI, userId, password, monitor);
            ITeamBuildClient buildClient = (ITeamBuildClient) repository.getClientLibrary(ITeamBuildClient.class);
            IBuildDefinition definition = buildClient.getBuildDefinition("my.build.id", monitor);
            IBuildResultQueryModel buildResultQueryModel = IBuildResultQueryModel.ROOT;
            IItemQuery query = IItemQuery.FACTORY.newInstance(buildResultQueryModel);
            IPredicate predicate = null;
            query.filter(predicate);
            IItemQueryPage queryPage = buildClient.queryItems(query, new Object[] { definition.getItemId() },
                    IQueryService.ITEM_QUERY_MAX_PAGE_SIZE, monitor);
            while (queryPage.hasNext()) {
                queryPage = (IItemQueryPage) buildClient.fetchPage(queryPage.getToken(), queryPage.getNextStartPosition(), 1, monitor);
                System.out.println(queryPage.toString());
            }
        } catch (TeamRepositoryException e) {
            e.printStackTrace();
        }
        finally{
            TeamPlatform.shutdown();
        }
    }
    
 
    private static ITeamRepository login(String repositoryURI, String userId, String password, IProgressMonitor monitor) throws TeamRepositoryException {
        ITeamRepository teamRepository= TeamPlatform.getTeamRepositoryService().getTeamRepository(repositoryURI);
        teamRepository.registerLoginHandler(new LoginHandler(userId, password));
        teamRepository.login(monitor);
        return teamRepository;
    }
}

2 - код предпологает загрузку готового запроса с RTC и исполнение этого запроса, тут проблема в том, что почему-то не получается инициализировать profile, а также я не знаю как правильно инициализировать переменную projectArea
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
public class Task {
 
    public static void main(String[] args) {
        String repositoryURI = "";
        String userId = "";
        String password = "";
        IProgressMonitor monitor = new NullProgressMonitor(); 
        try{
            TeamPlatform.startup();
            ITeamRepository repository = login(repositoryURI, userId, password, monitor);
            IQueryDescriptor query = findPersonalQuery(projectArea, "", monitor); //need name
            IWorkItemClient workItemClient = (IWorkItemClient) repository.getClientLibrary(IWorkItemClient.class);
            IQueryClient queryClient = workItemClient.getQueryClient();
            IQueryResult unresolvedResults = (IQueryResult) queryClient.getQueryResults(query);
            ItemProfile loadProfile = IWorkItem.SMALL_PROFILE;
            processUnresolvedResults(projectArea, unresolvedResults, loadProfile, monitor);
        } catch (TeamRepositoryException e) {
            e.printStackTrace();
        } finally{
            TeamPlatform.shutdown();
        }
    }
        
    private static ITeamRepository login(String repositoryURI, String userId, String password, IProgressMonitor monitor) throws TeamRepositoryException {
        ITeamRepository teamRepository= TeamPlatform.getTeamRepositoryService().getTeamRepository(repositoryURI);
        teamRepository.registerLoginHandler(new LoginHandler(userId, password));
        teamRepository.login(monitor);
        return teamRepository;
    }
    
    public static IQueryDescriptor findPersonalQuery(IProjectArea projectArea, 
            String queryName, IProgressMonitor monitor)
            throws TeamRepositoryException {
        ITeamRepository teamRepository = (ITeamRepository)projectArea.getOrigin();
        IWorkItemClient workItemClient = (IWorkItemClient) teamRepository.getClientLibrary(
            IWorkItemClient.class);
        IQueryClient queryClient = workItemClient.getQueryClient();
        IContributor loggedIn = teamRepository.loggedInContributor();
        IQueryDescriptor queryToRun = null;
        List queries = (List) queryClient.findPersonalQueries(
            projectArea.getProjectArea(), loggedIn,
            QueryTypes.WORK_ITEM_QUERY,
            IQueryDescriptor.FULL_PROFILE, monitor);
        for (Iterator iterator = ((java.util.List<IQueryDescriptor>) queries).iterator(); iterator.hasNext();) {
            IQueryDescriptor iQueryDescriptor = (IQueryDescriptor) iterator.next();
            if (iQueryDescriptor.getName().equals(queryName)) {
                queryToRun = iQueryDescriptor;
                break;
            }
        }
        return queryToRun;
    }
    
    public static void processUnresolvedResults(IProjectArea projectArea , IQueryResult results,
            ItemProfile profile, IProgressMonitor monitor)
            throws TeamRepositoryException {
        // Get the required client libraries
        ITeamRepository teamRepository = (ITeamRepository)projectArea.getOrigin();
        IWorkItemClient workItemClient = (IWorkItemClient) teamRepository.getClientLibrary(IWorkItemClient.class);
        IAuditableCommon auditableCommon = (IAuditableCommon) teamRepository.getClientLibrary(IAuditableCommon.class);
        long processed = 0;
        while (results.hasNext()) {
            IResult result = (IResult) ((com.ibm.team.workitem.common.query.IQueryResult<IResult>) results).next(monitor);
            IWorkItem workItem = auditableCommon.resolveAuditable(
                (IAuditableHandle) result.getItem(), profile, monitor);
            System.out.println(workItem.toString());
            processed++;
        }
        System.out.println("Processedlts: " + processed);
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.02.2015, 14:50
Помогаю со студенческими работами здесь

Java Team Lead (архитектор)
Требования: • Java/J2EE разработка и проектирование, уверенное владение: o Core, o Util, o Threads/synchronization, o JDBC, ...

Java Team Lead (архитектор)
Требования: • Java/J2EE разработка и проектирование, уверенное владение: o Core, o Util, o Threads/synchronization, o JDBC, ...

Java Team Lead, Спб, от 120т.р
Обязанности: Формирование команды или команд разработки. Управление командой: координация, мотивация, обучение, обратная...

Java Team Lead. Киев. з/п до $2000
Украинскому филиалу иностранной компании СРОЧНО требуется на работу программист Java + XML/XSLT.Обязателен опыт работы с XML в DOM-модели,...

Ищем крутых Java Team Lid!
Ищем двух крутых Java team lead! Одна ставка в российской команде (Нижний Новгород), вторая в Таллине. Разработка бизнес-приложений на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru