Aus dem Vektor mit den ermittelten Datensätzen wird anschließend die vom
Programm benutzte Datenstruktur erzeugt (siehe dazu Abb. ).
Diese besteht aus dem in der Klasse
LinkStructure definierten Feld gesamtListe[] von Dokumenten.
Jedes Dokument besteht dabei grundsätzlich aus der URL,
die aufgespalten ist in zugriffsmethode, serverName, pfadName und
dateiName, sowie einer eventuell vorhandenen fehlernummer oder
einem betreuer. Diese Elemente sind in der Klasse BasisDokument
festgelegt. In der darauf aufbauenden Klasse Dokument ist noch eine
zusätzliche Variable visited für eine Kennzeichnungsmöglichkeit bei
Bearbeitungsalgorithmen eingefügt. Außerdem existieren hier zwei Felder
sohn[] und vater[], mit deren Hilfe die Verküpfungen
realisiert werden. Der Inhalt dieser Felder sind lediglich die Indizes der
Nachkommen und Vorfahren des aktuellen Dokuments.
In der Funktion getLinkStructure(Vector gefundeneDokumente) werden
die Informationen der einzelnen Datensätze in die Liste der Dokumente
übernommen. Da in den LOG-Dateien lediglich die Väter verzeichnet
sind, muß die Struktur in umgekehrter Richtung erst aufgebaut werden.
Dies geschieht in zwei verschachtelten Schleifen, in denen überprüft
wird, ob eine URL als Vater einer anderen auftaucht. Ist dies der Fall, werden
deren Indizes in vater[] und sohn[] der entstehenden Datenstruktur
entsprechend gesetzt. Beim Startdokument der Link-Struktur ist als Vater
der String TOP eingetragen, dementsprechend kann die Variable
startDokument belegt werden.
Nach dem Durchlauf dieser Funktion wird der Vektor gefundeneDokumente nicht mehr benötigt, er kann an dieser Stelle freigegeben werden.