In der
Konfigurationsdatei CADENAS_SETUP/geomsearch.cfg
können Sie
eine Menge von Filterregeln definieren. Trifft auf ein Teil wenigstens eine
Regel zu, wird es herausgefiltert und somit von der Indexgenerierung
ausgenommen.
Bestimmen Sie im Block
[settings]
, im SchlüsselGenerationFilterRules
kommasepariert eine Liste aller Regelnamen.[settings] GenerationFilterRules=Rule1,Rule2,etc.
Legen Sie für jede Regel einen Block nach dem Schema
GenerationFilterRule_Rulex
an.[GenerationFilterRule_Rule1] Catalogs=cat/__partialtest AlgoTypes=PARTIAL,TOPO PrjRegExp=.*ass.* PrjScriptCallbackFile= PrjScriptCallbackFunction= LineFilterCount=1 LineFilterVar0=TYPE LineFilterRegExp0=.*ass.* Conjunction=AND LineScriptCallbackFile=test.vbb LineScriptCallbackFunction=checkLine
Erläuterungen zu den einzelnen Schlüsseln:
AlgoTypes: Index-Typen, die NICHT generiert werden sollen (komma-separiert)
Bezieht sich auf die Projektbedingungen und auf die Zeilenbedingungen. Wenn nur höchstens 1 Projektbedingung und nur höchstens 1 Zeilenbedingung, dann ist es egal, ob OR oder AND.
Wenn OR, dann wird ein Projekt- oder Zeilenfilter angewendet, wenn EINE Regel zutrifft. Wenn AND, dann müssen alle nicht leeren Regeln zutreffen.
PrjRegExp: Angabe eines regulären Ausdrucks. Dieser wird auf den Projektpfad relativ zum Katalog getestet. Wenn er zutrifft, wird gefiltert.
Beispiel: Alle Projekte, die im Pfad irgendwo "asm" enthalten, werden durch folgenden regulären Ausdruck herausgefiltert.
.*asm.*
PrjScriptCallbackFile: Pfad zum vbb-Skript, das den callback enthält.
PrjScriptCallbackFunction: Die Funktion
PrjScriptCallbackFunction
wird aufgerufen mit dem Projektpfad als Parameter und sollte 1 zurückgeben, wenn gefiltert werden soll, sonst 0.
Einstellungen zur Tabellenzeile
LineFilterCount: Anzahl der Zeilenbedingungen
Beispiel mit 3 Zeilenbedingungen:
LineFilterCount=3 LineFilterVar0=A LineFilterRegExp0=.*ab.* LineFilterVar1=B LineFilterRegExp1=.*ac.* LineFilterVar2=C LineFilterRegExp2=.*ad.*
LineFilterVar0: Variablenname aus der Tabelle (0 ist durch den Index der Bedingung zu ersetzen.)
LineFilterRegExp0= Der Merkmalswert der benannten Variablen muss den regulären Ausdruck matchen, um herausgefiltert zu werden. (0 ist durch den Index der Bedingung zu ersetzen.)
LineScriptCallbackFile: Pfad zum vbb-Skript, das den callback enthält.
LineScriptCallbackFunction: Die Funktion
LineScriptCallbackFunction
wird aufgerufen mit der Tabelle als Parameter und sollte 1 zurückgeben, wenn gefiltert werden soll, sonst 0.Folgendes Beispiel filtert alle Zeilen mit Line-Id größer 50000 raus:
function filterLines(table) dim row = table.SelectedRow dim lineId = row.Idnr if lineId > 50000 then filterLines = 1 else filterLines = 0 end if end function