Autor Thema: LS2J oder Agent  (Gelesen 1857 mal)

TomLudwig

  • Gast
LS2J oder Agent
« am: 03.01.07 - 16:17:09 »
Hallo zusammen,

folgende Situation:
Erstellen einer PDF Datei aus den Informationen eines gerade geöffneten NotesUIDocuments.

Bisher habe ich das ganze mit den lowagie Klassen und einem JAVA-Agenten realisiert.
Nun soll aber die PDF Datei in ein RichTextFeld eines neu zu Erstellenden UIDocuments angehängt werden.

Problem:
Mit dem Java Agenten kann ich nur auf die BackEndKlassen von Notes zugreifen.

Ich habe mir folgende Lösungswege überlegt. Bitte gebt doch kurz einen Kommentar, was ihr bevorzugen würdet, da ich z.B. mit LS2J noch nicht wirklich gearbeitet habe.

Lösung 1:
- Erstellen einer JavaBibliothek, die das PDF erstellen kann.
- Zugriff auf die Klasse mittels LS2J und Übergabe aller Feldinformationen des UIDocs.
- PDF wird durch JAVA auf HDD gespeichert und über LS in ein neues UIDoc geladen

Lösung 2:
- Per LS einen JAVA Agenten starten, der das PDF erstellt und in ein Feld (BackEnd geöffnetes UIDoc) den Pfad zur Datei schreibt
- Per LS im BackEnd auf das Feld zugreifen. Neues UIDoc erstellen und auf die Datei ins UIDoc laden
- Problem hierbei ist, dass ich dem Agenten nur die NoteID des geöffneten Dokument mitgeben kann. Diese ist ja nicht eindeutig, oder?

Lösung 3:
- PDF komplett mit LS erstellen. Aber woher Libraries nehmen?

Danke für eure Hilfe

Gruß, Tom




Driri

  • Gast
Re: LS2J oder Agent
« Antwort #1 am: 03.01.07 - 16:27:42 »
Ich würde Lösung 2 einfach ein wenig abwandeln.

- JAVA Agent erzeugt PDF, erstellt ein neues Doc im Background und hängt das PDF an. Dabei wird ein Flagfeld gesetzt.

- Background-Doc wird im UI geöffnet

- Speichert der User das UIDoc, wird das Flagfeld entfernt.

- Verwirft der User das UIDoc, wird Document wieder gelöscht.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: LS2J oder Agent
« Antwort #2 am: 03.01.07 - 16:39:52 »

- Problem hierbei ist, dass ich dem Agenten nur die NoteID des geöffneten Dokument mitgeben kann. Diese ist ja nicht eindeutig, oder?
Doch. Die NoteID ist pro Replik eindeutig. Und das reicht in diesem Fall. Wenn das geht, kannst du vielleicht auf Ls2J verzicten.

Das Problem bei LS2J ist, dass es da offenbar einige komplizierte Dinge gibt, die zu Memory-Leaks führen können:
http://www.google.de/search?hl=de&q=LS2J+memory+leaks&btnG=Google-Suche&meta=
Man kann das in den Griff kriegen. Und bei Client Code ist das Problem auch nicht so drängend wie bei Server Code, weil letztere seltener runtergefahren werden.

Die "lowagie"- Klassen werden ganz am Rande als iText bezeichnet. lowagie ist nur der Nachname des engl. Entwicklers Bruno Lowagie (daneben gibts noch den Portugiesen Paulo Soares). Viele Pakete beginnen mit com.lowagie, wenn ich mich recht erinnere. Wir setzen an einer zentralen STelle diese inzwischen sehr ausgereifte openSource Library auch ein.
« Letzte Änderung: 03.01.07 - 17:02:54 von Axel Janssen »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

TomLudwig

  • Gast
Re: LS2J oder Agent
« Antwort #3 am: 04.01.07 - 08:54:51 »
Hey. Guten Morgen.

Danke für eure Postings.

@Diri:
Die Lösung gefällt mir bissher am besten, das ich von LS2J nicht wirklich überzeugt bin ;-)
Dabei muss man aber beachten, dass das DOK bereits vor Start des JAVA Agenten erstellt werden muss, da man ja leider keinen Rückgabewert hat und somit später nicht mehr drauf zugreifen könnte...

@Axel:
Danke für die Info mit der NoteID. Ich hab immer gedacht die sei sogar innerhalb einer DB nicht eindeutig. -> Wäre aber totaler Blödsinn, da die Funktion GetDocumentByID mehrere Dokumente zurückliefern könnte...
Mir ist gestern der Begriff iText leider nicht mehr eingefallen. Deshalb der Begriff "lowagie". Ist aber intressant, dass die Herren noch mehrere (bestimmt interessante) Libraries erstellt haben...

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz