Autor Thema: Notesdocument vorhanden - daraus das NotesUIDocument erhalten  (Gelesen 10386 mal)

Offline DaHias

  • Aktives Mitglied
  • ***
  • Beiträge: 132
Hi zusammen,

Weiß einer wie das geht? Habe eine DcoumentCollection mit meinen Notesdocuments, brauche aber die NotesUIDocuments. Wie komm ich an die ran?

Grüße,
Mathias

Offline eknori

  • @Notes Preisträger
  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
NotesUIDocument ist das Dokument, welches dir gerade ANGEZEIGT wird. Ein NotesDocument kann man nur zu einem NotesUIDocument machen, wenn man es öffnet.
Wie das geht steht in der Designer Hilfe.
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline DaHias

  • Aktives Mitglied
  • ***
  • Beiträge: 132
Und genau daran scheitere ich:

Code
		    while (doc != null) 
			{
		    	
		    	NotesDocumentData docData = new NotesDocumentData(doc);		    	
		    	ws.openDocument(true, docData);
		    	
		    	NotesUIDocument uidoc = ws.getCurrentDocument();		    	
		    	uidoc.print();
		    	
		    			    	
		    	doc = dc.getNextDocument(doc);
			}

In der Zeile ws.openDocument(true, docData); stößt er bei mir auf einen Fehler den ich aber nicht verstehe.

In der expliziten Fehlermeldung heißt es java.lang.NoClassDefFoundError: com.ibm.workplace.notes.ipc.commin.requests.ExecuteCommandRequest

Und die Fehlermeldung sagt mir hald einfach gar nix... so eine Klasse gibt es auch nicht, zumindest konnte ich nichts finden...

Driri

  • Gast
Versuchs mal mit EditDocument. Zumindest in Script gibt es kein OpenDocument.

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
außerdem fehlt ein 'call' (und vermutlich ein 'Option Declare' sonst wär dem Compiler der Fehler schon aufgefallen)

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline eknori

  • @Notes Preisträger
  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Zitat
außerdem fehlt ein 'call' (und vermutlich ein 'Option Declare' sonst wär dem Compiler der Fehler schon aufgefallen)

Gruß

äh, der Kollege werkelt mit JAVA ...
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline DaHias

  • Aktives Mitglied
  • ***
  • Beiträge: 132
Also EditDocument gibt's in Java ned, da gibts eben nur das openDocument, wobei das im Grunde die gleiche Funktionalität hat.

@Roland: Wie eknori sagt tu ich hier mit Java rum. Mit Lotusscript würd ichs ja hinkriegen...

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Sorry, mit Brille wär das nicht passiert  8)
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Nur sicherheitsFrage. Wir reden hier schon vom Standardclient und nicht BasicClient oder?

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline DaHias

  • Aktives Mitglied
  • ***
  • Beiträge: 132
Hi Ralf,

Jap Standard-Client :)

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Notesdocument vorhanden - daraus das NotesUIDocument erhalten
« Antwort #10 am: 27.05.10 - 14:48:33 »
Ok, nächste Frage wo steht dieser Code. Ist er in einer Eclipse Aktion, oder ? Sind in dem Plugin die Abhängikeiten richtig gesetzt?

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline DaHias

  • Aktives Mitglied
  • ***
  • Beiträge: 132
Re: Notesdocument vorhanden - daraus das NotesUIDocument erhalten
« Antwort #11 am: 27.05.10 - 15:00:29 »
Ich hab den Code in einem Java Agenten im Notes Designer erstellt und starte den Agenten dann manuell über die Aktionsleiste im Lotus Client.

Der Code wäre der folgende:

Code
package com.esg.print.pdf;

import lotus.domino.*;

import java.io.*;

import com.ibm.notes.java.ui.NotesUIWorkspace;
import com.ibm.notes.java.ui.documents.NotesUIDocument;
import com.ibm.notes.java.api.*;
import com.ibm.notes.java.api.data.NotesDocumentData;
import com.ibm.notes.java.api.data.NotesDocumentKeyData;

