Autor Thema: Dokumente mit einem Titel einzigartig?  (Gelesen 1780 mal)

Offline JD

  • Junior Mitglied
  • **
  • Beiträge: 94
Dokumente mit einem Titel einzigartig?
« am: 02.12.02 - 08:47:34 »
Hallo Ihr, wollte fragen wie ich es realisieren kann per Javaagent Dateien zu Überschreiben?

Ich habe einen Agent geschrieben, der mit ein Dokument zu einer Maske erstellt, wenn ich den zweimal oder mehrmal durchlaufen lasse habe ich n mal dieses Dokument, ich möchte es aber nur einmal haben -->das alte soll also bei jedem durchlauf überschrieben werden. Kann ich es irgendwie überschreiben oder muss ich es zuerst löschen und dann neu schreiben???
In a world without walls and fences who needs windows and gates?

Offline Till_21

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • I love Germany
Re:Dokumente mit einem Titel einzigartig?
« Antwort #1 am: 02.12.02 - 08:58:35 »
ruf nicht neu den konstruktor auf, sondern hol dir dieses existente dokument zb. über eine view mit getdocumentbykey.
falls es noch nicht gibt natürlich erstellen...

klaussal

  • Gast
Re:Dokumente mit einem Titel einzigartig?
« Antwort #2 am: 02.12.02 - 09:00:55 »
hallo jd,
jedesmal, wenn der agnt läuft erstellt er ein neues dokument.
jetzt gibt es zwei möglichkeiten:
1. altes dok suchen und löschen, dann neues dok erstellen
2. altes dok suchen und update + wieder sichern
mfg
klaus  ;)

Offline wflamme

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 690
  • Geschlecht: Männlich
  • Irgendwie geht das schon...
    • wflamme
Re:Dokumente mit einem Titel einzigartig?
« Antwort #3 am: 02.12.02 - 09:21:23 »
Hallo Ihr, wollte fragen wie ich es realisieren kann per Javaagent Dateien zu Überschreiben?

Ich habe einen Agent geschrieben, der mit ein Dokument zu einer Maske erstellt, wenn ich den zweimal oder mehrmal durchlaufen lasse habe ich n mal dieses Dokument, ich möchte es aber nur einmal haben -->das alte soll also bei jedem durchlauf überschrieben werden. Kann ich es irgendwie überschreiben oder muss ich es zuerst löschen und dann neu schreiben???

Neues Dokument=neue UNID. Vie Replikationsaufwand, DB bläht sich unnötig auf und alle Referenzen/Links auf alte Versionen des Dokuments gehen flöten. Besser nur die Änderungen in vorh. Dokumente schreiben.
Grüße,
Wolfgang

"I love deadlines. I love the whooshing sound they make as they pass by..."
DOUGLAS ADAMS

wflamme@mainz-online.de
http://www.sns1.de/partner/flamme/wflamme.nsf

klaussal

  • Gast
Re:Dokumente mit einem Titel einzigartig?
« Antwort #4 am: 02.12.02 - 09:25:14 »
@ wflamme,
es gibt (wie immer im leben) 2 möglichkeiten (s.o.)

@jd
du musst selber entscheiden, welche möglichkeit die bessere ist.
 ;D

Offline JD

  • Junior Mitglied
  • **
  • Beiträge: 94
Re:Dokumente mit einem Titel einzigartig?
« Antwort #5 am: 02.12.02 - 09:33:38 »
Okay danke werde mal sehen was Performancemäßig und Realisierungstechnisch am besten für meinen Fall ist.
In a world without walls and fences who needs windows and gates?

Offline JD

  • Junior Mitglied
  • **
  • Beiträge: 94
Re:Dokumente mit einem Titel einzigartig?
« Antwort #6 am: 02.12.02 - 14:58:03 »
Hmmmm wie müsste das denn aussehen wenn das Dokument nicht gelöscht werden soll, sondern erneuert, damit die DB sich nicht unnötig aufbläht???Krieg da immer Probleme mit den Dokumenten.

DIe Lösung sollte dann so aussehen, dass wenn es vorhanden ist nur upgedated wird und wenn nicht vorhanden neu erstellt wird.

Hier mein code der das Dokument löscht (auszug)

Code
Database database = agentContext.getCurrentDatabase();
DocumentCollection docCollection = agentContext.getUnprocessedDocuments();
Document doc = docCollection.getFirstDocument();
 
View view = database.getView(nameOfView);
Document searchdoc = view.getDocumentByKey(shownName);
               
             
 if (searchdoc != null) //Wenn Dokument schon vorhanden dann..
    {
       searchdoc.remove(true);    
     }
Document joineddoc = database.createDocument(); //Hier wird das neue Dokument erstellt
joineddoc.appendItemValue("JoinName", shownName);
joineddoc.appendItemValue("Form", form); 
RichTextItem anzeige = joineddoc.createRichTextItem("anzeige");
RichTextItem rti = joineddoc.createRichTextItem("docfield");        
    
              while (doc != null) {
                  doc.renderToRTItem(rti);
                    anzeige.appendRTItem(rti);
                    doc = docCollection.getNextDocument(doc);
                    
               }  
                                      
                joineddoc.save(true, false);     
                   
      } catch(Exception e) {
         e.printStackTrace();
      }
   }
}

So funktioniert es wunderbar, erstelle halt nur bei jedem Durchgang ein komplett neues Dokument, was ich ja eigentlich nicht will.
In a world without walls and fences who needs windows and gates?

Offline JD

  • Junior Mitglied
  • **
  • Beiträge: 94
Re:Dokumente mit einem Titel einzigartig?
« Antwort #7 am: 03.12.02 - 10:28:23 »
Das Problem welches ich bei der anderen Lösung hatte, war das ich dem Dokument dass durch getDocByKey erstellt wurde nicht mit dem neuen vertäglich war ich konnte keine Zuweisung vornehmen. Und das erstellen (anhängen) von Werten an die Felder bracht auch nur ärger! Also wenn jemand mal was ähnliches gecodet hat, immer rüber damit  ;D
In a world without walls and fences who needs windows and gates?

Offline JD

  • Junior Mitglied
  • **
  • Beiträge: 94
Re:Dokumente mit einem Titel einzigartig?
« Antwort #8 am: 04.12.02 - 11:07:43 »
Mhhh keiner???? Ich wäre auch schon über einen Ansatz in Lotusscript erfreut, dann könnte ich das quasi nach Java portieren.

Also, altes Dokument soll nicht gelöscht werden, sondern nur die Feldwerte sollen völlig erneuert werden. Wenn das Dokument allerdings noch nicht vorhanden ist, dann soll es es erstellt werden.

Daaanke
In a world without walls and fences who needs windows and gates?

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz