Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

RapidClipse bietet Ihnen die Möglichkeit ganze Views zu persistieren um diese bei Bedarf jederzeit wiederherstellen zu können, z.B. nach einem Anwendungs- oder Systemabsturz oder, damit der Benutzer bei jedem Login seine individuell eingerichtete Oberfläche wieder vorfindet. Dabei wird jedoch nicht automatisch die gesamte Oberfläche gespeichert, sondern nur die UI-Komponenten bei denen Sie die Eigenschaft Properties > GUI Persistence > Persist setzen. Alle notwendigen Parameter werden automatisch ausgelesen und zu einem einzigen String zusammengefasst, den Sie anschließend nur noch speichern müssen. Wie Sie diesen String speichern bleibt jedoch Ihnen überlassen, sodass Sie jede beliebige Strategie umsetzen können, z.B. 

  • Datenbank - Speichern der UI-Informationen bei den Benutzerdaten in der entsprechenden USER Tabelle. 

    • 1 View persistieren - Um 1 View zu persistieren, müssen Sie nur 1 weiteres Datenfeld VIEW anlegen.

      • USER

        DatenfelderDatentyp
        USERNAMEString
        PASSWORDbyte[]
        ......
        VIEWNAMEString
        VIEWDATAString
    • Viele Views persistieren - Um mehrere Views persistieren zu können, benötigen Sie eine weitere Tabelle VIEWS, die über eine n:1 Relation mit der USER Tabelle verknüpft ist. 
      • USER

        DatenfelderDatentyp
        USERNAMEString
        PASSWORDbyte[]
        ......
        VIEWS_IDInteger
      • VIEWS

        DatenfelderDatentyp
        IDInteger
        VIEWNAME
        String
        VIEWDATAString



  • UI Session - Die GUI-Daten können global bei der Session gespeichert werden. Solange die Session existiert, kann die Oberfläche wiederhergestellt werden. 
  • Browser Cookie - Die GUI-Daten können als Cokie auf dem lokalen Rechner des Anwenders gespeichert werden.  

...

  • String mit GUI-Daten generieren lassen

    Code Block
    languagejava
    themeConfluence
    String viewData = GuiPersistence.save(this, this.getClass().getName());
    
    //TODO: Persisting viewData into Database 
  • GUI Daten einer View zuweisen 

    Code Block
    languagejava
    themeConfluence
    //TODO: Loading viewData from database first 
    
    GuiPersistence.load(this, this.getClass().getName(), viewData);
  • GUI-Daten global in UI Session speichern

    Code Block
    languagejava
    themeConfluence
    UI.getCurrent().getSession().setAttribute("ProductView", viewData);
  • GUI-Daten aus UI Session holen

    Code Block
    languagejava
    themeConfluence
    Object attribute = UI.getCurrent().getSession().getAttribute("ProductView");
    
    
    String viewData = attribute.toString();

...