Hallo,
folgender Code:
Vector<String> folderReferences = dokument.getFolderReferences();
String dokumentFolder = folderReferences.firstElement();
-erstelle neues dokument mit eigenschaften von altem und lösche altes-
-(dokument_alt = dokument_neu-
-return dokument_alt)-
dokument.putInFolder(dokumentFolder);
führt dazu, dass das Dokument komplett verschwindet. Nichtmal mehr in der AllDocumentsview bekomme ich es angezeigt. FolderReferences auf der entsprechenden DB sind eingeschaltet, immerhin bekomme ich auch den richtigen Folder als String zurück.
Jemand eine Idee?
Ok, dann war das wohl ein Missverständniss, sorry.
Den kompletten Code zu posten würde wohl etwas viel werden im Endeffekt passiert folgendes:
Document tmpDok = db.createDocument();
...(versehe tmpDok mit Eigenschaften von dokument und neuem Body)...
dokument.remove(true);
dokument = tmpDok;
dokument.save();
return dokument;
Also, das Objekt dokument hat an der der Stelle dokument.putInFolder(dokumentFolder)
durchaus einen Wert, die ID ist exakt die selbe wie die vom Objekt tmpDok in der aufgerufenen Methode. Es wird also korrekt übergeben.
Selbst wenn ich jetzt direkt nach dem putInFolder ein aufrufe, und dann Versuche an die FolderReferences zu kommen, bekomme ich den Fehler / die Exception, die References seien in der Datenbank nicht aktiviert, was aber offensichtlich nicht der Fall sein kann, da ich bei dem ursprünglich aus der Datenbank geholten Dokument ja auf die References zugreifen kann, und mir ein
maildb.getFolderReferencesEnabled()
hier auch ein true zurückgibt.
Ich stehe echt vor einem Rätsel.
ok, Problem scheint gefunden zu sein, vor der Bearbeitung des Dokuments gibt
dokument.getParentDatabase()
mail/aktuellerNutzer.nsf zurück. Wenn ich dann später auf das neue erstellte Dokument die Funktion anwende, bekomme ich names.nsf zurück. Ich weiss zwar noch nicht warum und wieso, aber zumindest erklärt dass, warum ich im Client nach der Bearbeitung keine Mails mehr sehe.