Unexpected runtime error
The runtime has encountered an unexpected error.
Error source
Page Name:/index.xspControl Id: _id94
Exception
Error while executing JavaScript computed expression
Script interpreter error, line=33, col=63: [ReferenceError] 'AnswerMap' not found
at [/elenchusServer.jss].(231A81D67DCC7036852576A3000B87F4)
Javascript code
1: importPackage(com.timtripcony.xsp.elenchus);
2:
3: var Elenchus = function() {
4: var controllerKey:string = "com.timtripcony.xsp.elenchus";
5: if (!(requestScope.containsKey(controllerKey))) {
6: var hashCache:java.util.HashMap = new java.util.HashMap();
7: var controller = {
8: addKarma: function(userName:string, howMuch:int) {
9: var profile:NotesDocument = this.getProfile(userName);
10: profile.replaceItemValue("karma", this.getKarma(userName) + howMuch);
11: profile.save(true, true);
12: },
13: castVote: function(postUnid:string, score:int) {
14: var voteDoc:NotesDocument = this.getDocumentByPrimaryKey(database, postUnid + this.getMyName());
15: if (voteDoc.isNewNote()) {
16: voteDoc.replaceItemValue("Form","vote");
17: voteDoc.replaceItemValue("postUnid", postUnid);
18: voteDoc.replaceItemValue("documentCreator", this.getMyName());
19: this.addKarma(this.getMyName(), 1);
20: var postAuthor:string = database.getDocumentByUNID(postUnid).getItemValueString("documentCreator");
21: this.addKarma(postAuthor, score);
22: }
23: var newScore:int = (score == voteDoc.getItemValueInteger("score")) ? 0 : score;
24: voteDoc.replaceItemValue("score", newScore);
25: voteDoc.save(true, true);
26: var postDoc:NotesDocument = database.getDocumentByUNID(postUnid);
27: var questionUnid:string = (postDoc.getItemValueString("Form") == "question") ? postDoc.getUniversalID() : postDoc.getItemValueString("questionUnid");
28: //facesContext.getExternalContext().redirect("answer.xsp?questionId=" + questionUnid);
29: },
30: getAnswers: function(questionUnid:string) {
31: var entries:NotesViewEntryCollection = database.getView("answers").getAllEntriesByKey(questionUnid, true);
32: var entryArray = [];
33: var answerMap:AnswerMap = new AnswerMap();
34: var entry:NotesViewEntry = entries.getFirstEntry();
35: while (entry != null) {
36: var score:int = this.getScore(entry.getUniversalID());
37: var karma:int = this.getKarma(entry.getDocument().getItemValueString("documentCreator"));
38: var data:AnswerData = new AnswerData(entry, karma, score);
39:
40: answerMap.add(data);
41: entry = entries.getNextEntry(entry);
42: }
43: var answers = answerMap.getEntries();
44: /*for (var i:int = 0; i < answers.length; i++) {
45: entryArray.push(answers[i].getEntry());
46: }
47: return entryArray;*/
48: return answers.values().toArray();
49: //return entries;
50: },
51: getScore: function(postUnid:string) {
52: return @Sum(@DbLookup("","votes",postUnid, 2) || 0);
53: },
54: getDocumentByPrimaryKey: function(dbFrom:NotesDatabase, primaryKey:string) {
55: var unid:string = "";
56: var docTarget:NotesDocument = null;
57: try {
58: unid = this.getHash(primaryKey);
59: docTarget = dbFrom.getDocumentByUNID(unid);
60: } catch(e) {
61: docTarget = dbFrom.createDocument();
62: docTarget.setUniversalID(unid);
63: var created:NotesDateTime = session.createDateTime("Today");
64: created.setNow();
65: docTarget.replaceItemValue("created", created);
66: docTarget.replaceItemValue("primaryKey", primaryKey);
67: }
68: return docTarget;
69: },
70: getHash: function(clearText:string) {
71: if (!(hashCache.containsKey(clearText))) {
72: var formula:string = "@Middle(@Password(\"" + clearText + "\"); \"(\"; \")\")";
73: hashCache.put(clearText, session.evaluate(formula).firstElement().toString());
74: }
75: return hashCache.get(clearText);
76: },
77: getKarma: function(userName:string) {
78: return this.getProfile(userName).getItemValueInteger("karma");
79: },
80: getMyName: function() {
81: return context.getUser().getDistinguishedName();
82: },
83: getMyProfile: function() {
84: return this.getProfile(this.getMyName());
85: },
86: getPageViews: function(postUnid:string) {
87: return database.getView("pageviews").getAllEntriesByKey(postUnid, true);
88: },
89: getProfile: function(userName:string) {
90: var dnUserName:string = session.createName(userName).getCanonical();
91: var profile:NotesDocument = this.getDocumentByPrimaryKey(database, dnUserName);
92: if (profile.isNewNote()) {
93: profile.replaceItemValue("Form", "user");
94: profile.replaceItemValue("karma", 0);
95: profile.replaceItemValue("userName", dnUserName);
96: profile.save(true, true);
97: }
98: return profile;
99: },
100: logPageView: function (postUnid:string) {
101: if (database.getCurrentAccessLevel() > 3) {
102: var logEntry:NotesDocument = database.createDocument();
103: logEntry.replaceItemValue("Form", "pageview");
104: logEntry.replaceItemValue("postUnid", postUnid);
105: logEntry.replaceItemValue("documentCreator", this.getMyName());
106: logEntry.save(true, true);
107: }
108: }
109: };
110: requestScope.put(controllerKey, controller);
111: }
112: return requestScope.get(controllerKey);
113: };
►
▼
Stack Trace
com.ibm.xsp.exception.EvaluationExceptionEx: Error while executing JavaScript computed expression
com.ibm.xsp.binding.javascript.JavaScriptValueBinding.getValue(JavaScriptValueBinding.java:130)
com.ibm.xsp.component.xp.XspTableCell.getStyleClass(XspTableCell.java:469)
com.ibm.xsp.renderkit.html_extended.HtmlTableCellRenderer.encodeAllAttributes(HtmlTableCellRenderer.java:137)
com.ibm.xsp.renderkit.html_extended.HtmlTagRenderer.encodeBegin(HtmlTagRenderer.java:72)
com.ibm.xsp.renderkit.html_extended.HtmlTableCellRenderer.encodeBegin(HtmlTableCellRenderer.java:38)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeBegin(ReadOnlyAdapterRenderer.java:116)
javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:956)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:793)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:824)
com.ibm.xsp.renderkit.html_extended.IteratorRenderer.encodeRows(IteratorRenderer.java:66)
com.ibm.xsp.renderkit.html_extended.IteratorRenderer.encodeChildren(IteratorRenderer.java:54)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:132)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)
com.ibm.xsp.component.UIDataIterator.encodeChildren(UIDataIterator.java:695)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:795)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.component.UIViewRootEx._renderView(UIViewRootEx.java:1226)
com.ibm.xsp.component.UIViewRootEx.renderView(UIViewRootEx.java:1164)
com.ibm.xsp.application.ViewHandlerExImpl.doRender(ViewHandlerExImpl.java:624)
com.ibm.xsp.application.ViewHandlerExImpl._renderView(ViewHandlerExImpl.java:319)
com.ibm.xsp.application.ViewHandlerExImpl.renderView(ViewHandlerExImpl.java:354)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:103)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:120)
com.ibm.xsp.controller.FacesControllerImpl.render(FacesControllerImpl.java:264)
com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:218)
com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:194)
com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:153)
com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)
com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:85)
com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:538)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1119)
com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:803)
com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:758)
com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:527)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1103)
com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:504)
com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:333)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:301)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:258)
com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:291)
com.ibm.jscript.InterpretException: Script interpreter error, line=33, col=63: [ReferenceError] 'AnswerMap' not found
com.ibm.jscript.types.FBSReferenceByName$UndefinedVariable.getValue(FBSReferenceByName.java:49)
com.ibm.jscript.ASTTree.InterpretResult.getFBSValue(InterpretResult.java:70)
com.ibm.jscript.ASTTree.ASTNew.interpret(ASTNew.java:102)
com.ibm.jscript.ASTTree.ASTVariableDecl.interpret(ASTVariableDecl.java:82)
com.ibm.jscript.std.FunctionObject._executeFunction(FunctionObject.java:261)
com.ibm.jscript.std.FunctionObject.executeFunction(FunctionObject.java:185)
com.ibm.jscript.std.FunctionObject.call(FunctionObject.java:171)
com.ibm.jscript.types.FBSObject.call(FBSObject.java:161)
com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:175)
com.ibm.jscript.ASTTree.ASTMember.interpret(ASTMember.java:106)
com.ibm.jscript.ASTTree.ASTTernaryOp.interpret(ASTTernaryOp.java:57)
com.ibm.jscript.ASTTree.ASTReturn.interpret(ASTReturn.java:49)
com.ibm.jscript.ASTTree.ASTProgram.interpret(ASTProgram.java:119)
com.ibm.jscript.ASTTree.ASTProgram.interpretEx(ASTProgram.java:139)
com.ibm.jscript.JSExpression._interpretExpression(JSExpression.java:441)
com.ibm.jscript.JSExpression.access$1(JSExpression.java:430)
com.ibm.jscript.JSExpression$2.run(JSExpression.java:420)
java.security.AccessController.doPrivileged(AccessController.java:284)
com.ibm.jscript.JSExpression.interpretExpression(JSExpression.java:416)
com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:251)
com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:234)
com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:216)
com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:188)
com.ibm.xsp.binding.javascript.JavaScriptValueBinding.getValue(JavaScriptValueBinding.java:76)
com.ibm.xsp.component.xp.XspTableCell.getStyleClass(XspTableCell.java:469)
com.ibm.xsp.renderkit.html_extended.HtmlTableCellRenderer.encodeAllAttributes(HtmlTableCellRenderer.java:137)
com.ibm.xsp.renderkit.html_extended.HtmlTagRenderer.encodeBegin(HtmlTagRenderer.java:72)
com.ibm.xsp.renderkit.html_extended.HtmlTableCellRenderer.encodeBegin(HtmlTableCellRenderer.java:38)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeBegin(ReadOnlyAdapterRenderer.java:116)
javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:956)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:793)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderChildren(FacesUtil.java:824)
com.ibm.xsp.renderkit.html_extended.IteratorRenderer.encodeRows(IteratorRenderer.java:66)
com.ibm.xsp.renderkit.html_extended.IteratorRenderer.encodeChildren(IteratorRenderer.java:54)
com.ibm.xsp.renderkit.ReadOnlyAdapterRenderer.encodeChildren(ReadOnlyAdapterRenderer.java:132)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:979)
com.ibm.xsp.component.UIDataIterator.encodeChildren(UIDataIterator.java:695)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:795)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.util.FacesUtil.renderComponent(FacesUtil.java:804)
com.ibm.xsp.component.UIViewRootEx._renderView(UIViewRootEx.java:1226)
com.ibm.xsp.component.UIViewRootEx.renderView(UIViewRootEx.java:1164)
com.ibm.xsp.application.ViewHandlerExImpl.doRender(ViewHandlerExImpl.java:624)
com.ibm.xsp.application.ViewHandlerExImpl._renderView(ViewHandlerExImpl.java:319)
com.ibm.xsp.application.ViewHandlerExImpl.renderView(ViewHandlerExImpl.java:354)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:103)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:120)
com.ibm.xsp.controller.FacesControllerImpl.render(FacesControllerImpl.java:264)
com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:218)
com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:194)
com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:153)
com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)
com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:85)
com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:538)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1119)
com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:803)
com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:758)
com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:527)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1103)
com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:504)
com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:333)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:301)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:258)
com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:291)