import org.eclipse.ui.IWindowListener;
import org.osgi.*;

public class PDFPrinter extends AgentBase {

	public void NotesMain() {

		try {
			Session session = getSession();
			AgentContext agentContext = session.getAgentContext();
			NotesUIWorkspace ws = new NotesUIWorkspace();			
		    lotus.domino.Document doc = null;
			
			try {
			    Thread.sleep(1000);
			}
			catch (InterruptedException e) {
			    System.out.println(e);
			}
			
		    System.out.println(ws.toString());

			//Holt sich alle markierten Dokumente
			DocumentCollection dc = agentContext.getUnprocessedDocuments();			
		    System.out.println("Count = " + dc.getCount());
		    doc = dc.getFirstDocument();
		    
		    while (doc != null) 
			{
		    	
		    	NotesDocumentData docData = new NotesDocumentData(doc);		    	
		    	ws.openDocument(true, docData);
		    	
		    	NotesUIDocument uidoc = ws.getCurrentDocument();		    	
		    	uidoc.print();
		    	
		    			    	
		    	doc = dc.getNextDocument(doc);
			}

		} catch (Exception e) {
			//e.printStackTrace();
			System.err.println(e.getClass().getName() + ": " + e.getMessage());
		}
	}
	
}

Was genau meinst du mit Abhängigkeiten?

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Notesdocument vorhanden - daraus das NotesUIDocument erhalten
« Antwort #12 am: 27.05.10 - 15:10:11 »
Schurke, gib zu, dass du das JAR File der UI Classes in deinen Agent reingetrickst hast ;-)

Die Java UI Classes sind in Agents meines Wissens nach nicht supported und wenn du nichts an dem Agent rumgedreht hättest würde er Sie dir gar nicht zur Auswahl geben.

Zum Hintergrund. Java in Notes Agenten und auch Applets läuft in einer ganz anderen JVM Instanz, als das ganze Eclipse drumherum. Deshalb hast du von einem Agenten prinzipiell keinen Zugriff auf die ganzen tollen Eclipsefunktionen. Das einzige was man machen kann ist in Eclipse einen Hintergrundthread zu programmieren, der über IP Kommunikation von deinem Agent angesprochen wird. Das ermöglicht es von Notesagenten aus Eclipse Aktionen durchzuführen.

Grüße

Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

Offline DaHias

  • Aktives Mitglied
  • ***
  • Beiträge: 132
Re: Notesdocument vorhanden - daraus das NotesUIDocument erhalten
« Antwort #13 am: 28.05.10 - 06:41:38 »
Moin Moin,

Hm... ok ich glaub da hast du nicht ganz unrecht. Hab tatsächlich die UI Classes da eingebunden  ::)

Eigentlich soll das ganze am Ende gar nicht in einem Agenten laufen, sondern in einem Sidebar Plugin, das ich über Eclipse dann stricken wollte. Ich wollte nur die Funktionen erst einmal ein einem Agenten testen.
Aber demnach sollte ich in diesem Sidebar Plugin keine Probleme haben oder?

Danke!  :)

Offline Ralf_M_Petter

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.879
  • Geschlecht: Männlich
  • Jeder ist seines eigenen Glückes Schmied
    • Ralf's Blog
Re: Notesdocument vorhanden - daraus das NotesUIDocument erhalten
« Antwort #14 am: 29.05.10 - 09:30:17 »
In einem Sidebar plugin sollte es problemlos funktionieren. Wie ich schon gesagt habe, sind die Umgebung von Java Agents komplett etwas anderes als Eclipse Plugins. Ein Mustersidebarview zum testen von Code ist aber in Eclipse eine Sache von unter 2 Minuten.

Grüsse Ralf
Jede Menge Tipps und Tricks zu IT Themen findet Ihr auf meinem Blog  Everything about IT  Eine wahre Schatzkiste sind aber sicher die Beiträge zu meinem Lieblingsthema Tipps und Tricks zu IBM Notes/Domino Schaut doch einfach mal rein.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz