Inhalt |
---|
Einleitung
Mit der experimentellen Search-API wird für den Integrator die Möglichkeit geschaffen, individuelle Such-Services an die Suche anzubinden. Dafür müssen diese als Such-Adapter registriert werden. Durch die Bereitstellung der Search-API als experimentelle API gelten für diese die Bedingungen der Experimental jadice API , die in der Dokumentation der document platform dokumentiert sind.
Als einer der nächsten Schritte bezüglich der experimentellen Search-API ist geplant, dass abstrakte Klassen der RolloutSearch und des SearchPanels bereitgestellt werden, so dass der Integrator . Integratoren haben dann die Möglichkeit hat , eine vereinfachte Anpassung der GUI-Komponenten vorzunehmen, ohne sich an dieser Stelle um die zugrundeliegende Verwendung der Search-API zu kümmern.
...
Nachdem die beiden Interfaces oder das Interface und die abstrakte Klasse eingebunden wurden, kann der Such-Adapter über com.levigo.jadice.search.engine.SearchEngineRegistry.registerSearchEngine(SearchEngine, int) zusammen mit seiner Priorität registriert werden. Mit Hilfe Mithilfe der Priorität hat der Integrator die Möglichkeit, die Reihenfolge der Such-Adapter anzugeben.
...
Da die verschiedenen Such-Services, die eingebunden werden, weitere Such-Optionen mit sich bringen können, wird im Folgenden erläutert, welche Schritte erfolgen müssen, um in der Demo-Anwendung weitere Such-Optionen hinzuzufügen. Beispielhaft wird dies an der Such-Option Wildcard gezeigt. Wildcard/wildcard muss somit jeweils durch den Namen der neuen Such-Option ersetzt werden:
Die Such-Option muss als Parameter in /jadice-swing-appbase/src/main/resources/com/levigo/jadice/appbase/search/engine/ui/resources/commands.properties ergänzt werden.
Beispiel:Codeblock language java ToggleWildcard=com.levigo.jadice.appbase.search.engine.ui.ToggleOptionCommand ToggleWildcard.param.optionName=wildcard
Die Such-Option muss in /jadice-swing-appbase/src/main/resources/com/levigo/jadice/appbase/search/engine/ui/resources/actions.properties und /jadice-swing-appbase/src/main/resources/com/levigo/jadice/appbase/search/engine/ui/resources/actions_de.properties ergänzt werden, mit einem eigenen Namen, einer Beschreibung und einem eigenen MnemonicKey.
Beispiel:Codeblock language java ToggleWildcard.commands = ToggleWildcard ToggleWildcard.Name = Wildcard ToggleWildcard.ShortDescription = Suche mit Wildcards ToggleWildcard.SmallIcon = defaulticons.TB_TEXTSEARCH ToggleWildcard.menuType = checkbox ToggleWildcard.MnemonicKey = I
→ Für actions.properties sollten der Name und die ShortDescription jeweils auf Englisch erfolgen. Der MnemonicKey sollte sich von den übrigen unterscheiden.
Die Such-Option muss in /jadice-swing-appbase/src/main/resources/com/levigo/jadice/appbase/search/engine/ui/resources/menucomponents.properties für die RolloutSearch ergänzt werden. Dafür muss sie unter actions vor ,|,ExtendedSearch ergänzt werden.
Beispiel (wenn es nur die Such-Option Wildcard gibt):Codeblock language java rolloutSearchPopup.actions = ToggleWildcard,|,ExtendedSearch
Im SearchPanel muss eine getter-Methode, in welcher eine JCheckBox erstellt wird, wie im Beispiel zu sehen, eingefügt werden. In der Methode levigo.jadice.appbase.search.engine.ui.SearchPanel.getSearchSection() wird die JCheckBox für die Such-Option dann mit Hilfe mithilfe der getter-Methode der searchSection hinzugefügt.
Beispiel:
Die getter-Methode:Codeblock language java private JCheckBox getWildcardOption() { if (wildcardOption == null) { wildcardOption = new JCheckBox(getActionFactory().getAction(ctx, "ToggleWildcard")); } return wildcardOption; }
In der Methode com.levigo.jadice.appbase.search.engine.ui.SearchPanel.getSearchSection():
Codeblock language java searchSection.add(getWildcardOption());
...