Як попередньо заповнити поля створення OSLC-ресурсу в IBM Rational Change

Базова специфікація Open Services for Lifecycle Collaboration (OSLC) стверджує, що постачальники сервісів можуть підтримувати прийом запиту POST, що містить визначення ресурсу запиту на зміну для URI діалогу створення ресурсу. Він витягає URI вбудованої сторінки, яка буде використовуватися. Ніраджа Вішванатхапура надає приклад вихідного коду, який демонструє попереднє заповнення діалогу створення ресурсу.

Open Services for Lifecycle Collaboration (OSLC) являє собою набір стандартів або правил надання інструментальними засобами розробки ПЗ своїх сервісів і спільного використання своїх даних з іншими інструментальними засобами.


Якщо інструментальний засіб розробки надає сервіс через OSLC-інтерфейс, його називають OSLC-постачальником. Інструментальний засіб, що надає інтерфейс для використання сервісів, називається споживачем. Специфікації OSLC визначають правила поведінки OSLC-постачальника і споживача. Одна з цих специфікацій описує попереднє заповнення діалогових вікон створення ресурсів.


Наприклад, IBM Rational Change 5.3 виступає як OSLC-постачальник, надаючи безліч сервісів. Одним з таких сервісів є створення запитів на зміну через OSLC-інтерфейс. IBM Rational Quality Manager 3.0 може використовувати (споживати) цей сервіс, пов’язуючи запит на зміну з контрольним тестом.


Для інтеграції будь-яких інструментальних засобів розробки ПЗ в OSLC-режимі засіб, що є постачальником, повинна зареєструватися у споживача, щоб дві програми могли виконати обмін даними, і навпаки. У нашому прикладі Rational Quality Manager реєструє Rational Change як постачальника OSLC-сервісів, а Rational Change підтверджує реєстрацію. Після OSLC-інтеграції цих інструментальних засобів OSLC-споживач може використовувати сервіси, що надаються постачальником. Отже, тепер Rational Quality Manager може створювати і споживати запити на зміну в Rational Change і зв’язувати їх з кожним зі своїх контрольних тестів. Для створення або вибору існуючого запиту на зміну Rational Change повинен надати діалогове вікно, в якому споживачі зможуть створювати або вибирати необхідний ресурс. У OSLC є інша специфікація, звана Delegated UI, згідно з якою постачальник повинен надавати інтерфейс для створення і вибору ресурсів користувачем.


При кожному створенні споживачем запиту на зміну через свого постачальника споживач повинен заповнити всі поля в інтерфейсі створення ресурсу. Розробники можуть захотіти попередньо заповнити деякі поля постачальника в діалоговому вікні створення ресурсу, щоб не потрібно було кожен раз вводити значення, чи додати щось до наявного значенням. Базова OSLC-специфікація визначає для постачальників таке поведінку за попередньою заповнення діалогових вікон створення ресурсів. Rational Change реалізує цю специфікацію, дозволяючи попередньо заповнювати діалогові вікна створення запиту на зміну.

Приклад попереднього заповнення діалогового вікна створення ресурсу


Для попереднього заповнення діалогового вікна створення ресурсу OSLC-споживач повинен відправити свої дані в запиті POST по URI діалогового вікна. Постачальник повинен відповісти станом 201 (Created – Створений) з заголовком відповіді Location і значенням, яке є URI запиту щойно створеної форми.


Постачальники сервісів можуть не зберігати форму створення ресурсу. Отже, метод GET по цим тимчасовим URI відповіді може повернути результат пізніше з кодами стану 404 (Not found – не знайдено) або 3xx (Redirect – перенаправлення).


Наведений нижче фрагмент коду відправляє запит POST в діалогове вікно створення ресурсу в Rational Change для попереднього заповнення атрибуту Summary. Після отримання відповіді від постачальника код виводить розташування реального попередньо заповненого діалогового вікна створення ресурсу.


Приклад коду попереднього заповнення діалогового вікна створення ресурсу в Rational Change




/ / Імпорт необхідних класів для створення запиту POST
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.StringRequestEntity;
/*** Цей клас буде відправляти запит POST OSLC-постачальнику в діалогове вікно * Створення ресурсу для попереднього заповнення діалогового вікна, а з * Вбудованого відповіді він виведе розташування реального попередньо * Заповненого діалогового вікна створення ресурсу.
*/
public class PostToPreFillDialog
{
/*** Попереднє заповнення атрибуту Summary в діалоговому вікні створення ресурсу
*/
public static void postData(String url)
{
PostMethod post = new PostMethod(url);
try {
post.setRequestHeader(“Content-Type”, “application/x-oslc-cm-change-request+xml”);/ / Створити дані, які потрібно відправити в діалогове вікно створення ресурсу. / / Вони повинні бути в форматі, встановленому вище в “Content-Type”. / / Містить імена і значення атрибутів для заповнення./ / Я додала атрибут Summary і його значення.
String data = “<oslc_cm:ChangeRequest xmlns:dcterms=http://purl.org/dc/terms/
xmlns:foaf=http://xmlns.com/foaf/0.1/
xmlns:oslc=http://open-services.net/ns/core#
xmlns:oslc_cm=http://open-services.net/xmlns/cm/1.0/
xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#>
<Summary>This is my synopsis!</Summary>
</oslc_cm:ChangeRequest>”;
StringRequestEntity requestEntity = new StringRequestEntity(data);
post.setRequestEntity(requestEntity);
/ / Вказати облікові дані користувача в заголовку запиту. / / Rational Changeожідает, що це буде встановлено в спеціальному cookie-файлі. / / Цю інформацію можна отримати з cookie-файлу браузера.
post.setRequestHeader(“Cookie”, “JSESSIONID=16rzss8fdtk3b;
ChangeLoginCookie_8080_context=
user1%7c%5c%5myserver%5database%5testdb%7ccentral%7c
User%7ctrue”);
/ / Відправити запит POST
HttpClient httpclient = new HttpClient();
int result = httpclient.executeMethod(post);
/ / Тема відповіді містить розташування попередньо заповненого діалогу,
System.out.print(post.getResponseHeader(“Location”));
}
catch (HttpException e) { e.printStackTrace(); }
catch (IOException e) { e.printStackTrace(); }
finally { post.releaseConnection(); }
}
public static void main(String args[])
{
try
{/ / Викликати метод postData з URL діалогу створення ресурсу. URL діалогу / / Створення ресурсу може бути отриманий з каталогу OSLC-сервісів постачальника.
postData
(“http://Myserver:8080/context/oslc/db/<database_guid>/role/User/dialog/
START_HERE2entered”);
}
catch (Exception e) { e.printStackTrace(); }
}
}

Завантаження














Опис

Ім’я

Розмір

Метод завантаження

Приклад коду pre-fill-creation-dialog-rational-change.zip 2 КБ HTTP 

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*