2016-05-04 4 views
0

Ich muss einen Filter in bestimmten Module machen und die gefilterten Elemente und Schleife über sie und führen Sie eine Art von Operation. Problem ist Filterung nicht geschehen ist, etwas nicht in Ordnung ist wie folgt:Zurück gefiltertes Modul in DXL

Filter SwTest = includes(attribute "aVerificationStrategy" ,"SwTest") 
Filter Implemented = (attribute "aObjectStatus" < "inReview") 
Filter SwTestReqsCASTLE = SwTest && Implemented 
Module m = srs_doc 
set(m, SwTestReqsCASTLE, accepted , rejected) 
filtering on OR ApplyFiltering(m) , i tried each as don't know difference ! 

so etwas ist falsch?

Antwort

0

Bevor ich Ihre Hauptfrage beantworte, erlauben Sie mir zunächst, Ihre implizierte Frage nach dem Unterschied zwischen "Filterung auf" und "ApplyFiltering (m)" zu beantworten. Der Unterschied besteht darin, dass "Filterung auf" den aktuellen Filter im Modulfenster anzeigt. Dies bedeutet, dass Objekte je nach Filter entweder ein- oder ausgeblendet werden. "ApplyFiltering (m)" wendet die aktuellen Filtereinstellungen auf den Modul-Explorer an (der Bereich links von Ihren Objekten, der die Hierarchie anzeigt). "Filtern auf" zeigt und verbirgt Objekte und "ApplyFiltering (m)" spiegelt den Status dieser Objekte im Modul-Explorer wider.

Was, warum Ihre Filter nicht angewendet werden, könnte es mehrere Gründe geben:

  1. Es empfiehlt sich, das Filtern auszuschalten, bevor Sie Filter starten Einstellung. Fügen Sie vor dem Rest Ihres Codes die Zeile "filtering off" hinzu.
  2. Ihr Filter "Implementiert" ist nicht richtig definiert. DOORS sieht "inReview" als String und führt einen direkten Vergleich mit dem String-Wert Ihres "aObjectStatus" -Attributs durch, um festzustellen, ob ein Objekt akzeptiert oder zurückgewiesen wird. Ist das was du beabsichtigst?
  3. Welcher Variablentyp ist srs_doc? Wenn es eine Zeichenfolge ist, müssen Sie Aufruf lesen(), share() oder bearbeiten(), um das Modul tatsächlich zu öffnen. Wenn es sich um eine Modulvariable handelt, ist diese Zeile korrekt.
  4. Ich gehe davon aus, dass "akzeptiert" und "abgelehnt" sind ganze Zahlen, aber wenn sie nicht zuvor deklariert werden, dann müssen sie sein.
  5. Basierend auf dem ersten Absatz in meinem Kommentar, sollte Ihre letzte Zeile lesen "Filterung auf"
  6. Ist das Modul, das Filter angezeigt werden soll? Mir ist klar, dass dies wahrscheinlich offensichtlich ist, aber ich habe diesen Fehler vorher gemacht, also dachte ich, ich sollte es erwähnen. Ein Filter kann nicht auf ein Modul angewendet werden, das gerade nicht angezeigt wird.

Als Randbemerkung, können Sie Ihre SwTest und Implementiert Filter Verbindung ohne zusätzliche Filter Variablen wie folgt zu erstellen:

Filter SwTestReqsCASTLE = includes(attribute "aVerificationStrategy", "SwTest") && (attribute "aObjectStatus" < "inReview") 

ich einige Hoffnung, das hilft! Viel Glück und lassen Sie mich wissen, wenn keiner der oben genannten Ihr Problem löst.