M
MarcoH
Gast
Hallo
Ich bin am lernen von Java, habe jetzt aber einige Probleme mit int und String Variablen. Gemäss Java Dokumentan sind diese Objekte nicht veränderbar, anders als ich mich von Sprachen die ich kenne gewöhnt bin. habe aber leider noch nicht herausgefunden, wie ich das Problem lösen könnte.
Den folgenden Code habe ich von einer von mir geschriebenen Routine in Lotusscript genommen, und versucht ihn in JAVA zu übersetzen. Problem ist, die Variablen "LastDirectory", "CurrentDirectory" und "PositionOfChar" sollten eigentlich Informationen aus dem letzen Schlaufendurchlauf speichern, die Werte bleiben aber auf dem Initialwert.
Wer kann mir helfen?
Gruss,
Marco
Ich bin am lernen von Java, habe jetzt aber einige Probleme mit int und String Variablen. Gemäss Java Dokumentan sind diese Objekte nicht veränderbar, anders als ich mich von Sprachen die ich kenne gewöhnt bin. habe aber leider noch nicht herausgefunden, wie ich das Problem lösen könnte.
Den folgenden Code habe ich von einer von mir geschriebenen Routine in Lotusscript genommen, und versucht ihn in JAVA zu übersetzen. Problem ist, die Variablen "LastDirectory", "CurrentDirectory" und "PositionOfChar" sollten eigentlich Informationen aus dem letzen Schlaufendurchlauf speichern, die Werte bleiben aber auf dem Initialwert.
Code:
import lotus.domino.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
// (Your code goes here)
Database db1 = agentContext.getCurrentDatabase();
Document doc = db1.createDocument();
doc.replaceItemValue("Subject", "Doc links");
doc.replaceItemValue("Form", "Memo");
RichTextItem body = doc.createRichTextItem("Body");
body.appendText("Link to all Server Databases");
String server = "euchln01/R-CH";
DbDirectory dir = session.getDbDirectory(server);
System.out.println (session.getDbDirectory(server));
if (server.equals("")) server = "Lokal";
String LastDirectory = "NONE";
String CurrentDirectory = "";
Database db = dir.getFirstDatabase(DbDirectory.DATABASE);
while (db != null) {
if (!db.isOpen()) {
db.open();
}
int PositionOfChar = db1.getFilePath().indexOf("\\");
System.out.println("Position of Backspace: " + PositionOfChar);
if (PositionOfChar != 0) {
int CharToReturn = PositionOfChar--;
CurrentDirectory = db1.getFilePath().toUpperCase().substring(0,CharToReturn);
System.out.println("Position of Backspace not 0: " + CurrentDirectory);
} else {
CurrentDirectory = "";
System.out.println("Position of Backspace is 0: " + CurrentDirectory);
}
System.out.println (db.getTitle());
if (CurrentDirectory.toUpperCase() != "") {
if(LastDirectory.toUpperCase() == "NONE") {
LastDirectory =+ CurrentDirectory.toUpperCase();
body.appendText("List generated by Marco");
body.addNewLine(2);
body.appendText(CurrentDirectory.toUpperCase());
body.addNewLine(2);
} // end if lastdirectory = none
if(CurrentDirectory.toUpperCase() == LastDirectory.toUpperCase()) {
body.appendDocLink(db);
body.appendText(db.getTitle());
body.addNewLine(1);
} else {
body.addNewLine(1);
body.appendText(CurrentDirectory.toUpperCase());
body.addNewLine(2);
body.appendDocLink(db);
body.appendText(db.getTitle());
body.addNewLine(1);
LastDirectory =+ CurrentDirectory.toUpperCase();
} // end of if-else currentdirectory = lastdirectory
} // End if CurrentDirectory
db = dir.getNextDatabase();
} // end of while
doc.send("receiver@xxx.ch");
// end of own code
} catch(Exception e) {
e.printStackTrace();
}
}
}
Gruss,
Marco