Hello all,
i am having java agent that is not creating pdf? do any body have any idea i am commeting where it gets struck!!!
import lotus.domino.*;
import java.io.*;
import java.util.*;
public class JavaAgent extends AgentBase
{
public void NotesMain()
{
synchronized(this)
{
logfile("Create PDF Start Here");
Document logDoc=null;
RichTextItem rti=null;
try
{
// trying new from here
logfile("try");
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
Database db = agentContext.getCurrentDatabase();
Agent agent = agentContext.getCurrentAgent();
// now initialising to create logs
logDoc = db.createDocument();
logfile("LogDoc Created");
logfile("try1");
logDoc.appendItemValue("Form", "Log");
DateTime dt = session.createDateTime("Today");
dt.setNow();
logDoc.appendItemValue("LogDate", dt);
logfile("Hello1");
rti = logDoc.createRichTextItem("Logbody");
// EOFnow initialising to create logs
// Get document used for passing data
Document doc = db.getDocumentByID(agent.getParameterDocID());
logfile("Credit Note Document is Set to Get File Path");
// getting the request parameters
String xslFilePath = doc.getItemValueString("XSLFILEPATH") ;
String xmlFilePath = doc.getItemValueString("XMLFILEPATH") ;
String pdfFilePath = doc.getItemValueString("PDFFILEPATH") ;
File fxsl=new File(xslFilePath);
File fxml=new File(xmlFilePath);
logfile(xmlFilePath);
logfile(pdfFilePath);
logfile("File Path Found ");
if( fxsl.exists() && fxml.exists())
{
logfile("Enter into IF");
// EOF getting the request parameters
// calling the pdf creation method
Runtime rt=Runtime.getRuntime();
String sCommand="java
PDFCode.trying “+xmlFilePath+” “+xslFilePath+” “+ pdfFilePath; //// Problem gets here”“” ///
logfile("Try3");
///"java PDFCode.trying “+xmlFilePath+” “+xslFilePath+” "+ pdfFilePath;
logfile(sCommand);
Process p=rt.exec(sCommand);
InputStream ins=p.getInputStream();
int r=0;
String sTemp="";
logfile("Start Creating PDF");
do
{
r=ins.read();
sTemp = sTemp+ (char)r;
}
while(r!=-1);
// EOF of calling the pdf creation
// now attaching the pdf in mail
logfile("PDF Created");
File fpdf=new File(pdfFilePath);
if(fpdf.exists())
{
logfile("Pdf Found ");
RichTextItem body = doc.createRichTextItem("CreditNotePDF");
if(body==null)
logfile("the body is null");
body.embedObject(EmbeddedObject.EMBED_ATTACHMENT,null, pdfFilePath,"");
logfile("Embedade Object Done");
// Memo to Customer
Document memo = db.createDocument();
logfile("Memo 1");
memo.appendItemValue("Form", "Memo");
memo.appendItemValue("Subject", doc.getItemValueString("MailSubject"));
logfile("Memo 2");
RichTextItem MailBodyRTI = memo.createRichTextItem("Body");
Item item = doc.getFirstItem("MailBody");
logfile("Memo 3");
Enumeration values = null;
if(item!=null)
{
Vector vec=new Vector();
vec=item.getValues();
if(vec!=null)
values=vec.elements();
}
else
{
logfile("item is null");
}
if(values !=null)
{
logfile("coming in this");
while (values.hasMoreElements())
{
String sVal=(String)values.nextElement();
logfile("sVal is "+sVal);
if(sVal==null)
sVal=" ";
MailBodyRTI.appendText(sVal);
logfile("after appnd");
MailBodyRTI.addNewLine();
}
}
else
{
logfile("coming in null");
MailBodyRTI.appendText(" ");
MailBodyRTI.addNewLine();
}
logfile("Memo 4");
MailBodyRTI.addNewLine();
MailBodyRTI.addNewLine();
MailBodyRTI.embedObject(EmbeddedObject.EMBED_ATTACHMENT,null, pdfFilePath,"");
logfile("Memo 5");
Vector v = new Vector();
// v.addElement(doc.getItemValueString("EMailID"));
// v.addElement(doc.getItemValueString("MailTo"));
logfile("Memo 6");
logfile(doc.getItemValueString("MailTo"));
String sEmails=doc.getItemValueString("EMailID");
logfile("coming in EmailID "+sEmails);
StringTokenizer tok=new StringTokenizer(sEmails,",");
Vector vecMail=new Vector();
while(tok.hasMoreElements())
{
String sEmail=(String)tok.nextElement();
vecMail.addElement(sEmail);
logfile("appending "+sEmail);
}
memo.appendItemValue("SendTo",vecMail);
vecMail.removeAllElements();
sEmails=doc.getItemValueString("MailTo");
logfile("coming in MailTo "+sEmails);
tok=new StringTokenizer(sEmails,",");
while(tok.hasMoreElements())
{
String sEmail=(String)tok.nextElement();
vecMail.addElement(sEmail);
logfile("appending "+sEmail);
}
memo.appendItemValue("CopyTo",vecMail);
logfile("Memo 7");
memo.send(false,v);
logfile("M sent");
// Memo End Here
// changing the status of the document
doc.replaceItemValue("Status", "Sent");
Item MailBodyItem = doc.getFirstItem("MailBody");
MailBodyItem.remove();
Item MailSubjectItem = doc.getFirstItem("MailSubject");
MailSubjectItem.remove();
Item MailToItem = doc.getFirstItem("MailTo");
MailToItem.remove();
doc.save(true);
logfile("after getting ricch text ");
logfile("end");
// deleting the files after work is done
fxml.delete();
fpdf.delete();
// EOFdeleting the files after work is done
}
else
{
rti.appendText("No PDF Found");
fxml.delete();
logfile("no PDF file");
logDoc.save();
}
// EOFnow attaching the pdf in mail
}
else
{
rti.appendText("xsl>"+fxsl.exists()+" xml>"+fxml.exists());
logfile("xsl>"+fxsl.exists() +" xml>"+ fxml.exists() );
logDoc.save();
}
}
catch(Exception e)
{
logfile(e.toString());
try
{
if(rti != null)
{
rti.appendText(e.toString());
logDoc.save();
}
}
catch(Exception ex)
{
logfile(ex.toString());
}
}
}
// EOF of sync
}
public void logfile(String txt)
{
try
{
String path="c:/hello.txt";
File ff=new File(path);
FileOutputStream fos=null;
if(ff.exists())
{
if(ff.length() > (1024 * 1024) )
fos=new FileOutputStream(path);
else
fos=new FileOutputStream(path,true);
}else
{
fos=new FileOutputStream(path,true);
}
PrintWriter prn=new PrintWriter(fos);
prn.println(txt);
prn.flush();
fos.close();
}
catch(Exception e)
{ }
}
}