Anwendungsfallbeispiel: Hinzufügen einer Anforderung

Aufbauend auf den vorausgehenden Schritten dieses Abschnitts schließt dieses Thema den Anwendungsfall "Eine Anforderung zu Silk Central hinzufügen" ab.

Bevor Sie fortfahren, müssen Sie die folgenden Voraussetzungen erfüllt haben:

  • Sie haben die Schritte für den Webdienst requirements abgeschlossen.
  • Eine funktionierende POJO- oder JUnit-Klasse mit Bindungs- und Anmeldemethoden wurde erstellt.
  • Sie haben die anderen Silk Central-API-Hilfethemen gelesen.
  1. Generieren Sie auf der Seite Benutzereinstellungen ein Webdienst-Token.
    1. Klicken Sie auf den Benutzernamen im Silk Central-Menü. Die Seite Benutzereinstellungen wird geöffnet.
    2. Klicken Sie im Abschnitt Webdienst-Token der Seite auf Token generieren.
  2. Konstruieren Sie ein Anforderungsobjekt, das die gewünschten Daten enthält.
  3. Rufen Sie die Methode updateRequirement mit dem Webdienst-Token, der Projekt-ID und dem Anforderungsobjekt auf, die Sie generiert haben.
  4. Speichern Sie die von der Methode updateRequirement zurückgegebene Anforderungs-ID.
  5. Erstellen Sie ein PropertyValue-Array mit den Anforderungseigenschaften.
  6. Rufen Sie die Methode updateProperties mit dem zuvor erzeugten Array auf.
wsimport erstellt die genannten Webdienst-Objekte:
  • Requirement
  • PropertyValue

Die OOP-Methoden der genannten Objekte können nun verwendet werden, um den Webdienst in Anspruch zu nehmen. Das umständliche Zusammenstellen von SOAP-Paketen ist dadurch überflüssig. Im Folgenden finden Sie Auszüge aus dem Code, der benötigt wird, um den Testfall auszuführen.

/** project ID of Silk Central project */
private static final int PROJECT_ID = 0; 
 
/** propertyID for requirement risk */
public static final String PROPERTY_RISK = "Risk";
 
/** propertyID for requirement reviewed */
public static final String PROPERTY_REVIEWED = "Reviewed";
 
/** propertyID for requirement priority */
public static final String PROPERTY_PRIORITY = "Priority";
 
/** propertyID for requirement obsolete property */
public static final String PROPERTY_OBSOLETE = "Obsolete";
 
 
// Get the Requirements service
RequirementsService service = getRequirementsService();
 
// The web-service token that you have generated in the UI. Required to authenticate when using
// a web service.
String webServiceToken = "e39a0b5b-45db-42db-84b2-b85028d954d5";
 
// Construct Top Level Requirement
Requirement topLevelRequirement = new Requirement();
topLevelRequirement.setName("tmReqMgt TopLevelReq");
topLevelRequirement.setDescription("tmReqMgt TopLevel Desc");
 
PropertyValue propRisk = new PropertyValue();
propRisk.setPropertyId(PROPERTY_RISK);
propRisk.setValue("2");
PropertyValue propPriority = new PropertyValue();
propPriority.setPropertyId(PROPERTY_PRIORITY);
propPriority.setValue("3");
PropertyValue[] properties = new PropertyValue[] {propRisk, propPriority};
 
/*
* First add requirement skeleton, get its ID
* service is a binding stub, see above getRequirementsService()
*/
int requirementID = service.updateRequirement(webServiceToken, PROJECT_ID, topLevelRequirement, -1);
 
// Now loop through and set properties
for (PropertyValue propValue : properties) {
propValue.setRequirementId(requirementID);
service.updateProperty(webServiceToken, requirementID, propValue);
}
 
// Add Child Requirement
Requirement childRequirement = new Requirement();
childRequirement.setName("tmReqMgt ChildReq");
childRequirement.setDescription("tmReqMgt ChildLevel Desc");
childRequirement.setParentId(requirementID);
propRisk = new PropertyValue();
propRisk.setPropertyId(PROPERTY_RISK);
propRisk.setValue("1");
propPriority = new PropertyValue();
propPriority.setPropertyId(PROPERTY_PRIORITY);
propPriority.setValue("1");
properties = new PropertyValue[] {propRisk, propPriority};
 
int childReqID = service.updateRequirement(webServiceToken, PROJECT_ID, childRequirement, -1);
 
// Now loop through and set properties
for (PropertyValue propValue : properties) {
propValue.setRequirementId(requirementID);
service.updateProperty(webServiceToken, childReqID, propValue);
}
 
// Print Results
System.out.println("Login Successful with web-service token: " + webServiceToken);
System.out.println("Top Level Requirement ID: " + requirementID);
System.out.println("Child Requirement ID: " + childReqID);
Anmerkung: Diesen Beispliel-Code finden Sie auch in der Klasse com.microfocus.silkcentral.democlient.samples.AddingRequirement des „Web Services Demo-Client'“.