Any idea why this script causes exceptions?
string[] lastCommentDetails = getLastComment(key); if(!isNull(lastCommentDetails)){ if(userHasAccessToComment(currentUser(), lastCommentDetails["id"])){ return userFullName(lastCommentDetails["author"]) + ": " + lastCommentDetails["text"]; } } return "";
2017-05-09 10:35:16,596 http-nio-8080-exec-20 ERROR magdalena.kwater 635x85267x2 j8x0q8 192.168.8.16 /secure/AjaxIssueAction.jspa [c.k.j.p.keplercf.silscriptcf.SilScriptCFType] Exception occurred while executing SIL Script for custom field Default Configuration for Last Comment on issue LOG-361 com.keplerrominfo.sil.lang.SILException: Exception while executing SIL program >>SIL Script CF-11201<<: [SIL Error on line: 4, column: 8] Null comment >>NaN<< at com.keplerrominfo.refapp.sil.impl.AbstractSimpleLanguageService.interpret(AbstractSimpleLanguageService.java:178) at sun.reflect.GeneratedMethodAccessor807.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) . . Caused by: com.keplerrominfo.sil.lang.SILException: Null comment >>NaN<< at com.keplerrominfo.jira.commons.ivm.routines.perms.UserHasAccessToCommentRoutine.executeRoutine(UserHasAccessToCommentRoutine.java:62)
It would appear that this line of code is being assigned a null value:
string[] lastCommentDetails = getLastComment(key);
Then, as you try to access data from the lastCommentDetails variable (which is null), a null pointer exception is being thrown:
if(userHasAccessToComment(currentUser(), lastCommentDetails["id"]))
Is it possible that the key you pass into the function isn't assosiated with any last comment? In other words, is there a last comment with that given key?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
For anyone who run into the same pitfall:
string[] lastCommentDetails = getLastComment(key);
if(!isNull(lastCommentDetails) && size(lastCommentDetails)>0 && lastCommentDetails["id"]!=""){
if(userHasAccessToComment(currentUser(), lastCommentDetails["id"]) && !isNull(lastCommentDetails["author"])){
return userFullName(lastCommentDetails["author"]) + ": " + lastCommentDetails["text"];
}
}
return "";
worked for me.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.