Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

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:

  1. 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
    languagejava
    ToggleWildcard=com.levigo.jadice.appbase.search.engine.ui.ToggleOptionCommand
    ToggleWildcard.param.optionName=wildcard


  2. 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
    languagejava
    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.

  3. 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
    languagejava
    rolloutSearchPopup.actions = ToggleWildcard,|,ExtendedSearch


  4. 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
    languagejava
    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
    languagejava
    searchSection.add(getWildcardOption());


...