Per accedere a Rational ClearQuest mediante Rational CM
API, è necessario importare le interfacce comuni e quelle specifiche per
Rational ClearQuest.
Una volta aggiunti i file CM API installati al percorso classe,
è possibile iniziare la programmazione con CM API. Come qualsiasi altra programmazione Java, è necessario importare tutte le
interfacce che contengono i metodi utilizzati nel codice. Poiché le interfacce ClearQuest
si trovano tutte nello stesso package, è possibile utilizzare un carattere jolly per includere tutte le
interfacce specifiche per Rational ClearQuest:
import com.ibm.rational.wvcm.stp.cq.*
È
necessario disporre delle classi provenienti dal package WVCM che implementano i meccanismi di base
dell'API. Le restanti interfacce presenti nel package WVCM gestiscono, nello specifico,
le risorse di gestione per la configurazione dell'origine e non vengono impiegate quando si utilizza esclusivamente Rational ClearQuest.
// Le classi WVCM da importare per le applicazioni ClearQuest
import javax.wvcm.Feedback;
import javax.wvcm.PropertyNameList;
import javax.wvcm.ProviderFactory;
import javax.wvcm.ResourceList;
import javax.wvcm.PropertyRequestItem.NestedPropertyName;
import javax.wvcm.PropertyRequestItem.PropertyRequest;
import javax.wvcm.PropertyNameList.PropertyName;
import javax.wvcm.ProviderFactory.Callback;
import javax.wvcm.ProviderFactory.Callback.Authentication;
import javax.wvcm.WvcmException;
Inoltre, utilizzare molte interfacce nel pacchetto STP (software team
package) che specificano le estensioni a WVCM utilizzate da Rational CM
API.
// Le classi comuni di Rational CM API da importare per ClearQuest
import com.ibm.rational.wvcm.stp.StpReleasableIterator;
import com.ibm.rational.wvcm.stp.StpException;
import com.ibm.rational.wvcm.stp.StpProperty;
import com.ibm.rational.wvcm.stp.StpResource;
import com.ibm.rational.wvcm.stp.StpProperty.MetaPropertyName;
import com.ibm.rational.wvcm.stp.StpLocation;
In fine, poiché le applicazioni di esempio utilizzano la GUI Swing, è inoltre
necessario includere un numero di classi del programma di utilità Java, AWT e Swing.
// Altre classi del programma di utilità da importare per questa esercitazione
import java.lang.reflect.InvocationTargetException;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Arrays;
import java.util.Comparator;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableModel;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
Tutte le interfacce richieste per completare questa esercitazione sono ora incluse
nel codice.