Inline Inspection

Inspection Point

09.05.2011

Funktioniert ein selbstgeschriebenes Programm mal nicht so wie geplant, so startet der clevere Programmierer einen Debugger und schaut sich das erzeugte Ergebnis Codezeile für Codezeile an, bis er den Punkt im Programmcode erreicht, der den Bug verursacht.

 

Was aber tun, wenn ein FME-Workspace mal nicht so funktioniert wie es sollte? Bisher hängte man an kritischen Stellen, Visualizer-Transformer an und schickte das gesamte Ergebnis in den FMEViewer. Dort konnte man die Zwischenergebnisse als eigene Layer, analysieren und so die Stelle im Workspace identifizieren, die für den Fehler verantwortlich war. Diese Art des Debugging zeigte immer den gesamten Datensatz an. Gab es im Workspace eine Stelle, die einen Abbruch verursachte, so wurde der FMEViewer erst gar nicht gestartet. Hat man dann endlich doch den Fehler  gefunden, blieb immer noch die Frage – was tun mit all den nicht mehr benötigten Visualizern?

 

Wie jede gute Programmierumgebung, bietet nun auch FME 2011 einen Debugger an – die sog. „Inline Inspection“. Mit Rechtsklick auf eine Verbindung kann man überall im Workspace einen „Inspection Point“ einfügen. Startet man anschließend FMEWorkbench mit „Run translation with inspection“, so wird das Programm an dieser Stelle gestoppt und es öffnet sich ein spezieller Viewer -  der „Feature Inspector“ und zeigt das erste Feature an, welches diese Stelle erreicht.

 

Im Feature Inspector hat man dann die Wahl dieses Feature zum nächsten Inspection Point zu schicken, das nächste Feature an diesem Inspection Point anzuzeigen, den gesamten Datensatz ohne weitere Inspektion durchlaufen zu lassen oder die Übersetzung abzubrechen.

 

Desweiteren ist es möglich Bedingungen für einzelne Inspection Points zu definieren. So sollen z.B. nur die Features im Feature Inspector angezeigt werden, die eine ID größer als 100 haben oder deren ID durch 100 teilbar ist (jedes 100’ste Feature als Stichprobenkontrolle).

 

Im eigenen Menüpunkt „Inspection“ ist es schließlich möglich alle Inspection Points auf einmal zu deaktivieren oder zu löschen.  

Top