This forum is closed to new posts and responses. Individual names altered for privacy purposes. The information contained in this website is provided for informational purposes only and should not be construed as a forum for customer support requests. Any customer support requests should be directed to the official HCL customer support channels below:

HCL Software Customer Support Portal for U.S. Federal Government clients
HCL Software Customer Support Portal



Aug 29, 2011, 9:31 PM
298 Posts

Computing the document data source unid and the code executes four times!!!!

  • Category: Other,Performance
  • Platform: All
  • Release: 8.5.2
  • Role: Developer
  • Tags:
  • Replies: 2
I am computing the doc unid for a document data source. I had some debug print statements and I noticed my code was getting executed four times! Here is the source:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">


<xp:this.data>
<xp:dominoDocument var="course"
formName="Course Information - Info" action="openDocument">

<xp:this.documentId><![CDATA[#{javascript:var ccode = (param.ccode || "");
print("start");
print("course code is " + ccode);
var docUNID = null;
var unid = (param.docid || "");
if (ccode != "") {
server = database.getServer();
catDBName = "admin/courses.nsf";
catDB = session.getDatabase(server, catDBName);
var viewCourseCode = catDB.getView("lookupcoursecode");
var courseDoc:NotesDocument = viewCourseCode.getDocumentByKey(ccode , true);
if (courseDoc != null){
print( "course doc is not null from query open");
var courseDocUNID = courseDoc.getUniversalID();
print("unid is " + courseDocUNID);
docUNID = courseDocUNID;
}
} else if (unid != ""){
print("unid is not null in query open");
docUNID= unid;
}
print("end - returned unid is " + docUNID);

return docUNID;}]]></xp:this.documentId>
<xp:this.databaseName><![CDATA[#{javascript:session.getServerName() +"!!admin\\courses.nsf"}]]></xp:this.databaseName>

</xp:dominoDocument>
</xp:this.data>

</xp:view>

And here is what I see in the console:

>
>
>
[0810:0039-0A38] 08/29/2011 05:35:31 PM HTTP JVM: start
[0810:0039-0A38] 08/29/2011 05:35:31 PM HTTP JVM: course code is ND85AD1
[0810:0039-0A38] 08/29/2011 05:35:31 PM HTTP JVM: course doc is not null from q
uery open
[0810:0039-0A38] 08/29/2011 05:35:31 PM HTTP JVM: unid is A8AB82853EBC604D85257
8F100676425
[0810:0039-0A38] 08/29/2011 05:35:31 PM HTTP JVM: end - returned unid is A8AB82
853EBC604D852578F100676425
[0810:0039-0A38] 08/29/2011 05:35:31 PM HTTP JVM: start
[0810:0039-0A38] 08/29/2011 05:35:31 PM HTTP JVM: course code is ND85AD1
[0810:0039-0A38] 08/29/2011 05:35:31 PM HTTP JVM: course doc is not null from q
uery open
[0810:0039-0A38] 08/29/2011 05:35:31 PM HTTP JVM: unid is A8AB82853EBC604D85257
8F100676425
[0810:0039-0A38] 08/29/2011 05:35:31 PM HTTP JVM: end - returned unid is A8AB82
853EBC604D852578F100676425
[0810:0039-0A38] 08/29/2011 05:35:31 PM HTTP JVM: start
[0810:0039-0A38] 08/29/2011 05:35:31 PM HTTP JVM: course code is ND85AD1
[0810:0039-0A38] 08/29/2011 05:35:31 PM HTTP JVM: course doc is not null from q

uery open
[0810:0039-0A38] 08/29/2011 05:35:31 PM HTTP JVM: unid is A8AB82853EBC604D85257
8F100676425
[0810:0039-0A38] 08/29/2011 05:35:31 PM HTTP JVM: end - returned unid is A8AB82
853EBC604D852578F100676425
[0810:0039-0A38] 08/29/2011 05:35:31 PM HTTP JVM: start
[0810:0039-0A38] 08/29/2011 05:35:31 PM HTTP JVM: course code is ND85AD1
[0810:0039-0A38] 08/29/2011 05:35:31 PM HTTP JVM: course doc is not null from q
uery open
[0810:0039-0A38] 08/29/2011 05:35:31 PM HTTP JVM: unid is A8AB82853EBC604D85257
8F100676425
[0810:0039-0A38] 08/29/2011 05:35:31 PM HTTP JVM: end - returned unid is A8AB82
853EBC604D852578F100676425


Seems like this would be a performance issue?

Howard
Aug 31, 2011, 5:36 AM
41 Posts
Re: Computing the document data source unid and the code executes four times!!!!
 Change it to a $ binding (instead of #):
 
 ${javascript:var ccode = (...
 
This will ensure the value is only computed once.

This forum is closed to new posts and responses. Individual names altered for privacy purposes. The information contained in this website is provided for informational purposes only and should not be construed as a forum for customer support requests. Any customer support requests should be directed to the official HCL customer support channels below:

HCL Software Customer Support Portal for U.S. Federal Government clients
HCL Software Customer Support Portal