Autor Thema: Felder mit Java Programm füllen; wie ins richtige Datenformat konvertieren?  (Gelesen 2528 mal)

Offline machineslave

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Männlich
<sorry ... hab's grad selber herausgefunden.... wer lesen kann  :)


Hallo,

ich habe mir ein kleines Javaprogramm geschrieben, welches mit Parametern aufgerufen wird und dann ein neues Dokument erstellen soll und die Werte entsprechend in die Felder schreiben soll.

Nun würde ich gerne das Feld "Date" mit einem Datum, "Time" mit einer Uhrzeit und die anderen Felder mit einem numerischen Wert füllen. Ich weiss jedoch leider nicht, wie ich das hinbekomme, dass die Werte schon im entsprechenden Format geschrieben werden.

Hat jemand einen Rat?

Gruß

Stefan

import lotus.domino.*;

public class UpdateSpamRecord {
public static void main(String[] args) {
   Session s = null;
   try {
      s = NotesFactory.createSession(
            "<servername>",
            "<username>", "<password>");
   } catch (NotesException e) {
      e.printStackTrace();
   }
   Database db;
   try {
      db = s.getDatabase("", "test.nsf");
      Document doc = db.createDocument();
      doc.replaceItemValue("Form", "SpamReportEntry");
      doc.replaceItemValue("Date", args[0]);
      doc.replaceItemValue("Time", args[1]);
      doc.replaceItemValue("TotalMails", args[2]);
      doc.replaceItemValue("InboundSpam", args[3]);
      doc.replaceItemValue("InboundHam", args[4]);
      doc.replaceItemValue("Outbound", args[5]);
      doc.computeWithForm(true, false);
      
      doc.save(true, false);
   } catch (NotesException e1) {
      e1.printStackTrace();
   }
   
}
}
« Letzte Änderung: 26.06.07 - 11:16:17 von machineslave »
Stefan

Das Leben ist ein Scheiß Spiel, aber die Grafik ist geil

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
Ergänzen würde ich auf jeden Fall zum Schluss noch ein s.recycle() um auch aufzuräumen. Du kannst dir sonst schwer zu erkennende Fehler einhandeln, die erst nach vielen Aufrufen des Programms auftreten.

Grüße

Ralf

P.S. Weiters ohne es jetzt probiert zu haben glaube ich nicht dass dein gepostetes Programm das macht was du willst, oder?
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 machineslave

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Männlich
Hallo,

das mit dem s.recycle() ist ein guter Tip. Ansonsten macht das Programm genau das, was ich möchte :-)
Stefan

Das Leben ist ein Scheiß Spiel, aber die Grafik ist geil

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
Nein das glaube ich nicht. Du schreibst, du möchtest dass Datei ein Datum ist, Time eine Zeit und der Rest numerische Feler sind.

Wenn du aber an replaceItemValue einen String übergibst, wird das ein Text. du müsstest die Strings zuerst in die entsprechnden javatypen konvertieren, bevor du es an replaceItemValue übergibst.

Grüße

Ralf

P.S. Ah ich sehe was ich übersehen habe. Das Computewithform soll die Felder übersetzen. Ich würde es zwar nicht so machen, aber wenn es funktioniert. :-P
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 machineslave

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Männlich
Jou, stimmt. Ich vergass, den aktualisierten Code nochmal zu posten.
Hier ist er:

public class UpdateSpamRecord {
public static void main(String[] args) {
   Session s = null;
   DateTime date = null;
   DateTime time = null;
   Integer totalMails = new Integer(args[2]);
   Integer inboundSpam = new Integer(args[3]);
   Integer inboundHam = new Integer(args[4]);
   Integer outbound = new Integer(args[5]);
   try {
      s = NotesFactory.createSession(
             "<servername>",
            "<username>", "<password>");
      System.out.println("Connecting to server");
   } catch (NotesException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
   }
   try {
      date = s.createDateTime(args[0]);
      time = s.createDateTime(args[1]);
   } catch (NotesException e2) {
      // TODO Auto-generated catch block
      e2.printStackTrace();
   }
   Database db;
   try {
      db = s.getDatabase("", "test.nsf");
      System.out.println("Connecting to database");
      Document doc = db.createDocument();
      System.out.println("Creating document");
      doc.replaceItemValue("Form", "SpamReportEntry");
      doc.replaceItemValue("Date", date);
      doc.replaceItemValue("Time", time.getTimeOnly());
      doc.replaceItemValue("TotalMails", totalMails);
      doc.replaceItemValue("InboundSpam", inboundSpam);
      doc.replaceItemValue("InboundHam", inboundHam);
      doc.replaceItemValue("Outbound", outbound);
      System.out.println("Saving document");
      doc.computeWithForm(true, false);
      
      doc.save(true, false);
   } catch (NotesException e1) {
      // TODO Auto-generated catch block
      e1.printStackTrace();
   }
   
}
}
Stefan

Das Leben ist ein Scheiß Spiel, aber die Grafik ist geil

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz