Interface PluginConnectionService

All Known Subinterfaces:
PluginManagerService
All Known Implementing Classes:
BasePluginConnectionService, BasePluginManagerService, PluginConnectionServiceIntern, RestPluginConnectionService, RestPluginConnectionServiceJSF

public interface PluginConnectionService
verwaltet mehrere Plugins eines Servers
Alle Plugins
  • Method Details

    • getPluginList

      List<String> getPluginList()
      Returns:
      liefert eine Liste aller Plugins (Pluginnamen) , welche mit diesem Service verwaltet werden
    • getPluginGeneralInfoList

      List<PluginGeneralInfo> getPluginGeneralInfoList()
      Returns:
      liefert eine Liste aller globalen Informationen über alle Plugins des verwalteten Services
    • getPluginGeneralInfo

      PluginGeneralInfo getPluginGeneralInfo(String typ)
      Parameters:
      typ - Plugin Typ
      Returns:
      liefert die allgemeinen Konfigurationsinformationen zu einem Plugin
    • getHTML

      String getHTML(String typ, String name, String config, String params, PluginQuestionDto q)
      Berechnet den Fragetext für das Fragefeld des Webservers für die angegebenen Parameter für die Verwendung in einem PIT Tag
      Parameters:
      typ - Typ des Plugins
      name - Name des Plugins in der Frage
      config - Konfigurationsstring des Plugins
      params - Parameter für die Antworterzeugung
      q - Frage wo das Plugin eingebettet ist
      Returns:
      HTML Text
    • getAngabe

      String getAngabe(String typ, String name, String config, String params)
      Liefert einen Angabestring für die MoodleText Angabe
      Parameters:
      typ - Typ des Plugins
      name - Name des Plugins in der Frage
      config - Konfigurationsstring des Plugins
      params - Parameter für die Einstellungen
      Returns:
      String für das MoodleText-Feld
    • generateDatasets

      List<PluginDatasetDto> generateDatasets(String typ, String name, String config)
      Liefert alle Datensätze, welche für das Plugin in der Frage vorhanden sein sollten
      Parameters:
      typ - Typ des Plugins
      name - Name des Plugins in der Frage
      config - Konfigurationsstring des Plugins
      Returns:
      Liste der Datensatzdefinitionen welche vom Plugin in der Frage angefordert werden
    • getMaxima

      String getMaxima(String typ, String name, String config, String params, PluginQuestionDto q, PluginMaximaCalcModeDto pluginMaximaCalcMode)
      Liefert einen Maxima-Berechnungsstring für die Berechnung des Plugins
      Parameters:
      typ - Typ des Plugins
      name - Name des Plugins in der Frage
      config - Konfigurationsstring des Plugins
      params - Parameter
      q - Frage wo das Plugin eingebettet ist
      pluginMaximaCalcMode - Art der Berechnung
      Returns:
      Maxima Berechnungs-String
    • getImage

      ImageBase64Dto getImage(String typ, String name, String config, String params, PluginQuestionDto q)
      Liefert ein Base64 codiertes Bild mit den angegebenen Parametern
      Parameters:
      typ - Typ des Plugins
      name - Name des Plugins in der Frage
      config - Konfigurationsstring des Plugins
      params - Parameter für die Bilderzeugung
      q - Frage wo das Plugin eingebettet ist
      Returns:
      Base64 kodiertes Bild
    • getImageTemplates

      Vector<String[]> getImageTemplates(String typ, String name, String config)
      Liefert eine Liste aller möglichen Varianten von Bildern Element 0 : beschreibender Text Element 1 : PIG Tag Element 2 : Hilfetext
      Parameters:
      typ - Typ des Plugins
      name - Name des Plugins in der Frage
      config - Konfigurationsstring des Plugins
      Returns:
      Liefert eine Liste aller möglichen Varianten von Bildern
    • parserPlugin

      CalcErgebnisDto parserPlugin(String typ, String name, String config, VarHashDto vars, CalcParamsDto cp, CalcErgebnisDto... p)
      Wird verwendet wenn im Lösungsfeld die Funktion plugin("pluginname",p1,p2,p3) verwendet wird
      Parameters:
      typ - Typ des Plugins
      name - Name des Plugins in der Frage
      config - Konfigurationsstring des Plugins
      vars - Alle Variablen der Frage
      cp - Berechnungsparameter
      p - Liste von CalcErgebnis-Werten, welche an das Plugin von der Question aus übergeben werden können
      Returns:
      Ergebnis der Funktion
    • parserPluginEinheit

      String parserPluginEinheit(String typ, String name, String config, String... p)
      Bestimmt die Recheneinheit, welche bei der Methode parserPlugin als Ergebnis herauskomment wenn die Parameter die Einheiten wie in der Liste p haben
      Parameters:
      typ - Typ des Plugins
      name - Name des Plugins in der Frage
      config - Konfigurationsstring des Plugins
      p - Einheiten der Parameter als Recheneinheiten
      Returns:
      Recheneinheit des Ergebnisses
    • score

      PluginScoreInfoDto score(String typ, String name, String config, PluginDto pluginDto, String antwort, ToleranzDto toleranz, VarHashDto varsQuestion, PluginAnswerDto answerDto, double grade)
      Prüft die Eingabe eines Schülers
      Parameters:
      typ - Typ des Plugins
      name - Name des Plugins in der Frage
      config - Konfigurationsstring des Plugins
      pluginDto - PluginDto welches für die Java-Script aktive Eingabe aufbereitet wurde
      antwort - Antwort die der Schüler eingegeben hat
      toleranz - Toleranz für die Lösung
      varsQuestion - Referenz auf VarHash, wird dynamisch nachgeladen
      answerDto - Antwort des Schülers
      grade - Maximale Punktanzahl für die richtige Antwort
      Returns:
      Bewertung
    • getVars

      Vector<String> getVars(String typ, String name, String config)
      Liefert eine Liste aller Variablen welche als Dataset benötigt werden.
      Parameters:
      typ - Typ des Plugins
      name - Name des Plugins in der Frage
      config - Konfigurationsstring des Plugins
      Returns:
      Liste aller Variablen des Plugins
    • modifyAngabe

      String modifyAngabe(String typ, String name, String config, String text, PluginQuestionDto q)
      verändert einen Angabetext, der in der Angabe in PI Tags eingeschlossen wurde
      Die Funktion wird vor dem Darstellen der Frage ausgeführt.
      Parameters:
      typ - Typ des Plugins
      name - Name des Plugins in der Frage
      config - Konfigurationsstring des Plugins
      text - Text der innerhalb der PI Tags gestanden ist
      q - Frage innerhalb der, der Text sich befindet, die Frage sollte vom Plugin nicht verändert werden!!
      Returns:
      veränderter Text
    • modifyAngabeTextkomplett

      String modifyAngabeTextkomplett(String typ, String name, String config, String text, PluginQuestionDto q)
      verändert den kompletten Angabetext der Frage. Dieser muss als Parameter übergeben werden!
      Die Funktion wird vor dem Darstellen der Frage ausgeführt.
      Parameters:
      typ - Typ des Plugins
      name - Name des Plugins in der Frage
      config - Konfigurationsstring des Plugins
      text - Angabetext der Frage
      q - Frage innerhalb der, der Text sich befindet, die Frage sollte vom Plugin nicht verändert werden!!
      Returns:
      veränderter AngabeText
    • updatePluginstringJavascript

      String updatePluginstringJavascript(String typ, String name, String config, String pluginDef, String jsResult)
      Passt die Plugindefinition an die Eingabe aus dem Javascipt-Result an. zB: Interaktive Karte
      Parameters:
      typ - Typ des Plugins
      name - Name des Plugins in der Frage
      config - Konfigurationsstring des Plugins
      pluginDef - akt. Plugin-Definition
      jsResult - Rückgabe von Javascript
      Returns:
      aktualiesierte Plugindefinition
    • loadPluginDto

      PluginDto loadPluginDto(String typ, String name, String config, String params, PluginQuestionDto q, int nr)
      Rendern des Plugin-Images, Aufbau eines DTOs zur späteren Javascript - Bearbeitung
      Parameters:
      typ - Typ des Plugins
      name - Name des Plugins in der Frage
      config - Konfigurationsstring des Plugins
      params - Plugin-Parameter
      q - Question, in die das Plugin eingebettet ist
      nr - Laufende Nummer für alle PIG-Tags und Question-Plugins
      Returns:
      PluginDto
    • renderLatex

      PluginRenderDto renderLatex(String typ, String name, String config, PluginDto pluginDto, String answer, String mode)
      Rendert ein Plugins für den Fragedruck als Latex-Sourcode
      Parameters:
      typ - Typ des Plugins
      name - Name des Plugins in der Frage
      config - Konfigurationsstring des Plugins
      pluginDto - Das PluginDto welches am Webserver an das Java-Script des Plugins zum Rendern gesandt wird
      answer - Inhalt des Antwortfeldes welches der Schüler eingegeben hat
      mode - Druckmode
      Returns:
      Latexsourcode und zugehörige Bilder in einer Hashmap
    • renderPluginResult

      PluginRenderDto renderPluginResult(String typ, String name, String config, boolean tex, PluginDto pluginDto, String antwort, ToleranzDto toleranz, VarHashDto varsQuestion, PluginAnswerDto answerDto, double grade)
      Rendert das Plugin inklusive der Schülereingabe und korrekter Lösung
      Es wird dabei entweder direkt ein HTML-Code oder LaTeX-Code erzeugt
      Parameters:
      typ - Typ des Plugins
      name - Name des Plugins in der Frage
      config - Konfigurationsstring des Plugins
      tex - true für LaTeX-Code, false für html-Code
      pluginDto - PluginDto welches für die Java-Script aktive Eingabe aufbereitet wurde
      antwort - Antwort die der Schüler eingegeben hat
      toleranz - Toleranz für die Lösung
      varsQuestion - Referenz auf VarHash, wird dynamisch nachgeladen
      answerDto - Antwort des Schülers
      grade - Maximale Punktanzahl für die richtige Antwort
      Returns:
      HTML-Code oder LaTeX-Code mit Bildern
    • configurationInfo

      PluginConfigurationInfoDto configurationInfo(String typ, String name, String config, String configurationID, long timeout)
      Liefert die Informationen welche notwendig sind um einen Konfigurationsdialog zu starten
      Ist die configurationID gesetzt wird eine Konfiguration gestartet und damit auch die restlichen Endpoints für die Konfiguration aktiviert.
      Parameters:
      typ - Typ des Plugins
      name - Name des Plugins in der Frage
      config - Konfigurationsstring des Plugins
      configurationID - eindeutige ID welche für die Verbindung zwischen Edit-Service, Browser und Plugin-Konfiguration verwendet wird
      timeout - maximale Gültigkeit der Konfigurations-Verbindung in Sekunden ohne Verbindungsanfragen, Notwendig um bei Verbindungsabbruch die Daten am Plugin-Service auch wieder zu löschen
      Returns:
      alle notwendigen Konfig
    • setConfigurationData

      PluginConfigDto setConfigurationData(String typ, String configurationID, String configuration, PluginQuestionDto questionDto)
      Sendet alle notwendigen (im ConfigurationInfo) angeforderten Daten im Mode CONFIGMODE_URL an die Plugin-Konfiguration
      Parameters:
      typ - Typ des Plugins
      configurationID - zu verwendende Konfigurations-ID (muss am Plugin-Service zuvor angelegt worden sein mit configurationInfo)
      configuration - aktueller Konfigurations-String des Plugins
      questionDto - Question-DTO mit Varhashes
      Returns:
      Liefert die Daten welche an JS weitergeleitet werden.
    • getConfiguration

      String getConfiguration(String typ, String configurationID)
      Liefert die aktuelle Konfiguration eines Plugins welches sich gerade in einem CONFIGMODE_URL Konfigurationsdialog befindet
      Parameters:
      typ - Typ des Plugins
      configurationID - zu verwendende Konfigurations-ID
      Returns:
      Konfigurationsparameter oder "@ERROR: Meldung" wenn etwas nicht funktioniert hat